Merge pull request #221861 from NixOS/diffoscope-unfree

This commit is contained in:
Sandro 2023-05-26 14:23:15 +02:00 committed by GitHub
commit 80264b939d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 31 additions and 13 deletions

View file

@ -20,5 +20,6 @@ buildPythonPackage rec {
description = "Use libguestfs from Python"; description = "Use libguestfs from Python";
license = licenses.lgpl2Plus; license = licenses.lgpl2Plus;
maintainers = with maintainers; [ grahamc ]; maintainers = with maintainers; [ grahamc ];
inherit (libguestfs.meta) platforms;
}; };
} }

View file

@ -21,5 +21,6 @@ buildPythonPackage rec {
meta = with lib; { meta = with lib; {
description = "A Python extension module which gives access to the extended attributes for filesystem objects available in some operating systems"; description = "A Python extension module which gives access to the extended attributes for filesystem objects available in some operating systems";
license = licenses.lgpl21Plus; license = licenses.lgpl21Plus;
inherit (pkgs.attr.meta) platforms;
}; };
} }

View file

@ -3,7 +3,8 @@
, e2fsprogs, enjarify, file, findutils, fontforge-fonttools, ffmpeg, fpc, gettext, ghc, ghostscriptX, giflib, gnumeric, gnupg, gnutar , e2fsprogs, enjarify, file, findutils, fontforge-fonttools, ffmpeg, fpc, gettext, ghc, ghostscriptX, giflib, gnumeric, gnupg, gnutar
, gzip, html2text, hdf5, imagemagick, jdk, libarchive, libcaca, llvm, lz4, mono, ocaml, oggvideotools, openssh, openssl, pdftk, pgpdump, poppler_utils, procyon, qemu, R , gzip, html2text, hdf5, imagemagick, jdk, libarchive, libcaca, llvm, lz4, mono, ocaml, oggvideotools, openssh, openssl, pdftk, pgpdump, poppler_utils, procyon, qemu, R
, radare2, sng, sqlite, squashfsTools, tcpdump, ubootTools, odt2txt, unzip, wabt, xmlbeans, xxd, xz, zip, zstd , radare2, sng, sqlite, squashfsTools, tcpdump, ubootTools, odt2txt, unzip, wabt, xmlbeans, xxd, xz, zip, zstd
, enableBloat ? false , enableBloat ? true
, enableUnfree ? false
# updater only # updater only
, writeScript , writeScript
}: }:
@ -43,21 +44,32 @@ python3Packages.buildPythonApplication rec {
# To help figuring out what's missing from the list, run: ./pkgs/tools/misc/diffoscope/list-missing-tools.sh # To help figuring out what's missing from the list, run: ./pkgs/tools/misc/diffoscope/list-missing-tools.sh
# #
# Still missing these tools: docx2txt lipo otool r2pipe # Still missing these tools: docx2txt lipo otool r2pipe
pythonPath = [ # We filter automatically all packages for the host platform (some dependencies are not supported on Darwin, aarch64, etc.).
pythonPath = lib.filter (lib.meta.availableOn stdenv.hostPlatform) ([
binutils-unwrapped-all-targets bzip2 colordiff coreutils cpio db diffutils binutils-unwrapped-all-targets bzip2 colordiff coreutils cpio db diffutils
e2fsprogs file findutils fontforge-fonttools gettext gnutar gzip e2fsprogs file findutils fontforge-fonttools gettext gnutar gzip
html2text libarchive lz4 openssl pgpdump sng sqlite squashfsTools unzip xxd html2text libarchive lz4 openssl pgpdump sng sqlite squashfsTools unzip xxd
xz zip zstd xz zip zstd cdrkit dtc
] ]
++ (with python3Packages; [ ++ (with python3Packages; [
argcomplete debian defusedxml jsondiff jsbeautifier libarchive-c argcomplete debian defusedxml jsondiff jsbeautifier libarchive-c
python-magic progressbar33 pypdf2 tlsh python-magic progressbar33 pypdf2 tlsh pyxattr rpm
]) ])
++ lib.optionals stdenv.isLinux [ python3Packages.pyxattr python3Packages.rpm acl cdrkit dtc ] ++ lib.optionals enableBloat (
++ lib.optionals enableBloat ([ [
abootimg apksigcopier apksigner apktool cbfstool colord enjarify ffmpeg fpc ghc ghostscriptX giflib gnupg gnumeric apksigcopier apksigner enjarify ffmpeg fpc ghc ghostscriptX giflib gnupg pdftk
hdf5 imagemagick libcaca llvm jdk mono ocaml odt2txt oggvideotools openssh pdftk poppler_utils procyon qemu R tcpdump ubootTools wabt radare2 xmlbeans hdf5 imagemagick libcaca llvm jdk mono ocaml odt2txt openssh
] ++ (with python3Packages; [ androguard binwalk guestfs h5py pdfminer-six ])); poppler_utils procyon qemu R tcpdump wabt radare2 xmlbeans
abootimg cbfstool colord ubootTools
]
++ (with python3Packages; [ androguard binwalk h5py pdfminer-six guestfs ])
# oggvideotools is broken on Darwin, please put it back when it will be fixed?
++ lib.optionals stdenv.isLinux [ oggvideotools ]
# This doesn't work on aarch64-darwin
++ lib.optionals (stdenv.hostPlatform != "aarch64-darwin") [ gnumeric ]
# `apktool` depend on `build-tools` which requires Android SDK acceptance, therefore, the whole thing is unfree.
++ lib.optionals enableUnfree [ apktool ]
));
nativeCheckInputs = with python3Packages; [ pytestCheckHook ] ++ pythonPath; nativeCheckInputs = with python3Packages; [ pytestCheckHook ] ++ pythonPath;
@ -121,7 +133,7 @@ python3Packages.buildPythonApplication rec {
''; '';
homepage = "https://diffoscope.org/"; homepage = "https://diffoscope.org/";
license = licenses.gpl3Plus; license = licenses.gpl3Plus;
maintainers = with maintainers; [ dezgeg danielfullmer ]; maintainers = with maintainers; [ dezgeg danielfullmer raitobezarius ];
platforms = platforms.unix; platforms = platforms.unix;
}; };
} }

View file

@ -43,5 +43,9 @@ stdenv.mkDerivation rec {
homepage = "http://www.streamnik.de/oggvideotools.html"; homepage = "http://www.streamnik.de/oggvideotools.html";
license = licenses.gpl2Only; license = licenses.gpl2Only;
maintainers = with maintainers; [ SuperSandro2000 ]; maintainers = with maintainers; [ SuperSandro2000 ];
# Compilation error on Darwin:
# error: invalid argument '--std=c++0x' not allowed with 'C'
# make[2]: *** [src/libresample/CMakeFiles/resample.dir/build.make:76: src/libresample/CMakeFiles/resample.dir/filterkit.c.o] Error 1
broken = stdenv.isDarwin;
}; };
} }

View file

@ -6852,12 +6852,12 @@ with pkgs;
diction = callPackage ../tools/text/diction { }; diction = callPackage ../tools/text/diction { };
diffoscopeMinimal = callPackage ../tools/misc/diffoscope { diffoscope = callPackage ../tools/misc/diffoscope {
jdk = jdk8; jdk = jdk8;
}; };
diffoscope = diffoscopeMinimal.override { diffoscopeMinimal = diffoscope.override {
enableBloat = !stdenv.isDarwin; enableBloat = false;
}; };
diffr = callPackage ../tools/text/diffr { diffr = callPackage ../tools/text/diffr {