add osxapp target
Not fully tested.
This commit is contained in:
parent
a40fe3a5d8
commit
37dff15ade
5 changed files with 79 additions and 1 deletions
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -21,3 +21,6 @@ cabal-dev
|
|||
.dir-locals.el
|
||||
# OSX related
|
||||
.DS_Store
|
||||
ui-macos/git-annex.app/Contents/MacOS/bin
|
||||
ui-macos/git-annex.app/Contents/MacOS/lib
|
||||
ui-macos/git-annex.app/Contents/MacOS/git-core
|
||||
|
|
20
Makefile
20
Makefile
|
@ -133,4 +133,24 @@ sdist: clean $(mans)
|
|||
hackage: sdist
|
||||
@cabal upload dist/*.tar.gz
|
||||
|
||||
OSXAPP_BASE=ui-macos/git-annex.app/Contents/MacOS
|
||||
THIRDPARTY_BINS=git curl lsof xargs rsync uuid wget xargs \
|
||||
sha1sum sha224sum sha256sum sha384sum sha512sum
|
||||
|
||||
osxapp: $(bins)
|
||||
install -d "$(OSXAPP_BASE)/bin"
|
||||
for bin in git-annex $(THIRDPARTY_BINS); do \
|
||||
cp "$$(which "$$bin")" "$(OSXAPP_BASE)/bin/" || echo "$$bin not available; skipping"; \
|
||||
done
|
||||
|
||||
ln -sf git-annex "$(OSXAPP_BASE)/bin/git-annex-shell"
|
||||
install -d "$(OSXAPP_BASE)/git-core"
|
||||
(cd "$(shell git --exec-path)" && tar c .) | (cd "$(OSXAPP_BASE)"/git-core && tar x)
|
||||
|
||||
install -d "$(OSXAPP_BASE)/lib"
|
||||
for lib in $$(otool -L "$(OSXAPP_BASE)"/bin/* "$(OSXAPP_BASE)"/git-core/* | egrep '^ ' | cut -d ' ' -f 1 | sed 's/^ //' | sort | uniq); do \
|
||||
base=$$(basename "$$lib"); \
|
||||
cp "$$lib" "$(OSXAPP_BASE)/lib/$$base"; \
|
||||
done
|
||||
|
||||
.PHONY: $(bins) test install
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>English</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>git-annex</string>
|
||||
<string>git-annex-webapp</string>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
<string>GPL 3</string>
|
||||
<key>CFBundleGetInfoString</key>
|
||||
|
|
11
ui-macos/git-annex.app/Contents/MacOS/git-annex-webapp
Executable file
11
ui-macos/git-annex.app/Contents/MacOS/git-annex-webapp
Executable file
|
@ -0,0 +1,11 @@
|
|||
#!/bin/sh
|
||||
base="$(dirname $0)"
|
||||
if [ ! -d "$base" ]; then
|
||||
echo "** cannot find base directory (I seem to be $0)" >&2
|
||||
exit 1
|
||||
fi
|
||||
if [ ! -e "$base/runshell" ]; then
|
||||
echo "** cannot find $base/runshell" >&2
|
||||
exit 1
|
||||
fi
|
||||
"$base/runshell" git-annex webapp "$@"
|
44
ui-macos/git-annex.app/Contents/MacOS/runshell
Executable file
44
ui-macos/git-annex.app/Contents/MacOS/runshell
Executable file
|
@ -0,0 +1,44 @@
|
|||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
base="$(dirname $0)"
|
||||
|
||||
if [ ! -d "$base" ]; then
|
||||
echo "** cannot find base directory (I seem to be $0)" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ! -e "$base/bin/git-annex" ]; then
|
||||
echo "** base directory $base does not contain bin/git-annex" >&2
|
||||
exit 1
|
||||
fi
|
||||
if [ ! -e "$base/bin/git" ]; then
|
||||
echo "** base directory $base does not contain bin/git" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Get absolute path to base, to avoid breakage when things change directories.
|
||||
orig="$(pwd)"
|
||||
cd "$base"
|
||||
base="$(pwd)"
|
||||
cd "$orig"
|
||||
|
||||
# Put our binaries first, so our overloaded libs don't get used with
|
||||
# system binaries.
|
||||
# Also avoids issues with out of date system binaries.
|
||||
PATH=$base/bin:$PATH
|
||||
export PATH
|
||||
|
||||
DYLD_LIBRARY_PATH=$base/lib:$DYLD_LIBRARY_PATH
|
||||
export DYLD_LIBRARY_PATH
|
||||
|
||||
GIT_EXEC_PATH=$base/git-core
|
||||
export GIT_EXEC_PATH
|
||||
|
||||
if [ "$1" ]; then
|
||||
cmd="$1"
|
||||
shift 1
|
||||
"$cmd" "$@"
|
||||
else
|
||||
$SHELL
|
||||
fi
|
Loading…
Reference in a new issue