unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [PATCH] Add Frescobaldi.
@ 2015-08-26 21:38 Ricardo Wurmus
  2015-08-31 12:06 ` Ludovic Courtès
  0 siblings, 1 reply; 3+ messages in thread
From: Ricardo Wurmus @ 2015-08-26 21:38 UTC (permalink / raw)
  To: Guix-devel

[-- Attachment #1: Type: text/plain, Size: 754 bytes --]

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


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-Add-poppler-qt4.patch --]
[-- Type: text/x-patch, Size: 1132 bytes --]

From 98b7a6b8b5ccbc2b4648838830612e148c96d995 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <rekado@elephly.net>
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


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #3: 0002-gnu-Add-python-poppler-qt4.patch --]
[-- Type: text/x-patch, Size: 2307 bytes --]

From 37adcb501ef4a706b881f30530dfa23e8bd8d785 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <rekado@elephly.net>
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


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #4: 0003-gnu-Add-python-ly.patch --]
[-- Type: text/x-patch, Size: 1633 bytes --]

From 9cd29d58de90bee0d1b7fc929af84687bbfd4556 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <rekado@elephly.net>
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


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #5: 0004-gnu-Add-frescobaldi.patch --]
[-- Type: text/x-patch, Size: 2310 bytes --]

From 34817062b868ea60d087788fd6040daf799165fd Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <rekado@elephly.net>
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


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-08-31 20:32 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-08-26 21:38 [PATCH] Add Frescobaldi Ricardo Wurmus
2015-08-31 12:06 ` Ludovic Courtès
2015-08-31 20:32   ` Ricardo Wurmus

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).