mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-25 16:33:15 +00:00
darwin.locale: restore locale data (#347817)
This commit is contained in:
commit
f63d99842f
@ -35,7 +35,6 @@ mkAppleDerivation {
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
"locale"
|
||||
"ps"
|
||||
"man"
|
||||
];
|
||||
@ -86,15 +85,9 @@ mkAppleDerivation {
|
||||
(lib.mesonOption "sdk_version" (lib.getVersion apple-sdk))
|
||||
];
|
||||
|
||||
postBuild = ''
|
||||
# Build the locales TODO
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
moveToOutput share/locale "$locale"
|
||||
moveToOutput bin/ps "$ps"
|
||||
ln -s "$ps/bin/ps" "$out/bin/ps"
|
||||
mkdir -p "$locale/share/locale"
|
||||
'';
|
||||
|
||||
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=(
|
||||
[libsbuf]=1
|
||||
[locale]=1
|
||||
[mkAppleDerivation]=1
|
||||
[update-source-releases.sh]=1
|
||||
[versions.json]=1
|
||||
|
@ -238,6 +238,7 @@ let
|
||||
autoconf
|
||||
automake
|
||||
bison
|
||||
bmake
|
||||
brotli
|
||||
cmake
|
||||
cpio
|
||||
@ -289,9 +290,14 @@ let
|
||||
;
|
||||
};
|
||||
|
||||
darwinPackages = prevStage: { inherit (prevStage.darwin) locale sigtool; };
|
||||
darwinPackages = prevStage: { inherit (prevStage.darwin) sigtool; };
|
||||
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
|
||||
|
@ -118,7 +118,7 @@ impure-cmds // apple-source-packages // apple-source-headers // stubs // {
|
||||
extraBuildInputs = [];
|
||||
};
|
||||
|
||||
inherit (self.adv_cmds) locale ps;
|
||||
inherit (self.adv_cmds) ps;
|
||||
|
||||
binutils-unwrapped = callPackage ../os-specific/darwin/binutils {
|
||||
inherit (pkgs) cctools;
|
||||
|
Loading…
Reference in New Issue
Block a user