meson: save out-of-tree patches locally

This commit is contained in:
Weijia Wang 2023-05-26 17:30:19 +03:00
parent a9b654ab35
commit 6f02d8f9d0
2 changed files with 53 additions and 4 deletions

View File

@ -0,0 +1,51 @@
From 1643ed0d8a9201732905bee51b096605d26aaaac Mon Sep 17 00:00:00 2001
From: Randy Eckenrode <randy@largeandhighquality.com>
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',

View File

@ -27,10 +27,8 @@ python3.pkgs.buildPythonApplication rec {
patches = [
# Fix Meson tests that fail when the Nix store is case-sensitive APFS.
(fetchpatch {
url = "https://github.com/mesonbuild/meson/pull/11820.patch";
sha256 = "sha256-mzSEvAQl13OpFFzSvMI4kkdnW6CXXnKz2xNlXaXduhY=";
})
# 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