2024-02-19 01:19:51 +00:00
( define-module ( ajatt packages audio )
2024-02-18 02:43:07 +00:00
# :use-module ( gnu packages video )
# :use-module ( guix build-system copy )
# :use-module ( guix git-download )
2024-06-30 23:37:10 +00:00
# :use-module ( gnu packages )
2024-03-22 22:09:58 +00:00
# :use-module ( guix download )
2024-02-18 02:43:07 +00:00
# :use-module ( guix packages )
# :use-module ( guix gexp )
2024-06-30 23:37:10 +00:00
# :use-module ( guix build-system gnu )
# :use-module ( gnu packages pcre )
# :use-module ( gnu packages perl )
# :use-module ( guix search-paths )
2024-02-18 02:43:07 +00:00
# :use-module ( ( guix licenses ) # :prefix license: ) )
2024-03-22 22:09:58 +00:00
( 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/" ) ) ) )
2024-03-22 22:23:03 +00:00
( 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!" )
2024-03-22 22:09:58 +00:00
( home-page "https://github.com/navidrome/navidrome" )
( license license:gpl3 ) ) )
2024-06-30 23:37:10 +00:00
( define-public 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/" ) ) )
2024-02-18 02:43:07 +00:00
( define-public impd
( package
2024-03-22 22:09:58 +00:00
( name "impd" )
( version "0.8" )
( source
( origin
( method git-fetch )
( uri
( git-reference
( url "https://github.com/Ajatt-Tools/impd.git" )
( commit ( string-append "v" version ) ) ) )
( sha256
( base32 "1wxmc628jh3prxrwbca4cdhfa58birdxr2nh76k11j1cjw939hzg" ) ) ) )
2024-02-18 02:43:07 +00:00
( build-system copy-build-system )
( arguments
2024-02-19 01:19:51 +00:00
( list # :install-plan
2024-06-30 23:37:10 +00:00
# ~ ' ( ( "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
2024-02-18 02:43:07 +00:00
( 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 ) ) )
2024-03-22 22:09:58 +00:00
2024-06-30 23:37:10 +00:00
impd