From 9f30266aa4e9baef0601293456d1804914f56624 Mon Sep 17 00:00:00 2001 From: Marek Paśnikowski Date: Tue, 19 Mar 2024 14:41:31 +0100 Subject: Modularize most of the komodo-wallet definition --- private/komodo/komodo.scm | 202 ++++++++++++++++++++++++++-------------------- 1 file changed, 115 insertions(+), 87 deletions(-) diff --git a/private/komodo/komodo.scm b/private/komodo/komodo.scm index e7cd877ad7..c78a5f7091 100644 --- a/private/komodo/komodo.scm +++ b/private/komodo/komodo.scm @@ -43,91 +43,119 @@ #+ (local-file "komodo-libsodium-sodiumconfig.cmake.in") "sodiumConfig.cmake.in")))))))) +(define build-deps-prefix "../build/_deps/") + +(define expected-src "expected-src/") + +(define jl777-coins-src "jl777-coins-src/") + +(define mm2-src "mm2-src/") + +(define komodo-wallet-version "0.7.0-beta") + +(define build-path-mm2 + (string-append build-deps-prefix + mm2-src)) + +(define build-path-jl777-coins + (string-append build-deps-prefix + jl777-coins-src)) + +(define build-path-expected + (string-append build-deps-prefix + expected-src)) + +(define komodo-wallet-configure-flags + '(list "-Wno-dev" + "-DFETCHCONTENT_FULLY_DISCONNECTED=ON")) + +(define komodo-wallet-git-reference + (git-reference (url "https://github.com/KomodoPlatform/komodo-wallet-desktop") + (commit komodo-wallet-version))) + +(define komodo-wallet-hash + (content-hash "0pfkgas0xkixf99zqzyri80ksp89b7dw7hbcgpp60ni2cnchxk2n")) + +(define delete-vcpkg + `(substitute* "CMakeLists.txt" + (("include\\(vcpkg_prerequisites\\)") + (string-append + "\nfile(MAKE_DIRECTORY \"" ,build-path-expected "\")\n" + "file(MAKE_DIRECTORY \"" ,build-path-jl777-coins "\")\n" + "file(MAKE_DIRECTORY \"" ,build-path-mm2 "\")\n" + "file(COPY " + ,(origin + (uri + (git-reference + (url + "https://github.com/TartanLlama/expected") + (commit "v1.1.0") + (recursive? #t))) + (method git-fetch) + (hash + (content-hash + "17akrv80h0n4cfmxwvlvbb8ycqza7y3qqygjyphv95rrabqm9r02")) + (file-name (git-file-name "libexpected" "1.1.0")) + (patches + (search-patches "libexpected-use-provided-catch2.patch"))) + "/ " " DESTINATION " ,build-path-expected + " NO_SOURCE_PERMISSIONS" + " FOLLOW_SYMLINK_CHAIN)\n" + "file(ARCHIVE_EXTRACT INPUT " + ,(origin + (uri "https://github.com/KomodoPlatform/coins/archive/master.zip") + (method url-fetch) + (hash + (content-hash + "1icbd6f8nridzc93vz7hsr5dnkrf328zfsw6rrzifc7nvsr559w8"))) + " DESTINATION " ,build-path-jl777-coins " )\n" + "file(COPY " ,build-path-jl777-coins "/coins-master/ " + "DESTINATION " ,build-path-jl777-coins ")\n" + "file(ARCHIVE_EXTRACT INPUT " + ,(origin + (uri + "https://sdk.devbuilds.komodo.earth/main/mm2_b0fd99e-linux-x86-64.zip") + (method url-fetch) + (hash + (content-hash + "1bn2sjcrp9ih44h3p96prnwg74aids7fgzcnlv3c68nan6y2lysi"))) + " DESTINATION " ,build-path-mm2 ")\n")))) + +(define komodo-wallet-phases + #~ (modify-phases %standard-phases + (add-after 'unpack + 'delete-vcpkg + (lambda _ #+ delete-vcpkg)))) + +(define komodo-wallet-arguments + (list #:phases komodo-wallet-phases + #:configure-flags komodo-wallet-configure-flags)) + +(define komodo-wallet-description + (string-append "Komodo Wallet is a secure wallet and non-custodial " + "decentralized exchange rolled into one application. Store " + "your coins, trade peer-to-peer with minimal fees and never " + "control over your digital assets.")) + +(define komodo-wallet-native-inputs + (list boost cpprestsdk date doctest entt fmt git libsodium-komodo + nlohmann-json openssl qtcharts qtdeclarative-5 qttools-5 qtsvg-5 + qtwebengine-5 range-v3 spdlog zlib)) + +(define komodo-wallet-origin + (origin (uri komodo-wallet-git-reference) + (method git-fetch) + (hash komodo-wallet-hash))) + (define-public komodo-wallet - (let ((build-path-expected "../build/_deps/expected-src") - (build-path-jl777-coins "../build/_deps/jl777-coins-src") - (build-path-mm2 "../build/_deps/mm2-src") - (version "0.7.0-beta")) - (let ((configure-flags #~ (list "-Wno-dev" - "-DFETCHCONTENT_FULLY_DISCONNECTED=ON")) - (komodo-wallet-git-reference (git-reference - (url - "https://github.com/KomodoPlatform/komodo-wallet-desktop") - (commit version))) - (komodo-wallet-hash (content-hash "0pfkgas0xkixf99zqzyri80ksp89b7dw7hbcgpp60ni2cnchxk2n")) - (phases #~ (let () - (modify-phases %standard-phases - (add-after 'unpack - 'delete-vcpkg - (lambda _ - (substitute* - "CMakeLists.txt" - (("include\\(vcpkg_prerequisites\\)") - (string-append - "\nfile(MAKE_DIRECTORY \"" #+ build-path-expected "\")\n" - "file(MAKE_DIRECTORY \"" #+ build-path-jl777-coins "\")\n" - "file(MAKE_DIRECTORY \"" #+ build-path-mm2 "\")\n" - "file(COPY " - #+ (origin - (uri - (git-reference - (url - "https://github.com/TartanLlama/expected") - (commit "v1.1.0") - (recursive? #t))) - (method git-fetch) - (hash - (content-hash - "17akrv80h0n4cfmxwvlvbb8ycqza7y3qqygjyphv95rrabqm9r02")) - (file-name (git-file-name "libexpected" "1.1.0")) - (patches - (search-patches "libexpected-use-provided-catch2.patch"))) - "/ " " DESTINATION " #+ build-path-expected - " NO_SOURCE_PERMISSIONS" - " FOLLOW_SYMLINK_CHAIN)\n" - "file(ARCHIVE_EXTRACT INPUT " - #+ (origin - (uri "https://github.com/KomodoPlatform/coins/archive/master.zip") - (method url-fetch) - (hash - (content-hash - "1icbd6f8nridzc93vz7hsr5dnkrf328zfsw6rrzifc7nvsr559w8"))) - " DESTINATION " #+ build-path-jl777-coins " )\n" - "file(COPY " #+ build-path-jl777-coins "/coins-master/ " - "DESTINATION " #+ build-path-jl777-coins ")\n" - "file(ARCHIVE_EXTRACT INPUT " - #+ (origin - (uri - "https://sdk.devbuilds.komodo.earth/main/mm2_b0fd99e-linux-x86-64.zip") - (method url-fetch) - (hash - (content-hash - "1bn2sjcrp9ih44h3p96prnwg74aids7fgzcnlv3c68nan6y2lysi"))) - " DESTINATION " #+ build-path-mm2 " )\n"))))))))) - (let ((arguments (list #:phases phases - #:configure-flags configure-flags)) - (description (string-append "Komodo Wallet is a secure wallet " - "and non-custodial decentralized " - "exchange rolled into one " - "application. Store your coins, " - "trade peer-to-peer with minimal " - "fees and never give up control over " - "your digital assets.")) - (native-inputs (list boost cpprestsdk date doctest entt fmt git - libsodium-komodo nlohmann-json openssl - qtcharts qtdeclarative-5 qttools-5 qtsvg-5 - qtwebengine-5 range-v3 spdlog zlib)) - (komodo-wallet-origin (origin (uri komodo-wallet-git-reference) - (method git-fetch) - (hash komodo-wallet-hash)))) - (package - (name "komodo-wallet") - (version version) - (source komodo-wallet-origin) - (build-system qt-build-system) - (arguments arguments) - (native-inputs native-inputs) - (synopsis "Komodo Wallet Desktop GUI") - (description description) - (license license:gpl2) - (home-page "https://atomicdex.io/")))))) + (package + (name "komodo-wallet") + (version komodo-wallet-version) + (source komodo-wallet-origin) + (build-system qt-build-system) + (arguments komodo-wallet-arguments) + (native-inputs komodo-wallet-native-inputs) + (synopsis "Komodo Wallet Desktop GUI") + (description komodo-wallet-description) + (license license:gpl2) + (home-page "https://atomicdex.io/"))) -- cgit v1.2.3