diff --git a/pkgs/development/libraries/boehm-gc/7.6.6.nix b/pkgs/development/libraries/boehm-gc/7.6.6.nix deleted file mode 100644 index 13f490af3e2b..000000000000 --- a/pkgs/development/libraries/boehm-gc/7.6.6.nix +++ /dev/null @@ -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; - }; -} diff --git a/pkgs/development/libraries/boehm-gc/default.nix b/pkgs/development/libraries/boehm-gc/default.nix index 85ae01036ed1..2c467e90634f 100644 --- a/pkgs/development/libraries/boehm-gc/default.nix +++ b/pkgs/development/libraries/boehm-gc/default.nix @@ -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" ] diff --git a/pkgs/development/libraries/boehm-gc/riscv.patch b/pkgs/development/libraries/boehm-gc/riscv.patch deleted file mode 100644 index 249137d0a0dc..000000000000 --- a/pkgs/development/libraries/boehm-gc/riscv.patch +++ /dev/null @@ -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 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c2ab429c438f..340e45159d91 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -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 { };