guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] Add Frescobaldi.


From: Ricardo Wurmus
Subject: [PATCH] Add Frescobaldi.
Date: Wed, 26 Aug 2015 23:38:33 +0200

Hi Guix,

here are four patches to add Frescobaldi, a score editor for Lilypond,
and some as yet unpackaged dependencies.

First off: as this depends on Lilypond, and Lilypond uses Ghostscript to
convert Postscript files to PDF, and this feature is broken until we
update fontconfig to 2.11.94, one of the core features of Frescobaldi
(rendering a score with Lilypond) isn’t actually working right now.

AFAIK a patch to update fontconfig was submitted for the core-updates
branch already.

Frescobaldi needs poppler-qt4, a library that is built by poppler when
Qt4 is found at build time.  I created a variant of the poppler package
because I don’t want to add an unnecessary indirect dependency on Qt4
for every package using poppler.

~~ Ricardo

>From 98b7a6b8b5ccbc2b4648838830612e148c96d995 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <address@hidden>
Date: Wed, 26 Aug 2015 23:22:29 +0200
Subject: [PATCH 1/4] gnu: Add poppler-qt4.

* gnu/packages/pdf.scm (poppler-qt4): New variable.
---
 gnu/packages/pdf.scm | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index bbd1f66..f8f05cd 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -36,6 +36,7 @@
   #:use-module (gnu packages lesstif)
   #:use-module (gnu packages image)
   #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages qt)
   #:use-module (gnu packages xorg)
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages glib)
@@ -103,6 +104,13 @@
    (license license:gpl2+)
    (home-page "http://poppler.freedesktop.org/";)))
 
+(define-public poppler-qt4
+  (package (inherit poppler)
+   (name "poppler-qt4")
+   (inputs `(("qt-4" ,qt-4)
+             ,@(package-inputs poppler)))
+   (synopsis "Qt4 frontend for the Poppler PDF rendering library")))
+
 (define-public xpdf
   (package
    (name "xpdf")
-- 
2.4.3

>From 37adcb501ef4a706b881f30530dfa23e8bd8d785 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <address@hidden>
Date: Wed, 26 Aug 2015 23:23:31 +0200
Subject: [PATCH 2/4] gnu: Add python-poppler-qt4.

* gnu/packages/pdf.scm (python-poppler-qt4): New variable.
---
 gnu/packages/pdf.scm | 39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index f8f05cd..fe93a97 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -25,6 +25,7 @@
   #:use-module (guix download)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system cmake)
+  #:use-module (guix build-system python)
   #:use-module (gnu packages)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages fontutils)
@@ -111,6 +112,44 @@
              ,@(package-inputs poppler)))
    (synopsis "Qt4 frontend for the Poppler PDF rendering library")))
 
+(define-public python-poppler-qt4
+  (package
+    (name "python-poppler-qt4")
+    (version "0.24.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append "https://pypi.python.org/packages/source/p";
+                            "/python-poppler-qt4/python-poppler-qt4-"
+                            version ".tar.gz"))
+        (sha256
+         (base32
+          "0x63niylkk4q3h3ay8zrk3m1xiik0x3hlr4gvj7kswx48qi1vb99"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after
+          'unpack 'patch-poppler-include-paths
+          (lambda _
+            (substitute* (find-files "." "poppler-.*\\.sip")
+              (("qt4/poppler-.*\\.h" header)
+               (string-append "poppler/" header)))
+            #t)))))
+    (native-inputs
+     `(("qt-4" ,qt-4)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("python-sip" ,python-sip)
+       ("python-pyqt-4" ,python-pyqt-4)
+       ("poppler-qt4" ,poppler-qt4)))
+    (home-page "https://pypi.python.org/pypi/python-poppler-qt4";)
+    (synopsis "Python bindings for libpoppler-qt4")
+    (description
+     "This package provides Python bindings for the Poppler Qt4 interface
+library.")
+    (license license:lgpl2.1+)))
+
 (define-public xpdf
   (package
    (name "xpdf")
-- 
2.4.3

>From 9cd29d58de90bee0d1b7fc929af84687bbfd4556 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <address@hidden>
Date: Wed, 26 Aug 2015 23:24:16 +0200
Subject: [PATCH 3/4] gnu: Add python-ly.

* gnu/packages/python.scm (python-ly): New variable.
---
 gnu/packages/python.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 940efec..75f285f 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -4629,3 +4629,26 @@ term.js Javascript terminal emulator library.")
                  ,python2-backport-ssl-match-hostname)
                 ,@(alist-delete "python-tornado"
                                 (package-propagated-inputs terminado)))))))
+
+(define-public python-ly
+  (package
+    (name "python-ly")
+    (version "0.9.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://pypi.python.org/packages/source/p/python-ly/python-ly-";
+             version ".tar.gz"))
+       (sha256
+        (base32
+         "1bsjg4q9ihr8bfdclrcmb8yjcg8xm9dznh58f3zsyrkrjzwbhcd2"))))
+    (build-system python-build-system)
+    (native-inputs
+     `(("python-setuptools" ,python-setuptools)))
+    (synopsis "Tool and library for manipulating LilyPond files")
+    (description "This package provides a Python library to parse, manipulate
+or create documents in LilyPond format.  A command line program ly is also
+provided that can be used to do various manipulations with LilyPond files.")
+    (home-page "https://pypi.python.org/pypi/python-ly";)
+    (license gpl2+)))
-- 
2.4.3

>From 34817062b868ea60d087788fd6040daf799165fd Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <address@hidden>
Date: Wed, 26 Aug 2015 23:25:31 +0200
Subject: [PATCH 4/4] gnu: Add frescobaldi.

* gnu/packages/music.scm (frescobaldi): New variable.
---
 gnu/packages/music.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index b89be43..809cf87 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -24,6 +24,7 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system cmake)
+  #:use-module (guix build-system python)
   #:use-module (guix build-system waf)
   #:use-module (gnu packages)
   #:use-module (gnu packages audio)
@@ -57,6 +58,7 @@
   #:use-module (gnu packages mp3)
   #:use-module (gnu packages netpbm)
   #:use-module (gnu packages pcre)
+  #:use-module (gnu packages pdf)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages pulseaudio) ;libsndfile
@@ -751,3 +753,30 @@ equipment.  Pd is suitable for learning basic multimedia 
processing and visual
 programming methods as well as for realizing complex systems for large-scale
 projects.")
     (license license:bsd-3)))
+
+(define-public frescobaldi
+  (package
+    (name "frescobaldi")
+    (version "2.18.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://github.com/wbsoft/frescobaldi/releases/download/v";
+                    version "/frescobaldi-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1hflc6gck6dn17czc2ldai5j0ynfg3df8lqcggdry06qxsdbnns7"))))
+    (build-system python-build-system)
+    (inputs
+     `(("lilypond" ,lilypond)
+       ("python-pyqt-4" ,python-pyqt-4)
+       ("python-ly" ,python-ly)
+       ("poppler" ,poppler)
+       ("python-poppler-qt4" ,python-poppler-qt4)
+       ("python-sip" ,python-sip)))
+    (home-page "http://www.frescobaldi.org/";)
+    (synopsis "LilyPond sheet music text editor")
+    (description
+     "Frescobaldi is a LilyPond sheet music text editor with syntax
+highlighting and automatic completion.")
+    (license license:gpl2+)))
-- 
2.4.3


reply via email to

[Prev in Thread] Current Thread [Next in Thread]