icu: refactor

This commit is contained in:
Alexis Hildebrandt 2024-02-18 20:06:58 +01:00
parent c55877fec8
commit b5ec6b5795
15 changed files with 105 additions and 111 deletions

View File

@ -1,14 +0,0 @@
fetchurl:
let
keywordFix = fetchurl {
url = "http://bugs.icu-project.org/trac/changeset/39484?format=diff";
name = "icu-changeset-39484.diff";
sha256 = "0hxhpgydalyxacaaxlmaddc1sjwh65rsnpmg0j414mnblq74vmm8";
};
in
import ./base.nix {
version = "58.2";
sha256 = "036shcb3f8bm1lynhlsb4kpjm9s9c2vdiir01vg216rs2l8482ib";
patches = [ keywordFix ];
patchFlags = [ "-p4" ];
}

View File

@ -1,4 +0,0 @@
import ./base.nix {
version = "60.2";
sha256 = "065l3n0q9wqaw8dz20x82srshhm6i987fr9ync5xf9mr6n7ylwzh";
}

View File

@ -1,16 +0,0 @@
{ stdenv, lib, fetchurl, fetchpatch, fixDarwinDylibNames, nativeBuildRoot, testers
, buildRootOnly ? false
}:
import ./base.nix {
version = "63.1";
sha256 = "17fbk0lm2clsxbmjzvyp245ayx0n4chji3ky1f3fbz2ljjv91i05";
patches = [
# https://bugzilla.mozilla.org/show_bug.cgi?id=1499398
(fetchpatch {
url = "https://github.com/unicode-org/icu/commit/8baff8f03e07d8e02304d0c888d0bb21ad2eeb01.patch";
sha256 = "1awfa98ljcf95a85cssahw6bvdnpbq5brf1kgspy14w4mlmhd0jb";
})
];
patchFlags = [ "-p3" ];
} { inherit stdenv lib fetchurl fixDarwinDylibNames nativeBuildRoot testers buildRootOnly; }

View File

@ -1,4 +0,0 @@
import ./base.nix {
version = "64.2";
sha256 = "0v0xsf14xwlj125y9fd8lrhsaych4d8liv8gr746zng6g225szb2";
}

View File

@ -1,4 +0,0 @@
import ./base.nix {
version = "66.1";
sha256 = "0bharwzc9nzkbrcf405z2nb3h7q0711z450arz0mjmdrk8hg58sj";
}

View File

@ -1,4 +0,0 @@
import ./base.nix {
version = "67.1";
sha256 = "1p6mhvxl0xr2n0g6xdps3mwzwlv6mjsz3xlpm793p9aiybb0ra4l";
}

View File

@ -1,4 +0,0 @@
import ./base.nix {
version = "68.2";
sha256 = "09fng7a80xj8d5r1cgbgq8r47dsw5jsr6si9p2cj2ylhwgg974f7";
}

View File

@ -1,4 +0,0 @@
import ./base.nix {
version = "69.1";
sha256 = "0icps0avkwy5df3wwc5kybxcg63hcgk4phdh9g244g0xrmx7pfjc";
}

View File

@ -1,4 +0,0 @@
import ./base.nix {
version = "70.1";
sha256 = "1m9zgkaf5lyh65nyc6n0n5bs2f5k53nnj1ih6nskpwbvq4l5884d";
}

View File

@ -1,4 +0,0 @@
import ./base.nix {
version = "71.1";
sha256 = "sha256-Z6fm5R9h+vEwa2k1Mz4TssSKvY2m0vRs5q3KJLHiHr8=";
}

View File

@ -1,4 +0,0 @@
import ./base.nix {
version = "72.1";
sha256 = "sha256-otLTghcJKn7VZjXjRGf5L5drNw4gGCrTJe3qZoGnHWg=";
}

View File

@ -1,4 +0,0 @@
import ./base.nix {
version = "73.2";
sha256 = "sha256-gYqAcS7TyqzZtlIwXgGvx/oWfm8ulJltpEuQwqtgTOE=";
}

View File

