Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update macOS to 10.12 #56744

Merged
merged 70 commits into from Apr 27, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
70 commits
Select commit Hold shift + click to select a range
d4ff231
llvmPackages: 5 -> 7 (bump our default LLVM)
dtzWill Oct 29, 2018
dd649a0
llvmPackages: keep darwin at llvm5
dtzWill Oct 29, 2018
564bf8d
all-packages.nix: remove llvm7 overrides, this is now the default
dtzWill Oct 29, 2018
4c3c8f4
all-packages: keep llvm7 overrides for now, not default on Darwin yet
dtzWill Oct 29, 2018
d69cc77
Revert "Revert "darwin 10.12 commits""
matthewbauer Feb 7, 2019
ae1e940
darwin: move to llvm7
matthewbauer Feb 7, 2019
5fad67d
utils.bash: allow response files in bootstrapping
matthewbauer Feb 9, 2019
0fe315c
treewide: remove old patches for macOS
matthewbauer Feb 9, 2019
f76c7b8
libtapi: init
Jan 25, 2019
36450d8
cctools: enable tapi everywhere
matthewbauer Feb 9, 2019
7f08b28
Revert "Revert "cctools: bump to latest commit""
matthewbauer Mar 3, 2019
2ecc1d1
stdenv/darwin: move secure-format patch to gnum4
matthewbauer Mar 2, 2019
61bc03c
Revert "Revert "patch-shebangs: respect cross compilation""
matthewbauer Feb 7, 2019
a1533df
patch-shebangs: fix dev detection
matthewbauer Feb 9, 2019
ec7d72a
setup.sh: make sure initialPath goes at end of HOST_PATH
matthewbauer Mar 3, 2019
037f62b
stdenv/darwin: put bash in extraBuildInputs
matthewbauer Mar 3, 2019
eaadbdf
cmake: don’t use cf-private
matthewbauer Mar 3, 2019
2b0b63c
stdenv/darwin: use libxml2-nopython for building llvm
matthewbauer Mar 3, 2019
8cabf4d
treewide: rename llvm-dsymutil to dsymutil
matthewbauer Mar 4, 2019
5428db7
guile: apply patch for macOS 10.12+
matthewbauer Mar 5, 2019
dc48350
cf-private: don’t use private sdk
matthewbauer Mar 5, 2019
8e64f46
opensp: fix on darwin/10.12
matthewbauer Mar 6, 2019
27498cd
gnutar: disable CFLocaleCopyPreferredLanguages
matthewbauer Mar 6, 2019
565f28f
Libsystem: add os/availability.h
matthewbauer Mar 6, 2019
4903e82
apple-sdk: update frameworks location
matthewbauer Mar 10, 2019
fffc777
cffi: don’t run tests on darwin
matthewbauer Mar 10, 2019
e3a9b1e
apple-sdk: Foundation needs cf-private
matthewbauer Mar 10, 2019
0e9da4c
libproxy: add libc++ patch
matthewbauer Mar 10, 2019
85cc94c
guile_2_0: add patches for macos 10.12
matthewbauer Mar 10, 2019
9da646e
darwin.xnu: install os/log.h file in Libsystem
matthewbauer Mar 11, 2019
4faa8d0
cctools: add patch for apfs
matthewbauer Mar 12, 2019
9d2326c
Libsystem: get os/{log,trace,activity}.h from darling
matthewbauer Mar 12, 2019
43cda1b
apple-sdk: add Metal framework for QuartzCore
matthewbauer Mar 14, 2019
a2e8e6f
boost167: patch for macOS 10.12
veprbl Mar 19, 2019
2a59d24
pycrypto: remove pre-10.12 patch
matthewbauer Mar 19, 2019
32acda1
libcdio: disable checks on darwin
matthewbauer Mar 19, 2019
1b50217
go1.12: remove dsymutil patch
matthewbauer Mar 19, 2019
c08fe0f
llvm8: remove compiler-rt gettime patch
matthewbauer Mar 19, 2019
ba957d5
emacs-mac: remove MAC_OS_X_VERSION_MAX_ALLOWED
matthewbauer Apr 21, 2019
31060e2
go: disable tests on darwin
matthewbauer Apr 21, 2019
e95ec0d
libao: fix on 10.12 sdk
matthewbauer Apr 21, 2019
3e4f14a
perl: disable test on TAPParserSourceHandlerpgTAP
matthewbauer Apr 21, 2019
66a3a7b
tk: propagate macos dependencies
matthewbauer Apr 21, 2019
0695b7d
ldc: don’t run checks on darwin
matthewbauer Apr 22, 2019
ffeffb3
python-zope_testrunner: don’t run tests on darwin
matthewbauer Apr 22, 2019
c72c6a4
treewide: use llvm6 in some places
matthewbauer Apr 23, 2019
3bab20c
treewide: disable checks on darwin
matthewbauer Apr 23, 2019
c1cb58e
darwin/make-bootstrap-tools: fix build
matthewbauer Apr 23, 2019
d490dad
treewide: use gcc when necessary
matthewbauer Apr 23, 2019
d1f988c
darwin: correct framework dependency
matthewbauer Apr 23, 2019
724e833
treewide: disable -Werror for llvm 7
matthewbauer Apr 23, 2019
ecffd43
xcbuild: use llvm6-based xcbuild
matthewbauer Apr 23, 2019
b1de8cf
treewide: disable tests on darwin
matthewbauer Apr 23, 2019
9c662b1
platinum-searcher: remove fixup for cycle
matthewbauer Apr 23, 2019
d3fa660
yquake: fix on darwin
matthewbauer Apr 23, 2019
6613a5f
treewide: use gcc stdenv in rig and cdb
matthewbauer Apr 23, 2019
eaf153b
libcanberra3: use gdk x11 for macos
matthewbauer Apr 23, 2019
2522f58
e2fsprogs: check if e2scrub_all_cron exists
matthewbauer Apr 23, 2019
f988cf4
tcpcrypt: darwin needs libpcap
matthewbauer Apr 23, 2019
f4d9adf
libtins: fix test on darwin
matthewbauer Apr 23, 2019
f0b7561
rustc: use llvm5 for bootstrapping
matthewbauer Apr 23, 2019
f1461d8
darwin-bootstrap: copy libLLVM dylib
matthewbauer Apr 24, 2019
db032fe
mosh: use llvm6 stdenv on clang stdenv
matthewbauer Apr 24, 2019
9eb4623
file-rename: don’t run tests on darwin
matthewbauer Apr 24, 2019
698ff78
xml2rfc: don’t run tests on darwin
matthewbauer Apr 24, 2019
63831c3
python-fenics: put pytest in nativeBuildInputs
matthewbauer Apr 24, 2019
da38a49
treewide: mark bad packages
matthewbauer Apr 25, 2019
18e7c5a
spectral: add qtmacextras
matthewbauer Apr 25, 2019
29cdd08
tokei: add libiconv for macos
matthewbauer Apr 25, 2019
c1f1a0e
qt5: use llvm5 for all modules
matthewbauer Apr 26, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
1 change: 1 addition & 0 deletions pkgs/applications/audio/fluidsynth/default.nix
Expand Up @@ -44,5 +44,6 @@ stdenv.mkDerivation rec {
license = licenses.lgpl21Plus;
maintainers = with maintainers; [ goibhniu lovek323 ];
platforms = platforms.unix;
badPlatforms = [ "x86_64-darwin" ];
};
}
2 changes: 1 addition & 1 deletion pkgs/applications/editors/emacs/macport.nix
Expand Up @@ -68,7 +68,7 @@ stdenv.mkDerivation rec {
"--enable-mac-app=$$out/Applications"
];

