about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/boost
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2023-08-08 16:04:42 +0000
committerAlyssa Ross <hi@alyssa.is>2023-08-13 06:35:37 +0000
commit12aaa58dac35800b5b7d77f81cf2a87c21ee55da (patch)
treebe0add9e5c22a85d20b5d78206aa74f956eb2a1b /nixpkgs/pkgs/development/libraries/boost
parent45892a5591202f75a1c2f1ca7c62a92c7566e3c5 (diff)
parent5a8e9243812ba528000995b294292d3b5e120947 (diff)
downloadnixlib-12aaa58dac35800b5b7d77f81cf2a87c21ee55da.tar
nixlib-12aaa58dac35800b5b7d77f81cf2a87c21ee55da.tar.gz
nixlib-12aaa58dac35800b5b7d77f81cf2a87c21ee55da.tar.bz2
nixlib-12aaa58dac35800b5b7d77f81cf2a87c21ee55da.tar.lz
nixlib-12aaa58dac35800b5b7d77f81cf2a87c21ee55da.tar.xz
nixlib-12aaa58dac35800b5b7d77f81cf2a87c21ee55da.tar.zst
nixlib-12aaa58dac35800b5b7d77f81cf2a87c21ee55da.zip
Merge branch 'nixos-unstable' of https://github.com/NixOS/nixpkgs
Conflicts:
	nixpkgs/pkgs/applications/window-managers/sway/default.nix
	nixpkgs/pkgs/build-support/go/module.nix
	nixpkgs/pkgs/build-support/rust/build-rust-package/default.nix
	nixpkgs/pkgs/development/libraries/mesa/default.nix
	nixpkgs/pkgs/servers/dict/dictd-db.nix