@ -0,0 +1,85 @@
{ stdenv, lib, fetchurl, fetchpatch, fixDarwinDylibNames, testers, buildPackages }:
let
make-icu = (import ./make-icu.nix) {
inherit stdenv lib fetchurl fixDarwinDylibNames testers;
};
in
{
icu73 = make-icu {
version = "73.2";
hash = "sha256-gYqAcS7TyqzZtlIwXgGvx/oWfm8ulJltpEuQwqtgTOE=";
nativeBuildRoot = buildPackages.icu73.override { buildRootOnly = true; };
};
icu72 = make-icu {
version = "72.1";
hash = "sha256-otLTghcJKn7VZjXjRGf5L5drNw4gGCrTJe3qZoGnHWg=";
nativeBuildRoot = buildPackages.icu72.override { buildRootOnly = true; };
};
icu71 = make-icu {
version = "71.1";
hash = "sha256-Z6fm5R9h+vEwa2k1Mz4TssSKvY2m0vRs5q3KJLHiHr8=";
nativeBuildRoot = buildPackages.icu71.override { buildRootOnly = true; };
};
icu70 = make-icu {
version = "70.1";
hash = "sha256-jSBUKMF78Tu1NTAGae0oszihV7HAGuZtMdDT4tR8P9U=";
nativeBuildRoot = buildPackages.icu70.override { buildRootOnly = true; };
};
icu69 = make-icu {
version = "69.1";
hash = "sha256-TLp7es0dPELES7DBS+ZjcJjH+vKzMM6Ha8XzuRXQl0U=";
nativeBuildRoot = buildPackages.icu69.override { buildRootOnly = true; };
};
icu68 = make-icu {
version = "68.2";
hash = "sha256-x5GT3uOQeiGZuClqk7UsXLdDMsJvPRZyaUh2gNR51iU=";
nativeBuildRoot = buildPackages.icu68.override { buildRootOnly = true; };
};
icu67 = make-icu {
version = "67.1";
hash = "sha256-lKgM1vJRpTvSqZf28bWsZlP+eR36tm4esCJ3QPuG1dw=";
nativeBuildRoot = buildPackages.icu67.override { buildRootOnly = true; };
};
icu66 = make-icu {
version = "66.1";
hash = "sha256-UqPyIJq5VVnBzwoU8kM4AB84lhW/AOJYXvPbxD7PCi4=";
nativeBuildRoot = buildPackages.icu66.override { buildRootOnly = true; };
};
icu64 = make-icu {
version = "64.2";
hash = "sha256-Yn1dhHjm2W/IyQ/tSFEjkHmlYaaoueSLCJLyToLTHWw=";
nativeBuildRoot = buildPackages.icu64.override { buildRootOnly = true; };
};
icu63 = make-icu {
version = "63.1";
hash = "sha256-BcSQtpRU/OWGC36OKCEjFnSvChHX7y/r6poyUSmYy50=";
nativeBuildRoot = buildPackages.icu63.override { buildRootOnly = true; };
patches = [
# https://bugzilla.mozilla.org/show_bug.cgi?id=1499398
(fetchpatch {
url = "https://github.com/unicode-org/icu/commit/8baff8f03e07d8e02304d0c888d0bb21ad2eeb01.patch";
sha256 = "1awfa98ljcf95a85cssahw6bvdnpbq5brf1kgspy14w4mlmhd0jb";
})
];
patchFlags = [ "-p3" ];
};
icu60 = make-icu {
version = "60.2";
hash = "sha256-8HPqjzW5JtcLsz5ld1CKpkKosxaoA/Eb4grzhIEdtBg=";
nativeBuildRoot = buildPackages.icu60.override { buildRootOnly = true; };
};
icu58 = make-icu {
version = "58.2";
hash = "sha256-KwpEEBU6myDeDiDH2LZgSacq7yRLU2g9DXUhNxaD2gw=";
nativeBuildRoot = buildPackages.icu58.override { buildRootOnly = true; };
patches = [
(fetchurl {
url = "http://bugs.icu-project.org/trac/changeset/39484?format=diff";
name = "icu-changeset-39484.diff";
sha256 = "0hxhpgydalyxacaaxlmaddc1sjwh65rsnpmg0j414mnblq74vmm8";
})
];
patchFlags = [ "-p4" ];
};
}

View File

@ -1,8 +1,8 @@
{ version, sha256, patches ? [], patchFlags ? [] }:
{ stdenv, lib, fetchurl, fixDarwinDylibNames
# Cross-compiled icu4c requires a build-root of a native compile
{ stdenv, lib, fetchurl, fixDarwinDylibNames, testers }:
{ version, hash, patches ? [], patchFlags ? []
# Cross-compiled icu4c requires a build-root of a native compile
, buildRootOnly ? false, nativeBuildRoot
, testers
}:
let
@ -11,7 +11,7 @@ let
baseAttrs = {
src = fetchurl {
url = "https://github.com/unicode-org/icu/releases/download/release-${lib.replaceStrings [ "." ] [ "-" ] version}/icu4c-${lib.replaceStrings [ "." ] [ "_" ] version}-src.tgz";
inherit sha256;
inherit hash;
};
postUnpack = ''

View File

@ -21966,42 +21966,21 @@ with pkgs;
hyperscan = callPackage ../development/libraries/hyperscan { };
icu58 = callPackage (import ../development/libraries/icu/58.nix fetchurl) ({
nativeBuildRoot = buildPackages.icu58.override { buildRootOnly = true; };
});
icu60 = callPackage ../development/libraries/icu/60.nix ({
nativeBuildRoot = buildPackages.icu60.override { buildRootOnly = true; };
});
icu63 = callPackage ../development/libraries/icu/63.nix ({
nativeBuildRoot = buildPackages.icu63.override { buildRootOnly = true; };
});
icu64 = callPackage ../development/libraries/icu/64.nix ({
nativeBuildRoot = buildPackages.icu64.override { buildRootOnly = true; };
});
icu66 = callPackage ../development/libraries/icu/66.nix ({
nativeBuildRoot = buildPackages.icu66.override { buildRootOnly = true; };
});
icu67 = callPackage ../development/libraries/icu/67.nix ({
nativeBuildRoot = buildPackages.icu67.override { buildRootOnly = true; };
});
icu68 = callPackage ../development/libraries/icu/68.nix ({
nativeBuildRoot = buildPackages.icu68.override { buildRootOnly = true; };
});
icu69 = callPackage ../development/libraries/icu/69.nix ({
nativeBuildRoot = buildPackages.icu69.override { buildRootOnly = true; };
});
icu70 = callPackage ../development/libraries/icu/70.nix ({
nativeBuildRoot = buildPackages.icu70.override { buildRootOnly = true; };
});
icu71 = callPackage ../development/libraries/icu/71.nix ({
nativeBuildRoot = buildPackages.icu71.override { buildRootOnly = true; };
});
icu72 = callPackage ../development/libraries/icu/72.nix ({
nativeBuildRoot = buildPackages.icu72.override { buildRootOnly = true; };
});
icu73 = callPackage ../development/libraries/icu/73.nix ({
nativeBuildRoot = buildPackages.icu72.override { buildRootOnly = true; };
});
icu-versions = callPackages ../development/libraries/icu { };
inherit (icu-versions)
icu58
icu60
icu63
icu64
icu66
icu67
icu68
icu69
icu70
icu71
icu72
icu73
;
icu = icu73;