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:
parent
fadc633a02
commit
10bdd84e69
1 changed files with 39 additions and 118 deletions
|
@ -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
|
||||||
|
|
Reference in a new issue