diff mbox

gnu: Add qwt.

Message ID 20161025.135509.1245742033144837507.post@thomasdanckaert.be
State New
Headers show

Commit Message

Thomas Danckaert Oct. 25, 2016, 11:55 a.m. UTC
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
diff mbox

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