diff --git a/pkgs/development/tools/misc/gperf/3.0.x.nix b/pkgs/development/tools/misc/gperf/3.0.x.nix new file mode 100644 index 00000000000..bfada264d50 --- /dev/null +++ b/pkgs/development/tools/misc/gperf/3.0.x.nix @@ -0,0 +1,33 @@ +{stdenv, fetchurl}: + +stdenv.mkDerivation rec { + name = "gperf-3.0.4"; + + src = fetchurl { + url = "mirror://gnu/gperf/${name}.tar.gz"; + sha256 = "0gnnm8iqcl52m8iha3sxrzrl9mcyhg7lfrhhqgdn4zj00ji14wbn"; + }; + + meta = { + description = "Perfect hash function generator"; + + longDescription = '' + GNU gperf is a perfect hash function generator. For a given + list of strings, it produces a hash function and hash table, in + form of C or C++ code, for looking up a value depending on the + input string. The hash function is perfect, which means that + the hash table has no collisions, and the hash table lookup + needs a single string comparison only. + + GNU gperf is highly customizable. There are options for + generating C or C++ code, for emitting switch statements or + nested ifs instead of a hash table, and for tuning the algorithm + employed by gperf. + ''; + + license = stdenv.lib.licenses.gpl3Plus; + + homepage = http://www.gnu.org/software/gperf/; + platforms = stdenv.lib.platforms.unix; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e1bbb22e06f..f209201eb2f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6354,6 +6354,7 @@ in gradle_2_5 = self.gradleGen.gradle_2_5; gperf = callPackage ../development/tools/misc/gperf { }; + gperf_3_0 = callPackage ../development/tools/misc/gperf/3.0.x.nix { }; grail = callPackage ../development/libraries/grail { }; @@ -11723,6 +11724,7 @@ in systemd = callPackage ../os-specific/linux/systemd { utillinux = utillinuxMinimal; # break the cyclic dependency + gperf = gperf_3_0; # fix build until v233 } // { udev.bin = systemd; # ${systemd.udev.bin}/bin/udevadm