Link: https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/issues/391
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/boost')
-rw-r--r--nixpkgs/pkgs/development/libraries/boost/1.68.nix11
-rw-r--r--nixpkgs/pkgs/development/libraries/boost/1.69.nix13
-rw-r--r--nixpkgs/pkgs/development/libraries/boost/1.70.nix13
-rw-r--r--nixpkgs/pkgs/development/libraries/boost/1.72.nix17
-rw-r--r--nixpkgs/pkgs/development/libraries/boost/1.73.nix15
-rw-r--r--nixpkgs/pkgs/development/libraries/boost/1.74.nix15
-rw-r--r--nixpkgs/pkgs/development/libraries/boost/cmake-paths.patch21
-rw-r--r--nixpkgs/pkgs/development/libraries/boost/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/boost/generic.nix50
-rw-r--r--nixpkgs/pkgs/development/libraries/boost/pthread-stack-min-fix.patch15
10 files changed, 28 insertions, 148 deletions
diff --git a/nixpkgs/pkgs/development/libraries/boost/1.68.nix b/nixpkgs/pkgs/development/libraries/boost/1.68.nix
deleted file mode 100644
index 7fb85d7239f2..000000000000
--- a/nixpkgs/pkgs/development/libraries/boost/1.68.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ callPackage, fetchurl, fetchpatch, ... } @ args:
-
-callPackage ./generic.nix (args // rec {
-  version = "1.68.0";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/boost/boost_${builtins.replaceStrings ["."] ["_"] version}.tar.bz2";
-    # SHA256 from http://www.boost.org/users/history/version_1_68_0.html
-    sha256 = "7f6130bc3cf65f56a618888ce9d5ea704fa10b462be126ad053e80e553d6d8b7";
-  };
-})
diff --git a/nixpkgs/pkgs/development/libraries/boost/1.69.nix b/nixpkgs/pkgs/development/libraries/boost/1.69.nix
deleted file mode 100644
index c8846daa64f3..000000000000
--- a/nixpkgs/pkgs/development/libraries/boost/1.69.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ callPackage, fetchurl, fetchpatch, ... } @ args:
-
-callPackage ./generic.nix (args // rec {
-  version = "1.69.0";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/boost/boost_${builtins.replaceStrings ["."] ["_"] version}.tar.bz2";
-    # SHA256 from http://www.boost.org/users/history/version_1_69_0.html
-    sha256 = "8f32d4617390d1c2d16f26a27ab60d97807b35440d45891fa340fc2648b04406";
-  };
-
-  patches = [ ./pthread-stack-min-fix.patch ];
-})
diff --git a/nixpkgs/pkgs/development/libraries/boost/1.70.nix b/nixpkgs/pkgs/development/libraries/boost/1.70.nix
deleted file mode 100644
index 4d50f41e49ce..000000000000
--- a/nixpkgs/pkgs/development/libraries/boost/1.70.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ callPackage, fetchurl, fetchpatch, ... } @ args:
-
-callPackage ./generic.nix (args // rec {
-  version = "1.70.0";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/boost/boost_${builtins.replaceStrings ["."] ["_"] version}.tar.bz2";
-    # SHA256 from http://www.boost.org/users/history/version_1_70_0.html
-    sha256 = "430ae8354789de4fd19ee52f3b1f739e1fba576f0aded0897c3c2bc00fb38778";
-  };
-
-  patches = [ ./pthread-stack-min-fix.patch ];
-})
diff --git a/nixpkgs/pkgs/development/libraries/boost/1.72.nix b/nixpkgs/pkgs/development/libraries/boost/1.72.nix
deleted file mode 100644
index 4f2cc4848b19..000000000000
--- a/nixpkgs/pkgs/development/libraries/boost/1.72.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ callPackage, fetchurl, fetchpatch, ... } @ args:
-
-callPackage ./generic.nix (args // rec {
-  version = "1.72.0";
-
-  src = fetchurl {
-    urls = [
-      "mirror://sourceforge/boost/boost_${builtins.replaceStrings ["."] ["_"] version}.tar.bz2"
-      "https://boostorg.jfrog.io/artifactory/main/release/${version}/source/boost_${builtins.replaceStrings ["."] ["_"] version}.tar.bz2"
-    ];
-    # SHA256 from http://www.boost.org/users/history/version_1_72_0.html
-    sha256 = "59c9b274bc451cf91a9ba1dd2c7fdcaf5d60b1b3aa83f2c9fa143417cc660722";
-  };
-
-  patches = [ ./pthread-stack-min-fix.patch ];
-})
-
diff --git a/nixpkgs/pkgs/development/libraries/boost/1.73.nix b/nixpkgs/pkgs/development/libraries/boost/1.73.nix
deleted file mode 100644
index 97506873980f..000000000000
--- a/nixpkgs/pkgs/development/libraries/boost/1.73.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ callPackage, fetchurl, fetchpatch, ... } @ args:
-
-callPackage ./generic.nix (args // rec {
-  version = "1.73.0";
-
-  src = fetchurl {
-    urls = [
-      "mirror://sourceforge/boost/boost_${builtins.replaceStrings ["."] ["_"] version}.tar.bz2"
-      "https://boostorg.jfrog.io/artifactory/main/release/${version}/source/boost_${builtins.replaceStrings ["."] ["_"] version}.tar.bz2"
-    ];
-    # SHA256 from http://www.boost.org/users/history/version_1_73_0.html
-    sha256 = "4eb3b8d442b426dc35346235c8733b5ae35ba431690e38c6a8263dce9fcbb402";
-  };
-})
-
diff --git a/nixpkgs/pkgs/development/libraries/boost/1.74.nix b/nixpkgs/pkgs/development/libraries/boost/1.74.nix
deleted file mode 100644
index f28f40048632..000000000000
--- a/nixpkgs/pkgs/development/libraries/boost/1.74.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ callPackage, fetchurl, fetchpatch, ... } @ args:
-
-callPackage ./generic.nix (args // rec {
-  version = "1.74.0";
-
-  src = fetchurl {
-    urls = [
-      "mirror://sourceforge/boost/boost_${builtins.replaceStrings ["."] ["_"] version}.tar.bz2"
-      "https://boostorg.jfrog.io/artifactory/main/release/${version}/source/boost_${builtins.replaceStrings ["."] ["_"] version}.tar.bz2"
-    ];
-    # SHA256 from http://www.boost.org/users/history/version_1_74_0.html
-    sha256 = "83bfc1507731a0906e387fc28b7ef5417d591429e51e788417fe9ff025e116b1";
-  };
-})
-
diff --git a/nixpkgs/pkgs/development/libraries/boost/cmake-paths.patch b/nixpkgs/pkgs/development/libraries/boost/cmake-paths.patch
deleted file mode 100644
index b7f90148f9dc..000000000000
--- a/nixpkgs/pkgs/development/libraries/boost/cmake-paths.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff --git a/tools/boost_install/boost-install.jam b/tools/boost_install/boost-install.jam
-index ad19f7b55..ec6bf57ff 100644
---- a/tools/boost_install/boost-install.jam
-+++ b/tools/boost_install/boost-install.jam
-@@ -587,6 +587,7 @@ rule generate-cmake-config- ( target : sources * : properties * )
-         "# Compute the include and library directories relative to this file."
-         ""
-         "get_filename_component(_BOOST_CMAKEDIR \"${CMAKE_CURRENT_LIST_DIR}/../\" ABSOLUTE)"
-+        "get_filename_component(_BOOST_REAL_CMAKEDIR \"${CMAKE_CURRENT_LIST_DIR}/../\" ABSOLUTE)"
-         : true ;
- 
-     if [ path.is-rooted $(cmakedir) ]
-@@ -607,6 +608,8 @@ rule generate-cmake-config- ( target : sources * : properties * )
-             "  unset(_BOOST_CMAKEDIR_ORIGINAL)"
-             "endif()"
-             ""
-+	    "# Assume that the installer actually did know where the libs were to be installed"
-+            "get_filename_component(_BOOST_CMAKEDIR \"$(cmakedir-native)\" REALPATH)"
-             : true ;
-     }
- 
diff --git a/nixpkgs/pkgs/development/libraries/boost/default.nix b/nixpkgs/pkgs/development/libraries/boost/default.nix
index 27069b1ac03a..7a8902bc395d 100644
--- a/nixpkgs/pkgs/development/libraries/boost/default.nix
+++ b/nixpkgs/pkgs/development/libraries/boost/default.nix
@@ -16,12 +16,6 @@ let
       }
     );
 in {
-  boost168 = makeBoost ./1.68.nix;
-  boost169 = makeBoost ./1.69.nix;
-  boost170 = makeBoost ./1.70.nix;
-  boost172 = makeBoost ./1.72.nix;
-  boost173 = makeBoost ./1.73.nix;
-  boost174 = makeBoost ./1.74.nix;
   boost175 = makeBoost ./1.75.nix;
   boost177 = makeBoost ./1.77.nix;
   boost178 = makeBoost ./1.78.nix;
diff --git a/nixpkgs/pkgs/development/libraries/boost/generic.nix b/nixpkgs/pkgs/development/libraries/boost/generic.nix
index 7d8aee067c86..cad0f3aaed69 100644
--- a/nixpkgs/pkgs/development/libraries/boost/generic.nix
+++ b/nixpkgs/pkgs/development/libraries/boost/generic.nix
@@ -31,9 +31,6 @@ assert enableShared || enableStatic;
 
 assert enableNumpy -> enablePython;
 
-# Boost <1.69 can't be built on linux with clang >8, because pth was removed
-assert with lib; (stdenv.isLinux && toolset == "clang" && versionAtLeast stdenv.cc.version "8.0.0") -> versionAtLeast version "1.69";
-
 let
 
   variant = lib.concatStringsSep ","
@@ -75,7 +72,10 @@ let
                     then if lib.versionOlder version "1.78" then "mips1" else "mips"
                     else if stdenv.hostPlatform.parsed.cpu.name == "s390x" then "s390x"
                     else toString stdenv.hostPlatform.parsed.cpu.family}"
