diff options
author | Pierre Langlois <pierre.langlois@gmx.com> | 2017-12-09 13:05:28 +0000 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2017-12-15 11:53:21 +0100 |
commit | 5830168207705a98b132bc0c15b1ece6f7132b0a (patch) | |
tree | 791b010ed98d5c24d91db2b135d4240e23f6ce3b | |
parent | 3e0a42973b90cfaa39b36f1a0c6c39d71f5e317c (diff) | |
download | guix-5830168207705a98b132bc0c15b1ece6f7132b0a.tar.gz |
gnu: Add Easytag.
* gnu/packages/music.scm (easytag): New variable. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r-- | gnu/packages/music.scm | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 628cd465e2..31f681c722 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -40,6 +40,7 @@ #:use-module (guix build-system cmake) #:use-module (guix build-system python) #:use-module (guix build-system scons) + #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system waf) #:use-module (gnu packages) #:use-module (gnu packages algebra) @@ -469,6 +470,75 @@ background while you work.") enable professional yet simple and intuitive pattern-based drum programming.") (license license:gpl2+))) +(define-public easytag + (package + (name "easytag") + (version "2.4.3") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/easytag/2.4/easytag-" + version ".tar.xz")) + (sha256 + (base32 + "1mbxnqrw1fwcgraa1bgik25vdzvf97vma5pzknbwbqq5ly9fwlgw")))) + (build-system glib-or-gtk-build-system) + (native-inputs + `(("desktop-file-utils" ,desktop-file-utils) + ("glib" ,glib "bin") + ("intltool" ,intltool) + ("itstool" ,itstool) + ("pkg-config" ,pkg-config) + ("xmllint" ,libxml2))) + (inputs + `(("flac" ,flac) + ("gtk+" ,gtk+) + ("id3lib" ,id3lib) + ("libid3tag" ,libid3tag) + ("libvorbis" ,libvorbis) + ("opusfile" ,opusfile) + ("speex" ,speex) + ("taglib" ,taglib) + ("wavpack" ,wavpack) + ("yelp" ,yelp))) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-before 'configure 'configure-libid3tag + (lambda* (#:key inputs #:allow-other-keys) + ;; libid3tag does not provide a .pc file and EasyTAG's configure + ;; script healivy relies on pkg-config. Providing a temporary + ;; local .pc file is easier than patching the configure script. + (let* ((libid3tag (assoc-ref inputs "libid3tag"))) + (mkdir-p "pkgconfig") + (with-output-to-file + "pkgconfig/id3tag.pc" + (lambda _ + (format #t + "prefix=~@*~a~@ + libdir=${prefix}/lib~@ + includedir=${prefix}/include~@ + Libs: -L${libdir} -lid3tag -lz~@ + Cflags: -I${includedir}~%" + libid3tag))) + (setenv "PKG_CONFIG_PATH" + (string-append (getenv "PKG_CONFIG_PATH") + ":" (getcwd) "/pkgconfig"))))) + (add-after 'unpack 'patch-makefile + (lambda _ + (substitute* "Makefile.in" + ;; The Makefile generates a test-desktop-file-validate.sh + ;; script with /bin/sh hard-coded. + (("/bin/sh") (which "sh")) + ;; Don't create 'icon-theme.cache'. + (("gtk-update-icon-cache") "true"))))))) + (home-page "https://wiki.gnome.org/Apps/EasyTAG") + (synopsis "Simple application for viewing and editing tags in audio files") + (description + "EasyTAG is an application for viewing and editing tags in audio files. +It supports MP3, MP2, MP4/AAC, FLAC, Ogg Opus, Ogg Speex, Ogg Vorbis, +MusePack, Monkey's Audio, and WavPack files.") + (license license:gpl2+))) + (define-public extempore (package (name "extempore") |