(define-module (org euandre packages) #:use-module ((guix licenses) #:prefix licenses:) #:use-module ((org euandre queue) #:prefix q:) #:use-module (gnu packages) #:use-module (gnu packages guile) #:use-module (gnu packages texinfo) #:use-module (guix build-system gnu) #:use-module (guix download) #:use-module (guix gexp) #:use-module (guix packages) #:use-module (guix utils)) (define-public git-permalink-0-1-0 (package (name "git-permalink") (version "0.1.0") (source (origin (method url-fetch) (uri "https://euandre.org/git/git-permalink/snapshot/git-permalink-v0.1.0.tar.xz") (sha256 (base32 "07waci3y0xdlbr8gl1lzdbsiz0csnrshcm6f18cdzn7y97irhb15")))) (build-system gnu-build-system) (native-inputs (list)) (inputs (list)) (arguments (list #:make-flags #~(list (string-append "PREFIX=" #$output)) #:phases #~(modify-phases %standard-phases (delete 'configure)))) (synopsis "Git extension to generate web permalinks of files in a repository") (description "It knows about many of the existing code forges, but allows for URL template overrides to be used on custom domains or deployments via git config.") (home-page "https://euandre.org/s/git-permalink/") (license licenses:agpl3+))) (define-public git-permalink-0-2-0 (package (name "git-permalink") (version "0.2.0") (source (origin (method url-fetch) (uri "https://euandre.org/git/git-permalink/snapshot/git-permalink-v0.2.0.tar.xz") (sha256 (base32 "10qiigp29jamb23mdrf1yp0gqmihlsg931ibpiqpf4pn28l5d9ly")))) (build-system gnu-build-system) (native-inputs (list)) (inputs (list)) (arguments (list #:make-flags #~(list (string-append "PREFIX=" #$output)) #:phases #~(modify-phases %standard-phases (delete 'configure)))) (synopsis "Git extension to generate web permalinks of files in a repository") (description "It knows about many of the existing code forges, but allows for URL template overrides to be used on custom domains or deployments via git config.") (home-page "https://euandre.org/s/git-permalink/") (license licenses:agpl3+))) (define-public remembering-0-1-2 (package (name "remembering") (version "0.1.2") (source (origin (method url-fetch) (uri "https://euandre.org/git/remembering/snapshot/remembering-v0.1.2.tar.xz") (sha256 (base32 "1syzn41w4f754ihblwxcv3wn653lh92cgg6g06db1qrx3m2zvw5v")))) (build-system gnu-build-system) (native-inputs (list)) (inputs (list)) (arguments (list #:make-flags #~(list (string-append "PREFIX=" #$output)) #:phases #~(modify-phases %standard-phases (delete 'configure)))) (synopsis "Add memory to dmenu, fzf and similar tools") (description "It can wrap such tools to accumulate preferences over time, and re-arrange the input according to common picks.") (home-page "https://euandre.org/s/remembering/") (license licenses:agpl3+))) (define-public td (package (name "td") (version "4a8a7a2662c94b2581f587e9a4b81feba4f5e7d8") (source (origin (method url-fetch) (uri "https://euandre.org/git/td/snapshot/td-4a8a7a2662c94b2581f587e9a4b81feba4f5e7d8.tar.xz") (sha256 (base32 "01g1vnlz1kch8j9zzaxyixih04azdvrfabfzg7xqny32h2p62md2")))) (build-system gnu-build-system) (native-inputs (list)) (inputs (list)) (arguments (list #:make-flags #~(list (string-append "PREFIX=" #$output)) #:phases #~(modify-phases %standard-phases (delete 'configure)))) (synopsis "Minimalistic bug tracker CLI") (description "Create and maintain a TODOs.md files as a bug database. It is a tool for distributed, offline issue tracking, reified as a simple text file in the repository.") (home-page "https://euandre.org/s/td/") (license licenses:agpl3+))) (define-public guile-heredoc (package (name "guile-heredoc") (version "065435cdce609604e33b879b9be3e81ab89f3e7b") (source (origin (method url-fetch) (uri "https://euandre.org/git/guile-heredoc/snapshot/guile-heredoc-065435cdce609604e33b879b9be3e81ab89f3e7b.tar.xz") (sha256 (base32 "1y1110bg4ki0dvn8hggxy34wg7ig4r3377nc84isnj3dydqm2vjd")))) (build-system gnu-build-system) (native-inputs (list texinfo)) (inputs (list guile-3.0)) (arguments (list #:make-flags #~(list (string-append "PREFIX=" #$output)) #:phases #~(modify-phases %standard-phases (delete 'configure)))) (synopsis "Guile heredoc syntax") (description "Guile heredoc syntax long.") (home-page "https://euandre.org/s/guile-heredoc/") (license licenses:agpl3+))) (define-public (pkg name version checksum) (package (name name) (version version) (source (origin (method url-fetch) (uri (string-append "https://euandre.org/git/" name "/snapshot/" name "-" version ".tar.xz")) (sha256 (base32 checksum)))) (build-system gnu-build-system) (arguments (list #:make-flags #~(list (string-append "PREFIX=" #$output)) #:phases #~(modify-phases %standard-phases (delete 'configure)))) (synopsis "") (description "") (home-page (string-append "https://euandre.org/s/" name "/")) (license licenses:agpl3+))) (define-public eut (pkg "eut" "c5fbe36d5e71a94589039ad9bc422da543fddf01" "013aayqb64qvafvnpshwg30nndjv5gj69l5xs0li6xvjkhmpsvnw")) (define-public cage (pkg "cage" "c0482531fc16a55715b759b695d27d555d927ab8" "0laan68dj3s1n2d2alcwpvhnjjc2483kyx5xl384rcwrn3s0kcyl")) (define-public nicely (pkg "nicely" "6699e732f00d2a8d8c377527dc588824ba3cbece" "1j6s7z29m126mxgacqbk0g4lmk8ap526z716d70kbwadh91n1a5v")) (define-public q (pkg "q" "5e8e65015a77ed7606c6cfbd2d1cedc79e42a6a5" "1dramr7p5ncbnna0v3ncaa77rm1c8vzxw5si4n6d3rr0ji2v48ac")) (define-public syskeep (pkg "syskeep" "41ff39d838d8ad44c9da24f8b4cfc2e71a5ed739" "0an4i8682jjqazw95lkxb0vr98y2cn0bbqm53vr585s7j0n6zi6r")) (define (format-inputs l) (map (lambda (p) (list (package-name p) p "out")) l)) (define (normalize-inputs l) (map (compose (lambda (l) (cons (package-name (car l)) l)) list specification->package+output symbol->string) l)) (define (go-package name inputs version checksum) (package (name name) (version version) (source (origin (method url-fetch) (uri (string-append "https://papo.im/git/" name "/snapshot/" name "-" version ".tar.xz")) (sha256 (base32 checksum)))) (build-system gnu-build-system) (arguments (list #:strip-binaries? #f #:make-flags #~(list "-e" (string-append "PREFIX=" #$output) (string-append "VERSION=" #$version) (string-append "CC=" #$(cc-for-target))) #:phases #~(modify-phases %standard-phases (delete 'configure) (add-before 'build 'setenv-golang (lambda _ (define (path->flags option) (let ((search-path (getenv "GOLIBPACKPATH"))) (string-join (map (lambda (path) (string-append option " " path)) (if search-path (string-split search-path #\:) '())) " "))) (setenv "GOCFLAGS" (path->flags "-I")) (setenv "GOLDFLAGS" (path->flags "-L"))))))) (native-inputs (append (format-inputs (list q:go-full)) inputs)) (native-search-paths (list (search-path-specification (variable "GOLIBPACKPATH") (files (list "lib/go"))))) (synopsis #f) ;; FIXME: get (description #f) ;; from (home-page #f) ;; tarball! (license licenses:agpl3+))) (define-public gobang (go-package "gobang" '() "b1bed38e5e0a261616343c7555962162416c28e2" "1h937x3clk3xydvl7876qd3b6plapjsnxmdlyan1iydmh6ym7vg0")) (define-public golite (go-package "golite" (normalize-inputs '(sqlite)) "b31e279bade22276f27f4990b7564a2114f3058a" "14q9bhkw1v60mby187balwnnwyz2ig8hi03v5f2nm8p3m8sl5ykd")) (define-public binder (go-package "binder" (append (format-inputs (list gobang)) (normalize-inputs '(eut socat lsof))) "aa44df7545e13f6d2bb5ea088786d14f4a31a04d" "15zdcvx1gxlzz3g7gasckna3xfrf0c6yd8pvii169ivgm0rrbpll")) (define-public wscat (go-package "wscat" (append (format-inputs (list gobang)) (normalize-inputs '(eut))) "00f822df8bcecc3b40bdc39f0cd5dfb6d1efc45e" "0ypj05w6kh7dd55qn0gfc1fdiyy5kfalypxm5dhsbmqkzk09m3id")) (define-public glaze (go-package "glaze" (append (format-inputs (list gobang)) (normalize-inputs '(eut))) "ebe6b2ae31145fd3534a0fb583410ce2cd8e8d69" "0r0lsfx5g6crgyrzf8kqid3370lvyq0h573qbcpzl6mcm57nc9hj")) (define-public untls (go-package "untls" (append (format-inputs (list gobang)) (normalize-inputs '(eut))) "3833dbae57bcf87a33ecbb38fb877861fb1c8d63" "0pxmqhzy4286w3aivq1qykqdr4mcd6b3p7q9frbnwlqmk5gfp36z")) (define-public papod (go-package "papod" (append (format-inputs (list gobang golite)) (normalize-inputs '(sqlite sqlite:static))) "db0315223571daaf43ab5e8456bed7f3d7f9dafa" "19dr8w1hpi9h8rjad9dwb0s6r41xgj1x4m4j7yndchikwrwg4lgx")) (list git-permalink-0-1-0 git-permalink-0-2-0 remembering-0-1-2 td eut cage nicely q syskeep guile-heredoc gobang golite binder glaze untls wscat papod)