@@ 6293,262 6293,6 @@ It can be used in daemon mode along with the Music-on-Console (MOC) and cmus
console music players.")
(license license:gpl3+)))
-(define-public demlo
- (let ((commit "985f81047a67c795e67f628b550064558476a7c3")
- (revision "1"))
- (package
- (name "demlo")
- (version (git-version "3.8" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url
- "https://gitlab.com/ambrevar/demlo")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1wx7pwgvg1fiq55jdc22353frcdlz548g97dy4j353lqxy8vxfyj"))))
- (build-system go-build-system)
- (native-inputs
- (list lua
- go-github-com-aarzilli-golua
- go-gitlab-com-ambrevar-damerau
- go-gitlab-com-ambrevar-golua-unicode
- go-github-com-mgutz-ansi
- go-github-com-michiwend-gomusicbrainz
- go-github-com-stevedonovan-luar
- go-github-com-wtolson-go-taglib
- go-github-com-yookoala-realpath))
- (inputs
- (list bash-minimal chromaprint ffmpeg))
- (arguments
- `(#:go ,go-1.17
- #:import-path "gitlab.com/ambrevar/demlo"
- #:phases
- (modify-phases %standard-phases
- (add-after 'install 'wrap-program
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out"))
- (ffmpeg (assoc-ref inputs "ffmpeg"))
- (chromaprint (assoc-ref inputs "chromaprint")))
- (wrap-program (string-append out "/bin/demlo")
- `("XDG_DATA_DIRS" ":" prefix (,out))
- `("PATH" ":" prefix
- ,(map (lambda (dir)
- (string-append dir "/bin:"
- dir "/sbin"))
- (list ffmpeg chromaprint)))))))
- (add-after 'install 'install-scripts
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (root (string-append out "/src/gitlab.com/ambrevar/demlo"))
- (xdg-data-dirs (string-append out "/demlo")))
- (copy-recursively (string-append root "/actions")
- (string-append xdg-data-dirs "/actions"))
- (copy-recursively (string-append root "/scripts")
- (string-append xdg-data-dirs "/scripts"))
- (install-file (string-append root "/config.lua") xdg-data-dirs)
- ;; TODO: Test fish completion.
- (install-file (string-append root "/completion/demlo.fish")
- (string-append
- out "/share/fish/vendor_completions.d"))))))))
- (home-page "https://gitlab.com/ambrevar/demlo")
- (synopsis "Dynamic and extensible music library organizer")
- (description "Demlo is a music library organizer. It can encode, fix
-case, change folder hierarchy according to tags or file properties, tag from
-an online database, copy covers while ignoring duplicates or those below a
-quality threshold, and much more. It makes it possible to manage your
-libraries uniformly and dynamically. You can write your own rules to fit your
-needs best.
-
-Demlo can address any of these recurring music library issues (and much more):
-
-@itemize
-@item Fix the lack of folder structure.
-@item Normalize tags, fix their case, chose which tags to keep and which to
-discard.
-@item Handle lossy and lossless audio differently.
-@item Handle mp3 id3tags hell...
-@item Handle multiple covers, whether embedded and/or external, resize covers,
-discard bad quality ones.
-@end itemize\n")
- (license license:expat))))
-
-;; demlo is only one user of this package, keep it next to it to prevent
-;; importing taglib module into golang-xyz.
-(define-public go-github-com-wtolson-go-taglib
- (let ((commit "6e68349ff94ecea412de7e748cb5eaa26f472777")
- (revision "0"))
- (package
- (name "go-github-com-wtolson-go-taglib")
- (version (git-version "0.0.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url
- "https://github.com/wtolson/go-taglib")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1cpjqnrviwflz150g78iir5ndrp3hh7a93zbp4dwbg6sb2q141p2"))))
- (build-system go-build-system)
- ;; From go-1.10 onward, "pkg" compiled libraries are not re-used, so
- ;; when this package required as input for another one, it will have to
- ;; be built again. Thus its CGO requirements must be made available in
- ;; the environment, that is, they must be propagated.
- (propagated-inputs
- (list pkg-config taglib))
- (arguments
- `(#:import-path "github.com/wtolson/go-taglib"
- ;; Tests don't pass "vet" on Go since 1.11. See
- ;; https://github.com/wtolson/go-taglib/issues/12.
- #:phases
- (modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key import-path #:allow-other-keys)
- (invoke "go" "test"
- "-vet=off"
- import-path))))))
- (home-page "https://github.com/wtolson/go-taglib")
- (synopsis "Go wrapper for taglib")
- (description "Go wrapper for taglib")
- (license license:unlicense))))
-
-;; demlo is only one user of this package, keep it next to it to prevent
-;; importing lua module into golang-xyz.
-(define-public go-github-com-aarzilli-golua
- (let ((commit "03fc4642d792b1f2bc5e7343b403cf490f8c501d")
- (revision "0"))
- (package
- (name "go-github-com-aarzilli-golua")
- (version (git-version "0.0.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url
- "https://github.com/aarzilli/golua")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1d9hr29i36cza98afj3g6rs3l7xbkprwzz0blcxsr9dd7nak20di"))))
- (build-system go-build-system)
- ;; From go-1.10 onward, "pkg" compiled libraries are not re-used, so
- ;; when this package required as input for another one, it will have to
- ;; be built again. Thus its CGO requirements must be made available in
- ;; the environment, that is, they must be propagated.
- (propagated-inputs
- (list lua))
- (arguments
- `(#:unpack-path "github.com/aarzilli/golua"
- #:import-path "github.com/aarzilli/golua/lua"
- #:phases
- (modify-phases %standard-phases
- ;; While it's possible to fix the CGO_LDFLAGS with the "-tags"
- ;; command line argument, go-1.10+ does not re-use the produced pkg
- ;; for dependencies, which means we would need to propagate the
- ;; same "-tags" argument to all golua referrers. A substitution is
- ;; more convenient here. We also need to propagate the lua
- ;; dependency to make it available to referrers.
- (add-after 'unpack 'fix-lua-ldflags
- (lambda _
- (substitute* "src/github.com/aarzilli/golua/lua/lua.go"
- (("#cgo linux,!llua,!luaa LDFLAGS: -llua5.3")
- "#cgo linux,!llua,!luaa LDFLAGS: -llua")))))))
- (home-page "https://github.com/aarzilli/golua")
- (synopsis "Go Bindings for the Lua C API")
- (description "This package provides @code{lua}, a Go module that can
-run a Lua virtual machine.")
- (license license:expat))))
-
-;; demlo is only one user of this package, keep it next to it to prevent
-;; importing lua module into golang-xyz.
-(define-public go-github-com-stevedonovan-luar
- (let ((commit "22d247e5366095f491cd83edf779ee99a78f5ead")
- (revision "0"))
- (package
- (name "go-github-com-stevedonovan-luar")
- (version (git-version "0.0.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url
- "https://github.com/stevedonovan/luar")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1acjgw9cz1l0l9mzkyk7irz6cfk31wnxgbwa805fvm1rqcjzin2c"))))
- (build-system go-build-system)
- (native-inputs
- (list go-github-com-aarzilli-golua))
- (arguments
- `(#:tests? #f ; Upstream tests are broken.
- #:import-path "github.com/stevedonovan/luar"))
- (home-page "https://github.com/stevedonovan/luar")
- (synopsis "Lua reflection bindings for Go")
- (description "Luar is designed to make using Lua from Go more
-convenient. Go structs, slices and maps can be automatically converted to Lua
-tables and vice-versa. The resulting conversion can either be a copy or a
-proxy. In the latter case, any change made to the result will reflect on the
-source.
-
-Any Go function can be made available to Lua scripts, without having to write
-C-style wrappers.
-
-Luar support cyclic structures (lists, etc.).
-
-User-defined types can be made available to Lua as well: their exported
-methods can be called and usual operations such as indexing or arithmetic can
-be performed.")
- (license license:expat))))
-
-;; demlo is only one user of this package, keep it next to it to prevent
-;; importing lua module into golang-xyz.
-(define-public go-gitlab-com-ambrevar-golua-unicode
- (let ((commit "97ce517e7a1fe2407a90c317a9c74b173d396144")
- (revision "0"))
- (package
- (name "go-gitlab-com-ambrevar-golua-unicode")
- (version (git-version "0.0.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url
- "https://gitlab.com/ambrevar/golua")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1izcp7p8nagjwqd13shb0020w7xhppib1a3glw2d1468bflhksnm"))))
- (build-system go-build-system)
- (native-inputs
- (list lua go-github-com-aarzilli-golua))
- (arguments
- `(#:unpack-path "gitlab.com/ambrevar/golua"
- #:import-path "gitlab.com/ambrevar/golua/unicode"
- #:phases
- (modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key import-path #:allow-other-keys)
- (setenv "USER" "homeless-dude")
- (invoke "go" "test" import-path))))))
- (home-page "https://gitlab.com/ambrevar/golua")
- (synopsis "Add Unicode support to Golua")
- (description "This extension to Arzilli's Golua adds Unicode support to
-all functions from the Lua string library. Lua patterns are replaced by Go
-regexps. This breaks compatibility with Lua, but Unicode support breaks it
-anyways and Go regexps are more powerful.")
- (license license:expat))))
-
-
(define-public fmit
(package
(name "fmit")