From 72ec7da41b0ef174286a261074b18eb5e572ea15 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Tue, 15 Dec 2020 12:47:24 -0400 Subject: [PATCH] OSXMkLibs: skip @loader_path This may or may not make the OSX build work on a newer version of OSX than the one that's currently being used for release builds. I have not been able to find good docs about how exactly to get back from such a value to the actual path to the library that the linker would use. --- Build/OSXMkLibs.hs | 12 +++++++----- Makefile | 1 - 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/Build/OSXMkLibs.hs b/Build/OSXMkLibs.hs index 196650bae1..fed88de88c 100644 --- a/Build/OSXMkLibs.hs +++ b/Build/OSXMkLibs.hs @@ -34,10 +34,7 @@ type LibMap = M.Map FilePath String mklibs :: FilePath -> M.Map FilePath FilePath -> IO Bool mklibs appbase installedbins = do - usl <- getEnv "USE_SYSTEM_LIBS" - case usl of - Nothing -> mklibs' appbase installedbins [] [] M.empty - Just _ -> hPutStrLn stderr "dmg will use system libraries (USE_SYSTEM_LIBS)" + mklibs' appbase installedbins [] [] M.empty return True {- Recursively find and install libs, until nothing new to install is found. -} @@ -92,7 +89,12 @@ otool appbase installedbins replacement_libs libmap = do files <- filterM doesFileExist =<< dirContentsRecursive appbase process [] files replacement_libs libmap where - want s = not ("@executable_path" `isInfixOf` s) + want s = + -- This seems to be about finding libraries next + -- to executables or something. May need further resolving + -- to find real path to library, but for now, skip it. + not ("@executable_path" `isInfixOf` s) + && not ("@loader_path" `isInfixOf` s) -- OSX framekworks such as Cocoa are too tightly tied to -- a specific OSX version, so don't bundle. && not (".framework" `isInfixOf` s) diff --git a/Makefile b/Makefile index 5b6754cfae..dce3173a47 100644 --- a/Makefile +++ b/Makefile @@ -205,7 +205,6 @@ dpkg-buildpackage%: prep-standalone umask 022; dpkg-buildpackage -rfakeroot $* $(MAKE) undo-standalone -# Run this with USE_SYSTEM_LIBS=1 to build without bundling system libraries. OSXAPP_DEST=tmp/build-dmg/git-annex.app OSXAPP_TOP=$(OSXAPP_DEST)/Contents/MacOS/bundle osxapp: