1{ stdenv, fetchurl, dpkg, patchelf }:
2
3stdenv.mkDerivation rec {
4 name = "xidel-${version}";
5 version = "0.8.4";
6
7 ## Source archive lacks file (manageUtils.sh), using pre-built package for now.
8 #src = fetchurl {
9 # url = "mirror://sourceforge/videlibri/Xidel/Xidel%20${version}/${name}.src.tar.gz";
10 # sha256 = "1h5xn16lgzx0s94iyhxa50lk05yf0af44nzm5w5k57615nd82kz2";
11 #};
12
13 src =
14 if stdenv.system == "x86_64-linux" then
15 fetchurl {
16 url = "mirror://sourceforge/videlibri/Xidel/Xidel%20${version}/xidel_${version}-1_amd64.deb";
17 sha256 = "0gq95ag2661hsw8b7ii6z07ian832cz8g21lvq2cvps4a80ql1gi";
18 }
19 else if stdenv.system == "i686-linux" then
20 fetchurl {
21 url = "mirror://sourceforge/videlibri/Xidel/Xidel%20${version}/xidel_${version}-1_i386.deb";
22 sha256 = "07yk5sk1p4jm0jmgjwdm2wq8d2wybi1wkn1qq5j5y03z1pdc3fi6";
23 }
24 else throw "xidel is not supported on ${stdenv.system}";
25
26 buildInputs = [ dpkg patchelf ];
27
28 unpackPhase = ''
29 dpkg-deb -x ${src} ./
30 '';
31
32 buildPhase = "true";
33
34 installPhase = ''
35 mkdir -p "$out/bin"
36 cp -a usr/* "$out/"
37 interpreter="$(echo ${stdenv.glibc}/lib/ld-linux*)"
38 patchelf --set-interpreter "$interpreter" "$out/bin/xidel"
39 patchelf --set-rpath "${stdenv.lib.makeLibraryPath [stdenv.glibc]}" "$out/bin/xidel"
40 '';
41
42 meta = with stdenv.lib; {
43 description = "Command line tool to download and extract data from html/xml pages";
44 homepage = http://videlibri.sourceforge.net/xidel.html;
45 # source contains no license info (AFAICS), but sourceforge says GPLv2
46 license = licenses.gpl2;
47 # more platforms will be supported when we switch to source build
48 platforms = [ "i686-linux" "x86_64-linux" ];
49 maintainers = [ maintainers.bjornfor ];
50 };
51}