From b0c2c5abf3a55e634a952916059d6e905ecaef9b Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 30 Jun 2018 16:31:28 +0200 Subject: gnu: Add perl-musicbrainz-discid. * gnu/packages/music.scm (perl-musicbrainz-discid): New variable. --- gnu/packages/music.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'gnu/packages/music.scm') diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 824b03dc0c..394eceeedc 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -17,6 +17,7 @@ ;;; Copyright © 2018 nee ;;; Copyright © 2018 Stefan Reichör ;;; Copyright © 2018 Pierre Neidhardt +;;; Copyright © 2018 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -43,6 +44,7 @@ (define-module (gnu packages music) #:use-module (guix build-system ant) #:use-module (guix build-system cmake) #:use-module (guix build-system meson) + #:use-module (guix build-system perl) #:use-module (guix build-system python) #:use-module (guix build-system scons) #:use-module (guix build-system glib-or-gtk) @@ -4019,6 +4021,30 @@ (define-public libmusicbrainz MusicBrainz lookup capabilities to their applications.") (license license:lgpl2.1+))) +(define-public perl-musicbrainz-discid + (package + (name "perl-musicbrainz-discid") + (version "0.04") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/N/NJ/NJH/MusicBrainz-DiscID-" + version ".tar.gz")) + (sha256 + (base32 + "1i4qk1qfcmxdibqkyfjrrjdq2zk42vjcz590qgiyc47fi9p6xx1j")))) + (build-system perl-build-system) + (native-inputs `(("pkg-config" ,pkg-config) + ("which" ,which))) + (inputs `(("libdiscid" ,libdiscid))) + (home-page "https://metacpan.org/release/MusicBrainz-DiscID") + (synopsis "Perl interface to the MusicBrainz libdiscid library") + (description + "The @code{MusicBrainz::DiscID} module is a Perl interface to the +MusicBrainz libdiscid library, allowing you to manipulate digital audio +compact disc (CDDA) identifiers.") + (license license:gpl2))) + (define-public clyrics (package (name "clyrics") -- cgit v1.2.3 From b2961dda2355973d26582d177a4a0a9bae56b083 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 30 Jun 2018 16:46:40 +0200 Subject: gnu: Add perl-webservice-musicbrainz. * gnu/packages/music.scm (perl-webservice-musicbrainz): New variable. --- gnu/packages/music.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'gnu/packages/music.scm') diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 394eceeedc..5d97482513 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -106,6 +106,7 @@ (define-module (gnu packages music) #:use-module (gnu packages pcre) #:use-module (gnu packages pdf) #:use-module (gnu packages perl) + #:use-module (gnu packages perl-web) #:use-module (gnu packages pkg-config) #:use-module (gnu packages protobuf) #:use-module (gnu packages pulseaudio) ;libsndfile @@ -4045,6 +4046,33 @@ (define-public perl-musicbrainz-discid compact disc (CDDA) identifiers.") (license license:gpl2))) +(define-public perl-webservice-musicbrainz + (package + (name "perl-webservice-musicbrainz") + (version "1.0.4") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/B/BF/BFAIST/WebService-MusicBrainz-" + version ".tar.gz")) + (sha256 + (base32 + "182z3xjajk6s7k5xm3kssjy3hqx2qbnq4f8864hma098ryy2ph3a")))) + (build-system perl-build-system) + (arguments + ;; Tests try to connect to http://musicbrainz.org. + '(#:tests? #f)) + (native-inputs + `(("perl-module-build" ,perl-module-build))) + (propagated-inputs + `(("perl-mojolicious" ,perl-mojolicious))) + (home-page "https://metacpan.org/release/WebService-MusicBrainz") + (synopsis "Web service API to the MusicBrainz database") + (description + "This module searches the MusicBrainz database through their web service +at @code{musicbrainz.org}.") + (license license:perl-license))) + (define-public clyrics (package (name "clyrics") -- cgit v1.2.3 From 545ceac801404f7ff3501b9f47cdc4e383592656 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Sun, 1 Jul 2018 15:23:11 +0200 Subject: gnu: musescore: Update to 2.3. * gnu/packages/music.scm (musescore): Update to 2.3. [source]: Switch to a more stable location. [arguments]: Remove a fix applied upstream. --- gnu/packages/music.scm | 26 +++++++++----------------- 1 file changed, 9 insertions(+), 17 deletions(-) (limited to 'gnu/packages/music.scm') diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 5d97482513..deb4f222b8 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -3513,16 +3513,16 @@ (define-public lmms (define-public musescore (package (name "musescore") - (version "2.2.1") + (version "2.3") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/musescore/MuseScore/archive/" - "v" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/musescore/MuseScore.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "1ml99ayzpdyd18cypcp0lbsbasfg3abw57i5fl7ph5739vikj6i6")) + "1y5x0a40x7ji4g4181adm95qxk2dfjiy5xb5wksps90ji9q2qlcs")) (modules '((guix build utils))) (snippet ;; Un-bundle OpenSSL and remove unused libraries. @@ -3543,8 +3543,8 @@ (define-public musescore `(,(string-append "PREFIX=" (assoc-ref %outputs "out")) "USE_SYSTEM_FREETYPE=ON" "DOWNLOAD_SOUNDFONT=OFF" - ;; The following is not supported since Qt 5.11. Can be - ;; removed in Musescore 2.2.2+. + ;; The following is not supported since Qt 5.11. May be removed in + ;; a future release. "BUILD_WEBKIT=OFF") ;; There are tests, but no simple target to run. The command ;; used to run them is: @@ -3557,14 +3557,6 @@ (define-public musescore #:tests? #f #:phases (modify-phases %standard-phases - ;; Fix Qt 5.11 upgrade. Should be fixed in 2.2.2+, see: - ;; - (add-after 'unpack 'patch-sources - (lambda _ - (substitute* "all.h" - (("#include ") "#include -#include ")) - #t)) (delete 'configure)))) (inputs `(("alsa-lib" ,alsa-lib) -- cgit v1.2.3 From 1695b8c7c0f9fd7aeaa414b333e615726f96abea Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Sat, 7 Jul 2018 01:03:42 +0200 Subject: gnu: musescore: Update to 2.3.1. * gnu/packages/music.scm (musescore): Update to 2.3.1. --- gnu/packages/music.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages/music.scm') diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index deb4f222b8..bdc6d050a9 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -3513,7 +3513,7 @@ (define-public lmms (define-public musescore (package (name "musescore") - (version "2.3") + (version "2.3.1") (source (origin (method git-fetch) (uri (git-reference @@ -3522,7 +3522,7 @@ (define-public musescore (file-name (git-file-name name version)) (sha256 (base32 - "1y5x0a40x7ji4g4181adm95qxk2dfjiy5xb5wksps90ji9q2qlcs")) + "00inrw9g8g34g74bhg5gp0rr5nydhjraiyn7vpl7kaqi5yzmhawd")) (modules '((guix build utils))) (snippet ;; Un-bundle OpenSSL and remove unused libraries. -- cgit v1.2.3 From 5703380b506ed17892ce85b2f24e853048c3c08e Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Fri, 22 Jun 2018 20:26:41 +0200 Subject: gnu: Add demlo. * gnu/packages/music.scm (demlo): New variable. --- gnu/packages/music.scm | 89 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) (limited to 'gnu/packages/music.scm') diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index bdc6d050a9..0185b8fd9c 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -50,6 +50,7 @@ (define-module (gnu packages music) #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system waf) #:use-module (guix build-system trivial) + #:use-module (guix build-system go) #:use-module (gnu packages) #:use-module (gnu packages algebra) #:use-module (gnu packages apr) @@ -128,6 +129,8 @@ (define-module (gnu packages music) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) #:use-module (gnu packages xiph) + #:use-module (gnu packages golang) + #:use-module (gnu packages lua) #:use-module ((srfi srfi-1) #:select (last))) (define-public aria-maestosa @@ -4131,3 +4134,89 @@ (define-public clyrics 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 "fe9ec4c8ac2fa995ec18e6ac86d50d46df06ec01") + (revision "0")) + (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 + "1afkbqhzn6da7zaf5ab7dvyqj1izqhzprwfb4hw448fllda9bdvk")))) + (build-system go-build-system) + (native-inputs + `(("lua" ,lua) + ("go-github-com-mattn-go-isatty" ,go-github-com-mattn-go-isatty) + ("go-github-com-mattn-go-colorable" ,go-github-com-mattn-go-colorable) + ("go-github-com-aarzilli-golua" ,go-github-com-aarzilli-golua) + ("go-gitlab-com-ambrevar-damerau" ,go-gitlab-com-ambrevar-damerau) + ("go-gitlab-com-ambrevar-golua-unicode" ,go-gitlab-com-ambrevar-golua-unicode) + ("go-github-com-mgutz-ansi" ,go-github-com-mgutz-ansi) + ("go-github-com-michiwend-gomusicbrainz" ,go-github-com-michiwend-gomusicbrainz) + ("go-github-com-stevedonovan-luar" ,go-github-com-stevedonovan-luar) + ("go-github-com-wtolson-go-taglib" ,go-github-com-wtolson-go-taglib) + ("go-github-com-yookoala-realpath" ,go-github-com-yookoala-realpath))) + (inputs + `(("chromaprint" ,chromaprint) + ("ffmpeg" ,ffmpeg))) + (arguments + `(#: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)))) + #t))) + (add-after 'install-source '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")) + #t)))))) + (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)))) -- cgit v1.2.3