Commit graph

76 commits

Author SHA1 Message Date
Joey Hess
a7ef05a988 configure: hardcode some things that cannot be probed for when cross-compiling for Android 2013-02-11 16:56:30 -04:00
Joey Hess
f202d997f4 Now uses the Haskell uuid library, rather than needing a uuid program.
Been meaning to do this for some time; Android port was last straw.

Note that newer versions of the uuid library have a Data.UUID.V4 that
generates random UUIDs slightly more cleanly, but Debian has an old version
of the library, so I do it slightly round-about.
2013-02-10 14:52:54 -04:00
Joey Hess
82617b92e9 move thirdparty program installation for standalone bundle into haskell program
This allows it to use Build.SysConfig to always install the programs
configure detected. Amoung other fixes, this ensures the right uuid
generator and checksum programs are installed.

I also cleaned up the handling of lsof's path; configure now checks for
it in PATH, but falls back to looking for it in sbin directories.
2012-12-14 16:07:59 -04:00
Joey Hess
1a10f109c1 quiet shell error message 2012-12-14 15:05:08 -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
Joey Hess
76b7ab0b35 fix infinite loop 2012-12-09 12:14:19 -04:00
Joey Hess
01b359b4f8 insane osx short library name hack
Since I'm dealing with arbitrarily short fields in which to store the
library name, and would have to rebuild a bunch of stuff like git to avoid
that, and I have to prefix this obnoxiously long "@executable_path"
to it, it's easy to run out of space. This makes it use 1 and 2 letter long
filenames for libraries in the app. Fun fun fun fun fun.
2012-12-08 17:44:10 -04:00
Joey Hess
56b3dbe544 fix library filenames in osx app 2012-12-08 17:14:45 -04:00
Joey Hess
86e5da4c92 chmod libs so install_name_tool can modify them 2012-12-08 15:54:39 -04:00
Joey Hess
c7a4ad8bc3 move libs to try to fit within available path space 2012-12-08 12:29:09 -04:00
Joey Hess
1dd386903b use install_name_tool to adjust library paths in osx app
Have not yet been able to test this.
2012-12-08 11:07:59 -04:00
Joey Hess
0986a21ce0 Revert "skip frameworks"
This reverts commit f850a64bd0.

At least CoreFoundation framework seems to be needed.
2012-12-07 14:40:48 -04:00
Joey Hess
f850a64bd0 skip frameworks
I suspect this might be related to recent reports of hangs.
2012-12-07 12:21:15 -04:00
Joey Hess
ad71ccdb57 got this working 2012-11-26 17:11:09 -04:00
Joey Hess
40cdfd1a1e add debugging 2012-11-26 16:31:41 -04:00
Joey Hess
4f9cb2041c rewrote OSX library copier in Haskell, now with recursive copying of library deps 2012-11-26 14:09:40 -04:00
Joey Hess
2172cc586e where indenting 2012-11-11 00:51:07 -04:00
Joey Hess
94ccfc92f9 look for gsha* commands, as installed on some OS's that think "GNU" is nonstandard 2012-11-09 11:27:50 -04:00
Joey Hess
60fba9097a don't test host in configure
That'll fail when building offline.
2012-10-30 19:28:46 -04:00
Joey Hess
a0bdb2bb00 SRV lookup library
This uses the ADNS library, if available. Otherwise, the host program.

I anticipate that cabal users won't easily get hsdns installed, since
it's a Haskell binding to a C library. And using host is just fine, as
long as the system has it.
2012-10-25 17:54:00 -04:00
Joey Hess
9cdbfa764e configure: Check that checksum programs produce correct checksums. + bitter rant
So, it might be called sha1sum, or on some other OS, it might be called
sha1. It might be hidden away off of PATH on that OS. That's just expected
insanity; UNIX has been this way since 1980's. And these days, nobody even
gives the flying flip about standards that we briefly did in the 90's
after the first round of unix wars.

But it's the 2010's now, and we've certainly learned something.
So, let's make it so sometimes sha1 is a crazy program that wants to run as
root so it can lock memory while prompting for a passphrase, and outputting
binary garbage. Yes, that'd be wise. Let's package that in major Linux
distros, too, so users can stumble over it.
2012-10-25 00:05:17 -04:00
Joey Hess
1f1d75bc13 OSX: Stop installing non-self-contained webapp into Desktop directory.
This was a stopgap, and we have the self-contained webapp now.
2012-10-21 15:33:06 -04:00
Joey Hess
0e0003f004 fix name of path to osx app directory 2012-10-06 17:03:40 -04:00
Joey Hess
e24ff46f96 move 2012-10-01 13:38:19 -04:00
Joey Hess
b7df987adb osx build fix 2012-09-29 01:08:05 -04:00
Joey Hess
e88e3ba85b standalone linux app nearly ready
also made several fixes that apply to the OSX app
2012-09-28 19:08:13 -04:00
Joey Hess
087781fb05 Always do a system wide installation when DESTDIR is set. Closes: #689052 2012-09-28 15:48:00 -04:00
Joey Hess
9c4a23cab1 install a git-annex-shell shim script when the standalone OSX app runs
I put it in ~/.ssh/ because there's no reliable way to get it into PATH,
and OSX ssh doesn't even honor user's PATH by default.

authorized_keys generators will need to check if it's there. Not done yet.
2012-09-26 17:23:45 -04:00
Joey Hess
3da78cc241 make the standalone OSX app automatically install itself when run 2012-09-26 16:50:04 -04:00
Joey Hess
bc83179a76 Test that uuid -m works, falling back to plain uuid if not. 2012-09-25 10:48:20 -04:00
Joey Hess
356dc9bc17 file name changed 2012-09-25 10:25:31 -04:00
Joey Hess
377636850e use copyFile (supports binary icon file) 2012-09-23 12:24:46 -04:00
Joey Hess
e62a975aa3 install in /Applications 2012-09-23 12:00:14 -04:00
Joey Hess
4baaab02cf install Jimmy's .app on OS X
I'm guessing that ~/Desktop/git-annex.app will be visiable.

For the system-wide installation, I don't know where to put it, though
somewhere in /Library seems likely.
2012-09-23 11:42:44 -04:00
Joey Hess
e8188ea611 flip catchDefaultIO 2012-09-17 00:18:07 -04:00