gnu: monero-gui: Build with modular qt.

* gnu/packages/finance.scm (monero-gui)[inputs]: Remove qt, add qtbase,
qtdeclarative, qtgraphicaleffects, qtquickcontrols.
[native-inputs]: Add qttools.
[arguments]: Add a custom phase to patch the absolute file-name of
lrelease and lupdate. Add a custom phase to wrap the executable with QT
environmental variables.
master
Efraim Flashner 2018-07-30 09:43:15 +03:00
parent 0c85d2c62d
commit 6915d20f05
No known key found for this signature in database
GPG Key ID: 41AAE7DCCA3D8351
1 changed files with 32 additions and 3 deletions

View File

@ -478,12 +478,16 @@ Monero command line client and daemon.")
(native-inputs
`(("doxygen" ,doxygen)
("graphviz" ,graphviz)
("pkg-config" ,pkg-config)))
("pkg-config" ,pkg-config)
("qttools" ,qttools)))
(inputs
`(("boost" ,boost)
("libunwind" ,libunwind)
("openssl" ,openssl)
("qt" ,qt)
("qtbase" ,qtbase)
("qtdeclarative" ,qtdeclarative)
("qtgraphicaleffects" ,qtgraphicaleffects)
("qtquickcontrols" ,qtquickcontrols)
("readline" ,readline)
("unbound" ,unbound)))
(propagated-inputs
@ -518,6 +522,15 @@ Monero command line client and daemon.")
(string-append "\""(assoc-ref inputs "monero")
"/bin/monerod")))
#t))
(add-after 'fix-monerod-path 'fix-qt-paths
(lambda* (#:key inputs #:allow-other-keys)
(let* ((qttools (assoc-ref inputs "qttools"))
(lrelease (string-append qttools "/bin/lrelease"))
(lupdate (string-append qttools "/bin/lupdate")))
(substitute* "monero-wallet-gui.pro"
(("\\$\\$\\[QT_INSTALL_BINS\\]/lrelease") lrelease)
(("\\$\\$\\[QT_INSTALL_BINS\\]/lupdate") lupdate))
#t)))
(replace 'build
(lambda _
(invoke "./build.sh")))
@ -529,7 +542,23 @@ Monero command line client and daemon.")
#t))
(add-before 'install 'change-dir
(lambda _
(chdir "build"))))))
(chdir "build")))
(add-after 'install 'wrap-executable
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(wrap-program (string-append out "/bin/monero-wallet-gui")
`("QT_PLUGIN_PATH" ":" prefix
,(map (lambda (label)
(string-append (assoc-ref inputs label)
"/lib/qt5/plugins"))
'("qtbase" "qtdeclarative")))
`("QML2_IMPORT_PATH" ":" prefix
,(map (lambda (label)
(string-append (assoc-ref inputs label)
"/lib/qt5/qml"))
'("qtdeclarative" "qtgraphicaleffects"
"qtquickcontrols"))))
#t))))))
(home-page "https://getmonero.org/")
(synopsis "Graphical user interface for the Monero currency")
(description