diff --git a/pkgs/tools/system/bfs/default.nix b/pkgs/tools/system/bfs/default.nix new file mode 100644 index 00000000000..2e4133124c1 --- /dev/null +++ b/pkgs/tools/system/bfs/default.nix @@ -0,0 +1,38 @@ +{ stdenv, fetchFromGitHub, bash }: + +stdenv.mkDerivation rec { + name = "bfs-${version}"; + version = "1.2.1"; + + src = fetchFromGitHub { + repo = "bfs"; + owner = "tavianator"; + rev = version; + sha256 = "1dgc31l5d20i0v78c51xga4lr78b5x8dz6yzsvbhlgs0abi0nynx"; + }; + + # Disable fstype test, tries to read /etc/mtab + patches = [ ./tests.patch ]; + postPatch = '' + # Patch tests (both shebangs and usage in scripts) + for f in $(find -type f -name '*.sh'); do + substituteInPlace $f --replace "/bin/bash" "${bash}/bin/bash" + done + ''; + doCheck = true; + + makeFlags = [ "PREFIX=$(out)" ]; + buildFlags = [ "release" ]; # "release" enables compiler optimizations + + meta = with stdenv.lib; { + description = "A breadth-first version of the UNIX find command"; + longDescription = '' + bfs is a variant of the UNIX find command that operates breadth-first rather than + depth-first. It is otherwise intended to be compatible with many versions of find. + ''; + homepage = https://github.com/tavianator/bfs; + license = licenses.bsd0; + platforms = platforms.linux; + maintainers = with maintainers; [ yesbox ]; + }; +} diff --git a/pkgs/tools/system/bfs/tests.patch b/pkgs/tools/system/bfs/tests.patch new file mode 100644 index 00000000000..a30291d7095 --- /dev/null +++ b/pkgs/tools/system/bfs/tests.patch @@ -0,0 +1,10 @@ +--- a/tests.sh ++++ b/tests.sh +@@ -369,7 +369,6 @@ + test_printf_nul + test_quit_after_print + test_quit_before_print +- test_fstype + test_not + test_and + test_or diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 92f81ee2861..82f7450af3e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1390,6 +1390,8 @@ with pkgs; bfg-repo-cleaner = gitAndTools.bfg-repo-cleaner; + bfs = callPackage ../tools/system/bfs { }; + bgs = callPackage ../tools/X11/bgs { }; biber = callPackage ../tools/typesetting/biber {