Skip to content

Commit

Permalink
Merge pull request #234105 from reckenrode/meson-fix
Browse files Browse the repository at this point in the history
meson: fix build with case-sensitive store on Darwin
  • Loading branch information
wegank authored May 26, 2023
2 parents 41b60d7 + 6f02d8f commit c3f8494
Show file tree
Hide file tree
Showing 2 changed files with 55 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
From 1643ed0d8a9201732905bee51b096605d26aaaac Mon Sep 17 00:00:00 2001
From: Randy Eckenrode <[email protected]>
Date: Fri, 26 May 2023 00:10:45 -0400
Subject: [PATCH] Fix test failures on Darwin on a case-sensitive fs

This issue was encounetered while working on a contribution to nixpkgs.
Nix allows the store to be installed on a separate, case-sensitive APFS
volume. When the store is on a case-sensitive volume, these tests fail
because they try to use `foundation` instead of `Foundation`.
---
.../failing/78 framework dependency with version/meson.build | 2 +-
test cases/objc/2 nsstring/meson.build | 2 +-
test cases/osx/6 multiframework/meson.build | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/test cases/failing/78 framework dependency with version/meson.build b/test cases/failing/78 framework dependency with version/meson.build
index b7e04bab446..ee315ebcbd7 100644
--- a/test cases/failing/78 framework dependency with version/meson.build
+++ b/test cases/failing/78 framework dependency with version/meson.build
@@ -5,4 +5,4 @@ if host_machine.system() != 'darwin'
endif

# do individual frameworks have a meaningful version to test? And multiple frameworks might be listed...
-dep = dependency('appleframeworks', modules: 'foundation', version: '>0')
+dep = dependency('appleframeworks', modules: 'Foundation', version: '>0')
diff --git a/test cases/objc/2 nsstring/meson.build b/test cases/objc/2 nsstring/meson.build
index 94d2cf18ab4..2c483d50d68 100644
--- a/test cases/objc/2 nsstring/meson.build
+++ b/test cases/objc/2 nsstring/meson.build
@@ -1,7 +1,7 @@
project('nsstring', 'objc')

if host_machine.system() == 'darwin'
- dep = dependency('appleframeworks', modules : 'foundation')
+ dep = dependency('appleframeworks', modules : 'Foundation')
elif host_machine.system() == 'cygwin'
error('MESON_SKIP_TEST GNUstep is not packaged for Cygwin.')
else
diff --git a/test cases/osx/6 multiframework/meson.build b/test cases/osx/6 multiframework/meson.build
index 28846243b21..57e5d61560b 100644
--- a/test cases/osx/6 multiframework/meson.build
+++ b/test cases/osx/6 multiframework/meson.build
@@ -4,7 +4,7 @@ project('multiframework', 'objc')
# that causes a build failure when defining two modules. The
# arguments for the latter module overwrote the arguments for
# the first one rather than adding to them.
-cocoa_dep = dependency('appleframeworks', modules : ['AppKit', 'foundation'])
+cocoa_dep = dependency('appleframeworks', modules : ['AppKit', 'Foundation'])

executable('deptester',
'main.m',
4 changes: 4 additions & 0 deletions pkgs/development/tools/build-managers/meson/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,10 @@ python3.pkgs.buildPythonApplication rec {
};

patches = [
# Fix Meson tests that fail when the Nix store is case-sensitive APFS.
# https://github.com/mesonbuild/meson/pull/11820
./darwin-case-sensitive-fs.patch

# Meson is currently inspecting fewer variables than autoconf does, which
# makes it harder for us to use setup hooks, etc. Taken from
# https://github.com/mesonbuild/meson/pull/6827
Expand Down

0 comments on commit c3f8494

Please sign in to comment.