Patchwork gnu: Add qwt.

login
register
mail settings
Submitter Thomas Danckaert
Date Oct. 25, 2016, 11:55 a.m.
Message ID <20161025.135509.1245742033144837507.post@thomasdanckaert.be>
Download mbox | patch
Permalink /patch/16792/
State New
Headers show

Comments

Thomas Danckaert - Oct. 25, 2016, 11:55 a.m.
This patch adds Qwt.

For the license, I picked LGPL2.1, but in fact Qwt has its own “Qwt 
License”, which is the same as the LGPL2.1, but relaxes (or tries to 
relax) some of its conditions (see 
http://qwt.sourceforge.net/qwtlicense.html).  Can we stick with LGPL 
for our purposes?

I had to disable building of the qtcreator plugin, because this tries 
to link against the qwt library in the build directory, which is not 
accepted by the guix ld-wrapper (at least that's my understanding of 
it).  Suggestions on how to fix this are welcome (though at the 
moment, qtcreator is not packaged for guix anyway?).

Also, I put this in qt.scm, but perhaps it should go in a separate 
file (e.g. qt_contrib.scm?), because it's a third-party library?

cheers,

Thomas

Patch

From d9b856d8719877333fb015191f287da948e6d6c6 Mon Sep 17 00:00:00 2001
From: Thomas Danckaert <thomas.danckaert@gmail.com>
Date: Fri, 14 Oct 2016 13:27:23 +0200
Subject: [PATCH] gnu: Add qwt.

* gnu/packages/qt.scm (qwt, qwt-qt-4): New variables.
---

 gnu/packages/qt.scm | 41 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm

index a1e5fde..483e338 100644

--- a/gnu/packages/qt.scm

+++ b/gnu/packages/qt.scm

@@ -4,6 +4,7 @@ 

 ;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
+;;; Copyright © 2016 Thomas Danckaert <post@thomasdanckaert.be>

 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1112,3 +1113,43 @@  contain over 620 classes.")

       "QtKeychain is a Qt library to store passwords and other secret data
 securely.  It will not store any data unencrypted unless explicitly requested.")
     (license license:bsd-3)))
+

+(define-public qwt

+  (package

+    (name "qwt")

+    (version "6.1.3")

+    (source

+      (origin

+        (method url-fetch)

+        (uri

+         (string-append "mirror://sourceforge/qwt/qwt/"

+                        version "/qwt-" version ".tar.bz2"))

+        (sha256

+         (base32 "0cwp63s03dw351xavb3pzbjlqvx7kj88wv7v4a2b18m9f97d7v7k"))))

+  (build-system gnu-build-system)

+  (inputs

+   `(("qt" ,qt)))

+  (arguments

+   `(#:phases

+     (modify-phases %standard-phases

+       (replace 'configure

+         (lambda* (#:key outputs #:allow-other-keys)

+           (let ((out (assoc-ref outputs "out")))

+             (substitute* '("qwtconfig.pri")

+               (("/usr/local/qwt-\\$\\$QWT\\_VERSION") out)

+               (("QWT_CONFIG     += QwtDesigner") ""))

+             (system* "qmake")))))))

+  (home-page "http://qwt.sourceforge.net")

+  (synopsis "Qt widgets for plots, scales, dials and other technical software

+GUI components")

+  (description

+   "The Qwt library contains widgets and components which are primarily useful

+for technical and scientific purposes.  It includes a 2-D plotting widget,

+different kinds of sliders, and much more.")

+  (license license:lgpl2.1)))

+

+(define-public qwt-qt-4

+  (package (inherit qwt)

+           (name "qwt-qt-4")

+           (inputs

+            `(("qt" ,qt-4)))))

-- 

2.7.4