From ba5402a32822193577219cef2682359c2e3587e1 Mon Sep 17 00:00:00 2001 From: Tuomas Tynkkynen Date: Tue, 4 Aug 2015 06:04:12 +0300 Subject: [PATCH] debbindiff: Rename to 'diffoscope' and update 26 -> 29 Upstream has changed the project name to 'diffoscope' since "debbindiff has grown way beyond a being just a tool to compare Debian packages." Besides the rename, there are new dependencies on ssdeep, libarchive-c and sqlite. --- pkgs/tools/misc/debbindiff/default.nix | 46 --------------------- pkgs/tools/misc/diffoscope/default.nix | 56 ++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 +- 3 files changed, 58 insertions(+), 48 deletions(-) delete mode 100644 pkgs/tools/misc/debbindiff/default.nix create mode 100644 pkgs/tools/misc/diffoscope/default.nix diff --git a/pkgs/tools/misc/debbindiff/default.nix b/pkgs/tools/misc/debbindiff/default.nix deleted file mode 100644 index f5fcb37324ee..000000000000 --- a/pkgs/tools/misc/debbindiff/default.nix +++ /dev/null @@ -1,46 +0,0 @@ -{ stdenv, fetchgit, pythonPackages, docutils -, acl, binutils, bzip2, cdrkit, cpio, diffutils, e2fsprogs, file, gettext -, gnupg, gzip, pdftk, poppler_utils, rpm, squashfsTools, unzip, vim, xz -}: - -pythonPackages.buildPythonPackage rec { - name = "debbindiff-${version}"; - version = "26"; - - namePrefix = ""; - - src = fetchgit { - url = "git://anonscm.debian.org/reproducible/debbindiff.git"; - rev = "refs/tags/${version}"; - sha256 = "18637gc7c92mwcpx3dvh6xild0sb9bwsgfcrjplmh7s8frvlvkv6"; - }; - - postPatch = '' - # Different pkg name in debian - sed -i setup.py -e "s@'magic'@'Magic-file-extensions'@" - - # Upstream doesn't provide a PKG-INFO file - sed -i setup.py -e "/'rpm',/d" - ''; - - # Still missing these tools: ghc javap showttf sng - propagatedBuildInputs = (with pythonPackages; [ debian magic ]) ++ - [ acl binutils bzip2 cdrkit cpio diffutils e2fsprogs file gettext gnupg - gzip pdftk poppler_utils rpm squashfsTools unzip vim xz ]; - - doCheck = false; # Calls 'mknod' in squashfs tests, which needs root - - postInstall = '' - mv $out/bin/debbindiff.py $out/bin/debbindiff - mkdir -p $out/share/man/man1 - ${docutils}/bin/rst2man.py debian/debbindiff.1.rst $out/share/man/man1/debbindiff.1 - ''; - - meta = with stdenv.lib; { - description = "Highlight differences between two builds of Debian packages, and even other kind of files"; - homepage = https://wiki.debian.org/ReproducibleBuilds; - license = licenses.gpl3Plus; - maintainers = [ maintainers.dezgeg ]; - platforms = platforms.linux; - }; -} diff --git a/pkgs/tools/misc/diffoscope/default.nix b/pkgs/tools/misc/diffoscope/default.nix new file mode 100644 index 000000000000..e6c672d83441 --- /dev/null +++ b/pkgs/tools/misc/diffoscope/default.nix @@ -0,0 +1,56 @@ +{ stdenv, fetchgit, pythonPackages, docutils +, acl, binutils, bzip2, cdrkit, cpio, diffutils, e2fsprogs, file, gettext +, gnupg, gzip, pdftk, poppler_utils, rpm, sqlite, squashfsTools, unzip, vim, xz +}: + +pythonPackages.buildPythonPackage rec { + name = "diffoscope-${version}"; + version = "29"; + + namePrefix = ""; + + src = fetchgit { + url = "git://anonscm.debian.org/reproducible/diffoscope.git"; + rev = "refs/tags/${version}"; + sha256 = "0q7hx2wm9gvzl1f7iilr9pjwpv8i2anscqan7cgk80v90s2pakrf"; + }; + + postPatch = '' + # Different pkg name in debian + sed -i setup.py -e "s@'magic'@'Magic-file-extensions'@" + + # Upstream doesn't provide a PKG-INFO file + sed -i setup.py -e "/'rpm',/d" + ''; + + # Still missing these tools: ghc javap showttf sng + propagatedBuildInputs = (with pythonPackages; [ debian libarchive-c magic ssdeep ]) ++ + [ acl binutils bzip2 cdrkit cpio diffutils e2fsprogs file gettext gnupg + gzip pdftk poppler_utils rpm sqlite squashfsTools unzip vim xz ]; + + doCheck = false; # Calls 'mknod' in squashfs tests, which needs root + + postInstall = '' + mv $out/bin/diffoscope.py $out/bin/diffoscope + mkdir -p $out/share/man/man1 + ${docutils}/bin/rst2man.py debian/diffoscope.1.rst $out/share/man/man1/diffoscope.1 + ''; + + meta = with stdenv.lib; { + description = "Perform in-depth comparison of files, archives, and directories"; + longDescription = '' + diffoscope will try to get to the bottom of what makes files or directories + different. It will recursively unpack archives of many kinds and transform + various binary formats into more human readable form to compare them. It can + compare two tarballs, ISO images, or PDF just as easily. The differences can + be shown in a text or HTML report. + + diffoscope is developed as part of the "reproducible builds" Debian + project and was formerly known as "debbindiff". + ''; + homepage = https://wiki.debian.org/ReproducibleBuilds; + license = licenses.gpl3Plus; + maintainers = [ maintainers.dezgeg ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d732e140668e..261ad9ba811a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1259,8 +1259,6 @@ let dcfldd = callPackage ../tools/system/dcfldd { }; - debbindiff = callPackage ../tools/misc/debbindiff { }; - debian_devscripts = callPackage ../tools/misc/debian-devscripts { inherit (perlPackages) CryptSSLeay LWP TimeDate DBFile FileDesktopEntry; }; @@ -1303,6 +1301,8 @@ let di = callPackage ../tools/system/di { }; + diffoscope = callPackage ../tools/misc/diffoscope { }; + diffstat = callPackage ../tools/text/diffstat { }; diffutils = callPackage ../tools/text/diffutils { };