mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-02-16 17:14:00 +00:00
darwin.locale: restore locale data (#347817)
This commit is contained in:
commit
f63d99842f
@ -35,7 +35,6 @@ mkAppleDerivation {
|
|||||||
|
|
||||||
outputs = [
|
outputs = [
|
||||||
"out"
|
"out"
|
||||||
"locale"
|
|
||||||
"ps"
|
"ps"
|
||||||
"man"
|
"man"
|
||||||
];
|
];
|
||||||
@ -86,15 +85,9 @@ mkAppleDerivation {
|
|||||||
(lib.mesonOption "sdk_version" (lib.getVersion apple-sdk))
|
(lib.mesonOption "sdk_version" (lib.getVersion apple-sdk))
|
||||||
];
|
];
|
||||||
|
|
||||||
postBuild = ''
|
|
||||||
# Build the locales TODO
|
|
||||||
'';
|
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
moveToOutput share/locale "$locale"
|
|
||||||
moveToOutput bin/ps "$ps"
|
moveToOutput bin/ps "$ps"
|
||||||
ln -s "$ps/bin/ps" "$out/bin/ps"
|
ln -s "$ps/bin/ps" "$out/bin/ps"
|
||||||
mkdir -p "$locale/share/locale"
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
|
@ -0,0 +1,63 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
adv_cmds,
|
||||||
|
bmake,
|
||||||
|
fetchFromGitHub,
|
||||||
|
stdenvNoCC,
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenvNoCC.mkDerivation {
|
||||||
|
pname = "locale";
|
||||||
|
version = "118";
|
||||||
|
|
||||||
|
# This data is old, but it’s closer to what macOS has than FreeBSD. Trying to use the FreeBSD data
|
||||||
|
# results in test failures due to different behavior (e.g., with zh_CN and spaces in gnulib’s `trim` test).
|
||||||
|
# TODO(@reckenrode) Update locale data using https://cldr.unicode.org to match current macOS locale data.
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "apple-oss-distributions";
|
||||||
|
repo = "adv_cmds";
|
||||||
|
rev = "adv_cmds-118";
|
||||||
|
hash = "sha256-KzaAlqXqfJW2s31qmA0D7qteaZY57Va2o86aZrwyR74=";
|
||||||
|
};
|
||||||
|
|
||||||
|
sourceRoot = "source/usr-share-locale.tproj";
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
# bmake expects `Makefile` not `BSDmakefile`.
|
||||||
|
find . -name Makefile -exec rm {} \; -exec ln -s BSDmakefile {} \;
|
||||||
|
|
||||||
|
# Update `Makefile`s to: get commands from `PATH`, and install to the correct location.
|
||||||
|
# Note: not every `Makefile` has `rsync` or the project name in it.
|
||||||
|
for subproject in colldef mklocale monetdef msgdef numericdef timedef; do
|
||||||
|
substituteInPlace "$subproject/BSDmakefile" \
|
||||||
|
--replace-warn "../../$subproject.tproj/" "" \
|
||||||
|
--replace-fail /usr/share/locale /share/locale \
|
||||||
|
--replace-fail '-o ''${BINOWN} -g ''${BINGRP}' "" \
|
||||||
|
--replace-warn "rsync -a" "cp -r"
|
||||||
|
done
|
||||||
|
|
||||||
|
# Update `bsdmake` references to `bmake`
|
||||||
|
substituteInPlace Makefile \
|
||||||
|
--replace-fail bsdmake bmake
|
||||||
|
'';
|
||||||
|
|
||||||
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
adv_cmds
|
||||||
|
bmake
|
||||||
|
];
|
||||||
|
|
||||||
|
enableParallelInstalling = true;
|
||||||
|
|
||||||
|
installFlags = [ "DESTDIR=${placeholder "out"}" ];
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Locale data for Darwin";
|
||||||
|
license = [
|
||||||
|
lib.licenses.apsl10
|
||||||
|
lib.licenses.apsl20
|
||||||
|
];
|
||||||
|
maintainers = lib.teams.darwin.members;
|
||||||
|
};
|
||||||
|
}
|
@ -25,6 +25,7 @@ tag="macos-${sdkVersion//.}"
|
|||||||
|
|
||||||
declare -A ignoredPackages=(
|
declare -A ignoredPackages=(
|
||||||
[libsbuf]=1
|
[libsbuf]=1
|
||||||
|
[locale]=1
|
||||||
[mkAppleDerivation]=1
|
[mkAppleDerivation]=1
|
||||||
[update-source-releases.sh]=1
|
[update-source-releases.sh]=1
|
||||||
[versions.json]=1
|
[versions.json]=1
|
||||||
|
@ -238,6 +238,7 @@ let
|
|||||||
autoconf
|
autoconf
|
||||||
automake
|
automake
|
||||||
bison
|
bison
|
||||||
|
bmake
|
||||||
brotli
|
brotli
|
||||||
cmake
|
cmake
|
||||||
cpio
|
cpio
|
||||||
@ -289,9 +290,14 @@ let
|
|||||||
;
|
;
|
||||||
};
|
};
|
||||||
|
|
||||||
darwinPackages = prevStage: { inherit (prevStage.darwin) locale sigtool; };
|
darwinPackages = prevStage: { inherit (prevStage.darwin) sigtool; };
|
||||||
darwinPackagesNoCC = prevStage: {
|
darwinPackagesNoCC = prevStage: {
|
||||||
inherit (prevStage.darwin) binutils binutils-unwrapped libSystem;
|
inherit (prevStage.darwin)
|
||||||
|
binutils
|
||||||
|
binutils-unwrapped
|
||||||
|
libSystem
|
||||||
|
locale
|
||||||
|
;
|
||||||
};
|
};
|
||||||
|
|
||||||
# These packages are not allowed to be used in the Darwin bootstrap
|
# These packages are not allowed to be used in the Darwin bootstrap
|
||||||
|
@ -118,7 +118,7 @@ impure-cmds // apple-source-packages // apple-source-headers // stubs // {
|
|||||||
extraBuildInputs = [];
|
extraBuildInputs = [];
|
||||||
};
|
};
|
||||||
|
|
||||||
inherit (self.adv_cmds) locale ps;
|
inherit (self.adv_cmds) ps;
|
||||||
|
|
||||||
binutils-unwrapped = callPackage ../os-specific/darwin/binutils {
|
binutils-unwrapped = callPackage ../os-specific/darwin/binutils {
|
||||||
inherit (pkgs) cctools;
|
inherit (pkgs) cctools;
|
||||||
|
Loading…
Reference in New Issue
Block a user