From dfb72b837be8285612c303e056503e71ca5539ce Mon Sep 17 00:00:00 2001 From: Marek Paśnikowski Date: Wed, 20 Mar 2024 12:37:34 +0100 Subject: Rename the imported private directory as package directory --- packages/komodo/komodo.scm | 178 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 178 insertions(+) create mode 100644 packages/komodo/komodo.scm (limited to 'packages/komodo/komodo.scm') diff --git a/packages/komodo/komodo.scm b/packages/komodo/komodo.scm new file mode 100644 index 0000000..7ee7eae --- /dev/null +++ b/packages/komodo/komodo.scm @@ -0,0 +1,178 @@ +(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 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 qt) + #:use-module (guix download) + #:use-module (guix gexp) + #:use-module (guix git-download) + #:use-module ((guix licenses) + #:prefix license:) + #:use-module (guix packages) + #:use-module (libsodium-komodo)) + +(define komodo-wallet-version "0.7.0-beta") + +;;; Git References + +(define expected-git-reference + (git-reference (url "https://github.com/TartanLlama/expected") + (commit "v1.1.0") + (recursive? #t))) + +(define komodo-wallet-git-reference + (git-reference (url "https://github.com/KomodoPlatform/komodo-wallet-desktop") + (commit komodo-wallet-version))) + +;;; Hashes + +(define expected-hash + (content-hash "17akrv80h0n4cfmxwvlvbb8ycqza7y3qqygjyphv95rrabqm9r02")) + +(define jl777-coins-hash + (content-hash "1icbd6f8nridzc93vz7hsr5dnkrf328zfsw6rrzifc7nvsr559w8")) + +(define komodo-wallet-hash + (content-hash "0pfkgas0xkixf99zqzyri80ksp89b7dw7hbcgpp60ni2cnchxk2n")) + +(define mm2-hash + (content-hash "1bn2sjcrp9ih44h3p96prnwg74aids7fgzcnlv3c68nan6y2lysi")) + +;;; Package Origins + +(define expected-file-name + (git-file-name "libexpected" "1.1.0")) + +(define expected-patches + (search-patches "libexpected-use-provided-catch2.patch")) + +(define expected-origin + (origin (uri expected-git-reference) + (method git-fetch) + (hash expected-hash) + (file-name expected-file-name) + (patches expected-patches))) + +(define jl777-coins-origin + (origin (uri "https://github.com/KomodoPlatform/coins/archive/master.zip") + (method url-fetch) + (hash jl777-coins-hash))) + +(define komodo-wallet-origin + (origin (uri komodo-wallet-git-reference) + (method git-fetch) + (hash komodo-wallet-hash))) + +(define mm2-origin + (origin (uri "https://sdk.devbuilds.komodo.earth/main/mm2_b0fd99e-linux-x86-64.zip") + (method url-fetch) + (hash mm2-hash))) + +;;; Path Constructors + +(define build-deps-prefix "../build/_deps/") + +(define expected-src "expected-src/") + +(define jl777-coins-src "jl777-coins-src/") + +(define mm2-src "mm2-src/") + +(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)) + +;;; Phase Definitions + +(define prepare-build-paths + `(string-append "file(MAKE_DIRECTORY \"" ,build-path-expected "\")\n" + "file(MAKE_DIRECTORY \"" ,build-path-jl777-coins "\")\n" + "file(MAKE_DIRECTORY \"" ,build-path-mm2 "\")\n")) + +(define prepare-expected-src + `(string-append "file(COPY " ,expected-origin "/ " + "DESTINATION " ,build-path-expected " " + "NO_SOURCE_PERMISSIONS FOLLOW_SYMLINK_CHAIN)\n")) + +(define prepare-jl777-coins-src + `(string-append "file(ARCHIVE_EXTRACT INPUT " ,jl777-coins-origin " " + "DESTINATION " ,build-path-jl777-coins ")\n" + "file(COPY " ,build-path-jl777-coins "/coins-master/ " + "DESTINATION " ,build-path-jl777-coins ")\n")) + +(define prepare-mm2-src + `(string-append "file(ARCHIVE_EXTRACT INPUT " ,mm2-origin " " + "DESTINATION " ,build-path-mm2 ")\n")) + +(define vcpkg-replacement + `(string-append "\n" + ,prepare-build-paths + ,prepare-expected-src + ,prepare-jl777-coins-src + ,prepare-mm2-src + "\n")) + +(define replace-vcpkg + `(substitute* "CMakeLists.txt" + (("include\\(vcpkg_prerequisites\\)") + ,vcpkg-replacement))) + +;;; Build Arguments + +(define komodo-wallet-configure-flags + '(list "-DFETCHCONTENT_FULLY_DISCONNECTED=ON" + "-Wno-dev")) + +(define komodo-wallet-phases + #~ (modify-phases %standard-phases + (add-after 'unpack + 'delete-vcpkg + (lambda _ #+ replace-vcpkg)))) + +;;; Package Definitions + +(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 " + "give up 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-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/"))) -- cgit v1.2.3