zchunk: fix build on darwin

This commit is contained in:
Andrew Dunham 2022-07-14 16:32:45 -04:00
parent ed56c82699
commit 3ad87b4537
2 changed files with 23 additions and 1 deletions

View File

@ -0,0 +1,18 @@
diff --git a/meson.build b/meson.build
index 1c6b32d..aa7dd25 100644
--- a/meson.build
+++ b/meson.build
@@ -58,10 +58,10 @@ endif
# argp-standalone dependency (if required)
if build_machine.system() == 'windows' or build_machine.system() == 'darwin' or build_machine.system() == 'freebsd' or not cc.links('#include <argp.h>\nstatic error_t parse_opt (int key, char *arg, struct argp_state *state) { argp_usage(state); return 0; }; void main() {}')
- if fs.is_dir(join_paths([get_option('prefix'), 'include']))
- inc += include_directories(join_paths([get_option('prefix'), 'include']))
+ argplib = cc.find_library('argp', has_headers : ['argp.h'], required: false)
+ if not argplib.found()
+ argplib = dependency('argp-standalone')
endif
- argplib = cc.find_library('argp', dirs : join_paths([get_option('prefix'), 'lib']))
else
argplib = dependency('', required : false)
endif

View File

@ -20,6 +20,11 @@ stdenv.mkDerivation rec {
hash = "sha256-7H1WF5VkpA65xCdEa0Sw4r4jj+kGhDVCMr5AeE+3Ii4=";
};
# unbreak on darwin by finding argp-standalone, based on the patch from
# buildroot:
# https://github.com/buildroot/buildroot/raw/master/package/zchunk/0001-meson-fix-argp-standalone-wrap-and-find_library.patch
patches = lib.optional stdenv.isDarwin ./0001-meson-fix-argp-standalone.patch;
nativeBuildInputs = [
meson
ninja
@ -47,6 +52,5 @@ stdenv.mkDerivation rec {
license = licenses.bsd2;
maintainers = with maintainers; [ AndersonTorres ];
platforms = platforms.unix;
broken = stdenv.isDarwin; # does not find argp-standalone
};
}