Merge master into haskell-updates

This commit is contained in:
github-actions[bot] 2023-06-09 00:14:28 +00:00 committed by GitHub
commit b0baed0494
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
22 changed files with 247 additions and 139 deletions

View file

@ -38,7 +38,7 @@
buildPythonApplication = if isQt6 then python3Packages.buildPythonApplication else mkDerivationWith python3Packages.buildPythonApplication; buildPythonApplication = if isQt6 then python3Packages.buildPythonApplication else mkDerivationWith python3Packages.buildPythonApplication;
pname = "qutebrowser"; pname = "qutebrowser";
version = if isQt6 then "unstable-2023-04-18" else "2.5.3"; version = if isQt6 then "unstable-2023-04-18" else "2.5.4";
in in
assert withMediaPlayback -> gst_all_1 != null; assert withMediaPlayback -> gst_all_1 != null;
@ -60,7 +60,7 @@ buildPythonApplication {
# the release tarballs are different from the git checkout! # the release tarballs are different from the git checkout!
else fetchurl { else fetchurl {
url = "https://github.com/qutebrowser/qutebrowser/releases/download/v${version}/${pname}-${version}.tar.gz"; url = "https://github.com/qutebrowser/qutebrowser/releases/download/v${version}/${pname}-${version}.tar.gz";
hash = "sha256-hF7yJDTQIztUcZJae20HVhfGlLprvz6GWrgpSwLJ14E="; hash = "sha256-pGCyICUn5CpnDCbSJdn6ZBfQkswfFvOpXnvJXdicGrE=";
}; };
# Needs tox # Needs tox

View file

@ -2,16 +2,16 @@
buildGoModule rec { buildGoModule rec {
pname = "driftctl"; pname = "driftctl";
version = "0.38.2"; version = "0.39.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "snyk"; owner = "snyk";
repo = "driftctl"; repo = "driftctl";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-PPzoZypTP3yrgU50Uv7yBNCc2nAa84quCTWjxyq9h/c="; sha256 = "sha256-1i5x05q0Mo3E3ExM9qONRtQCH3nO7pXyNqOaAtz7qYE=";
}; };
vendorHash = "sha256-XVEXWBVqYoAlK4DP0GdWqJDcLy9WxCaUdNbVESJ9zoM="; vendorHash = "sha256-H/+LORl7Bjy1NshjtWDzj13YCrlQQgtBr4+Rz/rxQkY=";
nativeBuildInputs = [ installShellFiles ]; nativeBuildInputs = [ installShellFiles ];
@ -51,6 +51,6 @@ buildGoModule rec {
and fills in the missing piece in your DevSecOps toolbox. and fills in the missing piece in your DevSecOps toolbox.
''; '';
license = licenses.asl20; license = licenses.asl20;
maintainers = with maintainers; [ kaction jk ]; maintainers = with maintainers; [ kaction jk qjoly ];
}; };
} }

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "kubetail"; pname = "kubetail";
version = "1.6.16"; version = "1.6.18";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "johanhaleby"; owner = "johanhaleby";
repo = "kubetail"; repo = "kubetail";
rev = version; rev = version;
sha256 = "sha256-kkbhhAaiKP01LR7F5JVMgy6Ujji8JDc+Aaho1vft3XQ="; sha256 = "sha256-Gde5thEpMX3h0e1eoC8SeDdkZfa02CmQf3ELLMeEWGU=";
}; };
nativeBuildInputs = [ installShellFiles makeWrapper ]; nativeBuildInputs = [ installShellFiles makeWrapper ];
@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
''; '';
homepage = "https://github.com/johanhaleby/kubetail"; homepage = "https://github.com/johanhaleby/kubetail";
license = licenses.asl20; license = licenses.asl20;
maintainers = with maintainers; [ kalbasit ]; maintainers = with maintainers; [ kalbasit qjoly ];
platforms = platforms.all; platforms = platforms.all;
}; };
} }

View file

