Updated version of abcde to 2.5.4

- Added support for MusicBrainz queries to abcde package
- Added new dependencies to abcde: mkcue, eject, perl, MusicBrainz, MusicBrainzDiscID
- libdiscid version in pkg-config was incorrect; patched libdiscid to fix
- Added WebServices::MusicBrainz Perl module
- Added MusicBrainz::DiscID Perl module
- Commented out XSLoader Perl module since it was broken, no packages depend on it,
and it has been incorporated into the Perl core

+95 -71
+30
pkgs/applications/audio/abcde/abcde.patch
··· 1 + Two changes: 2 + 3 + * Add an alias for `which', so abcde can find things in store 4 + * Choose the right CDROM reader syntax for `cd-paranoia' 5 + 6 + --- abcde-2.5.4/abcde~ 2012-09-18 06:09:31.000000000 -0700 7 + +++ abcde-2.5.4/abcde 2012-10-27 00:08:48.000862364 -0700 8 + @@ -17,6 +17,11 @@ 9 + 10 + VERSION='2.5.4' 11 + 12 + +which () 13 + +{ 14 + + type -P $1 15 + +} 16 + + 17 + usage () 18 + { 19 + echo "This is abcde v$VERSION." 20 + @@ -3497,6 +3502,10 @@ 21 + for DEFAULT_CDROMREADER in $DEFAULT_CDROMREADERS; do 22 + if new_checkexec $DEFAULT_CDROMREADER; then 23 + CDROMREADERSYNTAX=$DEFAULT_CDROMREADER 24 + + case "$DEFAULT_CDROMREADER" in 25 + + cd-paranoia) CDROMREADERSYNTAX=cdparanoia;; 26 + + *) CDROMREADERSYNTAX=$DEFAULT_CDROMREADER;; 27 + + esac 28 + break 29 + fi 30 + done
-16
pkgs/applications/audio/abcde/cd-paranoia.patch
··· 1 - Choose the right CDROM reader syntax for `cd-paranoia'. 2 - 3 - --- abcde-2.3.99.6/abcde 2006-08-05 21:14:00.000000000 +0200 4 - +++ abcde-2.3.99.6/abcde 2008-10-29 22:55:38.000000000 +0100 5 - @@ -3184,7 +3184,10 @@ if [ -n "$DISCID" ] || [ "$CDROMREADERSY 6 - if [ "$CDROMREADERSYNTAX" = "" ]; then 7 - for DEFAULT_CDROMREADER in $DEFAULT_CDROMREADERS; do 8 - if new_checkexec $DEFAULT_CDROMREADER; then 9 - - CDROMREADERSYNTAX=$DEFAULT_CDROMREADER 10 - + case "$DEFAULT_CDROMREADER" in 11 - + cd-paranoia) CDROMREADERSYNTAX=cdparanoia;; 12 - + *) CDROMREADERSYNTAX=$DEFAULT_CDROMREADER;; 13 - + esac 14 - break 15 - fi 16 - done
+22 -9
pkgs/applications/audio/abcde/default.nix
··· 1 - { stdenv, fetchurl, libcdio, cddiscid, wget, bash, vorbisTools, id3v2, lame 1 + { stdenv, fetchurl, libcdio, cddiscid, wget, bash, vorbisTools, id3v2, lame, flac, eject, mkcue 2 + , perl, DigestSHA, MusicBrainz, MusicBrainzDiscID 2 3 , makeWrapper }: 3 4 4 - let version = "2.3.99.6"; 5 + let version = "2.5.4"; 5 6 in 6 7 stdenv.mkDerivation { 7 8 name = "abcde-${version}"; 8 9 src = fetchurl { 9 10 url = "mirror://debian/pool/main/a/abcde/abcde_${version}.orig.tar.gz"; 10 - sha256 = "1wl4ygj1cf1d6g05gwwygsd5g83l039fzi011r30ma5lnm763lyb"; 11 + sha256 = "14g5lsgh53hza9848351kwpygc0yqpvvzp3s923aja77f2wpkdl5"; 11 12 }; 12 13 13 14 # FIXME: This package does not support MP3 encoding (only Ogg), 14 15 # nor `distmp3', `eject', etc. 15 16 16 - patches = [ ./install.patch ./which.patch ./cd-paranoia.patch ]; 17 + patches = [ ./abcde.patch ]; 17 18 18 19 configurePhase = '' 19 20 sed -i "s|^[[:blank:]]*prefix *=.*$|prefix = $out|g ; ··· 29 30 30 31 substituteInPlace "abcde" \ 31 32 --replace "/etc/abcde.conf" "$out/etc/abcde.conf" 33 + 32 34 ''; 33 35 36 + # no ELFs in this package, only scripts 37 + dontStrip = true; 38 + dontPatchELF = true; 39 + 34 40 buildInputs = [ makeWrapper ]; 35 41 36 42 postInstall = '' 37 - substituteInPlace "$out/bin/cddb-tool" \ 38 - --replace '#!/bin/sh' '#!${bash}/bin/sh' 39 - substituteInPlace "$out/bin/abcde" \ 40 - --replace '#!/bin/bash' '#!${bash}/bin/bash' 43 + # substituteInPlace "$out/bin/cddb-tool" \ 44 + # --replace '#!/bin/sh' '#!${bash}/bin/sh' 45 + # substituteInPlace "$out/bin/abcde" \ 46 + # --replace '#!/bin/bash' '#!${bash}/bin/bash' 47 + 48 + # generic fixup script should be doing this, but it ignores this file for some reason 49 + substituteInPlace "$out/bin/abcde-musicbrainz-tool" \ 50 + --replace '#!/usr/bin/perl' '#!${perl}/bin/perl' 41 51 42 52 wrapProgram "$out/bin/abcde" --prefix PATH ":" \ 43 53 "$out/bin:${libcdio}/bin:${cddiscid}/bin:${wget}/bin:${vorbisTools}/bin:${id3v2}/bin:${lame}/bin" 44 54 45 55 wrapProgram "$out/bin/cddb-tool" --prefix PATH ":" \ 46 56 "${wget}/bin" 57 + 58 + wrapProgram "$out/bin/abcde-musicbrainz-tool" --prefix PATH ":" \ 59 + "${wget}/bin" 47 60 ''; 48 61 49 62 meta = { 50 - homepage = http://www.hispalinux.es/~data/abcde.php; 63 + homepage = "http://lly.org/~rcw/abcde/page/"; 51 64 licence = "GPLv2+"; 52 65 description = "A Better CD Encoder (ABCDE)"; 53 66
-21
pkgs/applications/audio/abcde/install.patch
··· 1 - --- abcde-2.3.3/Makefile~ 2005-08-26 00:43:27.000000000 +0200 2 - +++ abcde-2.3.3/Makefile 2008-05-26 22:20:17.000000000 +0200 3 - @@ -14,13 +14,13 @@ clean: 4 - 5 - install: 6 - $(INSTALL) -d -m 755 $(bindir) 7 - - $(INSTALL) -m 755 -o 0 abcde $(bindir) 8 - - $(INSTALL) -m 755 -o 0 cddb-tool $(bindir) 9 - + $(INSTALL) -m 755 abcde $(bindir) 10 - + $(INSTALL) -m 755 cddb-tool $(bindir) 11 - $(INSTALL) -d -m 755 $(mandir) 12 - - $(INSTALL) -m 644 -o 0 abcde.1 $(mandir) 13 - - $(INSTALL) -m 644 -o 0 cddb-tool.1 $(mandir) 14 - + $(INSTALL) -m 644 abcde.1 $(mandir) 15 - + $(INSTALL) -m 644 cddb-tool.1 $(mandir) 16 - $(INSTALL) -d -m 755 $(etcdir) 17 - - $(INSTALL) -m 644 -o 0 abcde.conf $(etcdir) 18 - + $(INSTALL) -m 644 abcde.conf $(etcdir) 19 - 20 - tarball: 21 - @cd .. && tar czvf abcde_$(VERSION).orig.tar.gz \
-16
pkgs/applications/audio/abcde/which.patch
··· 1 - Add an alias for `which'. 2 - 3 - --- abcde-2.3.99.6/abcde 2006-08-05 21:14:00.000000000 +0200 4 - +++ abcde-2.3.99.6/abcde 2008-10-29 22:49:16.000000000 +0100 5 - @@ -15,6 +15,11 @@ 6 - 7 - VERSION='2.3.99-$Revision: 222M $' 8 - 9 - +which () 10 - +{ 11 - + type -P $1 12 - +} 13 - + 14 - usage () 15 - { 16 - echo "This is abcde v$VERSION."
+9 -1
pkgs/development/libraries/libdiscid/default.nix
··· 1 - { stdenv, fetchurl, cmake }: 1 + { stdenv, fetchurl, cmake, pkgconfig }: 2 2 3 3 stdenv.mkDerivation rec { 4 4 name = "libdiscid-0.2.2"; 5 5 6 + buildNativeInputs = [ pkgconfig ]; 6 7 buildInputs = [ cmake ]; 7 8 8 9 src = fetchurl { 9 10 url = "http://users.musicbrainz.org/~matt/${name}.tar.gz"; 10 11 sha256 = "00l4ln9rk0vqf67iccwqrgc9qx1al92i05zylh85kd1zn9d5sjwp"; 11 12 }; 13 + 14 + # developer forgot to update his version number 15 + # this is propagated to pkg-config 16 + preConfigure = '' 17 + substituteInPlace "CMakeLists.txt" \ 18 + --replace "PROJECT_VERSION 0.1.1" "PROJECT_VERSION 0.2.2" 19 + ''; 12 20 13 21 meta = { 14 22 description = "A C library for creating MusicBrainz DiscIDs from audio CDs";
+3 -1
pkgs/top-level/all-packages.nix
··· 6510 6510 6511 6511 aangifte2011 = callPackage_i686 ../applications/taxes/aangifte-2011 { }; 6512 6512 6513 - abcde = callPackage ../applications/audio/abcde { }; 6513 + abcde = callPackage ../applications/audio/abcde { 6514 + inherit (perlPackages) DigestSHA MusicBrainz MusicBrainzDiscID; 6515 + }; 6514 6516 6515 6517 abiword = callPackage ../applications/office/abiword { 6516 6518 inherit (gnome) libglade libgnomecanvas;
+31 -7
pkgs/top-level/perl-packages.nix
··· 2775 2775 }; 2776 2776 }; 2777 2777 2778 + MusicBrainzDiscID = buildModule rec { 2779 + name = "MusicBrainz-DiscID-0.03"; 2780 + src = fetchurl { 2781 + url = "mirror://cpan/authors/id/N/NJ/NJH/${name}.tar.gz"; 2782 + sha256 = "0fjph2q3yp0aa87gckv3391s47m13wbyylj7jb7vqx7hv0pzj0jh"; 2783 + }; 2784 + # Build.PL in this package uses which to find pkg-config -- make it use path instead 2785 + patchPhase = ''sed -ie 's/`which pkg-config`/"pkg-config"/' Build.PL''; 2786 + doCheck = false; # The main test performs network access 2787 + #buildInputs = [ TestMore TestPod ]; 2788 + buildInputs = [ pkgs.pkgconfig ]; 2789 + propagatedBuildInputs = [ pkgs.libdiscid ]; 2790 + }; 2791 + 2792 + MusicBrainz = buildPerlPackage rec { 2793 + name = "WebService-MusicBrainz-0.93"; 2794 + src = fetchurl { 2795 + url = "mirror://cpan/authors/id/B/BF/BFAIST/${name}.tar.gz"; 2796 + sha256 = "1gg62x6qv4jj73jsqh0sb237k96i22blj29afpbp1scp3m7i5g61"; 2797 + }; 2798 + propagatedBuildInputs = [ XMLLibXML LWP ClassAccessor URI ]; 2799 + doCheck = false; # Test performs network access. 2800 + }; 2801 + 2778 2802 NamespaceAutoclean = buildPerlPackage rec { 2779 2803 name = "namespace-autoclean-0.12"; 2780 2804 src = fetchurl { ··· 4345 4369 }; 4346 4370 }; 4347 4371 4348 - XSLoader = buildPerlPackage { 4349 - name = "XSLoader-0.08"; 4350 - src = fetchurl { 4351 - url = mirror://cpan/authors/id/S/SA/SAPER/XSLoader-0.08.tar.gz; 4352 - sha256 = "0mr4l3givrpyvz1kg0kap2ds8g0rza2cim9kbnjy8hi64igkixi5"; 4353 - }; 4354 - }; 4372 + # XSLoader = buildPerlPackage { 4373 + # name = "XSLoader-0.08"; 4374 + # src = fetchurl { 4375 + # url = mirror://cpan/authors/id/S/SA/SAPER/XSLoader-0.08.tar.gz; 4376 + # sha256 = "0mr4l3givrpyvz1kg0kap2ds8g0rza2cim9kbnjy8hi64igkixi5"; 4377 + # }; 4378 + # }; 4355 4379 4356 4380 YAML = buildPerlPackage rec { 4357 4381 name = "YAML-0.80";