From ede464cd70baa8c003b274ae75524370ee888229 Mon Sep 17 00:00:00 2001 From: Ivan Maidanski Date: Wed, 6 Oct 2021 10:11:30 +0300 Subject: [PATCH 1/2] boehmgc: 8.0.4 -> 8.0.6 https://github.com/ivmai/bdwgc/releases/tag/v8.0.6 --- pkgs/development/libraries/boehm-gc/default.nix | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/pkgs/development/libraries/boehm-gc/default.nix b/pkgs/development/libraries/boehm-gc/default.nix index 85ae01036ed1..cbbd705e37f2 100644 --- a/pkgs/development/libraries/boehm-gc/default.nix +++ b/pkgs/development/libraries/boehm-gc/default.nix @@ -5,14 +5,14 @@ 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" ] From d219f102bb36ac553722f9f2bc06f5d8672d9721 Mon Sep 17 00:00:00 2001 From: Ivan Maidanski Date: Thu, 7 Oct 2021 17:33:38 +0300 Subject: [PATCH 2/2] Drop boehmgc_766 attribute Reason: - boehmgc_766 (pkgs/top-level/all-packages.nix) is only defined but not used in Nixpkgs, so dropping it will not affect any package in Nixpkgs. It was introduced for the asymptote package which has moved on to the regular boehmgc attribute. There's a slim chance that some user depends on it, but it would be unrealistic to expect us to maintain the attribute indefinitely. Details: - Delete pkgs/development/libraries/boehm-gc/7.6.6.nix - Delete pkgs/development/libraries/boehm-gc/riscv.patch --- pkgs/development/libraries/boehm-gc/7.6.6.nix | 74 ------------------- .../libraries/boehm-gc/default.nix | 2 +- .../libraries/boehm-gc/riscv.patch | 53 ------------- pkgs/top-level/all-packages.nix | 1 - 4 files changed, 1 insertion(+), 129 deletions(-) delete mode 100644 pkgs/development/libraries/boehm-gc/7.6.6.nix delete mode 100644 pkgs/development/libraries/boehm-gc/riscv.patch 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 cbbd705e37f2..2c467e90634f 100644 --- a/pkgs/development/libraries/boehm-gc/default.nix +++ b/pkgs/development/libraries/boehm-gc/default.nix @@ -1,6 +1,6 @@ { 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 { 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 2f5f4114b467..4a59ee36d826 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -15374,7 +15374,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 { };