@ -1,5 +1,5 @@
{ lib, stdenv, fetchurl, fetchpatch, makeDesktopItem { lib, stdenv, fetchurl, fetchpatch, makeDesktopItem
, libX11, libXt, libXft, libXrender , libX11, libXt, libXft, libXrender, libXext
, ncurses, fontconfig, freetype , ncurses, fontconfig, freetype
, pkg-config, gdk-pixbuf, perl , pkg-config, gdk-pixbuf, perl
, libptytty , libptytty
@ -12,7 +12,7 @@
let let
pname = "rxvt-unicode"; pname = "rxvt-unicode";
version = "9.30"; version = "9.31";
description = "A clone of the well-known terminal emulator rxvt"; description = "A clone of the well-known terminal emulator rxvt";
desktopItem = makeDesktopItem { desktopItem = makeDesktopItem {
@ -41,7 +41,7 @@ stdenv.mkDerivation {
src = fetchurl { src = fetchurl {
url = "http://dist.schmorp.de/rxvt-unicode/Attic/rxvt-unicode-${version}.tar.bz2"; url = "http://dist.schmorp.de/rxvt-unicode/Attic/rxvt-unicode-${version}.tar.bz2";
sha256 = "0badnkjsn3zps24r5iggj8k5v4f00npc77wqg92pcn1q5z8r677y"; sha256 = "qqE/y8FJ/g8/OR+TMnlYD3Spb9MS1u0GuP8DwtRmcug=";
}; };
nativeBuildInputs = [ pkg-config ]; nativeBuildInputs = [ pkg-config ];
@ -49,7 +49,7 @@ stdenv.mkDerivation {
[ libX11 libXt libXft ncurses # required to build the terminfo file [ libX11 libXt libXft ncurses # required to build the terminfo file
fontconfig freetype libXrender fontconfig freetype libXrender
libptytty libptytty
] ++ optional perlSupport perl ] ++ optionals perlSupport [ perl libXext ]
++ optional gdkPixbufSupport gdk-pixbuf; ++ optional gdkPixbufSupport gdk-pixbuf;
outputs = [ "out" "terminfo" ]; outputs = [ "out" "terminfo" ];

View file

@ -14,13 +14,13 @@
buildGoModule rec { buildGoModule rec {
pname = "go2tv" + lib.optionalString (!withGui) "-lite"; pname = "go2tv" + lib.optionalString (!withGui) "-lite";
version = "1.14.1"; version = "1.15.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "alexballas"; owner = "alexballas";
repo = "go2tv"; repo = "go2tv";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-t+T3zerFvEdMYoe8GYSCGgwiXw528Lrs/EjPsXr6I98="; sha256 = "sha256-5GOhTDlUpzInMm8hVcBjbf1CXRw2GQITRtj6UaxYHtE=";
}; };
vendorHash = null; vendorHash = null;

View file

@ -48,11 +48,11 @@ stdenv.mkDerivation rec {
+ lib.optionalString xenSupport "-xen" + lib.optionalString xenSupport "-xen"
+ lib.optionalString hostCpuOnly "-host-cpu-only" + lib.optionalString hostCpuOnly "-host-cpu-only"
+ lib.optionalString nixosTestRunner "-for-vm-tests"; + lib.optionalString nixosTestRunner "-for-vm-tests";
version = "8.0.0"; version = "8.0.2";
src = fetchurl { src = fetchurl {
url = "https://download.qemu.org/qemu-${version}.tar.xz"; url = "https://download.qemu.org/qemu-${version}.tar.xz";
sha256 = "u2DwNBUxGB1sw5ad0ZoBPQQnqH+RgZOXDZrbkRMeVtA="; sha256 = "8GCr1DX75nlBJeLDmFaP/Dz6VABCWWkHqLGO3KNM9qU=";
}; };
depsBuildBuild = [ buildPackages.stdenv.cc ] depsBuildBuild = [ buildPackages.stdenv.cc ]

View file

@ -1,6 +1,6 @@
{ stdenv, lib, fetchFromGitHub, cmake { stdenv, lib, fetchFromGitHub, cmake
, libGL, libXrandr, libXinerama, libXcursor, libX11, libXi, libXext , libGL, libXrandr, libXinerama, libXcursor, libX11, libXi, libXext
, Cocoa, Kernel, fixDarwinDylibNames , Carbon, Cocoa, Kernel, OpenGL, fixDarwinDylibNames
, waylandSupport ? false, extra-cmake-modules, wayland , waylandSupport ? false, extra-cmake-modules, wayland
, wayland-protocols, libxkbcommon , wayland-protocols, libxkbcommon
}: }:
@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
# Fix linkage issues on X11 (https://github.com/NixOS/nixpkgs/issues/142583) # Fix linkage issues on X11 (https://github.com/NixOS/nixpkgs/issues/142583)
patches = lib.optional (!waylandSupport) ./x11.patch; patches = lib.optional (!waylandSupport) ./x11.patch;
propagatedBuildInputs = [ libGL ]; propagatedBuildInputs = [ (if stdenv.isDarwin then OpenGL else libGL) ];
nativeBuildInputs = [ cmake ] nativeBuildInputs = [ cmake ]
++ lib.optional stdenv.isDarwin fixDarwinDylibNames ++ lib.optional stdenv.isDarwin fixDarwinDylibNames
@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
if waylandSupport if waylandSupport
then [ wayland wayland-protocols libxkbcommon ] then [ wayland wayland-protocols libxkbcommon ]
else [ libX11 libXrandr libXinerama libXcursor libXi libXext ] else [ libX11 libXrandr libXinerama libXcursor libXi libXext ]
++ lib.optionals stdenv.isDarwin [ Cocoa Kernel ]; ++ lib.optionals stdenv.isDarwin [ Carbon Cocoa Kernel ];
cmakeFlags = [ cmakeFlags = [
"-DBUILD_SHARED_LIBS=ON" "-DBUILD_SHARED_LIBS=ON"

View file

@ -1,5 +1,4 @@
{ lib { lib
, callPackage
, buildPythonPackage , buildPythonPackage
, fetchPypi , fetchPypi
, installShellFiles , installShellFiles
@ -11,6 +10,7 @@
, ncclient , ncclient
, packaging , packaging
, paramiko , paramiko
, passlib
, pexpect , pexpect
, psutil , psutil
, pycrypto , pycrypto
@ -50,6 +50,7 @@ buildPythonPackage rec {
cryptography cryptography
jinja2 jinja2
packaging packaging
passlib
pyyaml pyyaml
resolvelib # This library is a PITA, since ansible requires a very old version of it resolvelib # This library is a PITA, since ansible requires a very old version of it
# optional dependencies # optional dependencies

View file

@ -2,8 +2,8 @@
, stdenv , stdenv
, buildPythonPackage , buildPythonPackage
, fetchFromGitHub , fetchFromGitHub
, pytest-runner
, pytestCheckHook , pytestCheckHook
, pythonOlder
}: }:
buildPythonPackage rec { buildPythonPackage rec {
@ -11,16 +11,19 @@ buildPythonPackage rec {
version = "0.3.0"; version = "0.3.0";
format = "setuptools"; format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "falconry"; owner = "falconry";
repo = pname; repo = pname;
rev = version; rev = "refs/tags/${version}";
sha256 = "0a703y2d09kvv2l9vq7vc97l4pi2wwq1f2hq783mbw2238jymb3m"; hash = "sha256-dazqJRpC8FUHOhgKFzDnIl5CT2L74J2o2Hsm0IQf4Cg=";
}; };
nativeBuildInputs = [ postPatch = ''
pytest-runner substituteInPlace setup.py \
]; --replace "'pytest-runner'" ""
'';
nativeCheckInputs = [ nativeCheckInputs = [
pytestCheckHook pytestCheckHook
@ -31,6 +34,7 @@ buildPythonPackage rec {
meta = with lib; { meta = with lib; {
description = "Token Bucket Implementation for Python Web Apps"; description = "Token Bucket Implementation for Python Web Apps";
homepage = "https://github.com/falconry/token-bucket"; homepage = "https://github.com/falconry/token-bucket";
changelog = "https://github.com/falconry/token-bucket/releases/tag/${version}";
license = licenses.asl20; license = licenses.asl20;
maintainers = with maintainers; [ hexa ]; maintainers = with maintainers; [ hexa ];
}; };

View file

@ -327,7 +327,7 @@ let
chebpol = [ pkgs.fftw.dev ]; chebpol = [ pkgs.fftw.dev ];
ChemmineOB = with pkgs; [ openbabel pkg-config ]; ChemmineOB = with pkgs; [ openbabel pkg-config ];
curl = [ pkgs.curl.dev ]; curl = [ pkgs.curl.dev ];
data_table = [ pkgs.zlib.dev ] ++ lib.optional stdenv.isDarwin pkgs.llvmPackages.openmp; data_table = with pkgs; [ pkg-config zlib.dev ] ++ lib.optional stdenv.isDarwin pkgs.llvmPackages.openmp;
devEMF = with pkgs; [ xorg.libXft.dev ]; devEMF = with pkgs; [ xorg.libXft.dev ];
diversitree = with pkgs; [ gsl fftw ]; diversitree = with pkgs; [ gsl fftw ];
exactextractr = [ pkgs.geos ]; exactextractr = [ pkgs.geos ];

View file

@ -22,14 +22,14 @@ with py.pkgs;
buildPythonApplication rec { buildPythonApplication rec {
pname = "checkov"; pname = "checkov";
version = "2.3.283"; version = "2.3.285";
format = "setuptools"; format = "setuptools";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "bridgecrewio"; owner = "bridgecrewio";
repo = pname; repo = pname;
rev = "refs/tags/${version}"; rev = "refs/tags/${version}";
hash = "sha256-2NiDCzbZR82wQeRRTeKLx6FZe25k4wmzACCWNUJG+yI="; hash = "sha256-e451r8md6HOOhEIsjFitQ0IGacQ6bhA/jBFmaz/zVv8=";
}; };
patches = [ patches = [

View file

@ -25,11 +25,11 @@ let
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
pname = "postfix"; pname = "postfix";
version = "3.8.0"; version = "3.8.1";
src = fetchurl { src = fetchurl {
url = "http://cdn.postfix.johnriley.me/mirrors/postfix-release/official/${pname}-${version}.tar.gz"; url = "http://cdn.postfix.johnriley.me/mirrors/postfix-release/official/${pname}-${version}.tar.gz";
hash = "sha256-o62AKb0sawxXZHeg93v50sC3YcuqDvv+9Hlp7+purek="; hash = "sha256-VOG//e0wMoKKcN4iwqGpTRwJf8RRPg/b/P2/O/9rcJI=";
}; };
nativeBuildInputs = [ makeWrapper m4 ]; nativeBuildInputs = [ makeWrapper m4 ];

View file

@ -2,7 +2,7 @@
buildGoModule rec { buildGoModule rec {
pname = "grafana"; pname = "grafana";
version = "9.5.2"; version = "9.5.3";
excludedPackages = [ "alert_webhook_listener" "clean-swagger" "release_publisher" "slow_proxy" "slow_proxy_mac" "macaron" "devenv" ]; excludedPackages = [ "alert_webhook_listener" "clean-swagger" "release_publisher" "slow_proxy" "slow_proxy_mac" "macaron" "devenv" ];
@ -10,12 +10,12 @@ buildGoModule rec {
rev = "v${version}"; rev = "v${version}";
owner = "grafana"; owner = "grafana";
repo = "grafana"; repo = "grafana";
hash = "sha256-4Gt5VwKD6YkxNSKxvfGjakXF4jF9aoaFZ+dXy/GsDaU="; hash = "sha256-b9FkyDEidM7n+eY9IlZT9vysphe4CW5vGXYn9M5BIJM=";
}; };
srcStatic = fetchurl { srcStatic = fetchurl {
url = "https://dl.grafana.com/oss/release/grafana-${version}.linux-amd64.tar.gz"; url = "https://dl.grafana.com/oss/release/grafana-${version}.linux-amd64.tar.gz";
hash = "sha256-xY600pasxP/+XbbbX4U3zp8R837/46+uJ9zQWva5Or8="; hash = "sha256-PfdRPMQrEaTwg9wWeyJo6I9HuQX6sxl1JbT9CTixnyc=";
}; };
vendorHash = "sha256-E9Qdsk691+laPrQQnYBIwxAIbXh7wxB0G2e/Vp+4x98="; vendorHash = "sha256-E9Qdsk691+laPrQQnYBIwxAIbXh7wxB0G2e/Vp+4x98=";

View file

@ -1,5 +1,5 @@
{ fetchurl, lib, stdenv, gettext, perl, pkg-config, libxml2, pango, cairo, groff { fetchurl, lib, stdenv, gettext, perl, pkg-config, libxml2, pango, cairo, groff
, tcl-8_5, darwin }: , tcl, darwin }:
perl.pkgs.toPerlModule (stdenv.mkDerivation rec { perl.pkgs.toPerlModule (stdenv.mkDerivation rec {
pname = "rrdtool"; pname = "rrdtool";
@ -13,7 +13,7 @@ perl.pkgs.toPerlModule (stdenv.mkDerivation rec {
nativeBuildInputs = [ pkg-config ]; nativeBuildInputs = [ pkg-config ];
buildInputs = [ gettext perl libxml2 pango cairo groff ] buildInputs = [ gettext perl libxml2 pango cairo groff ]
++ lib.optionals stdenv.isDarwin [ tcl-8_5 darwin.apple_sdk.frameworks.ApplicationServices ]; ++ lib.optionals stdenv.isDarwin [ tcl darwin.apple_sdk.frameworks.ApplicationServices ];
postInstall = '' postInstall = ''
# for munin and rrdtool support # for munin and rrdtool support

View file

@ -1,6 +1,8 @@
{ lib, stdenv, stdenvNoCC, fetchFromGitHub, callPackage, makeWrapper { lib, stdenv, stdenvNoCC, fetchFromGitHub, callPackage, makeWrapper
, clang, llvm, gcc, which, libcgroup, python, perl, gmp , clang, llvm, gcc, which, libcgroup, python3, perl, gmp
, file, wine ? null, fetchpatch , file, wine ? null, fetchpatch
, cmocka
, llvmPackages
}: }:
# wine fuzzing is only known to work for win32 binaries, and using a mixture of # wine fuzzing is only known to work for win32 binaries, and using a mixture of
@ -17,38 +19,51 @@ let
libtokencap = callPackage ./libtokencap.nix { inherit aflplusplus; }; libtokencap = callPackage ./libtokencap.nix { inherit aflplusplus; };
aflplusplus = stdenvNoCC.mkDerivation rec { aflplusplus = stdenvNoCC.mkDerivation rec {
pname = "aflplusplus"; pname = "aflplusplus";
version = "2.65c"; version = "4.06c";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "AFLplusplus"; owner = "AFLplusplus";
repo = "AFLplusplus"; repo = "AFLplusplus";
rev = version; rev = version;
sha256 = "1np2a3kypb2m8nyv6qnij18yzn41pl8619jzydci40br4vxial9l"; sha256 = "sha256-Gb1nYDBnwLS+m8e1UD0WLIrnp8KRgliGQVvQD22JXrQ=";
}; };
enableParallelBuilding = true; enableParallelBuilding = true;
# Note: libcgroup isn't needed for building, just for the afl-cgroup # Note: libcgroup isn't needed for building, just for the afl-cgroup
# script. # script.
nativeBuildInputs = [ makeWrapper which clang gcc ]; nativeBuildInputs = [ makeWrapper which clang gcc ];
buildInputs = [ llvm python gmp ] buildInputs = [ llvm python3 gmp llvmPackages.bintools ]
++ lib.optional (wine != null) python.pkgs.wrapPython; ++ lib.optional (wine != null) python3.pkgs.wrapPython;
# Flag is already set by package and causes some compiler warnings.
# warning: "_FORTIFY_SOURCE" redefined
hardeningDisable = [ "fortify" ];
postPatch = '' postPatch = ''
# Replace the CLANG_BIN variables with the correct path # Don't care about this.
substituteInPlace llvm_mode/afl-clang-fast.c \ rm Android.bp
# Replace the CLANG_BIN variables with the correct path.
# Replace "gcc" and friends with full paths in afl-gcc.
# Prevents afl-gcc picking up any (possibly incorrect) gcc from the path.
# Replace LLVM_BINDIR with a non-existing path to give a hard error when it's used.
substituteInPlace src/afl-cc.c \
--replace "CLANGPP_BIN" '"${clang}/bin/clang++"' \ --replace "CLANGPP_BIN" '"${clang}/bin/clang++"' \
--replace "CLANG_BIN" '"${clang}/bin/clang"' \ --replace "CLANG_BIN" '"${clang}/bin/clang"' \
--replace 'getenv("AFL_PATH")' "(getenv(\"AFL_PATH\") ? getenv(\"AFL_PATH\") : \"$out/lib/afl\")"
# Replace "gcc" and friends with full paths in afl-gcc
# Prevents afl-gcc picking up any (possibly incorrect) gcc from the path
substituteInPlace src/afl-gcc.c \
--replace '"gcc"' '"${gcc}/bin/gcc"' \ --replace '"gcc"' '"${gcc}/bin/gcc"' \
--replace '"g++"' '"${gcc}/bin/g++"' \ --replace '"g++"' '"${gcc}/bin/g++"' \
--replace '"gcj"' '"gcj-UNSUPPORTED"' \ --replace 'getenv("AFL_PATH")' "(getenv(\"AFL_PATH\") ? getenv(\"AFL_PATH\") : \"$out/lib/afl\")"
--replace '"clang"' '"clang-UNSUPPORTED"' \
--replace '"clang++"' '"clang++-UNSUPPORTED"' substituteInPlace src/afl-ld-lto.c \
--replace 'LLVM_BINDIR' '"/nixpkgs-patched-does-not-exist"'
# Remove the rest of the line
sed -i 's|LLVM_BINDIR = .*|LLVM_BINDIR = |' utils/aflpp_driver/GNUmakefile
substituteInPlace utils/aflpp_driver/GNUmakefile \
--replace 'LLVM_BINDIR = ' 'LLVM_BINDIR = ${clang}/bin/'
substituteInPlace GNUmakefile.llvm \
--replace "\$(LLVM_BINDIR)/clang" "${clang}/bin/clang"
''; '';
env.NIX_CFLAGS_COMPILE = toString [ env.NIX_CFLAGS_COMPILE = toString [
@ -56,15 +71,19 @@ let
"-Wno-error=use-after-free" "-Wno-error=use-after-free"
]; ];
makeFlags = [ "PREFIX=$(out)" ]; makeFlags = [
"PREFIX=$(out)"
"USE_BINDIR=0"
];
buildPhase = '' buildPhase = ''
runHook preBuild
common="$makeFlags -j$NIX_BUILD_CORES" common="$makeFlags -j$NIX_BUILD_CORES"
make all $common make distrib $common
make radamsa $common
make -C gcc_plugin CC=${gcc}/bin/gcc CXX=${gcc}/bin/g++ $common
make -C llvm_mode $common
make -C qemu_mode/libcompcov $common make -C qemu_mode/libcompcov $common
make -C qemu_mode/unsigaction $common make -C qemu_mode/unsigaction $common
runHook postBuild
''; '';
postInstall = '' postInstall = ''
@ -75,7 +94,7 @@ let
cp qemu_mode/unsigaction/unsigaction*.so $out/lib/afl/ cp qemu_mode/unsigaction/unsigaction*.so $out/lib/afl/
# Install the custom QEMU emulator for binary blob fuzzing. # Install the custom QEMU emulator for binary blob fuzzing.
cp ${aflplusplus-qemu}/bin/${qemu-exe-name} $out/bin/afl-qemu-trace ln -s ${aflplusplus-qemu}/bin/${qemu-exe-name} $out/bin/afl-qemu-trace
# give user a convenient way of accessing libcompconv.so, libdislocator.so, libtokencap.so # give user a convenient way of accessing libcompconv.so, libdislocator.so, libtokencap.so
cat > $out/bin/get-afl-qemu-libcompcov-so <<END cat > $out/bin/get-afl-qemu-libcompcov-so <<END
@ -83,11 +102,11 @@ let
echo $out/lib/afl/libcompcov.so echo $out/lib/afl/libcompcov.so
END END
chmod +x $out/bin/get-afl-qemu-libcompcov-so chmod +x $out/bin/get-afl-qemu-libcompcov-so
cp ${libdislocator}/bin/get-libdislocator-so $out/bin/ ln -s ${libdislocator}/bin/get-libdislocator-so $out/bin/
cp ${libtokencap}/bin/get-libtokencap-so $out/bin/ ln -s ${libtokencap}/bin/get-libtokencap-so $out/bin/
# Install the cgroups wrapper for asan-based fuzzing. # Install the cgroups wrapper for asan-based fuzzing.
cp examples/asan_cgroups/limit_memory.sh $out/bin/afl-cgroup cp utils/asan_cgroups/limit_memory.sh $out/bin/afl-cgroup
chmod +x $out/bin/afl-cgroup chmod +x $out/bin/afl-cgroup
substituteInPlace $out/bin/afl-cgroup \ substituteInPlace $out/bin/afl-cgroup \
--replace "cgcreate" "${libcgroup}/bin/cgcreate" \ --replace "cgcreate" "${libcgroup}/bin/cgcreate" \
@ -107,19 +126,32 @@ let
if [ -x $winePath ]; then break; fi if [ -x $winePath ]; then break; fi
done done
makeWrapperArgs="--set-default 'AFL_WINE_PATH' '$winePath'" \ makeWrapperArgs="--set-default 'AFL_WINE_PATH' '$winePath'" \
wrapPythonProgramsIn $out/bin ${python.pkgs.pefile} wrapPythonProgramsIn $out/bin ${python3.pkgs.pefile}
''; '';
nativeInstallCheckInputs = [ perl file ]; nativeInstallCheckInputs = [ perl file cmocka ];
doInstallCheck = true; doInstallCheck = true;
installCheckPhase = '' installCheckPhase = ''
runHook preInstallCheck
# replace references to tools in build directory with references to installed locations # replace references to tools in build directory with references to installed locations
substituteInPlace test/test.sh \ substituteInPlace test/test-qemu-mode.sh \
--replace '../libcompcov.so' '`$out/bin/get-afl-qemu-libcompcov-so`' \ --replace '../libcompcov.so' '`$out/bin/get-afl-qemu-libcompcov-so`' \
--replace '../afl-qemu-trace' '$out/bin/afl-qemu-trace' \
--replace '../afl-fuzz' '$out/bin/afl-fuzz' \
--replace '../qemu_mode/unsigaction/unsigaction32.so' '$out/lib/afl/unsigaction32.so' \
--replace '../qemu_mode/unsigaction/unsigaction64.so' '$out/lib/afl/unsigaction64.so'
substituteInPlace test/test-libextensions.sh \
--replace '../libdislocator.so' '`$out/bin/get-libdislocator-so`' \ --replace '../libdislocator.so' '`$out/bin/get-libdislocator-so`' \
--replace '../libtokencap.so' '`$out/bin/get-libtokencap-so`' --replace '../libtokencap.so' '`$out/bin/get-libtokencap-so`'
perl -pi -e 's|(?<!\.)(?<!-I)(\.\./)([^\s\/]+?)(?<!\.c)(?<!\.s?o)(?=\s)|\$out/bin/\2|g' test/test.sh substituteInPlace test/test-llvm.sh \
cd test && ./test.sh --replace '../afl-cmin.bash' '`$out/bin/afl-cmin.bash`'
# perl -pi -e 's|(?<!\.)(?<!-I)(\.\./)([^\s\/]+?)(?<!\.c)(?<!\.s?o)(?=\s)|\$out/bin/\2|g' test/test.sh
patchShebangs .
cd test && ./test-all.sh
runHook postInstallCheck
''; '';
passthru = { passthru = {

View file

@ -6,15 +6,14 @@ stdenv.mkDerivation {
src = aflplusplus.src; src = aflplusplus.src;
postUnpack = "chmod -R +w ${aflplusplus.src.name}"; postUnpack = "chmod -R +w ${aflplusplus.src.name}";
sourceRoot = "${aflplusplus.src.name}/libdislocator"; sourceRoot = "${aflplusplus.src.name}/utils/libdislocator";
makeFlags = [ "PREFIX=$(out)" ]; makeFlags = [ "PREFIX=$(out)" ];
preInstall = '' preInstall = ''
mkdir -p $out/lib/afl mkdir -p $out/lib/afl
# issue is fixed upstream: https://github.com/AFLplusplus/AFLplusplus/commit/2a60ceb6944a7ca273057ddf64dcf837bf7f9521
sed -i 's/README\.dislocator\.md/README\.md/g' Makefile
''; '';
postInstall = '' postInstall = ''
mkdir $out/bin mkdir $out/bin
cat > $out/bin/get-libdislocator-so <<END cat > $out/bin/get-libdislocator-so <<END

View file

@ -6,7 +6,7 @@ stdenv.mkDerivation {
src = aflplusplus.src; src = aflplusplus.src;
postUnpack = "chmod -R +w ${aflplusplus.src.name}"; postUnpack = "chmod -R +w ${aflplusplus.src.name}";
sourceRoot = "${aflplusplus.src.name}/libtokencap"; sourceRoot = "${aflplusplus.src.name}/utils/libtokencap";
makeFlags = [ "PREFIX=$(out)" ]; makeFlags = [ "PREFIX=$(out)" ];
@ -24,7 +24,7 @@ stdenv.mkDerivation {
''; '';
meta = with lib; { meta = with lib; {
homepage = "https://github.com/vanhauser-thc/AFLplusplus"; homepage = "https://github.com/AFLplusplus/AFLplusplus";
description = "strcmp & memcmp token capture library"; description = "strcmp & memcmp token capture library";
license = lib.licenses.asl20; license = lib.licenses.asl20;
maintainers = with maintainers; [ ris ]; maintainers = with maintainers; [ ris ];

View file

@ -1,78 +1,147 @@
{ lib, stdenv, fetchurl, aflplusplus, python3, zlib, pkg-config, glib, perl { lib
, texinfo, libuuid, flex, bison, pixman, autoconf , stdenv
, fetchurl
, aflplusplus
, python3
, zlib
, pkg-config
, glib
, perl
, texinfo
, libuuid
, flex
, bison
, pixman
, meson
, fetchFromGitHub
, ninja
}: }:
let let
qemuName = "qemu-3.1.0"; qemuName = "qemu-5.2.50";
cpuTarget = if stdenv.targetPlatform.system == "x86_64-linux" then "x86_64-linux-user" cpuTarget =
if stdenv.targetPlatform.system == "x86_64-linux" then "x86_64-linux-user"
else if stdenv.targetPlatform.system == "i686-linux" then "i386-linux-user" else if stdenv.targetPlatform.system == "i686-linux" then "i386-linux-user"
else throw "aflplusplus: no support for ${stdenv.targetPlatform.system}!"; else throw "aflplusplus: no support for ${stdenv.targetPlatform.system}!";
in in
stdenv.mkDerivation { stdenv.mkDerivation {
name = "aflplusplus-${qemuName}"; name = "aflplusplus-${qemuName}";
srcs = [ src = fetchFromGitHub {
(fetchurl { owner = "AFLplusplus";
url = "http://wiki.qemu.org/download/${qemuName}.tar.bz2"; repo = "qemuafl";
sha256 = "08frr1fdjx8qcfh3fafn10kibdwbvkqqvfl7hpqbm7i9dg4f1zlq"; rev = "0569eff8a12dec73642b96757f6b5b51a618a03a";
}) sha256 = "sha256-nYWHyRfOH2p9znRxjxsiyw11uZuMBiuJfEc7FHM5X7M=";
aflplusplus.src fetchSubmodules = true;
]; };
sourceRoot = qemuName;
postUnpack = ''
chmod -R +w ${aflplusplus.src.name}
for f in ${aflplusplus.src.name}/qemu_mode/patches/* ; do
sed -E -i 's|(\.\./)+patches/([a-z-]+\.h)|\2|g' $f
sed -E -i 's|\.\./\.\./config\.h|afl-config.h|g' $f
sed -E -i 's|\.\./\.\./include/cmplog\.h|afl-cmplog.h|g' $f
done
cp ${aflplusplus.src.name}/qemu_mode/patches/*.h $sourceRoot/
cp ${aflplusplus.src.name}/types.h $sourceRoot/afl-types.h
substitute ${aflplusplus.src.name}/config.h $sourceRoot/afl-config.h \
--replace "types.h" "afl-types.h"
substitute ${aflplusplus.src.name}/include/cmplog.h $sourceRoot/afl-cmplog.h \
--replace "config.h" "afl-config.h" \
--replace "forkserver.h" "afl-forkserver.h"
substitute ${aflplusplus.src.name}/include/forkserver.h $sourceRoot/afl-forkserver.h \
--replace "types.h" "afl-types.h"
cat ${aflplusplus.src.name}/qemu_mode/patches/*.diff > all.patch
'';
nativeBuildInputs = [ nativeBuildInputs = [
python3 perl pkg-config flex bison autoconf texinfo python3
perl
pkg-config
flex
bison
meson
texinfo
ninja
]; ];
buildInputs = [ buildInputs = [
zlib glib pixman libuuid zlib
glib
pixman
libuuid
]; ];
enableParallelBuilding = true; enableParallelBuilding = true;
patches = [ dontUseMesonConfigure = true; # meson's configurePhase isn't compatible with qemu build
# patches extracted from aflplusplus source preBuild = "cd build";
"../all.patch" preConfigure = ''
# nix-specific patches to make installation more well-behaved # this script isn't marked as executable b/c it's indirectly used by meson. Needed to patch its shebang
./qemu-no-etc-install.patch chmod +x ./scripts/shaderinclude.pl
]; patchShebangs .
'';
configureFlags = configureFlags =
[ "--disable-system" [
"--enable-linux-user" "--target-list=${stdenv.hostPlatform.uname.processor}-linux-user"
"--disable-gtk"
"--disable-sdl"
"--disable-vnc"
"--disable-kvm"
"--target-list=${cpuTarget}"
"--enable-pie"
"--sysconfdir=/etc" "--sysconfdir=/etc"
"--localstatedir=/var" "--localstatedir=/var"
"--meson=meson"
"--disable-system"
"--enable-linux-user"
"--enable-pie"
"--audio-drv-list="
"--disable-blobs"
"--disable-bochs"
"--disable-brlapi"
"--disable-bsd-user"
"--disable-bzip2"
"--disable-cap-ng"
"--disable-cloop"
"--disable-curl"
"--disable-curses"
"--disable-dmg"
"--disable-fdt"
"--disable-gcrypt"
"--disable-glusterfs"
"--disable-gnutls"
"--disable-gtk"
"--disable-guest-agent"
"--disable-iconv"
"--disable-libiscsi"
"--disable-libnfs"
"--disable-libssh"
"--disable-libusb"
"--disable-linux-aio"
"--disable-live-block-migration"
"--disable-lzo"
"--disable-nettle"
"--disable-numa"
"--disable-opengl"
"--disable-parallels"
"--disable-plugins"
"--disable-qcow1"
"--disable-qed"
"--disable-rbd"
"--disable-rdma"
"--disable-replication"
"--disable-sdl"
"--disable-seccomp"
"--disable-sheepdog"
"--disable-smartcard"
"--disable-snappy"
"--disable-spice"
"--disable-system"
"--disable-tools"
"--disable-tpm"
"--disable-usb-redir"
"--disable-vde"
"--disable-vdi"
"--disable-vhost-crypto"
"--disable-vhost-kernel"
"--disable-vhost-net"
"--disable-vhost-scsi"
"--disable-vhost-user"
"--disable-vhost-vdpa"
"--disable-vhost-vsock"
"--disable-virglrenderer"
"--disable-virtfs"
"--disable-vnc"
"--disable-vnc-jpeg"
"--disable-vnc-png"
"--disable-vnc-sasl"
"--disable-vte"
"--disable-vvfat"
"--disable-xen"
"--disable-xen-pci-passthrough"
"--disable-xfsctl"
"--without-default-devices"
]; ];
meta = with lib; { meta = with lib; {
homepage = "https://www.qemu.org/"; homepage = "https://github.com/AFLplusplus/qemuafl";
description = "Fork of QEMU with AFL++ instrumentation support"; description = "Fork of QEMU with AFL++ instrumentation support";
license = licenses.gpl2Plus; license = licenses.gpl2Plus;
maintainers = with maintainers; [ ris ]; maintainers = with maintainers; [ ris ];

View file

@ -38,7 +38,7 @@ dependencies = [
[[package]] [[package]]
name = "amdgpu_top" name = "amdgpu_top"
version = "0.1.8" version = "0.1.9"
dependencies = [ dependencies = [
"amdgpu_top_gui", "amdgpu_top_gui",
"amdgpu_top_json", "amdgpu_top_json",
@ -896,7 +896,7 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
[[package]] [[package]]
name = "libamdgpu_top" name = "libamdgpu_top"
version = "0.1.7" version = "0.1.9"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"libdrm_amdgpu_sys", "libdrm_amdgpu_sys",
@ -910,9 +910,12 @@ checksum = "3304a64d199bb964be99741b7a14d26972741915b3649639149b2479bb46f4b5"
[[package]] [[package]]
name = "libdrm_amdgpu_sys" name = "libdrm_amdgpu_sys"
version = "0.1.2" version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a57f94df94d4505d89064895cd70d0ac0adb70fd9cac7a14bf53f3ce78785c4a" checksum = "fbba2720dc87ad23aaa9bbfb7f8cc25a826edfbe0fcfbb99fec1774ad1fb81a0"
dependencies = [
"libc",
]
[[package]] [[package]]
name = "libloading" name = "libloading"

View file

@ -14,13 +14,13 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "amdgpu_top"; pname = "amdgpu_top";
version = "0.1.8"; version = "0.1.9";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Umio-Yasuno"; owner = "Umio-Yasuno";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
hash = "sha256-QsoOqkRtIwkLn7zg4hggGLNzyjdneYYs0XfQMdIEcCM="; hash = "sha256-RR+YK8LyrPz7Pfv8moSOPei+56088lhoz8HxoB6+0B8=";
}; };
cargoLock.lockFile = ./Cargo.lock; cargoLock.lockFile = ./Cargo.lock;

View file

@ -23,6 +23,11 @@ stdenv.mkDerivation rec {
done done
''; '';
env = {
NIX_CFLAGS_COMPILE = "-DUSE_INTERP_RESULT";
NIX_LDFLAGS = "-ltcl";
};
# If we don't create the directories ourselves, then 'make install' creates # If we don't create the directories ourselves, then 'make install' creates
# files named 'bin' and 'lib'. # files named 'bin' and 'lib'.
preInstall = '' preInstall = ''
@ -54,6 +59,6 @@ stdenv.mkDerivation rec {
homepage = "https://www.samba.org/ftp/paulus/"; homepage = "https://www.samba.org/ftp/paulus/";
license = licenses.gpl2Plus; license = licenses.gpl2Plus;
maintainers = with maintainers; [ khumba ]; maintainers = with maintainers; [ khumba ];
platforms = platforms.linux; platforms = platforms.unix;
}; };
} }

View file

@ -1416,9 +1416,9 @@ with pkgs;
}; };
aflplusplus = callPackage ../tools/security/aflplusplus { aflplusplus = callPackage ../tools/security/aflplusplus {
clang = clang_9; clang = clang_15;
llvm = llvm_9; llvm = llvm_15;
python = python3; llvmPackages = llvmPackages_15;
wine = null; wine = null;
}; };
@ -6944,10 +6944,7 @@ with pkgs;
dsp = callPackage ../tools/audio/dsp { }; dsp = callPackage ../tools/audio/dsp { };
dirdiff = callPackage ../tools/text/dirdiff { dirdiff = callPackage ../tools/text/dirdiff { };
tcl = tcl-8_5;
tk = tk-8_5;
};
dwdiff = callPackage ../applications/misc/dwdiff { }; dwdiff = callPackage ../applications/misc/dwdiff { };
@ -20731,7 +20728,7 @@ with pkgs;
}; };
glfw2 = callPackage ../development/libraries/glfw/2.x.nix { }; glfw2 = callPackage ../development/libraries/glfw/2.x.nix { };
glfw3 = callPackage ../development/libraries/glfw/3.x.nix { glfw3 = callPackage ../development/libraries/glfw/3.x.nix {
inherit (darwin.apple_sdk.frameworks) Cocoa Kernel; inherit (darwin.apple_sdk.frameworks) Carbon Cocoa Kernel OpenGL;
}; };
glibc = callPackage ../development/libraries/glibc { glibc = callPackage ../development/libraries/glibc {
@ -29354,9 +29351,7 @@ with pkgs;
alot = callPackage ../applications/networking/mailreaders/alot { }; alot = callPackage ../applications/networking/mailreaders/alot { };
alpine = callPackage ../applications/networking/mailreaders/alpine { alpine = callPackage ../applications/networking/mailreaders/alpine { };
tcl = tcl-8_5;
};
msgviewer = callPackage ../applications/networking/mailreaders/msgviewer { }; msgviewer = callPackage ../applications/networking/mailreaders/msgviewer { };