;;; SPDX-FileCopyrightText: 2023-2024 Hilton Chain ;;; ;;; SPDX-License-Identifier: GPL-3.0-or-later (define-module (rosenthal packages binaries) #:use-module (srfi srfi-1) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix gexp) #:use-module (guix deprecation) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system copy) #:use-module (gnu build icecat-extension) #:use-module (gnu packages base) #:use-module (gnu packages bash) #:use-module (gnu packages bootstrap) #:use-module (gnu packages compression) #:use-module (gnu packages elf) #:use-module (gnu packages gcc) #:use-module (gnu packages glib) #:use-module (gnu packages java) #:use-module (gnu packages nss) #:use-module (gnu packages sync) #:use-module (rosenthal packages networking) #:use-module (rosenthal packages rust-apps) #:use-module (rosenthal packages web)) (define license (@@ (guix licenses) license)) (define-public cloudflare-warp-bin (package (name "cloudflare-warp-bin") (version "2025.6.1335.0") (source (origin (method url-fetch) (uri (string-append "https://pkg.cloudflareclient.com" "/pool/bookworm/main/c/cloudflare-warp/" "cloudflare-warp_" version "_amd64.deb")) (sha256 (base32 "1kk6z05n0ryhvn7xbhlx79qnvyl5drbvvqzy9sy5fclcv8x29gpi")))) (build-system copy-build-system) (arguments (list #:install-plan #~'(("bin" "bin" #:include ("warp-cli" "warp-svc"))) #:phases #~(modify-phases %standard-phases (add-after 'unpack 'unpack-deb (lambda* (#:key source #:allow-other-keys) (invoke "ar" "-x" source) (invoke "tar" "-xf" "data.tar.gz"))) (add-after 'install 'patch-elf (lambda _ (let ((ld.so (string-append #$(this-package-input "glibc") #$(glibc-dynamic-linker))) (rpath (string-join (list (string-append (ungexp (this-package-input "gcc") "lib") "/lib") (string-append #$(this-package-input "dbus") "/lib") (string-append #$(this-package-input "glibc") "/lib") (string-append #$(this-package-input "nspr") "/lib") (string-append #$(this-package-input "nss") "/lib/nss")) ":"))) (define (patch-elf file) (format #t "Patching ~a ..." file) (unless (string-contains file ".so") (invoke "patchelf" "--set-interpreter" ld.so file)) (invoke "patchelf" "--set-rpath" rpath file) (display " done\n")) (for-each (lambda (file) (patch-elf file)) (find-files (string-append #$output "/bin"))))))))) (supported-systems '("x86_64-linux")) (native-inputs (list patchelf-0.16)) (inputs (list dbus `(,gcc "lib") glibc nspr nss)) (home-page "https://1.1.1.1/") (synopsis "Cloudflare WARP client") (description "The Cloudflare WARP client allows individuals to have a faster, more secure, and more private experience online. The WARP client sits between your device and the Internet, and has several connection modes to better suit different needs.") (license (license "Nonfree" "https://www.cloudflare.com/application/terms/" "This is a nonfree license. Check the URI for details.")) (properties '((upstream-name . "cloudflare-warp") (release-monitoring-url . "https://pkg.cloudflareclient.com/dists/bookworm/main/binary-amd64/Packages"))))) (define-public komga-bin (package (name "komga-bin") (version "1.22.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/gotson/komga/releases/download/" version "/komga-" version ".jar")) (sha256 (base32 "0y3khm3q4mh1qrbklzjn1ac7xgb1g21qw3fn9vxmjsvghanhf0rh")))) (build-system copy-build-system) (arguments (list #:install-plan #~'((#$(string-append "komga-" (package-version this-package) ".jar") "lib/komga/komga.jar")) #:phases #~(modify-phases %standard-phases (replace 'install (lambda* (#:key inputs source #:allow-other-keys) (let* ((lib (in-vicinity #$output "lib/komga")) (bin (in-vicinity #$output "bin")) (jar (in-vicinity lib "komga.jar")) (exe "komga")) (mkdir-p lib) (copy-file source jar) (call-with-output-file exe (lambda (port) (format port "~ #!~a export LC_ALL=C.UTF-8 exec ~a -jar ~a $@~%" (search-input-file inputs "bin/bash") (search-input-file inputs "bin/java") jar))) (chmod exe #o555) (install-file exe bin))))))) (inputs (list bash-minimal openjdk)) (home-page "https://komga.org/") (synopsis "Media server for comics/mangas/BDs/magazines/eBooks") (description "Komga is a media server for your comics, mangas, BDs, magazines and eBooks.") (supported-systems '("x86_64-linux")) (license license:expat) (properties '((upstream-name . "komga") (disable-updater? . #t))))) (define-public navidrome-bin (package (name "navidrome-bin") (version "0.57.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/navidrome/navidrome/releases/download/v" version "/navidrome_" version "_linux_amd64.tar.gz")) (sha256 (base32 "0v2av7q9sfsm17m03xdzb7afn3hlqb2vj3ps0xwsa8x7yza4j3fb")))) (build-system copy-build-system) (arguments (list #:install-plan #~'(("navidrome" "bin/")))) (supported-systems '("x86_64-linux")) (home-page "https://www.navidrome.org/") (synopsis "Web-based music collection server and streamer") (description "Navidrome is a self-hosted music server that allows users to stream and manage their music collections. It provides a web interface and is compatible with the Subsonic API.") (license license:expat) (properties '((upstream-name . "navidrome") (disable-updater? . #t))))) (define-public rclone-bin (package (inherit rclone) (name "rclone-bin") (version "1.71.0") (source (origin (method url-fetch/zipbomb) (uri (string-append "https://github.com/rclone/rclone/releases/download/v" version "/rclone-v" version "-linux-amd64.zip")) (sha256 (base32 "14wyd767nbk3whgfvblb3kpiyzskcqbq61nh1jq6wbpg6pawznrx")))) (build-system copy-build-system) (arguments (list #:install-plan #~'((#$(string-append "rclone-v" (package-version this-package) "-linux-amd64/rclone") "bin/rclone")))) (supported-systems '("x86_64-linux")) (properties '((upstream-name . "rclone") (disable-updater? . #t))))) (define-public shadow-tls-bin (package (name "shadow-tls-bin") (version "0.2.25") (source (origin (method url-fetch) (uri (string-append "https://github.com/ihciah/shadow-tls/releases/download/v" version "/shadow-tls-x86_64-unknown-linux-musl")) (sha256 (base32 "0chmqzfmyw5w8ybshkwigc3r25svq7fyw371d0dj2ibzsprgawx1")))) (build-system copy-build-system) (arguments (list #:install-plan #~'(("shadow-tls-x86_64-unknown-linux-musl" "bin/shadow-tls")) #:phases #~(modify-phases %standard-phases (add-after 'install 'fix-permission (lambda _ (chmod (string-append #$output "/bin/shadow-tls") #o555)))))) (supported-systems '("x86_64-linux")) (home-page "https://www.ihcblog.com/a-better-tls-obfs-proxy/") (synopsis "Proxy to expose real tls handshake to the firewall") (description "Shadow TLS is a proxy to expose real tls handshake to the @acronym{MITM, monster-in-the-middle}.") (license license:expat) (properties '((upstream-name . "shadow-tls") (disable-updater? . #t))))) (define-public wakapi-bin (package (name "wakapi-bin") (version "2.14.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/muety/wakapi/releases/download/" version "/wakapi_linux_amd64.zip")) (sha256 (base32 "1qfm3di3bfk7pc6ks22287hib7jk57ilvsy3hm42xvv2fhk77m69")))) (build-system copy-build-system) (arguments (list #:install-plan #~'(("wakapi" "bin/wakapi")))) (supported-systems '("x86_64-linux")) (native-inputs (list unzip)) (home-page "https://wakapi.dev/") (synopsis "WakaTime-compatible backend") (description "This package provides @code{wakapi}, a WakaTime-compatible backend for coding statistics.") (license license:expat) (properties '((upstream-name . "wakapi") (disable-updater? . #t))))) (define-public wakatime-cli-bin (package (name "wakatime-cli-bin") (version "1.124.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/wakatime/wakatime-cli" "/releases/download/v" version "/wakatime-cli-linux-amd64.zip")) (sha256 (base32 "16glv2x0n118dczgjfaz02dwq70ngcq4wqc3pswdjzkch79z109m")))) (build-system copy-build-system) (arguments (list #:install-plan #~'(("wakatime-cli-linux-amd64" "bin/wakatime-cli")))) (supported-systems '("x86_64-linux")) (native-inputs (list unzip)) (home-page "https://wakatime.com/plugins") (synopsis "Command line interface to WakaTime") (description "This package provides @command{wakatime-cli}, the command line interface to WakaTime, which is used by all WakaTime text editor plugins.") (license license:bsd-3) (properties '((upstream-name . "wakatime-cli") (disable-updater? . #t))))) (define-public grafana-bin (package (name "grafana-bin") (version "12.1.1") (source (origin (method url-fetch) (uri (string-append "https://dl.grafana.com/grafana/release/" version "/grafana_" version "_" "16903967602" "_linux_amd64.tar.gz")) (sha256 (base32 "056jj4ww1l36y77v9qmqhgsg7lsr328bhp7y48c6l125cal1snl2")))) (build-system copy-build-system) (arguments (list #:install-plan #~'(("bin" "bin")))) (synopsis "Platform for monitoring and observability") (description "Grafana allows you to query, visualize, alert on and understand your metrics no matter where they are stored.") (home-page "https://grafana.com/") (license license:agpl3) (supported-systems '("x86_64-linux")) (properties '((upstream-name . "grafana") (disable-updater? . #t))))) (define-public prometheus-bin (package (name "prometheus-bin") (version "3.5.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/prometheus/prometheus" "/releases/download/v" version "/prometheus-" version ".linux-amd64.tar.gz")) (sha256 (base32 "16pk8s5lsrvzlqsrhdpmrw98nq8vyqa87wm417xjm0kdy9x844g8")))) (build-system copy-build-system) (arguments (list #:install-plan #~'(("prometheus" "bin/") ("promtool" "bin/") ("prometheus.yml" "etc/")))) (synopsis "Monitoring system and time series database") (description "Prometheus is a systems and service monitoring system. It collects metrics from configured targets at given intervals, evaluates rule expressions, displays the results, and can trigger alerts when specified conditions are observed.") (home-page "https://prometheus.io/") (license license:asl2.0) (supported-systems '("x86_64-linux")) (properties '((upstream-name . "prometheus")))))