ff1a94e523
The nixpkgs-unstable channel's programs.sqlite was used to identify packages producing exactly one binary, and these automatically added to their package definitions wherever possible.
80 lines
1.7 KiB
Nix
80 lines
1.7 KiB
Nix
{ stdenv
|
|
, lib
|
|
, fetchurl
|
|
, fetchpatch
|
|
, perlPackages
|
|
, intltool
|
|
, autoreconfHook
|
|
, pkg-config
|
|
, glib
|
|
, libxml2
|
|
, sqlite
|
|
, zlib
|
|
, sg3_utils
|
|
, gdk-pixbuf
|
|
, taglib
|
|
, libimobiledevice
|
|
, monoSupport ? false
|
|
, mono
|
|
, gtk-sharp-2_0
|
|
}:
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "libgpod";
|
|
version = "0.8.3";
|
|
|
|
src = fetchurl {
|
|
url = "mirror://sourceforge/gtkpod/libgpod-${version}.tar.bz2";
|
|
hash = "sha256-Y4p5WdBOlfHmKrrQK9M3AuTo3++YSFrH2dUDlcN+lV0=";
|
|
};
|
|
|
|
outputs = [ "out" "dev" ];
|
|
|
|
patches = [
|
|
(fetchpatch {
|
|
name = "libplist-2.3.0-compatibility.patch";
|
|
url = "https://sourceforge.net/p/gtkpod/patches/48/attachment/libplist-2.3.0-compatibility.patch";
|
|
hash = "sha256-aVkuYE1N/jdEhVhiXEVhApvOC+8csIMMpP20rAJwEVQ=";
|
|
})
|
|
];
|
|
|
|
postPatch = ''
|
|
# support libplist 2.2
|
|
substituteInPlace configure.ac --replace 'libplist >= 1.0' 'libplist-2.0 >= 2.2'
|
|
'';
|
|
|
|
configureFlags = [
|
|
"--without-hal"
|
|
"--enable-udev"
|
|
"--with-udev-dir=${placeholder "out"}/lib/udev"
|
|
] ++ lib.optionals monoSupport [ "--with-mono" ];
|
|
|
|
dontStrip = monoSupport;
|
|
|
|
nativeBuildInputs = [ autoreconfHook intltool pkg-config ]
|
|
++ (with perlPackages; [ perl XMLParser ])
|
|
++ lib.optional monoSupport mono;
|
|
|
|
buildInputs = [
|
|
libxml2
|
|
sg3_utils
|
|
sqlite
|
|
taglib
|
|
] ++ lib.optional monoSupport gtk-sharp-2_0;
|
|
|
|
propagatedBuildInputs = [
|
|
gdk-pixbuf
|
|
glib
|
|
libimobiledevice
|
|
];
|
|
|
|
meta = with lib; {
|
|
homepage = "https://sourceforge.net/projects/gtkpod/";
|
|
description = "Library used by gtkpod to access the contents of an ipod";
|
|
mainProgram = "ipod-read-sysinfo-extended";
|
|
license = licenses.lgpl21Plus;
|
|
platforms = platforms.linux;
|
|
maintainers = [ ];
|
|
};
|
|
}
|