Unverified Commit 80264b93 authored by Sandro Jäckel's avatar Sandro Jäckel Committed by GitHub
Browse files

Merge pull request #221861 from NixOS/diffoscope-unfree

parents a84996a7 43957dc1
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -20,5 +20,6 @@ buildPythonPackage rec {
    description = "Use libguestfs from Python";
    license = licenses.lgpl2Plus;
    maintainers = with maintainers; [ grahamc ];
    inherit (libguestfs.meta) platforms;
  };
}
+1 −0
Original line number Diff line number Diff line
@@ -21,5 +21,6 @@ buildPythonPackage rec {
    meta = with lib; {
      description = "A Python extension module which gives access to the extended attributes for filesystem objects available in some operating systems";
      license = licenses.lgpl21Plus;
      inherit (pkgs.attr.meta) platforms;
    };
}
+22 −10
Original line number Diff line number Diff line
@@ -3,7 +3,8 @@
, 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
, radare2, sng, sqlite, squashfsTools, tcpdump, ubootTools, odt2txt, unzip, wabt, xmlbeans, xxd, xz, zip, zstd
, enableBloat ? false
, enableBloat ? true
, enableUnfree ? false
# updater only
, 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
  #
  # 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
      e2fsprogs file findutils fontforge-fonttools gettext gnutar gzip
      html2text libarchive lz4 openssl pgpdump sng sqlite squashfsTools unzip xxd
      xz zip zstd
      xz zip zstd cdrkit dtc
    ]
    ++ (with python3Packages; [
      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 ([
      abootimg apksigcopier apksigner apktool cbfstool colord enjarify ffmpeg fpc ghc ghostscriptX giflib gnupg gnumeric
      hdf5 imagemagick libcaca llvm jdk mono ocaml odt2txt oggvideotools openssh pdftk poppler_utils procyon qemu R tcpdump ubootTools wabt radare2 xmlbeans
    ] ++ (with python3Packages; [ androguard binwalk guestfs h5py pdfminer-six ]));
    ++ lib.optionals enableBloat (
      [
        apksigcopier apksigner enjarify ffmpeg fpc ghc ghostscriptX giflib gnupg pdftk
        hdf5 imagemagick libcaca llvm jdk mono ocaml odt2txt openssh
        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;

@@ -121,7 +133,7 @@ python3Packages.buildPythonApplication rec {
    '';
    homepage = "https://diffoscope.org/";
    license = licenses.gpl3Plus;
    maintainers = with maintainers; [ dezgeg danielfullmer ];
    maintainers = with maintainers; [ dezgeg danielfullmer raitobezarius ];
    platforms = platforms.unix;
  };
}
+4 −0
Original line number Diff line number Diff line
@@ -43,5 +43,9 @@ stdenv.mkDerivation rec {
    homepage = "http://www.streamnik.de/oggvideotools.html";
    license = licenses.gpl2Only;
    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;
  };
}
+3 −3
Original line number Diff line number Diff line
@@ -6852,12 +6852,12 @@ with pkgs;
  diction = callPackage ../tools/text/diction { };
  diffoscopeMinimal = callPackage ../tools/misc/diffoscope {
  diffoscope = callPackage ../tools/misc/diffoscope {
    jdk = jdk8;
  };
  diffoscope = diffoscopeMinimal.override {
    enableBloat = !stdenv.isDarwin;
  diffoscopeMinimal = diffoscope.override {
    enableBloat = false;
  };
  diffr = callPackage ../tools/text/diffr {