From ca890314f2a5d05d97c5bee39e0e571cf9344ba2 Mon Sep 17 00:00:00 2001 From: Pierre Langlois Date: Fri, 15 Nov 2019 09:23:16 +0000 Subject: [PATCH] gnu: rtmidi: Update to 4.0.0. * gnu/packages/audio.scm (rtmidi): Update to 4.0.0. [source]: Download tarball from upstream URL rather than the powertab github fork. [arguments]: Enable tests. Remove 'build and 'install phases and add a new 'noconfigure phase to prevent the bootstrap script from invoking configure. [home-page]: Update homepage to upstream URL. * gnu/packages/music.scm (powertabeditor)[arguments]: Add phase that substitutes the rtmidi #include directive to find the header. --- gnu/packages/audio.scm | 31 ++++++++++--------------------- gnu/packages/music.scm | 8 ++++++++ 2 files changed, 18 insertions(+), 21 deletions(-) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 15ba454edd..66ef787dcc 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -2341,33 +2341,22 @@ tempo and pitch of an audio recording independently of one another.") (define-public rtmidi (package (name "rtmidi") - (version "2.1.0") + (version "4.0.0") (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/powertab/rtmidi.git") - (commit version))) - (file-name (git-file-name name version)) + (method url-fetch) + (uri (string-append "https://www.music.mcgill.ca/~gary/rtmidi" + "/release/rtmidi-" version ".tar.gz")) + (file-name (string-append "rtmidi-" version ".tar.gz")) (sha256 (base32 - "106v177y3nrjv2l1yskch4phpqd8h97b67zj0jiq9pc3c69jr1ay")))) + "1k962ljpnwyjw9jjiky2372khhri1wqvrj5qsalfpys31xqzw31p")))) (build-system gnu-build-system) (arguments - `(#:tests? #f ;no "check" target - #:phases + `(#:phases (modify-phases %standard-phases - (add-before 'build 'fix-makefile - (lambda _ - (substitute* "Makefile" - (("/bin/ln") "ln") - (("RtMidi.h RtError.h") "RtMidi.h")) - #t)) - (add-before 'install 'make-target-dirs + (add-before 'bootstrap 'noconfigure (lambda _ - (let ((out (assoc-ref %outputs "out"))) - (mkdir-p (string-append out "/bin")) - (mkdir (string-append out "/lib")) - (mkdir (string-append out "/include"))) + (setenv "NOCONFIGURE" "yes") #t))))) (inputs `(("jack" ,jack-1) @@ -2377,7 +2366,7 @@ tempo and pitch of an audio recording independently of one another.") ("automake" ,automake) ("libtool" ,libtool) ("pkg-config" ,pkg-config))) - (home-page "https://github.com/powertab/rtmidi") + (home-page "https://www.music.mcgill.ca/~gary/rtmidi") (synopsis "Cross-platform MIDI library for C++") (description "RtMidi is a set of C++ classes (RtMidiIn, RtMidiOut, and API specific diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 3373b4c0a3..241ede58d8 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -1284,6 +1284,14 @@ add_library( rapidjson INTERFACE IMPORTED )")) (("#include " m) (string-append m "\n#include \n#include "))) #t)) + ;; FIXME: Finding RtMidi was fixed upstream so we should be able to + ;; remove this hack when a release is made. + ;; See https://github.com/powertab/powertabeditor/issues/255 + (add-after 'unpack 'fix-rtmidi-header + (lambda _ + (substitute* "source/audio/midioutputdevice.cpp" + (("#include ") "#include ")) + #t)) (add-before 'configure 'remove-third-party-libs (lambda* (#:key inputs #:allow-other-keys) ;; Link with required static libraries, because we're not -- 2.24.0