Package: guix-patches;
Reported by: Nicolas Goaziou <mail <at> nicolasgoaziou.fr>
Date: Tue, 16 May 2017 16:08:01 UTC
Severity: normal
Tags: patch
Done: ludo <at> gnu.org (Ludovic Courtès)
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 26956 in the body.
You can then email your comments to 26956 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
guix-patches <at> gnu.org
:bug#26956
; Package guix-patches
.
(Tue, 16 May 2017 16:08:02 GMT) Full text and rfc822 format available.Nicolas Goaziou <mail <at> nicolasgoaziou.fr>
:guix-patches <at> gnu.org
.
(Tue, 16 May 2017 16:08:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Goaziou <mail <at> nicolasgoaziou.fr> To: guix-patches <at> gnu.org Subject: [PATCH] Add MuseScore Date: Tue, 16 May 2017 18:07:18 +0200
[Message part 1 (text/plain, inline)]
Hello, The attached patch adds MuseScore. It builds and lint doesn't complain. I used glib-or-gtk-build-system because, somewhere in the Makefile, there's a call to `gtk-update-icon-cache'. However, since that command cannot be found during the build process, I skip it with UPDATE_CACHE=FALSE. So, should I leave the package as-is, or add a "gtk+" input, or simply downgrade to gnu-build-system? Also, the description is a bit verbose. It is an excerpt from Wikipedia's introduction about the software. Debian's is much terser. FSF directory's is out of date. WDYT? Regards, -- Nicolas Goaziou 0x80A93738
[0001-gnu-Add-MuseScore.patch (text/x-diff, inline)]
From 78e2006499b93895635215e80e58c359a5e31405 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou <mail <at> nicolasgoaziou.fr> Date: Tue, 16 May 2017 17:55:29 +0200 Subject: [PATCH] gnu: Add MuseScore. * gnu/packages/music.scm (musescore): New variable. --- gnu/packages/music.scm | 81 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index d4a72df1d..33aa8fb73 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -10,6 +10,7 @@ ;;; Copyright © 2016 Alex Griffin <a <at> ajgrf.com> ;;; Copyright © 2017 ng0 <contact.ng0 <at> cryptolab.net> ;;; Copyright © 2017 Rodger Fox <thylakoid <at> openmailbox.org> +;;; Copyright © 2017 Nicolas Goaziou <mail <at> nicolasgoaziou.fr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -2990,3 +2991,83 @@ are a C compiler and glib. Full API documentation and examples are included.") melodies and beats and for mixing and arranging songs. LMMS includes instruments based on audio samples and various soft sythesizers. It can receive input from a MIDI keyboard.") (license license:gpl2+))) + +(define-public musescore + (package + (name "musescore") + (version "2.1.0") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/musescore/MuseScore/archive/" + "v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0irwsq6ihfz3y3b943cwqy29g3si7gqbgxdscgw53vwv9vfvi085")))) + (build-system glib-or-gtk-build-system) + (arguments + `(#:make-flags + `(,(string-append "PREFIX=" (assoc-ref %outputs "out")) + ;; Skip update-mime-database and gtk-update-icon-cache. + "UPDATE_CACHE=FALSE") + ;; There are tests, but no simple target to run. The command + ;; used to run them is: + ;; + ;; make debug && sudo make installdebug && cd \ + ;; build.debug/mtest && make && ctest + ;; + ;; Basically, it requires to start a whole new build process. + ;; So we simply skip them. + #:tests? #f + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-after 'unpack 'use-system-freetype + (lambda _ + (substitute* "Makefile" + ;; XXX: For the time being, we grossly insert the CMake + ;; option needed to ignore bundled freetype. However, + ;; there's a pending PR to have it as a regular make + ;; option, in a future release. + (("cmake -DCMAKE") "cmake -DUSE_SYSTEM_FREETYPE=ON -DCMAKE")) + #t))))) + (inputs + `(("alsa-lib" ,alsa-lib) + ("cmake" ,cmake) + ("freetype" ,freetype) + ("jack" ,jack-1) + ("lame" ,lame) + ("libogg" ,libogg) + ("libsndfile" ,libsndfile) + ("libvorbis" ,libvorbis) + ("openssl" ,openssl) + ("portaudio" ,portaudio) + ("pulseaudio" ,pulseaudio) + ("qtbase" ,qtbase) + ("qtdeclarative" ,qtdeclarative) + ("qtscript" ,qtscript) + ("qtsvg" ,qtsvg) + ("qtwebkit" ,qtwebkit) + ("qtxmlpatterns" ,qtxmlpatterns))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("qttools" ,qttools))) + (synopsis "Music composition and notation software") + (description "MuseScore is a music score typesetter. Its main purpose is +the creation of high-quality engraved musical scores in a WYSIWYG environment. + +It supports unlimited staves, linked parts and part extraction, tablature, MIDI +input, percussion notation, cross-staff beaming, automatic transposition, +lyrics (multiple verses), fretboard diagrams, and in general everything commonly +used in sheet music. + +Style options to change the appearance and layout are available, and +style sheets can be saved and applied to other scores. There are pre-defined +templates for many types of ensembles. Functionality can be extended by making +use of the many freely available plugins. + +MuseScore can also play back scores through the built-in sequencer and SoundFont +sample library.") + (home-page "https://musescore.org") + (license license:gpl2))) -- 2.13.0
guix-patches <at> gnu.org
:bug#26956
; Package guix-patches
.
(Tue, 16 May 2017 21:39:01 GMT) Full text and rfc822 format available.Message #8 received at 26956 <at> debbugs.gnu.org (full text, mbox):
From: ludo <at> gnu.org (Ludovic Courtès) To: Nicolas Goaziou <mail <at> nicolasgoaziou.fr> Cc: 26956 <at> debbugs.gnu.org Subject: Re: bug#26956: [PATCH] Add MuseScore Date: Tue, 16 May 2017 23:37:57 +0200
Hi Nicolas, Nicolas Goaziou <mail <at> nicolasgoaziou.fr> skribis: > I used glib-or-gtk-build-system because, somewhere in the Makefile, > there's a call to `gtk-update-icon-cache'. However, since that command > cannot be found during the build process, I skip it with > UPDATE_CACHE=FALSE. So, should I leave the package as-is, or add > a "gtk+" input, or simply downgrade to gnu-build-system? Since it uses Qt, perhaps we’d better use ‘gnu-build-system’ (or ‘cmake-build-system’?) no? Would we lose something? > Also, the description is a bit verbose. It is an excerpt from > Wikipedia's introduction about the software. Debian's is much terser. > FSF directory's is out of date. WDYT? [...] > From 78e2006499b93895635215e80e58c359a5e31405 Mon Sep 17 00:00:00 2001 > From: Nicolas Goaziou <mail <at> nicolasgoaziou.fr> > Date: Tue, 16 May 2017 17:55:29 +0200 > Subject: [PATCH] gnu: Add MuseScore. > > * gnu/packages/music.scm (musescore): New variable. FWIW I trimmed the description a bit and moved ‘cmake’ to ‘native-inputs’. Also, a couple of #:use-module were missing. Result copied below. Ludo’. (define-public musescore (package (name "musescore") (version "2.1.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/musescore/MuseScore/archive/" "v" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "0irwsq6ihfz3y3b943cwqy29g3si7gqbgxdscgw53vwv9vfvi085")))) (build-system glib-or-gtk-build-system) (arguments `(#:make-flags `(,(string-append "PREFIX=" (assoc-ref %outputs "out")) ;; Skip update-mime-database and gtk-update-icon-cache. "UPDATE_CACHE=FALSE") ;; There are tests, but no simple target to run. The command ;; used to run them is: ;; ;; make debug && sudo make installdebug && cd \ ;; build.debug/mtest && make && ctest ;; ;; Basically, it requires to start a whole new build process. ;; So we simply skip them. #:tests? #f #:phases (modify-phases %standard-phases (delete 'configure) (add-after 'unpack 'use-system-freetype (lambda _ (substitute* "Makefile" ;; XXX: For the time being, we grossly insert the CMake ;; option needed to ignore bundled freetype. However, ;; there's a pending PR to have it as a regular make ;; option, in a future release. (("cmake -DCMAKE") "cmake -DUSE_SYSTEM_FREETYPE=ON -DCMAKE")) #t))))) (inputs `(("alsa-lib" ,alsa-lib) ("freetype" ,freetype) ("jack" ,jack-1) ("lame" ,lame) ("libogg" ,libogg) ("libsndfile" ,libsndfile) ("libvorbis" ,libvorbis) ("openssl" ,openssl) ("portaudio" ,portaudio) ("pulseaudio" ,pulseaudio) ("qtbase" ,qtbase) ("qtdeclarative" ,qtdeclarative) ("qtscript" ,qtscript) ("qtsvg" ,qtsvg) ("qtwebkit" ,qtwebkit) ("qtxmlpatterns" ,qtxmlpatterns))) (native-inputs `(("pkg-config" ,pkg-config) ("cmake" ,cmake) ("qttools" ,qttools))) (synopsis "Music composition and notation software") (description "MuseScore is a music score typesetter. Its main purpose is the creation of high-quality engraved musical scores in a WYSIWYG environment. It supports unlimited staves, linked parts and part extraction, tablature, MIDI input, percussion notation, cross-staff beaming, automatic transposition, lyrics (multiple verses), fretboard diagrams, and in general everything commonly used in sheet music. Style options and style sheets to change the appearance and layout are provided. MuseScore can also play back scores through the built-in sequencer and SoundFont sample library.") (home-page "https://musescore.org") (license license:gpl2)))
guix-patches <at> gnu.org
:bug#26956
; Package guix-patches
.
(Wed, 17 May 2017 12:20:01 GMT) Full text and rfc822 format available.Message #11 received at 26956 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Goaziou <mail <at> nicolasgoaziou.fr> To: ludo <at> gnu.org (Ludovic Courtès) Cc: 26956 <at> debbugs.gnu.org Subject: Re: bug#26956: [PATCH] Add MuseScore Date: Wed, 17 May 2017 14:19:35 +0200
[Message part 1 (text/plain, inline)]
Hello, Thank you for the review. ludo <at> gnu.org (Ludovic Courtès) writes: > Nicolas Goaziou <mail <at> nicolasgoaziou.fr> skribis: > >> I used glib-or-gtk-build-system because, somewhere in the Makefile, >> there's a call to `gtk-update-icon-cache'. However, since that command >> cannot be found during the build process, I skip it with >> UPDATE_CACHE=FALSE. So, should I leave the package as-is, or add >> a "gtk+" input, or simply downgrade to gnu-build-system? > > Since it uses Qt, perhaps we’d better use ‘gnu-build-system’ (or > ‘cmake-build-system’?) no? Would we lose something? cmake-build-system is a path I already walked. Using cmake is insufficient to build the package, as it fails during the install phase. IIUC, the Makefile is a wrapper that calls the cmake command, which, in turn, generates a new make target that the initial make call can process... The new target is responsible for, at the very least, generating the translation files. About gnu-build-system, I don't know if we loose something. It builds with it. I can run the application. I thought that calling gtk-update-icon-cache was somehow a clue that glib-or-gtk-build-system would be needed, but I was wrong, if I interpret correctly your question. The updated patch uses gnu-build-system. > FWIW I trimmed the description a bit OK. > and moved ‘cmake’ to ‘native-inputs’. Maybe the linter could suggest it. It already told me that "qttools" input should be moved there, but didn't complain about "cmake". > Also, a couple of #:use-module were missing. Oops. It probably happened when I moved the package definition from my incubator to music.scm. About the bundled freetype library: it is skipped per the cmake option. Should we also delete it from source in a snippet or is it fine as-is? Regards, -- Nicolas Goaziou 0x80A93738
[0001-gnu-Add-MuseScore.patch (text/x-diff, inline)]
From b477f78c67572b2d979a4d00a6e4a29dce566baf Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou <mail <at> nicolasgoaziou.fr> Date: Tue, 16 May 2017 17:55:29 +0200 Subject: [PATCH] gnu: Add MuseScore. * gnu/packages/music.scm (musescore): New variable. --- gnu/packages/music.scm | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index d4a72df1d..427f1e2f4 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -10,6 +10,7 @@ ;;; Copyright © 2016 Alex Griffin <a <at> ajgrf.com> ;;; Copyright © 2017 ng0 <contact.ng0 <at> cryptolab.net> ;;; Copyright © 2017 Rodger Fox <thylakoid <at> openmailbox.org> +;;; Copyright © 2017 Nicolas Goaziou <mail <at> nicolasgoaziou.fr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -49,6 +50,7 @@ #:use-module (gnu packages cdrom) #:use-module (gnu packages code) #:use-module (gnu packages check) + #:use-module (gnu packages cmake) #:use-module (gnu packages compression) #:use-module (gnu packages curl) #:use-module (gnu packages cyrus-sasl) @@ -2990,3 +2992,79 @@ are a C compiler and glib. Full API documentation and examples are included.") melodies and beats and for mixing and arranging songs. LMMS includes instruments based on audio samples and various soft sythesizers. It can receive input from a MIDI keyboard.") (license license:gpl2+))) + +(define-public musescore + (package + (name "musescore") + (version "2.1.0") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/musescore/MuseScore/archive/" + "v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0irwsq6ihfz3y3b943cwqy29g3si7gqbgxdscgw53vwv9vfvi085")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags + `(,(string-append "PREFIX=" (assoc-ref %outputs "out")) + ;; Skip update-mime-database and gtk-update-icon-cache. + "UPDATE_CACHE=FALSE") + ;; There are tests, but no simple target to run. The command + ;; used to run them is: + ;; + ;; make debug && sudo make installdebug && cd \ + ;; build.debug/mtest && make && ctest + ;; + ;; Basically, it requires to start a whole new build process. + ;; So we simply skip them. + #:tests? #f + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-after 'unpack 'use-system-freetype + (lambda _ + (substitute* "Makefile" + ;; XXX: For the time being, we grossly insert the CMake + ;; option needed to ignore bundled freetype. However, + ;; there's a pending PR to have it as a regular make + ;; option, in a future release. + (("cmake -DCMAKE") "cmake -DUSE_SYSTEM_FREETYPE=ON -DCMAKE")) + #t))))) + (inputs + `(("alsa-lib" ,alsa-lib) + ("freetype" ,freetype) + ("jack" ,jack-1) + ("lame" ,lame) + ("libogg" ,libogg) + ("libsndfile" ,libsndfile) + ("libvorbis" ,libvorbis) + ("openssl" ,openssl) + ("portaudio" ,portaudio) + ("pulseaudio" ,pulseaudio) + ("qtbase" ,qtbase) + ("qtdeclarative" ,qtdeclarative) + ("qtscript" ,qtscript) + ("qtsvg" ,qtsvg) + ("qtwebkit" ,qtwebkit) + ("qtxmlpatterns" ,qtxmlpatterns))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("cmake" ,cmake) + ("qttools" ,qttools))) + (synopsis "Music composition and notation software") + (description "MuseScore is a music score typesetter. Its main purpose is +the creation of high-quality engraved musical scores in a WYSIWYG environment. + +It supports unlimited staves, linked parts and part extraction, tablature, +MIDI input, percussion notation, cross-staff beaming, automatic transposition, +lyrics (multiple verses), fretboard diagrams, and in general everything +commonly used in sheet music. Style options and style sheets to change the +appearance and layout are provided. + +MuseScore can also play back scores through the built-in sequencer and SoundFont +sample library.") + (home-page "https://musescore.org") + (license license:gpl2))) -- 2.13.0
guix-patches <at> gnu.org
:bug#26956
; Package guix-patches
.
(Thu, 18 May 2017 12:22:02 GMT) Full text and rfc822 format available.Message #14 received at 26956 <at> debbugs.gnu.org (full text, mbox):
From: ludo <at> gnu.org (Ludovic Courtès) To: Nicolas Goaziou <mail <at> nicolasgoaziou.fr> Cc: 26956 <at> debbugs.gnu.org Subject: Re: bug#26956: [PATCH] Add MuseScore Date: Thu, 18 May 2017 14:21:41 +0200
Salut Nicolas, Nicolas Goaziou <mail <at> nicolasgoaziou.fr> skribis: > ludo <at> gnu.org (Ludovic Courtès) writes: > >> Nicolas Goaziou <mail <at> nicolasgoaziou.fr> skribis: >> >>> I used glib-or-gtk-build-system because, somewhere in the Makefile, >>> there's a call to `gtk-update-icon-cache'. However, since that command >>> cannot be found during the build process, I skip it with >>> UPDATE_CACHE=FALSE. So, should I leave the package as-is, or add >>> a "gtk+" input, or simply downgrade to gnu-build-system? >> >> Since it uses Qt, perhaps we’d better use ‘gnu-build-system’ (or >> ‘cmake-build-system’?) no? Would we lose something? > > cmake-build-system is a path I already walked. Using cmake is > insufficient to build the package, as it fails during the install phase. > > IIUC, the Makefile is a wrapper that calls the cmake command, which, in > turn, generates a new make target that the initial make call can > process... The new target is responsible for, at the very least, > generating the translation files. Wonderful. :-) > About gnu-build-system, I don't know if we loose something. It builds > with it. I can run the application. I thought that calling > gtk-update-icon-cache was somehow a clue that glib-or-gtk-build-system > would be needed, but I was wrong, if I interpret correctly your > question. > > The updated patch uses gnu-build-system. OK. >> and moved ‘cmake’ to ‘native-inputs’. > > Maybe the linter could suggest it. It already told me that "qttools" > input should be moved there, but didn't complain about "cmake". Good idea, I’ve added “cmake” to the list. > About the bundled freetype library: it is skipped per the cmake option. > Should we also delete it from source in a snippet or is it fine as-is? It’s always safer to remove it in a snippet. I started doing that and then noticed that removing all of thirdparty/ won’t cut it. Yet there’s quite a lot of stuff in that directory, so it would be good to make sure we use as little as possible of this bundled code: $ ls /tmp/guix-build-musescore-2.1.0.drv-0/MuseScore-2.1.0/thirdparty/ beatroot diff intervaltree kQOAuth ofqf portmidi qzip rtf2html singleapp xmlstream For example, we could add portmidi as an input. Could you take a look? Thanks! Ludo’.
guix-patches <at> gnu.org
:bug#26956
; Package guix-patches
.
(Sat, 20 May 2017 09:01:01 GMT) Full text and rfc822 format available.Message #17 received at 26956 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Goaziou <mail <at> nicolasgoaziou.fr> To: ludo <at> gnu.org (Ludovic Courtès) Cc: 26956 <at> debbugs.gnu.org Subject: Re: bug#26956: [PATCH] Add MuseScore Date: Sat, 20 May 2017 11:00:25 +0200
[Message part 1 (text/plain, inline)]
Hello, ludo <at> gnu.org (Ludovic Courtès) writes: > Nicolas Goaziou <mail <at> nicolasgoaziou.fr> skribis: > >> IIUC, the Makefile is a wrapper that calls the cmake command, which, in >> turn, generates a new make target that the initial make call can >> process... The new target is responsible for, at the very least, >> generating the translation files. > > Wonderful. :-) It's even more wonderful when you realize that at 3am. >> About the bundled freetype library: it is skipped per the cmake option. >> Should we also delete it from source in a snippet or is it fine as-is? > > It’s always safer to remove it in a snippet. OK. > I started doing that and then noticed that removing all of thirdparty/ > won’t cut it. Yet there’s quite a lot of stuff in that directory, so it > would be good to make sure we use as little as possible of this bundled > code: > > $ ls /tmp/guix-build-musescore-2.1.0.drv-0/MuseScore-2.1.0/thirdparty/ > beatroot diff intervaltree kQOAuth ofqf portmidi qzip rtf2html singleapp xmlstream > > For example, we could add portmidi as an input. > > Could you take a look? Fair enough. The attached update includes the following changes: - un-bundle OpenSSL. Since it doesn't prevent compilation, do not even include ours, much like what Debian does. - remove unused portmidi from "thirdparty", per the following snippet in CMakeLists.txt # Disable components not supported on Linux/BSD if (NOT APPLE AND NOT MINGW) set(NIX_NOT_AVAIL "Not available on Linux/BSD") option(BUILD_PORTMIDI "PortMidi disabled on Linux. (It uses ALSA but it's better to use ALSA directly)" OFF) endif (NOT APPLE AND NOT MINGW) - un-bundle freetype, remove it from the "thirdparty" directory. - add "gtk+-bin" as inuput so that we can run `gtk-update-icon-cache' (still not sure this is really needed). WDYT? Regards, -- Nicolas Goaziou 0x80A93738
[0001-gnu-Add-MuseScore.patch (text/x-diff, inline)]
From cf05d7aa5a2030ef6cbe073f44f69c65492870b7 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou <mail <at> nicolasgoaziou.fr> Date: Tue, 16 May 2017 17:55:29 +0200 Subject: [PATCH] gnu: Add MuseScore. * gnu/packages/music.scm (musescore): New variable. --- gnu/packages/music.scm | 90 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index d4a72df1d..5c0be39c2 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -10,6 +10,7 @@ ;;; Copyright © 2016 Alex Griffin <a <at> ajgrf.com> ;;; Copyright © 2017 ng0 <contact.ng0 <at> cryptolab.net> ;;; Copyright © 2017 Rodger Fox <thylakoid <at> openmailbox.org> +;;; Copyright © 2017 Nicolas Goaziou <mail <at> nicolasgoaziou.fr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -49,6 +50,7 @@ #:use-module (gnu packages cdrom) #:use-module (gnu packages code) #:use-module (gnu packages check) + #:use-module (gnu packages cmake) #:use-module (gnu packages compression) #:use-module (gnu packages curl) #:use-module (gnu packages cyrus-sasl) @@ -2990,3 +2992,91 @@ are a C compiler and glib. Full API documentation and examples are included.") melodies and beats and for mixing and arranging songs. LMMS includes instruments based on audio samples and various soft sythesizers. It can receive input from a MIDI keyboard.") (license license:gpl2+))) + +(define-public musescore + (package + (name "musescore") + (version "2.1.0") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/musescore/MuseScore/archive/" + "v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0irwsq6ihfz3y3b943cwqy29g3si7gqbgxdscgw53vwv9vfvi085")) + (modules '((guix build utils))) + (snippet + ;; Un-bundle OpenSSL and remove unused libraries. + '(begin + (substitute* "thirdparty/kQOAuth/CMakeLists.txt" + (("-I \\$\\{PROJECT_SOURCE_DIR\\}/thirdparty/openssl/include ") + "")) + (substitute* "thirdparty/kQOAuth/kqoauthutils.cpp" + (("#include <openssl/.*") "")) + (for-each delete-file-recursively + '("thirdparty/freetype" + "thirdparty/openssl" + "thirdparty/portmidi")) + #t)))) + (build-system gnu-build-system) + (arguments + `(#:make-flags + `(,(string-append "PREFIX=" (assoc-ref %outputs "out"))) + ;; There are tests, but no simple target to run. The command + ;; used to run them is: + ;; + ;; make debug && sudo make installdebug && cd \ + ;; build.debug/mtest && make && ctest + ;; + ;; Basically, it requires to start a whole new build process. + ;; So we simply skip them. + #:tests? #f + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-after 'unpack 'use-system-freetype + (lambda _ + ;; XXX: For the time being, we grossly insert the CMake + ;; option needed to ignore bundled freetype. However, + ;; there's a pending PR to have it as a regular make + ;; option, in a future release. + (substitute* "Makefile" + (("cmake -DCMAKE") "cmake -DUSE_SYSTEM_FREETYPE=ON -DCMAKE")) + #t))))) + (inputs + `(("alsa-lib" ,alsa-lib) + ("freetype" ,freetype) + ("gtk+-bin" ,gtk+ "bin") ;for gtk-update-icon-cache + ("jack" ,jack-1) + ("lame" ,lame) + ("libogg" ,libogg) + ("libsndfile" ,libsndfile) + ("libvorbis" ,libvorbis) + ("portaudio" ,portaudio) + ("pulseaudio" ,pulseaudio) + ("qtbase" ,qtbase) + ("qtdeclarative" ,qtdeclarative) + ("qtscript" ,qtscript) + ("qtsvg" ,qtsvg) + ("qtwebkit" ,qtwebkit) + ("qtxmlpatterns" ,qtxmlpatterns))) + (native-inputs + `(("cmake" ,cmake) + ("pkg-config" ,pkg-config) + ("qttools" ,qttools))) + (synopsis "Music composition and notation software") + (description "MuseScore is a music score typesetter. Its main purpose is +the creation of high-quality engraved musical scores in a WYSIWYG environment. + +It supports unlimited staves, linked parts and part extraction, tablature, +MIDI input, percussion notation, cross-staff beaming, automatic transposition, +lyrics (multiple verses), fretboard diagrams, and in general everything +commonly used in sheet music. Style options and style sheets to change the +appearance and layout are provided. + +MuseScore can also play back scores through the built-in sequencer and SoundFont +sample library.") + (home-page "https://musescore.org") + (license license:gpl2))) -- 2.13.0
ludo <at> gnu.org (Ludovic Courtès)
:Nicolas Goaziou <mail <at> nicolasgoaziou.fr>
:Message #22 received at 26956-done <at> debbugs.gnu.org (full text, mbox):
From: ludo <at> gnu.org (Ludovic Courtès) To: Nicolas Goaziou <mail <at> nicolasgoaziou.fr> Cc: 26956-done <at> debbugs.gnu.org Subject: Re: bug#26956: [PATCH] Add MuseScore Date: Tue, 23 May 2017 13:55:25 +0200
Hi, Nicolas Goaziou <mail <at> nicolasgoaziou.fr> skribis: >> I started doing that and then noticed that removing all of thirdparty/ >> won’t cut it. Yet there’s quite a lot of stuff in that directory, so it >> would be good to make sure we use as little as possible of this bundled >> code: >> >> $ ls /tmp/guix-build-musescore-2.1.0.drv-0/MuseScore-2.1.0/thirdparty/ >> beatroot diff intervaltree kQOAuth ofqf portmidi qzip rtf2html singleapp xmlstream >> >> For example, we could add portmidi as an input. >> >> Could you take a look? > > Fair enough. > > The attached update includes the following changes: > > - un-bundle OpenSSL. Since it doesn't prevent compilation, do not even > include ours, much like what Debian does. > > - remove unused portmidi from "thirdparty", per the following snippet > in CMakeLists.txt > > # Disable components not supported on Linux/BSD > if (NOT APPLE AND NOT MINGW) > set(NIX_NOT_AVAIL "Not available on Linux/BSD") > option(BUILD_PORTMIDI "PortMidi disabled on Linux. (It uses ALSA but it's better to use ALSA directly)" OFF) > endif (NOT APPLE AND NOT MINGW) > > - un-bundle freetype, remove it from the "thirdparty" directory. > > - add "gtk+-bin" as inuput so that we can run `gtk-update-icon-cache' > (still not sure this is really needed). > > WDYT? Awesome. > From cf05d7aa5a2030ef6cbe073f44f69c65492870b7 Mon Sep 17 00:00:00 2001 > From: Nicolas Goaziou <mail <at> nicolasgoaziou.fr> > Date: Tue, 16 May 2017 17:55:29 +0200 > Subject: [PATCH] gnu: Add MuseScore. > > * gnu/packages/music.scm (musescore): New variable. Pushed! > + (snippet > + ;; Un-bundle OpenSSL and remove unused libraries. > + '(begin > + (substitute* "thirdparty/kQOAuth/CMakeLists.txt" > + (("-I \\$\\{PROJECT_SOURCE_DIR\\}/thirdparty/openssl/include ") > + "")) > + (substitute* "thirdparty/kQOAuth/kqoauthutils.cpp" > + (("#include <openssl/.*") "")) > + (for-each delete-file-recursively > + '("thirdparty/freetype" > + "thirdparty/openssl" > + "thirdparty/portmidi")) Note that there’s still bundled software under thirdparty/ (those I listed above), but apparently we have no existing packages for these. So let’s assume it’s OK to have them for now, but we may have to revisit that and actually remove them later on. Thank you! Ludo’.
guix-patches <at> gnu.org
:bug#26956
; Package guix-patches
.
(Tue, 23 May 2017 12:14:01 GMT) Full text and rfc822 format available.Message #25 received at 26956-done <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Goaziou <mail <at> nicolasgoaziou.fr> To: ludo <at> gnu.org (Ludovic Courtès) Cc: 26956-done <at> debbugs.gnu.org Subject: Re: bug#26956: [PATCH] Add MuseScore Date: Tue, 23 May 2017 14:13:01 +0200
Hello, ludo <at> gnu.org (Ludovic Courtès) writes: > Pushed! Thank you. > Note that there’s still bundled software under thirdparty/ (those I > listed above), but apparently we have no existing packages for these. > So let’s assume it’s OK to have them for now, but we may have to revisit > that and actually remove them later on. I know, but it may be trickier than in sounds. For the record, some software, "rtf2html" for example, seems to be modified for MuseScore. It could be difficult to find a drop-in replacement. Regards, -- Nicolas Goaziou 0x80A93738
Debbugs Internal Request <help-debbugs <at> gnu.org>
to internal_control <at> debbugs.gnu.org
.
(Wed, 21 Jun 2017 11:24:05 GMT) Full text and rfc822 format available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.