Package: guix-patches;
Reported by: Mike Rosset <mike.rosset <at> gmail.com>
Date: Thu, 16 Jan 2020 19:49:02 UTC
Severity: normal
Tags: patch
Done: Kei Kebreau <kkebreau <at> posteo.net>
Bug is archived. No further changes may be made.
View this message in rfc822 format
From: help-debbugs <at> gnu.org (GNU bug Tracking System) To: Kei Kebreau <kkebreau <at> posteo.net> Cc: tracker <at> debbugs.gnu.org Subject: bug#39155: closed ([PATCH] gnu: tuxguitar: Build and install alsa plugin.) Date: Fri, 24 Jan 2020 02:03:01 +0000
[Message part 1 (text/plain, inline)]
Your message dated Thu, 23 Jan 2020 21:02:25 -0500 with message-id <87muada9xq.fsf <at> posteo.net> and subject line Re: [bug#39155] [PATCH] gnu: tuxguitar: Build and install alsa plugin. has caused the debbugs.gnu.org bug report #39155, regarding [PATCH] gnu: tuxguitar: Build and install alsa plugin. to be marked as done. (If you believe you have received this mail in error, please contact help-debbugs <at> gnu.org.) -- 39155: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=39155 GNU Bug Tracking System Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Mike Rosset <mike.rosset <at> gmail.com> To: guix-patches <at> gnu.org Cc: Mike Rosset <mike.rosset <at> gmail.com> Subject: [PATCH] gnu: tuxguitar: Build and install alsa plugin. Date: Thu, 16 Jan 2020 11:48:26 -0800* gnu/packages/music.scm (tuxguitar): Allows midi sound output when using a synthesizer like timidity. [inputs]: Adds alsa-lib as an input. [phases]: No longer change build directory context between phases. [install]: Now install desktop, mime and manual files. --- gnu/packages/music.scm | 90 +++++++++++++++++++++++++++--------------- 1 file changed, 59 insertions(+), 31 deletions(-) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index ad369bd3a8..15594ab0ba 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -1746,60 +1746,86 @@ is subjective.") (arguments `(#:build-target "build" #:jdk ,icedtea-8 - #:tests? #f ; no tests + #:tests? #f #:phases (modify-phases %standard-phases - (add-after 'unpack 'enter-dir - (lambda _ (chdir "TuxGuitar-lib") #t)) - (add-after 'build 'build-libraries + (replace 'build (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((initial-classpath (getenv "CLASSPATH")) (build-dir (lambda (dir) - (chdir "..") - (setenv "CLASSPATH" - (string-join (cons initial-classpath - (find-files (getcwd) "\\.jar$")) - ":")) - (chdir dir) - (if (file-exists? "build.xml") - ((assoc-ref %standard-phases 'build) - #:build-target "build") - (begin - ;; Generate default build.xml. - ((@@ (guix build ant-build-system) default-build.xml) - (string-append (string-downcase dir) ".jar") - (string-append (assoc-ref outputs "out") - "/share/java")) - ((assoc-ref %standard-phases 'build))))))) - (map build-dir '("TuxGuitar-editor-utils" + (setenv + "CLASSPATH" + (string-join (cons initial-classpath + (find-files (getcwd) "\\.jar$")) + ":")) + (with-directory-excursion dir + (if (file-exists? "build.xml") + ((assoc-ref %standard-phases 'build) + #:build-target "build") + (begin + ;; Generate default build.xml. + ((@@ (guix build ant-build-system) + default-build.xml) + (string-append (string-downcase dir) ".jar") + (string-append (assoc-ref outputs "out") + "/share/java")) + ((assoc-ref %standard-phases 'build)))))))) + (map build-dir '("TuxGuitar-lib" + "TuxGuitar-editor-utils" "TuxGuitar-ui-toolkit" "TuxGuitar-ui-toolkit-swt" - "TuxGuitar-awt-graphics"))))) - (add-after 'build-libraries 'build-application + "TuxGuitar-viewer" + "TuxGuitar" + "TuxGuitar-gm-utils" + "TuxGuitar-alsa" + "TuxGuitar-midi" + "TuxGuitar-midi-ui")) + #t))) + (add-after 'build 'build-jni (lambda _ - (chdir "../TuxGuitar") - ((assoc-ref %standard-phases 'build) - #:build-target "build"))) + (setenv "CC" "gcc") + (setenv "CFLAGS" (string-append + "-fpic -I" + (getcwd) + "/build-scripts/native-modules/common-include")) + (invoke "make" "-C" "./TuxGuitar-alsa/jni" "-f" "GNUmakefile"))) (replace 'install (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (bin (string-append out "/bin")) (share (string-append out "/share")) + (jni-lib (string-append out "/lib")) (lib (string-append share "/java")) - (swt (assoc-ref inputs "java-swt"))) + (swt (assoc-ref inputs "java-swt")) + (mime (string-append share "/mime/packages")) + (app (string-append share "/applications")) + (man (string-append share "/man/man1"))) + (mkdir-p bin) ;; Install all jars. (for-each (lambda (file) (install-file file lib)) - (find-files ".." "\\.jar$")) + (find-files "." "\\.jar$")) + + ;; Install jni libraries + (for-each (lambda (file) + (install-file file jni-lib)) + (find-files "." "\\-jni.so$")) ;; Install all resources. - (copy-recursively "share" share) + (copy-recursively "./TuxGuitar/share" share) + + ;; Install desktop and mime files + (install-file "./misc/tuxguitar.xml" mime) + (install-file "./misc/tuxguitar.desktop" app) + + ;; Install manaual + (install-file "./misc/tuxguitar.1" man) ;; Create wrapper. (call-with-output-file (string-append bin "/tuxguitar") (lambda (port) - (let ((classpath (string-join (append (find-files lib "\\.jar$") + (let ((classpath (string-join (append (find-files lib "\\.jar$") (find-files swt "\\.jar$")) ":"))) (format @@ -1810,12 +1836,14 @@ is subjective.") " -Dtuxguitar.home.path=" out " -Dtuxguitar.share.path=" out "/share" " -Dswt.library.path=" swt "/lib" + " -Djava.library.path=" out "/lib" " org.herac.tuxguitar.app.TGMainSingleton" " \"$1\" \"$2\""))))) (chmod (string-append bin "/tuxguitar") #o555) #t)))))) (inputs - `(("java-swt" ,java-swt))) + `(("alsa-lib" ,alsa-lib) + ("java-swt" ,java-swt))) (home-page "http://tuxguitar.com.ar/") (synopsis "Multitrack tablature editor and player") (description -- 2.24.1
[Message part 3 (message/rfc822, inline)]
From: Kei Kebreau <kkebreau <at> posteo.net> To: Mike Rosset <mike.rosset <at> gmail.com> Cc: 39155-done <at> debbugs.gnu.org Subject: Re: [bug#39155] [PATCH] gnu: tuxguitar: Build and install alsa plugin. Date: Thu, 23 Jan 2020 21:02:25 -0500Hello Mike! Mike Rosset <mike.rosset <at> gmail.com> writes: > * gnu/packages/music.scm (tuxguitar): Allows midi sound output when using > a synthesizer like timidity. > > [inputs]: Adds alsa-lib as an input. > [phases]: No longer change build directory context between phases. > [install]: Now install desktop, mime and manual files. I've changed the format of this log message a bit so it's less repetitive. > --- > gnu/packages/music.scm | 90 +++++++++++++++++++++++++++--------------- > 1 file changed, 59 insertions(+), 31 deletions(-) > > diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm > index ad369bd3a8..15594ab0ba 100644 > --- a/gnu/packages/music.scm > +++ b/gnu/packages/music.scm > @@ -1746,60 +1746,86 @@ is subjective.") > (arguments > `(#:build-target "build" > #:jdk ,icedtea-8 > - #:tests? #f ; no tests > + #:tests? #f I left this comment in since it notes that TuxGuitar actually doesn't have a test suite, and that we haven't just disabled it for another reason. > #:phases > (modify-phases %standard-phases > - (add-after 'unpack 'enter-dir > - (lambda _ (chdir "TuxGuitar-lib") #t)) > - (add-after 'build 'build-libraries > + (replace 'build > (lambda* (#:key inputs outputs #:allow-other-keys) > (let* ((initial-classpath (getenv "CLASSPATH")) > (build-dir (lambda (dir) > - (chdir "..") > - (setenv "CLASSPATH" > - (string-join (cons initial-classpath > - (find-files (getcwd) "\\.jar$")) > - ":")) > - (chdir dir) > - (if (file-exists? "build.xml") > - ((assoc-ref %standard-phases 'build) > - #:build-target "build") > - (begin > - ;; Generate default build.xml. > - ((@@ (guix build ant-build-system) default-build.xml) > - (string-append (string-downcase dir) ".jar") > - (string-append (assoc-ref outputs "out") > - "/share/java")) > - ((assoc-ref %standard-phases 'build))))))) > - (map build-dir '("TuxGuitar-editor-utils" > + (setenv > + "CLASSPATH" > + (string-join (cons initial-classpath > + (find-files (getcwd) "\\.jar$")) > + ":")) > + (with-directory-excursion dir > + (if (file-exists? "build.xml") > + ((assoc-ref %standard-phases 'build) > + #:build-target "build") > + (begin > + ;; Generate default build.xml. > + ((@@ (guix build ant-build-system) > + default-build.xml) > + (string-append (string-downcase dir) ".jar") > + (string-append (assoc-ref outputs "out") > + "/share/java")) > + ((assoc-ref %standard-phases 'build)))))))) > + (map build-dir '("TuxGuitar-lib" > + "TuxGuitar-editor-utils" > "TuxGuitar-ui-toolkit" > "TuxGuitar-ui-toolkit-swt" > - "TuxGuitar-awt-graphics"))))) > - (add-after 'build-libraries 'build-application > + "TuxGuitar-viewer" > + "TuxGuitar" > + "TuxGuitar-gm-utils" > + "TuxGuitar-alsa" > + "TuxGuitar-midi" > + "TuxGuitar-midi-ui")) > + #t))) > + (add-after 'build 'build-jni > (lambda _ > - (chdir "../TuxGuitar") > - ((assoc-ref %standard-phases 'build) > - #:build-target "build"))) > + (setenv "CC" "gcc") > + (setenv "CFLAGS" (string-append > + "-fpic -I" > + (getcwd) > + "/build-scripts/native-modules/common-include")) > + (invoke "make" "-C" "./TuxGuitar-alsa/jni" "-f" "GNUmakefile"))) > (replace 'install > (lambda* (#:key inputs outputs #:allow-other-keys) > (let* ((out (assoc-ref outputs "out")) > (bin (string-append out "/bin")) > (share (string-append out "/share")) > + (jni-lib (string-append out "/lib")) > (lib (string-append share "/java")) > - (swt (assoc-ref inputs "java-swt"))) > + (swt (assoc-ref inputs "java-swt")) > + (mime (string-append share "/mime/packages")) > + (app (string-append share "/applications")) > + (man (string-append share "/man/man1"))) > + > (mkdir-p bin) > ;; Install all jars. > (for-each (lambda (file) > (install-file file lib)) > - (find-files ".." "\\.jar$")) > + (find-files "." "\\.jar$")) > + > + ;; Install jni libraries > + (for-each (lambda (file) > + (install-file file jni-lib)) > + (find-files "." "\\-jni.so$")) > > ;; Install all resources. > - (copy-recursively "share" share) > + (copy-recursively "./TuxGuitar/share" share) > + > + ;; Install desktop and mime files > + (install-file "./misc/tuxguitar.xml" mime) > + (install-file "./misc/tuxguitar.desktop" app) > + > + ;; Install manaual > + (install-file "./misc/tuxguitar.1" man) > > ;; Create wrapper. > (call-with-output-file (string-append bin "/tuxguitar") > (lambda (port) > - (let ((classpath (string-join (append (find-files lib "\\.jar$") > + (let ((classpath (string-join (append (find-files lib "\\.jar$") > (find-files swt "\\.jar$")) > ":"))) > (format > @@ -1810,12 +1836,14 @@ is subjective.") > " -Dtuxguitar.home.path=" out > " -Dtuxguitar.share.path=" out "/share" > " -Dswt.library.path=" swt "/lib" > + " -Djava.library.path=" out "/lib" > " org.herac.tuxguitar.app.TGMainSingleton" > " \"$1\" \"$2\""))))) > (chmod (string-append bin "/tuxguitar") #o555) > #t)))))) > (inputs > - `(("java-swt" ,java-swt))) > + `(("alsa-lib" ,alsa-lib) > + ("java-swt" ,java-swt))) > (home-page "http://tuxguitar.com.ar/") > (synopsis "Multitrack tablature editor and player") > (description The rest of this LGTM! This has been pushed to master as commit 44e70dee184c4e4190349def71dc07f05822f591. Thanks for contributing! Now we guitarists can hear our beautiful tablature! :-) Kei
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.