Commit graph

61 commits

Author SHA1 Message Date
Joey Hess
77048906a4
assume @RPATH libs are present
Previous change caused them to be skipped. Probably when @RPATH is
included in the path, it's a path to a file that actually exists.

Sponsored-by: Dartmouth College's Datalad project
2022-01-03 15:05:15 -04:00
Joey Hess
abeb7dcdde
skip OSX libraries that do not exist in disk due to new cache
Addresses the build problem discussed here:
https://github.com/datalad/git-annex/issues/95

Sponsored-by: Dartmouth College's Datalad project
2022-01-03 13:19:33 -04:00
Joey Hess
72ec7da41b
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.
2020-12-15 12:47:24 -04:00
Joey Hess
fac5ccb2e2
add USE_SYSTEM_LIBS=1 for osxapp build 2020-12-14 15:34:27 -04:00
Joey Hess
dd52d8ebdc
update after RawFilePath transition 2020-11-09 12:12:25 -04:00
Joey Hess
1c13745112
osx build fix 2020-08-07 12:59:47 -04:00
Joey Hess
93d0abaaa6
osx build fix 2020-08-07 12:39:59 -04:00
Joey Hess
b2eaca27a7
fix osx build 2020-08-07 12:14:02 -04:00
Joey Hess
88e5ebcda7
runshell LD_HWCAP_MASK=0 optimisation 2020-08-03 14:34:15 -04:00
Joey Hess
e62817c00d
move standalone building code out of Makefile and into Build.Standalone
This includes making Build.Standalone run LinuxMkLibs or OSXMkLibs
rather than doing that separately. Which is groundwork for a later
optimisation.

Also it simplified the code some.
2020-08-03 14:15:03 -04:00
Joey Hess
b321526473
OSX link libs into git-core directory
So that binaries in that directory can find the library next to them,
where they get modified to look.

This is a hack; it would be better for OSXMkLibs to build a list of what
libraries are needed where.

Unsure if this is needed due to a recent reversion, or is an older
problem, so updated changelog accordingly.
2019-11-14 18:31:58 -04:00
Joey Hess
40ecf58d4b
update licenses from GPL to AGPL
This does not change the overall license of the git-annex program, which
was already AGPL due to a number of sources files being AGPL already.

Legally speaking, I'm adding a new license under which these files are
now available; I already released their current contents under the GPL
license. Now they're dual licensed GPL and AGPL. However, I intend
for all my future changes to these files to only be released under the
AGPL license, and I won't be tracking the dual licensing status, so I'm
simply changing the license statement to say it's AGPL.

(In some cases, others wrote parts of the code of a file and released it
under the GPL; but in all cases I have contributed a significant portion
of the code in each file and it's that code that is getting the AGPL
license; the GPL license of other contributors allows combining with
AGPL code.)
2019-03-13 15:48:14 -04:00
Joey Hess
5574e25c54
OSX app: Work around libz/libPng/ImageIO.framework version skew
By not bundling libz, assuming OSX includes a suitable libz.1.dylib.

This commit was supported by the NSF-funded DataLad project.
2018-03-22 11:53:10 -04:00
Joey Hess
a59d1a0ee6
remove unused import 2017-11-21 12:46:20 -04:00
Joey Hess
3bd3885dbb
fix OSX build 2017-06-09 14:57:11 -04:00
Joey Hess
627dc6036e
remove unused import 2017-02-28 14:08:56 -04:00
Joey Hess
3ecbde6376
fix OSX build 2017-02-13 12:41:28 -04:00
Joey Hess
9eb10caa27
Some optimisations to string splitting code.
Turns out that Data.List.Utils.split is slow and makes a lot of
allocations. Here's a much simpler single character splitter that behaves
the same (even in wacky corner cases) while running in half the time and
75% the allocations.

As well as being an optimisation, this helps move toward eliminating use of
missingh.

(Data.List.Split.splitOn is nearly as slow as Data.List.Utils.split and
allocates even more.)

I have not benchmarked the effect on git-annex, but would not be surprised
to see some parsing of eg, large streams from git commands run twice as
fast, and possibly in less memory.

This commit was sponsored by Boyd Stephen Smith Jr. on Patreon.
2017-01-31 19:06:22 -04:00
Joey Hess
b22409db38
avoid warnings about not exported System.Directory.isSymbolicLink 2016-04-28 15:18:11 -04:00
Joey Hess
5fe450514b
Fix build with directory-1.2.6.2.
It started exporting a isSymbolicLink which supports windows. But,
git-annex does no use symlinks on windows yet and this conflicts with the
function by the same name from unix-compat, so hide it.
2016-04-28 13:18:44 -04:00
Joey Hess
ab5f7b05f5
Fix OSX dmg to include libraries needed by bundled gpg, lost in last release. 2016-03-07 12:55:01 -04:00
Joey Hess
6a5e241a74
throw exception if library copy fails 2016-01-14 17:56:21 -04:00
Joey Hess
4ca9fa4d39
fix build warning with AMP ghc 2015-12-28 13:16:46 -04:00
Joey Hess
afc5153157 update my email address and homepage url 2015-01-21 12:50:09 -04:00
Joey Hess
3bab5dfb1d revert parentDir change
Reverts 965e106f24

