mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-11-10 01:33:11 +01:00
darwin.ICU: 74222.203 -> 76104.4
https://github.com/apple-oss-distributions/ICU/compare/ICU-74222.203...ICU-76104.4
This commit is contained in:
parent
f32d3b59ac
commit
f23c4bd83d
|
|
@ -3,8 +3,10 @@
|
||||||
bootstrapStdenv,
|
bootstrapStdenv,
|
||||||
buildPackages,
|
buildPackages,
|
||||||
fetchpatch2,
|
fetchpatch2,
|
||||||
|
icu76, # The ICU version should correspond to the same one used by Apple’s ICU package
|
||||||
mkAppleDerivation,
|
mkAppleDerivation,
|
||||||
python3,
|
python3,
|
||||||
|
stdenvNoCC,
|
||||||
testers,
|
testers,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
|
@ -12,6 +14,19 @@
|
||||||
# - ../../../development/libraries/icu/make-icu.nix
|
# - ../../../development/libraries/icu/make-icu.nix
|
||||||
# - https://github.com/apple-oss-distributions/ICU/blob/main/makefile
|
# - https://github.com/apple-oss-distributions/ICU/blob/main/makefile
|
||||||
let
|
let
|
||||||
|
privateHeaders = stdenvNoCC.mkDerivation {
|
||||||
|
name = "ICU-deps-private-headers";
|
||||||
|
|
||||||
|
buildCommand = ''
|
||||||
|
mkdir -p "$out/include/os"
|
||||||
|
cat <<EOF > "$out/include/os/feature_private.h"
|
||||||
|
#pragma once
|
||||||
|
extern "C" bool _os_feature_enabled_impl(const char*, const char*);
|
||||||
|
#define os_feature_enabled(a, b) _os_feature_enabled_impl(#a, #b)
|
||||||
|
EOF
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
stdenv = bootstrapStdenv;
|
stdenv = bootstrapStdenv;
|
||||||
withStatic = stdenv.hostPlatform.isStatic;
|
withStatic = stdenv.hostPlatform.isStatic;
|
||||||
|
|
||||||
|
|
@ -26,13 +41,6 @@ let
|
||||||
patches = [
|
patches = [
|
||||||
# Skip MessageFormatTest test, which is known to crash sometimes and should be suppressed if it does.
|
# Skip MessageFormatTest test, which is known to crash sometimes and should be suppressed if it does.
|
||||||
./patches/suppress-icu-check-crash.patch
|
./patches/suppress-icu-check-crash.patch
|
||||||
|
|
||||||
# Python 3.13 compatibility
|
|
||||||
(fetchpatch2 {
|
|
||||||
url = "https://github.com/unicode-org/icu/commit/60d6bd71efc0cde8f861b109ff87dbbf9fc96586.patch?full_index=1";
|
|
||||||
hash = "sha256-aJBSVvKidPUjD956jLjyRk8fewUZ9f+Ip4ka6rjevzU=";
|
|
||||||
stripLen = 2;
|
|
||||||
})
|
|
||||||
];
|
];
|
||||||
|
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
|
|
@ -67,6 +75,7 @@ let
|
||||||
env.NIX_CFLAGS_COMPILE = toString [
|
env.NIX_CFLAGS_COMPILE = toString [
|
||||||
"-DU_SHOW_CPLUSPLUS_API=1"
|
"-DU_SHOW_CPLUSPLUS_API=1"
|
||||||
"-DU_SHOW_INTERNAL_API=1"
|
"-DU_SHOW_INTERNAL_API=1"
|
||||||
|
"-I${privateHeaders}/include"
|
||||||
];
|
];
|
||||||
|
|
||||||
passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
|
passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
|
||||||
|
|
@ -93,7 +102,9 @@ let
|
||||||
++ lib.optional withStatic "static";
|
++ lib.optional withStatic "static";
|
||||||
outputBin = "dev";
|
outputBin = "dev";
|
||||||
|
|
||||||
postPatch = lib.optionalString self.finalPackage.doCheck ''
|
postPatch =
|
||||||
|
lib.optionalString self.finalPackage.doCheck (
|
||||||
|
''
|
||||||
# Skip test for missing encodingSamples data.
|
# Skip test for missing encodingSamples data.
|
||||||
substituteInPlace test/cintltst/ucsdetst.c \
|
substituteInPlace test/cintltst/ucsdetst.c \
|
||||||
--replace-fail "&TestMailFilterCSS" "NULL"
|
--replace-fail "&TestMailFilterCSS" "NULL"
|
||||||
|
|
@ -105,6 +116,18 @@ let
|
||||||
substituteInPlace test/intltest/rbbitst.cpp \
|
substituteInPlace test/intltest/rbbitst.cpp \
|
||||||
--replace-fail 'TESTCASE_AUTO(TestExternalBreakEngineWithFakeYue);' ""
|
--replace-fail 'TESTCASE_AUTO(TestExternalBreakEngineWithFakeYue);' ""
|
||||||
|
|
||||||
|
# Add missing test data. It’s not included in the source release.
|
||||||
|
chmod u+w "$NIX_BUILD_TOP/source/icu"
|
||||||
|
tar -C "$NIX_BUILD_TOP/source" -axf ${lib.escapeShellArg icu76.src} icu/testdata
|
||||||
|
''
|
||||||
|
+ lib.optionalString stdenv.hostPlatform.isx86_64 ''
|
||||||
|
# These tests fail under Rosetta 2 with a floating-point exception.
|
||||||
|
substituteInPlace test/intltest/caltest.cpp \
|
||||||
|
--replace-fail 'TESTCASE_AUTO(Test22633RollTwiceGetTimeOverflow);' "" \
|
||||||
|
--replace-fail 'TESTCASE_AUTO(Test22750Roll);' ""
|
||||||
|
''
|
||||||
|
)
|
||||||
|
+ ''
|
||||||
# Otherwise `make install` is broken.
|
# Otherwise `make install` is broken.
|
||||||
substituteInPlace Makefile.in \
|
substituteInPlace Makefile.in \
|
||||||
--replace-fail '$(top_srcdir)/../LICENSE' "$NIX_BUILD_TOP/source/icu/LICENSE"
|
--replace-fail '$(top_srcdir)/../LICENSE' "$NIX_BUILD_TOP/source/icu/LICENSE"
|
||||||
|
|
|
||||||
|
|
@ -8,8 +8,8 @@
|
||||||
"version": "88"
|
"version": "88"
|
||||||
},
|
},
|
||||||
"ICU": {
|
"ICU": {
|
||||||
"hash": "sha256-7ImBX4SlrFaLnHdQ4bm4F8q9IpHhQMaeVOO6pnnhyzQ=",
|
"hash": "sha256-dIgrTjHcQm8dy2Ku5wNIHuPjHfoV+48TM0PNDDn6ZPk=",
|
||||||
"version": "74222.203"
|
"version": "76104.4"
|
||||||
},
|
},
|
||||||
"IOKitTools": {
|
"IOKitTools": {
|
||||||
"hash": "sha256-Oknsvzn4nv77WU7f0WPS446iwR2BM2q4iw46r/qctAE=",
|
"hash": "sha256-Oknsvzn4nv77WU7f0WPS446iwR2BM2q4iw46r/qctAE=",
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue