aboutsummaryrefslogtreecommitdiff
path: root/pkgs/development/libraries/jemalloc
diff options
context:
space:
mode:
authorYorick van Pelt <yorick@yorickvanpelt.nl>2018-04-16 12:27:04 +0200
committerYorick van Pelt <yorick@yorickvanpelt.nl>2018-04-16 12:31:26 +0200
commitd536542ee4db45c1ccbe0d5448ea072496025043 (patch)
tree27266a890c082b2ca81b19b97423d4a3d758cd17 /pkgs/development/libraries/jemalloc
parent911a6da2fe2f3270707e2e9489eec7d4303f19a6 (diff)
jemalloc: add 4.5.0 version
Diffstat (limited to 'pkgs/development/libraries/jemalloc')
-rw-r--r--pkgs/development/libraries/jemalloc/common.nix40
-rw-r--r--pkgs/development/libraries/jemalloc/default.nix40
-rw-r--r--pkgs/development/libraries/jemalloc/jemalloc450.nix6
3 files changed, 49 insertions, 37 deletions
diff --git a/pkgs/development/libraries/jemalloc/common.nix b/pkgs/development/libraries/jemalloc/common.nix
new file mode 100644
index 000000000000..f4bd35ee56ee
--- /dev/null
+++ b/pkgs/development/libraries/jemalloc/common.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchurl, fetchpatch, version, sha256 }:
+
+stdenv.mkDerivation rec {
+ name = "jemalloc-${version}";
+ inherit version;
+
+ src = fetchurl {
+ url = "https://github.com/jemalloc/jemalloc/releases/download/${version}/${name}.tar.bz2";
+ inherit sha256;
+ };
+
+ # By default, jemalloc puts a je_ prefix onto all its symbols on OSX, which
+ # then stops downstream builds (mariadb in particular) from detecting it. This
+ # option should remove the prefix and give us a working jemalloc.
+ configureFlags = stdenv.lib.optional stdenv.isDarwin "--with-jemalloc-prefix="
+ # jemalloc is unable to correctly detect transparent hugepage support on
+ # ARM (https://github.com/jemalloc/jemalloc/issues/526), and the default
+ # kernel ARMv6/7 kernel does not enable it, so we explicitly disable support
+ ++ stdenv.lib.optional stdenv.isArm "--disable-thp";
+ doCheck = true;
+
+ patches = stdenv.lib.optional stdenv.isAarch64 (fetchpatch {
+ url = "https://patch-diff.githubusercontent.com/raw/jemalloc/jemalloc/pull/1035.patch";
+ sha256 = "02y0q3dp253bipxv4r954nqipbjbj92p6ww9bx5bk3d8pa81wkqq";
+ });
+
+ enableParallelBuilding = true;
+
+ meta = with stdenv.lib; {
+ homepage = http://jemalloc.net;
+ description = "General purpose malloc(3) implementation";
+ longDescription = ''
+ malloc(3)-compatible memory allocator that emphasizes fragmentation
+ avoidance and scalable concurrency support.
+ '';
+ license = licenses.bsd2;
+ platforms = platforms.all;
+ maintainers = with maintainers; [ wkennington ];
+ };
+}
diff --git a/pkgs/development/libraries/jemalloc/default.nix b/pkgs/development/libraries/jemalloc/default.nix
index 0882431cc15b..c507eacbd002 100644
--- a/pkgs/development/libraries/jemalloc/default.nix
+++ b/pkgs/development/libraries/jemalloc/default.nix
@@ -1,40 +1,6 @@
{ stdenv, fetchurl, fetchpatch }:
-
-stdenv.mkDerivation rec {
- name = "jemalloc-${version}";
+import ./common.nix {
+ inherit stdenv fetchurl fetchpatch;
version = "5.0.1";
-
- src = fetchurl {
- url = "https://github.com/jemalloc/jemalloc/releases/download/${version}/${name}.tar.bz2";
- sha256 = "4814781d395b0ef093b21a08e8e6e0bd3dab8762f9935bbfb71679b0dea7c3e9";
- };
-
- # By default, jemalloc puts a je_ prefix onto all its symbols on OSX, which
- # then stops downstream builds (mariadb in particular) from detecting it. This
- # option should remove the prefix and give us a working jemalloc.
- configureFlags = stdenv.lib.optional stdenv.isDarwin "--with-jemalloc-prefix="
- # jemalloc is unable to correctly detect transparent hugepage support on
- # ARM (https://github.com/jemalloc/jemalloc/issues/526), and the default
- # kernel ARMv6/7 kernel does not enable it, so we explicitly disable support
- ++ stdenv.lib.optional stdenv.isArm "--disable-thp";
- doCheck = true;
-
- patches = stdenv.lib.optional stdenv.isAarch64 (fetchpatch {
- url = "https://patch-diff.githubusercontent.com/raw/jemalloc/jemalloc/pull/1035.patch";
- sha256 = "02y0q3dp253bipxv4r954nqipbjbj92p6ww9bx5bk3d8pa81wkqq";
- });
-
- enableParallelBuilding = true;
-
- meta = with stdenv.lib; {
- homepage = http://jemalloc.net;
- description = "General purpose malloc(3) implementation";
- longDescription = ''
- malloc(3)-compatible memory allocator that emphasizes fragmentation
- avoidance and scalable concurrency support.
- '';
- license = licenses.bsd2;
- platforms = platforms.all;
- maintainers = with maintainers; [ wkennington ];
- };
+ sha256 = "4814781d395b0ef093b21a08e8e6e0bd3dab8762f9935bbfb71679b0dea7c3e9";
}
diff --git a/pkgs/development/libraries/jemalloc/jemalloc450.nix b/pkgs/development/libraries/jemalloc/jemalloc450.nix
new file mode 100644
index 000000000000..a55270fcd021
--- /dev/null
+++ b/pkgs/development/libraries/jemalloc/jemalloc450.nix
@@ -0,0 +1,6 @@
+{ stdenv, fetchurl, fetchpatch }:
+import ./common.nix {
+ inherit stdenv fetchurl fetchpatch;
+ version = "4.5.0";
+ sha256 = "10373xhpc10pgmai9fkc1z0rs029qlcb3c0qfnvkbwdlcibdh2cl";
+}