(define-module (komodo) #:use-module (cpprestsdk) #:use-module (gnu packages) #:use-module (gnu packages boost) #:use-module (gnu packages calendar) #:use-module (gnu packages check) #:use-module (gnu packages compression) #:use-module (gnu packages cpp) #:use-module (gnu packages crypto) #:use-module (gnu packages game-development) #:use-module (gnu packages logging) #:use-module (gnu packages pretty-print) #:use-module (gnu packages qt) #:use-module (gnu packages tls) #:use-module (gnu packages version-control) #:use-module (guix build utils) #:use-module (guix build-system cmake) #:use-module (guix build-system qt) #:use-module (guix download) #:use-module (guix gexp) #:use-module (guix git-download) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages)) (define-public libsodium-komodo (package (inherit libsodium) (build-system cmake-build-system) (arguments (list #:phases #~ (modify-phases %standard-phases (add-after 'unpack 'add-cmakelists (lambda _ (copy-recursively #+ (local-file "komodo-libsodium-cmakelists.txt") "CMakeLists.txt") (copy-recursively #+ (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 (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/")))