From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Marusich Subject: Re: [PATCH] gnu: Add asunder. Date: Sun, 18 Dec 2016 01:04:04 -0800 Message-ID: <878trd7gmz.fsf@gmail.com> References: <20161217092040.3112-1-cmmarusich@gmail.com> <20161217092040.3112-2-cmmarusich@gmail.com> <20161217185621.GC1726@jasmine> Mime-Version: 1.0 Content-Type: multipart/signed; boundary="==-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:40902) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cIXOB-0002lp-DL for guix-devel@gnu.org; Sun, 18 Dec 2016 04:04:19 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cIXO7-0003U1-0t for guix-devel@gnu.org; Sun, 18 Dec 2016 04:04:15 -0500 Received: from mail-pg0-x243.google.com ([2607:f8b0:400e:c05::243]:33869) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cIXO6-0003TD-Om for guix-devel@gnu.org; Sun, 18 Dec 2016 04:04:10 -0500 Received: by mail-pg0-x243.google.com with SMTP id b1so4905623pgc.1 for ; Sun, 18 Dec 2016 01:04:10 -0800 (PST) In-Reply-To: <20161217185621.GC1726@jasmine> (Leo Famulari's message of "Sat, 17 Dec 2016 13:56:21 -0500") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Leo Famulari Cc: guix-devel@gnu.org --==-=-= Content-Type: multipart/mixed; boundary="=-=-=" --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Hi everyone, Thank you for the review! Please find a new patch attached. Hartmut Goebel writes: > Am 17.12.2016 um 10:20 schrieb Chris Marusich: >> + (home-page "http://www.littlesvr.ca/asunder/index.php") > > I'd leave of the "index.php" here. Its uselass and ugly :-) Good point. I've changed this, but I've left the trailing slash to avoid an unnecessary redirect. John Darrington writes: > +(define-public asunder > + (package > + (name "asunder") > + (version "2.8") > + (home-page "http://www.littlesvr.ca/asunder/index.php") > + (source (origin > + (method url-fetch) > > It's unueual to have the home-page field here. Most package > definitions place it just > before the synopsis. OK - I've moved it. Leo Famulari writes: >> + (inputs `(("gtk+-2" ,gtk+-2) >> + ("glib" ,glib) >> + ("libcddb" ,libcddb) >> + ("cdparanoia" ,cdparanoia) >> + ("lame" ,lame) >> + ("vorbis-tools" ,vorbis-tools) >> + ("flac" ,flac) >> + ("opus" ,opus) >> + ("wavpack" ,wavpack) >> + ("libmpcdec" ,libmpcdec))) > > I checked the references of the built package: > $ guix gc --references $(./pre-inst-env guix build asunder) > /gnu/store/1jh6z732id8w014i66abm2h2iivkwk8v-gdk-pixbuf+svg-2.34.0 > /gnu/store/46kis1wxzqfk3yysaz6ds0pc7w195a3b-gtk+-2.24.31 > /gnu/store/4glf79v1r1l4k7by4vf1lfldq7n0yafw-libcddb-1.3.2 > /gnu/store/7m55pyfv0rm19rqrrr7xx0c2irsvaq3y-pango-1.40.1 > /gnu/store/cd92wyv466fcfnavx3wcjcr8qln4ycix-atk-2.20.0 > /gnu/store/cdi08kw7r6r684w8mk0xq0dkgpjhfpmd-gcc-4.9.4-lib > /gnu/store/hmc1jiyr29mk9cl2d9j0jwf0dim1q76g-freetype-2.6.3 > /gnu/store/iwgi9001dmmihrjg4rqhd6pa6788prjw-glibc-2.24 > /gnu/store/n56vagr3zv7ildvh9b7mzvk7h4bgwjpf-shared-mime-info-1.7 > /gnu/store/p56ai0sj3bbh8hdqc9qigdp91gj73brp-glib-2.48.2 > /gnu/store/pkv2qqgprp4zxcqfspwwx81qm9lng0da-fontconfig-2.12.1 > /gnu/store/qkw4zrwfybxww8f56nkb6hggxambk89b-bash-4.4.0 > /gnu/store/y30l675nz41p87pmvzscqhhyhik626na-cairo-1.14.6 > /gnu/store/zfm6sgn6mpv8yqfjwk23i7hnjib2rc30-asunder-2.8 > > Several inputs are missing from this list, so they will be garbage > collected when the user runs `guix gc`. Can you look into that? Great catch. This was a problem. The reason I didn't realize it was because I tested by installing Asunder into my existing profile, which contains the necessary tools already, and Asunder was finding the tools via my PATH environment variable. I've fixed this issue by wrapping the asunder executable with wrap-program. I've verified (by using "guix environment" with the --pure option) that with this latest patch, Asunder can successfully rip an audio CD and encode to MP3, FLAC, OGG Vorbis, OPUS, and WavPack. I've also verified that the inputs which previously were missing in the references are now included. The remaining encodings supported by Asunder - Musepack, Monkey's Audio, and AAC - don't work because (1) we haven't packaged the Musepack encoder yet (I think), and (2) the latter two are not distributed under a free license. >> + ;; Asunder can also encode to AAC using neroAacEnc and to Monkey's >> audio >> + ;; using mac, but we do not include those libraries as they are >> non-free. > > This comment isn't necessary, in my opinion. OK. I've removed it. >> + (description >> + "Asunder is a graphical Audio CD ripper and encoder. It can save >> audio > > Does audio need to be capitalized here? No, it doesn't. I've decapitalized it. =2D-=20 Chris --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-gnu-Add-asunder.patch Content-Transfer-Encoding: quoted-printable From=200e4998622ac076d57b6df492727d7cebbabc290b Mon Sep 17 00:00:00 2001 From: Chris Marusich Date: Sat, 17 Dec 2016 01:06:48 -0800 Subject: [PATCH] gnu: Add asunder. * gnu/packages/cdrom.scm (asunder): New variable. =2D-- gnu/packages/cdrom.scm | 58 ++++++++++++++++++++++++++++++++++++++++++++++= ++++ 1 file changed, 58 insertions(+) diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm index 829156a7c..20937dc8f 100644 =2D-- a/gnu/packages/cdrom.scm +++ b/gnu/packages/cdrom.scm @@ -28,14 +28,19 @@ #:use-module ((guix licenses) #:select (lgpl2.1+ gpl2 gpl2+ gpl3+)) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) + #:use-module (guix build-system glib-or-gtk) + #:use-module (guix gexp) #:use-module (gnu packages) #:use-module (gnu packages acl) + #:use-module (gnu packages audio) #:use-module (gnu packages bison) #:use-module (gnu packages compression) #:use-module (gnu packages flex) #:use-module (gnu packages gettext) #:use-module (gnu packages gtk) + #:use-module (gnu packages glib) #:use-module (gnu packages man) + #:use-module (gnu packages mp3) #:use-module (gnu packages ncurses) #:use-module (gnu packages elf) #:use-module (gnu packages pkg-config) @@ -395,3 +400,56 @@ for bootable CD-ROMs. Image data is written to standard output by default and all other information is written to standard error.") (license gpl2+))) + +(define-public asunder + (package + (name "asunder") + (version "2.8") + (source (origin + (method url-fetch) + (uri + (string-append "http://www.littlesvr.ca/asunder/releases/as= under-" + version + ".tar.bz2")) + (sha256 + (base32 + "1nq9kd4rd4k2kibf57gdbm0zw2gxa234vvvdhxkm8g5bhx5h3iyq")))) + (build-system glib-or-gtk-build-system) + (arguments + '(#:out-of-source? #f + #:phases (modify-phases %standard-phases + (add-after 'install 'wrap + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((program (string-append (assoc-ref outputs "ou= t") + "/bin/asunder"))) + (define (bin-directory input-name) + (string-append (assoc-ref inputs input-name) "/b= in")) + (wrap-program program + `("PATH" ":" prefix + ,(map bin-directory (list "cdparanoia" + "lame" + "vorbis-tools" + "flac" + "opus-tools" + "wavpack")))))))))) + (native-inputs `(("intltool" ,intltool) + ("pkg-config" ,pkg-config))) + ;; TODO: Add the necessary packages for Musepack encoding. + (inputs `(("gtk+-2" ,gtk+-2) + ("glib" ,glib) + ("libcddb" ,libcddb) + ("cdparanoia" ,cdparanoia) + ("lame" ,lame) + ("vorbis-tools" ,vorbis-tools) + ("flac" ,flac) + ("opus-tools" ,opus-tools) + ("wavpack" ,wavpack))) + (home-page "http://www.littlesvr.ca/asunder/") + (synopsis "Graphical audio CD ripper and encoder") + (description + "Asunder is a graphical audio CD ripper and encoder. It can save aud= io +tracks as WAV, MP3, Ogg Vorbis, FLAC, Opus, Wavpack, and Musepack. It can= use +CDDB to name and tag each track automatically, and it allows for each trac= k to +be by a different artist. Asunder can encode to multiple formats in one +session, and it can create M3U playlists.") + (license gpl2))) =2D-=20 2.11.0 --=-=-=-- --==-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEy/WXVcvn5+/vGD+x3UCaFdgiRp0FAlhWUQQACgkQ3UCaFdgi Rp1t+hAAv9ywtkJN0sGoSSwknltgm3PiWx3mGX0a5S7KRjsHibT4NKMpiD/iYH2p nOXg63tSUQyMB07MxsS5z8JlvIk8PiFVSMtIIafch98ArBSRBCG7eMeaAIHLEbL3 HsIBbV2NkEqHFaFcdfBpKTSc8Q3/2wpcu5UI7X+pWsMFOFhDczjv4tAqhryDuEDV 2DG+Z4vHAY0ZF53q1cVi2xOghNgrRtAAou9OkC8pPGCl6W2sjw3OX0My4qgGA+r8 Bvtci40tBlji4kzfqqoWAUpQn1WVa1b94FDHHNLIOhjeiR2hfIeC/ly0bY04c7Xn RGMpn8Ro1kpvgM7rpOyexg1mrWmWOzWgIBlsLDEMpyX9g2eHSaprmFldysxvWhzn fEOa09e/i949yU48dMj8mtc06xkQ7CAcH4KAszgbd9azkzKq25nzwnftrodMU3Ep adwvpF2GmR6khBtiSpZlmYSU0XwNRvIwxyB7FlqPHbNRQ9vZ6MwIWekHq6anfGFe /VPNTQBkayUTqG9FoDQVWSUiD8RDJF+bB4/JjYWhPMH0TD7Z1hUMdmNg40S9R5OM t9Z/b1eh0bCLYjoDjcQJjDXlNLuX293/PU5ujgZYOWWxlUBqhFPybA0chzmNimbF 2Ub++/PAdETZwPnOmin9m6xQxXYlkChzA6eXehL58LnSIEejkM0= =pCQ+ -----END PGP SIGNATURE----- --==-=-=--