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. Signed-off-by: Mathieu Othacehe <m.othacehe@gmail.com>
This commit is contained in:
		
							parent
							
								
									ae5525c591
								
							
						
					
					
						commit
						bcdf11d6ff
					
				
					 2 changed files with 18 additions and 21 deletions
				
			
		| 
						 | 
					@ -2341,33 +2341,22 @@ tempo and pitch of an audio recording independently of one another.")
 | 
				
			||||||
(define-public rtmidi
 | 
					(define-public rtmidi
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "rtmidi")
 | 
					    (name "rtmidi")
 | 
				
			||||||
    (version "2.1.0")
 | 
					    (version "4.0.0")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method git-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (git-reference
 | 
					              (uri (string-append "https://www.music.mcgill.ca/~gary/rtmidi"
 | 
				
			||||||
                    (url "https://github.com/powertab/rtmidi.git")
 | 
					                                  "/release/rtmidi-" version ".tar.gz"))
 | 
				
			||||||
                    (commit version)))
 | 
					              (file-name (string-append "rtmidi-" version ".tar.gz"))
 | 
				
			||||||
              (file-name (git-file-name name version))
 | 
					 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "106v177y3nrjv2l1yskch4phpqd8h97b67zj0jiq9pc3c69jr1ay"))))
 | 
					                "1k962ljpnwyjw9jjiky2372khhri1wqvrj5qsalfpys31xqzw31p"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:tests? #f ;no "check" target
 | 
					     `(#:phases
 | 
				
			||||||
       #:phases
 | 
					 | 
				
			||||||
       (modify-phases %standard-phases
 | 
					       (modify-phases %standard-phases
 | 
				
			||||||
         (add-before 'build 'fix-makefile
 | 
					         (add-before 'bootstrap 'noconfigure
 | 
				
			||||||
           (lambda _
 | 
					           (lambda _
 | 
				
			||||||
             (substitute* "Makefile"
 | 
					             (setenv "NOCONFIGURE" "yes")
 | 
				
			||||||
               (("/bin/ln") "ln")
 | 
					 | 
				
			||||||
               (("RtMidi.h RtError.h") "RtMidi.h"))
 | 
					 | 
				
			||||||
             #t))
 | 
					 | 
				
			||||||
         (add-before 'install 'make-target-dirs
 | 
					 | 
				
			||||||
           (lambda _
 | 
					 | 
				
			||||||
             (let ((out (assoc-ref %outputs "out")))
 | 
					 | 
				
			||||||
               (mkdir-p (string-append out "/bin"))
 | 
					 | 
				
			||||||
               (mkdir (string-append out "/lib"))
 | 
					 | 
				
			||||||
               (mkdir (string-append out "/include")))
 | 
					 | 
				
			||||||
             #t)))))
 | 
					             #t)))))
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("jack" ,jack-1)
 | 
					     `(("jack" ,jack-1)
 | 
				
			||||||
| 
						 | 
					@ -2377,7 +2366,7 @@ tempo and pitch of an audio recording independently of one another.")
 | 
				
			||||||
       ("automake" ,automake)
 | 
					       ("automake" ,automake)
 | 
				
			||||||
       ("libtool" ,libtool)
 | 
					       ("libtool" ,libtool)
 | 
				
			||||||
       ("pkg-config" ,pkg-config)))
 | 
					       ("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++")
 | 
					    (synopsis "Cross-platform MIDI library for C++")
 | 
				
			||||||
    (description
 | 
					    (description
 | 
				
			||||||
     "RtMidi is a set of C++ classes (RtMidiIn, RtMidiOut, and API specific
 | 
					     "RtMidi is a set of C++ classes (RtMidiIn, RtMidiOut, and API specific
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1284,6 +1284,14 @@ add_library( rapidjson INTERFACE IMPORTED )"))
 | 
				
			||||||
               (("#include <QWidget>" m)
 | 
					               (("#include <QWidget>" m)
 | 
				
			||||||
                (string-append m "\n#include <QButtonGroup>\n#include <QAction>")))
 | 
					                (string-append m "\n#include <QButtonGroup>\n#include <QAction>")))
 | 
				
			||||||
             #t))
 | 
					             #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 <RtMidi.h>") "#include <rtmidi/RtMidi.h>"))
 | 
				
			||||||
 | 
					             #t))
 | 
				
			||||||
         (add-before 'configure 'remove-third-party-libs
 | 
					         (add-before 'configure 'remove-third-party-libs
 | 
				
			||||||
           (lambda* (#:key inputs #:allow-other-keys)
 | 
					           (lambda* (#:key inputs #:allow-other-keys)
 | 
				
			||||||
             ;; Link with required static libraries, because we're not
 | 
					             ;; Link with required static libraries, because we're not
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Reference in a new issue