From 6915d20f05363f61cef9c4ed7ebda3fe5a19325d Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 30 Jul 2018 09:43:15 +0300 Subject: 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. --- gnu/packages/finance.scm | 35 ++++++++++++++++++++++++++++++++--- 1 file changed, 32 insertions(+), 3 deletions(-) diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index 69209e9a63..fd2a5af0cb 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -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 -- cgit v1.2.3