diff options
author | Alyssa Ross <hi@alyssa.is> | 2023-08-08 16:04:42 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2023-08-13 06:35:37 +0000 |
commit | 12aaa58dac35800b5b7d77f81cf2a87c21ee55da (patch) | |
tree | be0add9e5c22a85d20b5d78206aa74f956eb2a1b /nixpkgs/pkgs/development/libraries/db/generic.nix | |
parent | 45892a5591202f75a1c2f1ca7c62a92c7566e3c5 (diff) | |
parent | 5a8e9243812ba528000995b294292d3b5e120947 (diff) | |
download | nixlib-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/db/generic.nix')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/db/generic.nix | 40 |
1 files changed, 39 insertions, 1 deletions
diff --git a/nixpkgs/pkgs/development/libraries/db/generic.nix b/nixpkgs/pkgs/development/libraries/db/generic.nix index 59df0e8469cb..d715c1ffc8b1 100644 --- a/nixpkgs/pkgs/development/libraries/db/generic.nix +++ b/nixpkgs/pkgs/development/libraries/db/generic.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl +{ lib, stdenv, fetchurl, autoreconfHook , cxxSupport ? true , compat185 ? true , dbmSupport ? false @@ -19,10 +19,48 @@ stdenv.mkDerivation (rec { sha256 = sha256; }; + # The provided configure script features `main` returning implicit `int`, which causes + # configure checks to work incorrectly with clang 16. + nativeBuildInputs = [ autoreconfHook ]; + patches = extraPatches; outputs = [ "bin" "out" "dev" ]; + # Required when regenerated the configure script to make sure the vendored macros are found. + autoreconfFlags = [ "-fi" "-Iaclocal" "-Iaclocal_java" ]; + + preAutoreconf = '' + pushd dist + # Upstream’s `dist/s_config` cats everything into `aclocal.m4`, but that doesn’t work with + # autoreconfHook, so cat `config.m4` to another file. Otherwise, it won’t be found by `aclocal`. + cat aclocal/config.m4 >> aclocal/options.m4 + ''; + + # This isn’t pretty. The version information is kept separate from the configure script. + # After the configure script is regenerated, the version information has to be replaced with the + # contents of `dist/RELEASE`. + postAutoreconf = '' + ( + declare -a vars=( + "DB_VERSION_FAMILY" + "DB_VERSION_RELEASE" + "DB_VERSION_MAJOR" + "DB_VERSION_MINOR" + "DB_VERSION_PATCH" + "DB_VERSION_STRING" + "DB_VERSION_FULL_STRING" + "DB_VERSION_UNIQUE_NAME" + "DB_VERSION" + ) + source RELEASE + for var in "''${vars[@]}"; do + sed -e "s/__EDIT_''${var}__/''${!var}/g" -i configure + done + ) + popd + ''; + configureFlags = [ (if cxxSupport then "--enable-cxx" else "--disable-cxx") |