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
|
.dir-locals.el
|
||||||
# OSX related
|
# OSX related
|
||||||
.DS_Store
|
.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
|
hackage: sdist
|
||||||
@cabal upload dist/*.tar.gz
|
@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
|
.PHONY: $(bins) test install
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<key>CFBundleDevelopmentRegion</key>
|
<key>CFBundleDevelopmentRegion</key>
|
||||||
<string>English</string>
|
<string>English</string>
|
||||||
<key>CFBundleExecutable</key>
|
<key>CFBundleExecutable</key>
|
||||||
<string>git-annex</string>
|
<string>git-annex-webapp</string>
|
||||||
<key>NSHumanReadableCopyright</key>
|
<key>NSHumanReadableCopyright</key>
|
||||||
<string>GPL 3</string>
|
<string>GPL 3</string>
|
||||||
<key>CFBundleGetInfoString</key>
|
<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