Unfortunately, this caused breakage on Windows, and possibly elsewhere,
because parentDir and takeDirectory do not behave the same when there is a
trailing directory separator.
2015-01-09 13:11:56 -04:00
Joey Hess
965e106f24 made parentDir return a Maybe FilePath; removed most uses of it
parentDir is less safe than takeDirectory, especially when working
with relative FilePaths. It's really only useful in loops that
want to terminate at /

This commit was sponsored by Audric SCHILTKNECHT.
2015-01-06 18:55:56 -04:00
Joey Hess
7b50b3c057 fix some mixed space+tab indentation
This fixes all instances of " \t" in the code base. Most common case
seems to be after a "where" line; probably vim copied the two space layout
of that line.

Done as a background task while listening to episode 2 of the Type Theory
podcast.
2014-10-09 15:09:11 -04:00
Joey Hess
ff6854e5b4 fix install_name_tool library name replacement 2014-01-15 13:05:07 -04:00
Joey Hess
465a24cc54 fix warning 2014-01-14 16:44:04 -04:00
Joey Hess
d0b51099a4 search DYLD_LIBRARY_PATH for libraries 2014-01-14 16:28:05 -04:00
Joey Hess
8aa22a57ca use pure or return rather than (:[]) or \x -> [x] 2013-11-06 01:18:22 -04:00
Joey Hess
b9341fd4c0 handle rpath in OSXMkLibs
Now oberon has some binaries and libraries that use rpath, so I had to put
in this ugly hack to replace the @rapth/lib with the lib in the app.

This was particularly tricky for libraries that use @rpath because I could
not find a way to extract the rpath from the library. (Only from the
executable, by running it.. ugh!) The hack I put in place may fail if
multiple different libraries use rpath to refer to other libraries,
and the "@rpath/lib" string is the same, but actually refers to different
files.
2013-04-22 13:33:29 -04:00
Joey Hess
6f8ec9a1d2 argle 2013-04-17 11:57:46 -04:00
Joey Hess
faa9b4473c remove module definitions for these standalone programs
Sometimes ghc --make skips building these binaries, as it sees no Main
module.
2013-04-17 11:54:27 -04:00
Joey Hess
9b663c7f8c remove libSystem.b from OSX build
Without the frameworks, but with this library, I get:

dyld: Symbol not found: __vproc_transactions_enable
  Referenced from: /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
  Expected in: /Volumes/git-annex/git-annex.app/Contents/MacOS/./C
 in /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation

Without this library, things seem to work again w/o frameworks.
2012-12-13 12:17:12 -04:00
Joey Hess
900351ab85 try skipping OSX frameworks 2012-12-12 21:34:59 -04:00
Joey Hess
43f7110220 typo 2012-12-09 13:45:51 -04:00
Joey Hess
ad488c23ac install libs in subdirs again 2012-12-09 13:42:30 -04:00
Joey Hess
a2a0a71e2b install_name_tool fix 2012-12-09 13:38:08 -04:00
Joey Hess
acbd640f89 optimisation; only run install_name_tool once per binary 2012-12-09 13:29:30 -04:00
Joey Hess
ecc49d7db8 use full path name to generate library filename
avoids overlaps
2012-12-09 13:17:55 -04:00
Joey Hess
4bb8fdb70d typo 2012-12-09 13:08:57 -04:00
Joey Hess
5d73a790e8 avoid using short lib names that clash with unix command names 2012-12-09 13:06:59 -04:00
Joey Hess
da53d0fa10 syntax 2012-12-09 13:02:59 -04:00
Joey Hess
8c082cda2e remove unused cruft 2012-12-09 12:59:34 -04:00
Joey Hess
dea5599d3d oh yeah, OSX is case insensative 2012-12-09 12:54:19 -04:00
Joey Hess
9370c32290 tweak 2012-12-09 12:46:28 -04:00
Joey Hess
8e26b2f941 reverse symlinks 2012-12-09 12:35:50 -04:00
Joey Hess
c6d570a1cc install libs using short names, with symlinks to we can tell what libraries
they are supposed to be
2012-12-09 12:22:09 -04:00
Joey Hess
1c2da18b0b fix executable permissions
sh at least does not default to having a write bit
2012-12-09 12:16:02 -04:00