1{stdenv, fetchurl, perl, CryptSSLeay, LWP, unzip, xz, dpkg, TimeDate, DBFile
2, FileDesktopEntry, libxslt, docbook_xsl, makeWrapper
3, python3Packages
4, perlPackages, curl, gnupg, diffutils
5, sendmailPath ? "/var/setuid-wrappers/sendmail"
6}:
7
8let
9 inherit (python3Packages) python setuptools;
10in stdenv.mkDerivation rec {
11 version = "2.16.6";
12 name = "debian-devscripts-${version}";
13
14 src = fetchurl {
15 url = "mirror://debian/pool/main/d/devscripts/devscripts_${version}.tar.xz";
16 sha256 = "0lkhilwb1gsnk8q14wkrl78s0w3l8aghsaz00vprmkmcc3j1x14h";
17 };
18
19 buildInputs = [ perl CryptSSLeay LWP unzip xz dpkg TimeDate DBFile
20 FileDesktopEntry libxslt python setuptools makeWrapper
21 perlPackages.ParseDebControl perlPackages.LWPProtocolHttps
22 curl gnupg diffutils ];
23
24 preConfigure = ''
25 export PERL5LIB="$PERL5LIB''${PERL5LIB:+:}${dpkg}";
26 tgtpy="$out/lib/${python.libPrefix}/site-packages"
27 mkdir -p "$tgtpy"
28 export PYTHONPATH="$PYTHONPATH''${PYTHONPATH:+:}$tgtpy"
29 find po4a scripts -type f -exec sed -r \
30 -e "s@/usr/bin/gpg(2|)@${gnupg}/bin/gpg2@g" \
31 -e "s@/usr/(s|)bin/sendmail@${sendmailPath}@g" \
32 -e "s@/usr/bin/diff@${diffutils}/bin/diff@g" \
33 -e "s@/usr/bin/gpgv(2|)@${gnupg}/bin/gpgv2@g" \
34 -e "s@(command -v|/usr/bin/)curl@${curl.bin}/bin/curl@g" \
35 -i {} +
36 sed -e "s@/usr/share/sgml/[^ ]*/manpages/docbook.xsl@${docbook_xsl}/xml/xsl/docbook/manpages/docbook.xsl@" -i scripts/Makefile
37 sed -r \
38 -e "s@/usr( |$|/)@$out\\1@g" \
39 -e "s@/etc( |$|/)@$out/etc\\1@g" \
40 -e 's/ translated_manpages//; s/--install-layout=deb//; s@--root="[^ ]*"@--prefix="'"$out"'"@' \
41 -i Makefile* */Makefile*
42 '';
43
44 makeFlags = [
45 "DESTDIR=$(out)"
46 "PREFIX="
47 "COMPL_DIR=/share/bash-completion/completions"
48 "PERLMOD_DIR=/share/devscripts"
49 ];
50
51 postInstall = ''
52 sed -re 's@(^|[ !`"])/bin/bash@\1${stdenv.shell}@g' -i "$out/bin"/*
53 for i in "$out/bin"/*; do
54 wrapProgram "$i" \
55 --prefix PERL5LIB : "$PERL5LIB" \
56 --prefix PERL5LIB : "$out/share/devscripts" \
57 --prefix PYTHONPATH : "$out/lib/python3.4/site-packages"
58 done
59 '';
60
61 meta = with stdenv.lib; {
62 description = ''Debian package maintenance scripts'';
63 license = licenses.free; # Mix of public domain, Artistic+GPL, GPL1+, GPL2+, GPL3+, and GPL2-only... TODO
64 maintainers = with maintainers; [raskin];
65 platforms = with platforms; linux;
66 };
67}