Merge pull request #140800 from ivmai/update-libgc-8_0_6
boehmgc: 8.0.4 -> 8.0.6
This commit is contained in:
commit
d1208e6382
4 changed files with 5 additions and 135 deletions
|
@ -1,74 +0,0 @@
|
|||
{ lib, stdenv, fetchurl, fetchpatch, pkg-config, libatomic_ops
|
||||
, enableLargeConfig ? false # doc: https://github.com/ivmai/bdwgc/blob/v7.6.6/doc/README.macros#L179
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "boehm-gc";
|
||||
version = "7.6.6";
|
||||
|
||||
src = fetchurl {
|
||||
urls = [
|
||||
"https://www.hboehm.info/gc/gc_source/gc-${version}.tar.gz"
|
||||
"https://github.com/ivmai/bdwgc/releases/download/v${version}/gc-${version}.tar.gz"
|
||||
];
|
||||
sha256 = "1p1r015a7jbpvkkbgzv1y8nxrbbp6dg0mq3ksi6ji0qdz3wfss79";
|
||||
};
|
||||
|
||||
buildInputs = [ libatomic_ops ];
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
outputs = [ "out" "dev" "doc" ];
|
||||
separateDebugInfo = stdenv.isLinux;
|
||||
|
||||
preConfigure = lib.optionalString (stdenv.hostPlatform.libc == "musl") ''
|
||||
export NIX_CFLAGS_COMPILE+=" -D_GNU_SOURCE -DUSE_MMAP -DHAVE_DL_ITERATE_PHDR"
|
||||
'';
|
||||
|
||||
patches = [ (fetchpatch {
|
||||
url = "https://gitweb.gentoo.org/proj/musl.git/plain/dev-libs/boehm-gc/files/boehm-gc-7.6.0-sys_select.patch";
|
||||
sha256 = "1gydwlklvci30f5dpp5ccw2p2qpph5y41r55wx9idamjlq66fbb3";
|
||||
}) ] ++
|
||||
# https://github.com/ivmai/bdwgc/pull/208
|
||||
lib.optional stdenv.hostPlatform.isRiscV ./riscv.patch;
|
||||
|
||||
configureFlags =
|
||||
[ "--enable-cplusplus" ]
|
||||
++ lib.optional enableLargeConfig "--enable-large-config"
|
||||
++ lib.optional (stdenv.hostPlatform.libc == "musl") "--disable-static";
|
||||
|
||||
doCheck = true; # not cross;
|
||||
|
||||
# Don't run the native `strip' when cross-compiling.
|
||||
dontStrip = stdenv.hostPlatform != stdenv.buildPlatform;
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = {
|
||||
description = "The Boehm-Demers-Weiser conservative garbage collector for C and C++";
|
||||
|
||||
longDescription = ''
|
||||
The Boehm-Demers-Weiser conservative garbage collector can be used as a
|
||||
garbage collecting replacement for C malloc or C++ new. It allows you
|
||||
to allocate memory basically as you normally would, without explicitly
|
||||
deallocating memory that is no longer useful. The collector
|
||||
automatically recycles memory when it determines that it can no longer
|
||||
be otherwise accessed.
|
||||
|
||||
The collector is also used by a number of programming language
|
||||
implementations that either use C as intermediate code, want to
|
||||
facilitate easier interoperation with C libraries, or just prefer the
|
||||
simple collector interface.
|
||||
|
||||
Alternatively, the garbage collector may be used as a leak detector for
|
||||
C or C++ programs, though that is not its primary goal.
|
||||
'';
|
||||
|
||||
homepage = "https://hboehm.info/gc/";
|
||||
|
||||
# non-copyleft, X11-style license
|
||||
license = "https://hboehm.info/gc/license.txt";
|
||||
|
||||
maintainers = [ ];
|
||||
platforms = lib.platforms.all;
|
||||
};
|
||||
}
|
|
@ -1,18 +1,18 @@
|
|||
{ lib, stdenv, fetchurl
|
||||
, autoreconfHook
|
||||
, enableLargeConfig ? false # doc: https://github.com/ivmai/bdwgc/blob/v7.6.6/doc/README.macros#L179
|
||||
, enableLargeConfig ? false # doc: https://github.com/ivmai/bdwgc/blob/v8.0.6/doc/README.macros#L195
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "boehm-gc";
|
||||
version = "8.0.4";
|
||||
version = "8.0.6";
|
||||
|
||||
src = fetchurl {
|
||||
urls = [
|
||||
"https://github.com/ivmai/bdwgc/releases/download/v${version}/gc-${version}.tar.gz"
|
||||
"https://www.hboehm.info/gc/gc_source/gc-${version}.tar.gz"
|
||||
];
|
||||
sha256 = "1798rp3mcfkgs38ynkbg2p47bq59pisrc6mn0l20pb5iczf0ssj3";
|
||||
sha256 = "3b4914abc9fa76593596773e4da671d7ed4d5390e3d46fbf2e5f155e121bea11";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" "doc" ];
|
||||
|
@ -22,10 +22,8 @@ stdenv.mkDerivation rec {
|
|||
export NIX_CFLAGS_COMPILE+=" -D_GNU_SOURCE -DUSE_MMAP -DHAVE_DL_ITERATE_PHDR"
|
||||
'';
|
||||
|
||||
patches = # https://github.com/ivmai/bdwgc/pull/208
|
||||
lib.optional stdenv.hostPlatform.isRiscV ./riscv.patch
|
||||
# boehm-gc whitelists GCC threading models
|
||||
++ lib.optional stdenv.hostPlatform.isMinGW ./mcfgthread.patch;
|
||||
# boehm-gc whitelists GCC threading models
|
||||
patches = lib.optional stdenv.hostPlatform.isMinGW ./mcfgthread.patch;
|
||||
|
||||
configureFlags =
|
||||
[ "--enable-cplusplus" "--with-libatomic-ops=none" ]
|
||||
|
|
|
@ -1,53 +0,0 @@
|
|||
diff --git a/include/private/gcconfig.h b/include/private/gcconfig.h
|
||||
index a8e55dd2..439cc88d 100644
|
||||
--- a/include/private/gcconfig.h
|
||||
+++ b/include/private/gcconfig.h
|
||||
@@ -650,6 +650,15 @@
|
||||
# endif
|
||||
# define mach_type_known
|
||||
# endif
|
||||
+# if defined(__riscv) && defined(LINUX)
|
||||
+# if __riscv_xlen == 32
|
||||
+# define RISCV32
|
||||
+# define mach_type_known
|
||||
+# elif __riscv_xlen == 64
|
||||
+# define RISCV64
|
||||
+# define mach_type_known
|
||||
+# endif
|
||||
+# endif
|
||||
|
||||
# if defined(SN_TARGET_PSP2)
|
||||
# define mach_type_known
|
||||
@@ -2970,6 +2979,32 @@
|
||||
# endif
|
||||
# endif
|
||||
|
||||
+# ifdef RISCV32
|
||||
+# define CPP_WORDSZ 32
|
||||
+# define MACH_TYPE "RISC-V 32"
|
||||
+# define ALIGNMENT 4
|
||||
+# ifdef LINUX
|
||||
+# define OS_TYPE "LINUX"
|
||||
+ extern int __data_start[];
|
||||
+# define DATASTART ((ptr_t)__data_start)
|
||||
+# define LINUX_STACKBOTTOM
|
||||
+# define DYNAMIC_LOADING
|
||||
+# endif
|
||||
+# endif
|
||||
+
|
||||
+# ifdef RISCV64
|
||||
+# define CPP_WORDSZ 64
|
||||
+# define MACH_TYPE "RISC-V 64"
|
||||
+# define ALIGNMENT 8
|
||||
+# ifdef LINUX
|
||||
+# define OS_TYPE "LINUX"
|
||||
+ extern int __data_start[];
|
||||
+# define DATASTART ((ptr_t)__data_start)
|
||||
+# define LINUX_STACKBOTTOM
|
||||
+# define DYNAMIC_LOADING
|
||||
+# endif
|
||||
+# endif
|
||||
+
|
||||
#if defined(__GLIBC__) && !defined(DONT_USE_LIBC_PRIVATES)
|
||||
/* Use glibc's stack-end marker. */
|
||||
# define USE_LIBC_PRIVATES
|
|
@ -15441,7 +15441,6 @@ with pkgs;
|
|||
bobcat = callPackage ../development/libraries/bobcat { };
|
||||
|
||||
boehmgc = callPackage ../development/libraries/boehm-gc { };
|
||||
boehmgc_766 = callPackage ../development/libraries/boehm-gc/7.6.6.nix { };
|
||||
|
||||
boolstuff = callPackage ../development/libraries/boolstuff { };
|
||||
|
||||
|
|
Loading…
Reference in a new issue