Archived
1
0
Fork 0

gnu: powertabeditor: Update to 2.0.0-alpha12-1.c5d39b2.

* gnu/packages/music.scm (powertabeditor): Update to 2.0.0-alpha12-1.c5d39b2.
[source]: Remove snippet.
[arguments]: Remove #:modules and #:configure-flags; remove obsolete phases.
[inputs]: Remove withershins, libiberty, and binutils; add minizip.
[native-inputs]: Remove catch-framework; add doctest.
[home-page]: Use Github project page.
This commit is contained in:
Ricardo Wurmus 2020-07-09 00:01:23 +02:00
parent fadc633a02
commit 10bdd84e69
No known key found for this signature in database
GPG key ID: 197A5888235FACAC

View file

@ -1267,125 +1267,46 @@ your own lessons.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public powertabeditor (define-public powertabeditor
(package ;; This commit is after the switch from catch2 to doctest; I couldn't build
(name "powertabeditor") ;; powertabeditor with catch2.
(version "2.0.0-alpha10") (let ((commit "c5d39b25b75bf87ec693a3ac5018823b1d87f277")
(source (origin (revision "1"))
(method git-fetch) (package
(uri (git-reference (name "powertabeditor")
(url "https://github.com/powertab/powertabeditor.git") (version (git-version "2.0.0-alpha12" revision commit))
(commit version))) (source (origin
(file-name (git-file-name name version)) (method git-fetch)
(sha256 (uri (git-reference
(base32 (url "https://github.com/powertab/powertabeditor.git")
"1z4fhdp71ck9synr12rg1p6365xnypd8ih40c5icj4si36khvksk")) (commit commit)))
(modules '((guix build utils))) (file-name (git-file-name name version))
(snippet (sha256
'(begin (base32
;; Remove bundled sources for external libraries "16qhqfvk14bp7s8cwr8ds8zfd80pq603d7aymr7967pnb49kic5z"))))
(delete-file-recursively "external") (build-system cmake-build-system)
;; Use only system libraries (arguments
(substitute* "CMakeLists.txt" `(#:phases
(("include\\( PTE_ThirdParty \\)") (modify-phases %standard-phases
"\ (replace 'check (lambda _ (invoke "bin/pte_tests"))))))
include(third_party/Qt) (inputs
include(third_party/boost) `(("alsa-lib" ,alsa-lib)
add_library( Catch INTERFACE IMPORTED ) ("boost" ,boost)
add_library( rapidjson INTERFACE IMPORTED )")) ("minizip" ,minizip)
#t)))) ("pugixml" ,pugixml)
(build-system cmake-build-system) ("qtbase" ,qtbase)
(arguments ("rapidjson" ,rapidjson)
`(#:modules ((guix build cmake-build-system) ("rtmidi" ,rtmidi)
(guix build utils) ("timidity" ,timidity++)
(ice-9 match)) ("zlib" ,zlib)))
#:configure-flags (native-inputs
;; CMake appears to lose the RUNPATH for some reason, so it has to be `(("doctest" ,doctest)
;; explicitly set with CMAKE_INSTALL_RPATH. ("pkg-config" ,pkg-config)))
(list "-DCMAKE_BUILD_WITH_INSTALL_RPATH=TRUE" (home-page "https://github.com/powertab/powertabedito")
(string-append "-DCMAKE_INSTALL_RPATH=" (synopsis "Guitar tablature editor")
(string-join (map (match-lambda (description
((name . directory) "Power Tab Editor 2.0 is the successor to the famous original Power Tab
(string-append directory "/lib")))
%build-inputs) ";"))
"-DPTE_DATA_DIR=share/powertabeditor")
#:phases
(modify-phases %standard-phases
(replace 'check
(lambda _
(invoke "bin/pte_tests"
;; FIXME: these tests fail
"exclude:Actions/EditStaff"
"exclude:Formats/PowerTabOldImport/MergeMultiBarRests"
"exclude:Score/ViewFilter/FilterRule"
"exclude:Score/ViewFilter/ViewFilter"
"exclude:Formats/PowerTabOldImport/Directions")
#t))
;; FIXME: This bug has been fixed upstream, but no release has been
;; made yet. See https://github.com/powertab/powertabeditor/issues/257
(add-after 'unpack 'fix-boost-bug
(lambda _
(substitute* "source/score/voiceutils.cpp"
(("boost::rational<int> duration\\(4, pos.getDurationType\\(\\)\\);")
"boost::rational<int> duration(4, static_cast<int>(pos.getDurationType()));"))
#t))
;; Fix build with Qt 5.11.
(add-after 'unpack 'add-missing-headers
(lambda _
(substitute* (find-files "source/dialogs/" "\\.h$")
(("#include <QDialog>" m)
(string-append m "\n#include <QButtonGroup>")))
(substitute* "source/widgets/mixer/mixeritem.h"
(("#include <QWidget>" m)
(string-append m "\n#include <QStyle>")))
(substitute* "source/widgets/playback/playbackwidget.h"
(("#include <QWidget>" m)
(string-append m "\n#include <QButtonGroup>\n#include <QAction>")))
#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
(lambda* (#:key inputs #:allow-other-keys)
;; Link with required static libraries, because we're not
;; using the bundled version of withershins.
;; Also add pthread for fixing a linker error.
(substitute* "source/build/CMakeLists.txt"
(("withershins" line)
(string-append line "\n"
(assoc-ref inputs "binutils")
"/lib/libbfd.a\n"
(assoc-ref inputs "libiberty")
"/lib/libiberty.a\n"
"dl\n"
"pthread\n"
"z\n")))
#t)))))
(inputs
`(("boost" ,boost)
("alsa-lib" ,alsa-lib)
("qtbase" ,qtbase)
("withershins" ,withershins)
("libiberty" ,libiberty) ;for withershins
("binutils" ,binutils) ;for -lbfd and -liberty (for withershins)
("timidity" ,timidity++)
("pugixml" ,pugixml)
("rtmidi" ,rtmidi)
("rapidjson" ,rapidjson)
("zlib" ,zlib)))
(native-inputs
`(("catch" ,catch-framework)
("pkg-config" ,pkg-config)))
(home-page "http://powertabs.net")
(synopsis "Guitar tablature editor")
(description
"Power Tab Editor 2.0 is the successor to the famous original Power Tab
Editor. It is compatible with Power Tab Editor 1.7 and Guitar Pro.") Editor. It is compatible with Power Tab Editor 1.7 and Guitar Pro.")
(license license:gpl3+))) (license license:gpl3+))))
(define-public jalv-select (define-public jalv-select
(package (package