CFLAGS = "-O3 -DMAC_OS_X_VERSION_MAX_ALLOWED=MAC_OS_X_VERSION_10_10 -DMAC_OS_X_VERSION_MIN_REQUIRED=MAC_OS_X_VERSION_10_10";
CFLAGS = "-O3";
LDFLAGS = "-O3 -L${ncurses.out}/lib";

postInstall = ''
Expand Down
2 changes: 2 additions & 0 deletions pkgs/applications/graphics/imgcat/default.nix
Expand Up @@ -22,6 +22,8 @@ stdenv.mkDerivation rec {
sha256 = "0m83c33rzxvs0w214njql2c7q3fg06wnyijch3l2s88i7frl121f";
};

NIX_CFLAGS_COMPILE = "-Wno-error";

meta = with stdenv.lib; {
description = "It's like cat, but for images";
homepage = https://github.com/eddieantonio/imgcat;
Expand Down
2 changes: 2 additions & 0 deletions pkgs/applications/misc/tthsum/default.nix
Expand Up @@ -15,6 +15,8 @@ stdenv.mkDerivation rec {
cp obj-unix/tthsum $out/bin
'';

doCheck = !stdenv.isDarwin;

meta = with stdenv.lib; {
description = "An md5sum-alike program that works with Tiger/THEX hashes";
longDescription = ''
Expand Down
8 changes: 1 addition & 7 deletions pkgs/applications/networking/browsers/firefox/common.nix
Expand Up @@ -153,15 +153,9 @@ stdenv.mkDerivation rec {
]
++ lib.optionals (!isTorBrowserLike) [
"-I${nss.dev}/include/nss"
]
++ lib.optional stdenv.isDarwin [
"-isystem ${llvmPackages.libcxx}/include/c++/v1"
"-DMAC_OS_X_VERSION_MAX_ALLOWED=MAC_OS_X_VERSION_10_10"
];

postPatch = lib.optionalString stdenv.isDarwin ''
substituteInPlace js/src/jsmath.cpp --replace 'defined(HAVE___SINCOS)' 0
'' + lib.optionalString (lib.versionAtLeast ffversion "63.0" && !isTorBrowserLike) ''
postPatch = lib.optionalString (lib.versionAtLeast ffversion "63.0" && !isTorBrowserLike) ''
substituteInPlace third_party/prio/prio/rand.c --replace 'nspr/prinit.h' 'prinit.h'
'';

Expand Down
Expand Up @@ -5,6 +5,7 @@
# Not mentioned but seems needed
, qtgraphicaleffects
, qtdeclarative
, qtmacextras
}:

let
Expand Down Expand Up @@ -37,7 +38,8 @@ in stdenv.mkDerivation rec {

nativeBuildInputs = [ pkgconfig qmake makeWrapper ];
buildInputs = [ qtbase qtquickcontrols2 qtmultimedia qtgraphicaleffects qtdeclarative ]
++ stdenv.lib.optional stdenv.hostPlatform.isLinux libpulseaudio;
++ stdenv.lib.optional stdenv.hostPlatform.isLinux libpulseaudio
++ stdenv.lib.optional stdenv.hostPlatform.isDarwin qtmacextras;

meta = with stdenv.lib; {
description = "A glossy client for Matrix, written in QtQuick Controls 2 and C++";
Expand Down
2 changes: 2 additions & 0 deletions pkgs/applications/science/astronomy/xplanet/default.nix
Expand Up @@ -17,6 +17,8 @@ stdenv.mkDerivation rec {
./gcc6.patch
];

NIX_CFLAGS_COMPILE = "-Wno-error=c++11-narrowing";

meta = {
description = "Renders an image of the earth or other planets into the X root window";
homepage = http://xplanet.sourceforge.net;
Expand Down
2 changes: 2 additions & 0 deletions pkgs/applications/science/biology/cmtk/default.nix
Expand Up @@ -11,6 +11,8 @@ stdenv.mkDerivation rec {

buildInputs = [cmake];

NIX_CFLAGS_COMPILE = "-Wno-error=c++11-narrowing";

meta = with stdenv.lib; {
description = "Computational Morphometry Toolkit ";
longDescription = ''A software toolkit for computational morphometry of
Expand Down
53 changes: 50 additions & 3 deletions pkgs/build-support/setup-hooks/patch-shebangs.sh
Expand Up @@ -5,10 +5,32 @@
# rewritten to /nix/store/<hash>/bin/python. Interpreters that are
# already in the store are left untouched.

fixupOutputHooks+=('if [ -z "$dontPatchShebangs" -a -e "$prefix" ]; then patchShebangs "$prefix"; fi')
fixupOutputHooks+=(patchShebangsAuto)

# Run patch shebangs on a directory.
# patchShebangs [--build | --host] directory

# Flags:
# --build : Lookup commands available at build-time
# --host : Lookup commands available at runtime

# Example use cases,
# $ patchShebangs --host /nix/store/...-hello-1.0/bin
# $ patchShebangs --build configure

patchShebangs() {
local pathName

if [ "$1" = "--host" ]; then
pathName=HOST_PATH
shift
elif [ "$1" = "--build" ]; then
pathName=PATH
shift
fi

local dir="$1"

header "patching script interpreter paths in $dir"
local f
local oldPath
Expand All @@ -27,6 +49,14 @@ patchShebangs() {
oldInterpreterLine=$(head -1 "$f" | tail -c+3)
read -r oldPath arg0 args <<< "$oldInterpreterLine"

if [ -z "$pathName" ]; then
if [ -n "$strictDeps" ] && [[ "$f" = "$NIX_STORE"* ]]; then
pathName=HOST_PATH
else
pathName=PATH
fi
fi

if $(echo "$oldPath" | grep -q "/bin/env$"); then
# Check for unsupported 'env' functionality:
# - options: something starting with a '-'
Expand All @@ -35,14 +65,17 @@ patchShebangs() {
echo "$f: unsupported interpreter directive \"$oldInterpreterLine\" (set dontPatchShebangs=1 and handle shebang patching yourself)"
exit 1
fi
newPath="$(command -v "$arg0" || true)"

newPath="$(PATH="${!pathName}" command -v "$arg0" || true)"
else
if [ "$oldPath" = "" ]; then
# If no interpreter is specified linux will use /bin/sh. Set
# oldpath="/bin/sh" so that we get /nix/store/.../sh.
oldPath="/bin/sh"
fi
newPath="$(command -v "$(basename "$oldPath")" || true)"

newPath="$(PATH="${!pathName}" command -v "$(basename "$oldPath")" || true)"

args="$arg0 $args"
fi

Expand All @@ -65,3 +98,17 @@ patchShebangs() {

stopNest
}

patchShebangsAuto () {
if [ -z "$dontPatchShebangs" -a -e "$prefix" ]; then

# Dev output will end up being run on the build platform. An
# example case of this is sdl2-config. Otherwise, we can just
# use the runtime path (--host).
if [ "$output" != out ] && [ "$output" = "$outputDev" ]; then
patchShebangs --build "$prefix"
else
patchShebangs --host "$prefix"
fi
fi
}
3 changes: 0 additions & 3 deletions pkgs/build-support/wrapper-common/utils.bash
Expand Up @@ -86,9 +86,6 @@ expandResponseParams() {
#shellcheck disable=SC2034
readarray -d '' params < <("@expandResponseParams@" "$@")
return 0
else
echo "Response files aren't supported during bootstrapping" >&2
return 1
fi
fi
done
Expand Down
2 changes: 1 addition & 1 deletion pkgs/desktops/gnome-3/core/dconf/default.nix
Expand Up @@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
"-Dgtk_doc=true"
];

doCheck = !stdenv.isAarch64;
doCheck = !stdenv.isAarch64 && !stdenv.isDarwin;

passthru = {
updateScript = gnome3.updateScript {
Expand Down
6 changes: 4 additions & 2 deletions pkgs/desktops/gnustep/default.nix
@@ -1,4 +1,4 @@
{ pkgs, newScope }:
{ pkgs, newScope, stdenv, llvmPackages_6 }:

let
callPackage = newScope self;
Expand All @@ -10,7 +10,9 @@ let
gorm = callPackage ./gorm {};
projectcenter = callPackage ./projectcenter {};
system_preferences = callPackage ./systempreferences {};
libobjc = callPackage ./libobjc2 {};
libobjc = callPackage ./libobjc2 {
stdenv = if stdenv.cc.isClang then llvmPackages_6.stdenv else stdenv;
};
make = callPackage ./make {};
back = callPackage ./back {};
base = callPackage ./base { giflib = pkgs.giflib_4_1; };
Expand Down
1 change: 1 addition & 0 deletions pkgs/development/compilers/gcc/4.8/default.nix
Expand Up @@ -418,6 +418,7 @@ stdenv.mkDerivation ({
stdenv.lib.platforms.freebsd ++
stdenv.lib.platforms.illumos ++
stdenv.lib.platforms.darwin;
badPlatforms = [ "x86_64-darwin" ];
};
}

Expand Down
1 change: 1 addition & 0 deletions pkgs/development/compilers/gcc/4.9/default.nix
Expand Up @@ -430,6 +430,7 @@ stdenv.mkDerivation ({
stdenv.lib.platforms.freebsd ++
stdenv.lib.platforms.illumos ++
stdenv.lib.platforms.darwin;
badPlatforms = [ "x86_64-darwin" ];
};
}

Expand Down
1 change: 1 addition & 0 deletions pkgs/development/compilers/gcc/5/default.nix
Expand Up @@ -435,6 +435,7 @@ stdenv.mkDerivation ({
stdenv.lib.platforms.freebsd ++
stdenv.lib.platforms.illumos ++
stdenv.lib.platforms.darwin;
badPlatforms = [ "x86_64-darwin" ];
};
}

Expand Down
6 changes: 1 addition & 5 deletions pkgs/development/compilers/go/1.10.nix
Expand Up @@ -131,11 +131,6 @@ stdenv.mkDerivation rec {
})
];

postPatch = optionalString stdenv.isDarwin ''
echo "substitute hardcoded dsymutil with ${llvm}/bin/llvm-dsymutil"
substituteInPlace "src/cmd/link/internal/ld/lib.go" --replace dsymutil ${llvm}/bin/llvm-dsymutil
'';

GOOS = if stdenv.isDarwin then "darwin" else "linux";
GOARCH = if stdenv.isDarwin then "amd64"
else if stdenv.hostPlatform.system == "i686-linux" then "386"
Expand Down Expand Up @@ -187,5 +182,6 @@ stdenv.mkDerivation rec {
license = licenses.bsd3;
maintainers = with maintainers; [ cstrahan orivej velovix mic92 ];
platforms = platforms.linux ++ platforms.darwin;
badPlatforms = [ "x86_64-darwin" ];
};
}
7 changes: 1 addition & 6 deletions pkgs/development/compilers/go/1.11.nix
Expand Up @@ -136,11 +136,6 @@ stdenv.mkDerivation rec {
./skip-test-extra-files-on-386.patch
];

postPatch = optionalString stdenv.isDarwin ''
echo "substitute hardcoded dsymutil with ${llvm}/bin/llvm-dsymutil"
substituteInPlace "src/cmd/link/internal/ld/lib.go" --replace dsymutil ${llvm}/bin/llvm-dsymutil
'';

GOOS = stdenv.targetPlatform.parsed.kernel.name;
GOARCH = goarch stdenv.targetPlatform;
# GOHOSTOS/GOHOSTARCH must match the building system, not the host system.
Expand Down Expand Up @@ -188,7 +183,7 @@ stdenv.mkDerivation rec {
(cd src && ./make.bash)
'';

doCheck = stdenv.hostPlatform == stdenv.targetPlatform;
doCheck = stdenv.hostPlatform == stdenv.targetPlatform && !stdenv.isDarwin;

checkPhase = ''
runHook preCheck
Expand Down
5 changes: 1 addition & 4 deletions pkgs/development/compilers/go/1.12.nix
Expand Up @@ -141,9 +141,6 @@ stdenv.mkDerivation rec {

postPatch = ''
find . -name '*.orig' -exec rm {} ';'
'' + optionalString stdenv.isDarwin ''
echo "substitute hardcoded dsymutil with ${llvm}/bin/llvm-dsymutil"
substituteInPlace "src/cmd/link/internal/ld/lib.go" --replace dsymutil ${llvm}/bin/llvm-dsymutil
'';

GOOS = stdenv.targetPlatform.parsed.kernel.name;
Expand Down Expand Up @@ -193,7 +190,7 @@ stdenv.mkDerivation rec {
(cd src && ./make.bash)
'';

doCheck = stdenv.hostPlatform == stdenv.targetPlatform;
doCheck = stdenv.hostPlatform == stdenv.targetPlatform && !stdenv.isDarwin;

checkPhase = ''
runHook preCheck
Expand Down
2 changes: 1 addition & 1 deletion pkgs/development/compilers/ldc/default.nix
Expand Up @@ -150,7 +150,7 @@ stdenv.mkDerivation rec {
else
"";

doCheck = !bootstrapVersion;
doCheck = !bootstrapVersion && !stdenv.isDarwin;

checkPhase = stdenv.lib.optionalString doCheck ''
# Build default lib test runners
Expand Down
1 change: 1 addition & 0 deletions pkgs/development/compilers/llvm/3.7/libc++/default.nix
Expand Up @@ -43,5 +43,6 @@ stdenv.mkDerivation rec {
description = "A new implementation of the C++ standard library, targeting C++11";
license = with stdenv.lib.licenses; [ ncsa mit ];
platforms = stdenv.lib.platforms.unix;
badPlatforms = [ "x86_64-darwin" ];
};
}
1 change: 1 addition & 0 deletions pkgs/development/compilers/llvm/4/lld.nix
Expand Up @@ -27,5 +27,6 @@ stdenv.mkDerivation {
homepage = http://lld.llvm.org/;
license = stdenv.lib.licenses.ncsa;
platforms = stdenv.lib.platforms.all;
badPlatforms = [ "x86_64-darwin" ];
};
}
1 change: 1 addition & 0 deletions pkgs/development/compilers/llvm/5/lld.nix
Expand Up @@ -27,5 +27,6 @@ stdenv.mkDerivation {
homepage = http://lld.llvm.org/;
license = stdenv.lib.licenses.ncsa;
platforms = stdenv.lib.platforms.all;
badPlatforms = [ "x86_64-darwin" ];
};
}
74 changes: 0 additions & 74 deletions pkgs/development/compilers/llvm/7/compiler-rt-clock_gettime.patch

This file was deleted.