forked from hashirama/ajattix
117 lines
4.2 KiB
Scheme
117 lines
4.2 KiB
Scheme
(define-module (ajatt packages audio)
|
|
#:use-module (gnu packages video)
|
|
#:use-module (guix build-system copy)
|
|
#:use-module (guix git-download)
|
|
#:use-module (gnu packages)
|
|
#:use-module (guix download)
|
|
#:use-module (guix packages)
|
|
#:use-module (guix gexp)
|
|
#:use-module (guix build-system gnu)
|
|
#:use-module (gnu packages pcre)
|
|
#:use-module (gnu packages perl)
|
|
#:use-module (guix search-paths)
|
|
#:use-module ((guix licenses) #:prefix license:))
|
|
|
|
|
|
|
|
(define-public navidrome-bin
|
|
(package
|
|
(name "navidrome-bin")
|
|
(version "0.51.1")
|
|
(source (origin
|
|
(method url-fetch)
|
|
(uri (string-append "https://github.com/navidrome/navidrome/releases/download/v"
|
|
version "/navidrome_" version "_linux_amd64.tar.gz"))
|
|
(sha256 "0s7p3nfk9qfv8agjajpn438l1hcfl5w2i4s1c8a0d6679xw2nckl")))
|
|
(build-system copy-build-system)
|
|
(supported-systems '("x86_64-linux"))
|
|
(arguments
|
|
`(#:install-plan '(("navidrome" "bin/"))))
|
|
(synopsis "Modern Music Server and Streamer compatible with Subsonic/Airsonic.")
|
|
(description "Navidrome is an open source web-based music collection server and streamer. It gives you freedom to listen to your music collection from any browser or mobile device. It's like your personal Spotify!")
|
|
(home-page "https://github.com/navidrome/navidrome")
|
|
(license license:gpl3)))
|
|
|
|
|
|
|
|
(define grep
|
|
(package
|
|
(name "grep")
|
|
(version "3.8")
|
|
(source (origin
|
|
(method url-fetch)
|
|
(uri (string-append "mirror://gnu/grep/grep-"
|
|
version ".tar.xz"))
|
|
(sha256
|
|
(base32
|
|
"10n3mc9n1xmg85hpxyr4wiqzfp27ffxzwhvkv021j27vnk0pr3a9"))
|
|
(patches (search-patches "grep-timing-sensitive-test.patch"))))
|
|
(build-system gnu-build-system)
|
|
(native-inputs (list perl)) ;some of the tests require it
|
|
(inputs (list pcre2))
|
|
(arguments
|
|
`(#:configure-flags
|
|
(list "--enable-perl-regexp")
|
|
#:phases
|
|
(modify-phases %standard-phases
|
|
(add-after 'install 'fix-egrep-and-fgrep
|
|
;; Patch 'egrep' and 'fgrep' to execute 'grep' via its
|
|
;; absolute file name instead of searching for it in $PATH.
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
(let* ((out (assoc-ref outputs "out"))
|
|
(bin (string-append out "/bin")))
|
|
(substitute* (list (string-append bin "/egrep")
|
|
(string-append bin "/fgrep"))
|
|
(("^exec grep")
|
|
(string-append "exec " bin "/grep"))))))
|
|
)))
|
|
(synopsis "Print lines matching a pattern")
|
|
(description
|
|
"grep is a tool for finding text inside files. Text is found by
|
|
matching a pattern provided by the user in one or many files. The pattern
|
|
may be provided as a basic or extended regular expression, or as fixed
|
|
strings. By default, the matching text is simply printed to the screen,
|
|
however the output can be greatly customized to include, for example, line
|
|
numbers. GNU grep offers many extensions over the standard utility,
|
|
including, for example, recursive directory searching.")
|
|
(license license:gpl3+)
|
|
(home-page "https://www.gnu.org/software/grep/")))
|
|
|
|
|
|
|
|
(define-public impd
|
|
(package
|
|
(name "impd")
|
|
(version "0.8.1")
|
|
(source
|
|
(origin
|
|
(method git-fetch)
|
|
(uri
|
|
(git-reference
|
|
(url "https://github.com/Ajatt-Tools/impd.git")
|
|
(commit "903c450bb9d3135bf73d995d3d0e7b573a42bd5c")))
|
|
(sha256
|
|
(base32 "0pa68dcn10r3pvjx5bfg666il7r3bz449skfk36kw9wlfkzg1s4w"))))
|
|
(build-system copy-build-system)
|
|
(arguments
|
|
(list #:install-plan
|
|
#~'(("impd" "bin/"))
|
|
#:phases
|
|
#~(modify-phases %standard-phases
|
|
(add-after 'install 'make-wrapper
|
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
|
(wrap-program (string-append (assoc-ref outputs "out") "/bin/impd")
|
|
`("PATH" ":" prefix
|
|
(,(string-append (assoc-ref inputs "grep")
|
|
"/bin")))))))))
|
|
(inputs (list grep))
|
|
;; (propagated-inputs (list ffmpeg)) ;; TODO fix this, since we need ffmpeg at runtime
|
|
(home-page "https://github.com/Ajatt-Tools/impd")
|
|
(synopsis "AJATT-style passive listening and condensed audio without bloat.")
|
|
(description "AJATT-style passive listening and condensed audio without bloat.")
|
|
(license license:gpl3)))
|
|
|
|
|
|
|
|
impd
|