feather/contrib/flatpak/flatpak.scm
2023-06-15 15:57:37 +02:00

118 lines
No EOL
3.9 KiB
Scheme

(use-modules (gnu)
(gnu packages)
(gnu packages base)
(gnu packages bash)
(gnu packages certs)
(gnu packages check)
(gnu packages compression)
(gnu packages elf)
(gnu packages fonts)
(gnu packages fontutils)
(gnu packages gcc)
(gnu packages gettext)
(gnu packages glib)
(gnu packages libusb)
(gnu packages linux)
(gnu packages moreutils)
(gnu packages shells)
(gnu packages tls)
(gnu packages xorg)
(gnu packages xdisorg)
(guix build-system gnu)
(guix download)
((guix licenses) #:prefix license:)
(guix packages)
(guix profiles)
(guix utils))
(define-public feather-binary
(package
(name "feather-binary")
(version (getenv "VERSION"))
(source (origin
(method url-fetch)
(uri (getenv "FILE"))
(sha256 (base32 (getenv "HASH")))))
(build-system gnu-build-system)
(propagated-inputs
(list nss-certs
dbus
coreutils-minimal))
(inputs (list fontconfig
(list gcc "lib")
libxkbcommon
libxcb
xcb-util-cursor
xcb-util-wm
xcb-util-image
xcb-util-keysyms
xcb-util-renderutil))
(arguments
(list
#:strip-binaries? #f
#:phases
#~(modify-phases %standard-phases
(delete 'bootstrap)
(delete 'configure)
(delete 'build)
(delete 'check)
(delete 'validate-runpath)
(add-before 'install 'patchelff
(lambda* (#:key inputs outputs propagated-inputs #:allow-other-keys)
(let ((binary "feather")
(runpath '("gcc"
"dbus"
"fontconfig-minimal"
"libxkbcommon"
"libxcb"
"xcb-util-cursor"
"xcb-util-wm"
"xcb-util-image"
"xcb-util-keysyms"
"xcb-util-renderutil")))
(define* (maybe-make-rpath entries name)
(let ((entry (assoc-ref entries name)))
(if entry
(string-append entry "/lib")
#f)))
(define* (make-rpath name)
(or
(maybe-make-rpath inputs name)
(maybe-make-rpath propagated-inputs name)
(error (format #f "`~a' not found among the inputs nor the outputs." name))))
(let ((rpath (string-join
(map make-rpath runpath)
":")))
(invoke "patchelf" "--set-rpath" rpath binary))
#t)))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((target (string-append (assoc-ref outputs "out") "/bin/feather")))
(mkdir-p (string-append (assoc-ref outputs "out") "/bin/"))
(copy-file "./feather" target)))))))
(native-inputs (list
patchelf
unzip))
(home-page "https://featherwallet.org/")
(synopsis "A free, open-source Monero wallet")
(description
"Feather is a free, open-source Monero wallet for Linux, Tails, Windows and macOS.")
(license license:bsd-3)))
(define utf8-locales
(make-glibc-utf8-locales
glibc
#:locales (list "en_US")
#:name "utf8-locales"))
(packages->manifest
(append
(list feather-binary
strace
utf8-locales
font-wqy-zenhei
font-gnu-unifont)))