aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/pkgs/development/libraries/libhugetlbfs/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/libhugetlbfs/default.nix')
-rw-r--r--nixpkgs/pkgs/development/libraries/libhugetlbfs/default.nix51
1 files changed, 51 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/libhugetlbfs/default.nix b/nixpkgs/pkgs/development/libraries/libhugetlbfs/default.nix
new file mode 100644
index 00000000000..ed5f67d4370
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libhugetlbfs/default.nix
@@ -0,0 +1,51 @@
+{ stdenv, lib, fetchurl, fetchpatch }:
+
+stdenv.mkDerivation rec {
+ pname = "libhugetlbfs";
+ version = "2.22";
+
+ src = fetchurl {
+ url = "https://github.com/libhugetlbfs/libhugetlbfs/releases/download/${version}/libhugetlbfs-${version}.tar.gz";
+ sha256 = "11b7k8xvgx68rjzidm12a6l6b23hwi7hj149y9xxfz2j5kmakp4l";
+ };
+
+ outputs = [ "bin" "dev" "man" "doc" "lib" "out" ];
+
+ patches = [
+ # Don't check that 32-bit and 64-bit libraries don't get installed
+ # to the same place if only one platform is being built for.
+ # Can be removed if build succeeds without it.
+ (fetchpatch {
+ url = "https://groups.google.com/forum/message/raw?msg=libhugetlbfs/IswjDAygfwA/PKy7MZbVAAAJ";
+ sha256 = "00fyrhn380d6swil8pcf4x0krl1113ghswrvjn3m9czc3h4p385a";
+ })
+ ];
+
+ postConfigure = ''
+ patchShebangs ld.hugetlbfs
+ '';
+
+ enableParallelBuilding = true;
+ makeFlags = [
+ "BUILDTYPE=NATIVEONLY"
+ "PREFIX=$(out)"
+ "HEADERDIR=$(dev)/include"
+ "LIBDIR32=$(lib)/$(LIB32)"
+ "LIBDIR64=$(lib)/$(LIB64)"
+ "EXEDIR=$(bin)/bin"
+ "DOCDIR=$(doc)/share/doc/libhugetlbfs"
+ ] ++ map (n: "MANDIR${n}=$(man)/share/man/man${n}")
+ (lib.genList (n: toString (n + 1)) 8);
+
+ # Default target builds tests as well, and the tests want a static
+ # libc.
+ buildFlags = [ "libs" "tools" ];
+ installTargets = [ "install" "install-docs" ];
+
+ meta = with lib; {
+ description = "library and utilities for Linux hugepages";
+ maintainers = with maintainers; [ qyliss ];
+ license = licenses.lgpl21Plus;
+ platforms = platforms.linux;
+ };
+}