-    "binary-format=${toString stdenv.hostPlatform.parsed.kernel.execFormat.name}"
+    # env in host triplet for Mach-O is "macho", but boost binary format for Mach-O is "mach-o"
+    "binary-format=${if stdenv.hostPlatform.parsed.kernel.execFormat == lib.systems.parse.execFormats.macho
+                     then "mach-o"
+                     else toString stdenv.hostPlatform.parsed.kernel.execFormat.name}"
     "target-os=${toString stdenv.hostPlatform.parsed.kernel.name}"
 
     # adapted from table in boost manual
@@ -107,34 +107,40 @@ stdenv.mkDerivation {
 
   patches = patches
   ++ lib.optional stdenv.isDarwin ./darwin-no-system-python.patch
-  # Fix boost-context segmentation faults on ppc64 due to ABI violation
-  ++ lib.optional (lib.versionOlder version "1.71") (fetchpatch {
-    url = "https://github.com/boostorg/context/commit/2354eca9b776a6739112833f64754108cc0d1dc5.patch";
-    sha256 = "067m4bjpmcanqvg28djax9a10avmdwhlpfx6gn73kbqqq70dnz29";
-    stripLen = 1;
-    extraPrefix = "libs/context/";
-  })
-  ++ lib.optional (lib.versionOlder version "1.70") (fetchpatch {
-    # support for Mips64n64 appeared in boost-context 1.70
-    url = "https://github.com/boostorg/context/commit/e3f744a1862164062d579d1972272d67bdaa9c39.patch";
-    sha256 = "sha256-qjQy1b4jDsIRrI+UYtcguhvChrMbGWO0UlEzEJHYzRI=";
-    stripLen = 1;
-    extraPrefix = "libs/context/";
-  })
-  ++ lib.optional (lib.versionAtLeast version "1.70" && lib.versionOlder version "1.73") ./cmake-paths.patch
-  ++ lib.optional (lib.versionAtLeast version "1.73") ./cmake-paths-173.patch
+  ++ [ ./cmake-paths-173.patch ]
   ++ lib.optional (version == "1.77.0") (fetchpatch {
     url = "https://github.com/boostorg/math/commit/7d482f6ebc356e6ec455ccb5f51a23971bf6ce5b.patch";
     relative = "include";
     sha256 = "sha256-KlmIbixcds6GyKYt1fx5BxDIrU7msrgDdYo9Va/KJR4=";
-  });
+  })
+  # This fixes another issue regarding ill-formed constant expressions, which is a default error
+  # in clang 16 and will be a hard error in clang 17.
+  ++ lib.optional (lib.versionOlder version "1.80") (fetchpatch {
+    url = "https://github.com/boostorg/log/commit/77f1e20bd69c2e7a9e25e6a9818ae6105f7d070c.patch";
+    relative = "include";
+    hash = "sha256-6qOiGJASm33XzwoxVZfKJd7sTlQ5yd+MMFQzegXm5RI=";
+  })
+  ++ lib.optionals (lib.versionOlder version "1.81") [
+    # libc++ 15 dropped support for `std::unary_function` and `std::binary_function` in C++17+.
+    # C++17 is the default for clang 16, but clang 15 is also affected in that language mode.
+    # This patch is for Boost 1.80, but it also applies to earlier versions.
+    (fetchpatch {
+      url = "https://www.boost.org/patches/1_80_0/0005-config-libcpp15.patch";
+      hash = "sha256-ULFMzKphv70unvPZ3o4vSP/01/xbSM9a2TlIV67eXDQ=";
+    })
+    # This fixes another ill-formed contant expressions issue flagged by clang 16.
+    (fetchpatch {
+      url = "https://github.com/boostorg/numeric_conversion/commit/50a1eae942effb0a9b90724323ef8f2a67e7984a.patch";
+      relative = "include";
+      hash = "sha256-dq4SVgxkPJSC7Fvr59VGnXkM4Lb09kYDaBksCHo9C0s=";
+    })
+  ];
 
   meta = with lib; {
     homepage = "http://boost.org/";
     description = "Collection of C++ libraries";
     license = licenses.boost;
     platforms = platforms.unix ++ platforms.windows;
-    badPlatforms = optionals (versionOlder version "1.73") platforms.riscv;
     maintainers = with maintainers; [ hjones2199 ];
 
     broken =
diff --git a/nixpkgs/pkgs/development/libraries/boost/pthread-stack-min-fix.patch b/nixpkgs/pkgs/development/libraries/boost/pthread-stack-min-fix.patch
deleted file mode 100644
index b6c85f840529..000000000000
--- a/nixpkgs/pkgs/development/libraries/boost/pthread-stack-min-fix.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Taken from https://github.com/conan-io/conan-center-index/pull/361/files
-
-diff --git a/include/boost/thread/pthread/thread_data.hpp b/include/boost/thread/pthread/thread_data.hpp
-index aefbeb4..bc9b136 100644
---- a/boost/thread/pthread/thread_data.hpp
-+++ b/boost/thread/pthread/thread_data.hpp
-@@ -57,7 +57,7 @@ namespace boost
- #else
-           std::size_t page_size = ::sysconf( _SC_PAGESIZE);
- #endif
--#if PTHREAD_STACK_MIN > 0
-+#ifdef PTHREAD_STACK_MIN
-           if (size<PTHREAD_STACK_MIN) size=PTHREAD_STACK_MIN;
- #endif
-           size = ((size+page_size-1)/page_size)*page_size;