commit daed84ec984fcfce979357a4f7a0b4eda477d500
parent 2d55ed0999d2f8716e7c70609b8eff74709bed68
Author: Jaromil <jaromil@dyne.org>
Date:   Mon,  5 May 2014 20:04:07 +0200
osx build fixes
Diffstat:
2 files changed, 34 insertions(+), 222 deletions(-)
diff --git a/build/build-osx.sh b/build/build-osx.sh
@@ -18,9 +18,9 @@ builddir=`pwd`
 #cc="gcc-4.7"
 #cpp="cpp-4.7"
 
-OSX_SDK=10.7
-cc="llvm-gcc"
-cpp="llvm-cpp-4.2"
+OSX_SDK=10.8
+#cc="llvm-gcc"
+#cpp="llvm-cpp-4.2"
 cflags+=(-I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX${OSX_SDK}.sdk/usr/include)
 ldflags+=(-L/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX${OSX_SDK}.sdk/usr/lib)
 
@@ -32,7 +32,7 @@ ldflags+=(-L/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform
 #cflags="-arch x86_64 -arch i386 -O2"
 cflags=(-I/opt/local/include -I/usr/include)
 cflags+=(-arch x86_64)
-cflags+=(-arch i386)
+#cflags+=(-arch i386)
 cflags+=(-O2)
 
 
@@ -57,32 +57,13 @@ copydeps() {
 	libs=(`otool -L $1 | awk '
 		/^\// {next} /\/local/ {print $1}'`)
 
-	# for p1 in ${(f)libs}; do
-	# 	echo "$p1" >> $tmp
-	# 	# second pass
-	# 	libs2=`otool -L $p1 | awk '
-	# 		/^\// {next} /\/opt\/local/ {print $1}'`
-
-	# 	for p2 in ${(f)libs2}; do
-	# 		echo "$p2" >> $tmp
-	# 		# third pass
-	# 		libs3=`otool -L $p2 | awk '
-	# 			/^\// {next} /\/opt\/local/ {print $1}'`
-
-	# 		for p3 in ${(f)libs3}; do
-	# 			echo "$p3" >> $tmp
-	# 		done # 3rd
-	# 	done # 2nd
-	# done # 1st
-
 	exe=`basename $1`
-	dst=$2
-	bin=$dst/Contents/Resources/jaro/bin
-	lib=$dst/Contents/Frameworks
+	bin=osx
+	lib=osx/dylib
 	cp -v $1 $bin/$exe
 	{ test $? = 0 } || { print "Error copying $1" }
 	chmod +w $bin/$exe
-	strip $dst/$exe
+	strip $bin/$exe
 	for d in ${libs}; do
 	    dylib=`basename $d`
 	    print "  $dylib"
@@ -94,7 +75,7 @@ copydeps() {
 	    dylibdest=$lib/`basename $d`
 	    { test -r $dylibdest } || { cp -v "$d" "$dylibdest" }
 	    install_name_tool -change $d \
-		"/Applications/$dst/Contents/Frameworks/`basename $d`" $bin/$exe
+		"/Applications/JaroMail.app/Contents/Frameworks/`basename $d`" $bin/$exe
 	done
 
 }
@@ -127,18 +108,6 @@ fi
     popd
 }
 
-{ test "$target" = "mairix" } || { 
-    test "$target" = "all" } && {
-# build mairix
-    pushd src/mairix
-    print "Search engine and date parser"
-    CFLAGS="${=cflags} ${=ldflags} -L/usr/local/opt/bison/lib" \
-    CFLAGS="$CFLAGS -L/usr/local/opt/flex/lib -I/usr/local/opt/flex/include" \
-    CC="$cc" LD=ld CPP="$cpp"  \
-	./configure --disable-gzip-mbox --disable-bzip-mbox ; make 
-    popd
-}
-
 { test "$target" = "fetchdate" } || { 
     test "$target" = "all" } && {
 # build our own fetchdate
@@ -177,88 +146,8 @@ fi
 #     popd
 # }
 
-# build our own mutt
-{ test "$target" = "mutt" } || { 
-    test "$target" = "all" } && {
-    echo "Compiling Mutt (MUA)"
-    pushd src/mutt-1.5.21
-#    aclocal-17
-#    automake-17 -a -c
-#    autoconf
-#    autoheader
-
- # -I/usr/local/Cellar/gettext/0.18.2/include" \
- # -L/usr/local/Cellar/gettext/0.18.2/lib" ./configure \
-
-    make clean
-    make -C imap clean
-
-    # first 32 bit
-    CC="gcc" CPP="cpp" CFLAGS="-O2 -arch i386 -I/opt/local/include -I/usr/include"
-    CPPFLAGS="${CFLAGS}" LDFLAGS="-arch i386 -L/usr/local/lib -L/usr/lib" \
-    ./configure \
-	--with-ssl --with-gnutls --enable-imap --disable-debug \
-	--with-slang --disable-gpgme \
-	--enable-hcache --with-regex --with-tokyocabinet \
-	--with-mixmaster=${root}/src/mixmaster --enable-pgp
-    make -C imap
-    make keymap_defs.h
-    make reldate.h
-    make hcversion.h # with Cellar include?
-    make mutt
-    make pgpewrap
-
-    mv mutt mutt_32
-    mv pgpewrap pgpewrap_32
-
-    make clean
-    make -C imap clean
-
-
-    # then 64 bit
-    CC="gcc" CPP="cpp" CFLAGS="-O2 -arch x86_64 -I/opt/local/include -I/usr/include"
-    CPPFLAGS="${CFLAGS}" LDFLAGS="-arch x86_64 -L/usr/local/lib -L/usr/lib" \
-    ./configure \
-	--with-ssl --with-gnutls --enable-imap --disable-debug \
-	--with-slang --disable-gpgme \
-	--enable-hcache --with-regex --with-tokyocabinet \
-	--with-mixmaster=${root}/src/mixmaster --enable-pgp
-    make -C imap
-    make keymap_defs.h
-    make reldate.h
-    make hcversion.h # with Cellar include?
-    make mutt
-    make pgpewrap
-
-    mv mutt mutt_64
-    mv pgpewrap pgpewrap_64
-
-    lipo -create -arch i386 mutt_32 -arch x86_64 mutt_64 -output mutt
-    lipo -create -arch i386 pgpewrap_32 -arch x86_64 pgpewrap_64 -output pgpewrap
-
-    popd
-}
-
-# # build our own lynx (no ssl)
-# { test "$target" = "lynx" } || {
-#   test "$target" = "all" } && {
-#   echo "Compiling Lynx (html 2 txt)"
-#   pushd src/lynx2-8-7
-#     CC="$gcc" CPP="$cpp" CFLAGS="${=cflags} -I/usr/local/Cellar/gettext/0.18.2/include" \
-#     CPPFLAGS="${=cflags}" LDFLAGS="${=ldflags} -L/usr/local/Cellar/gettext/0.18.2/lib" ./configure \
-#     --disable-trace --enable-nls --with-screen=slang --enable-widec --enable-default-colors \
-#     --disable-file-upload --disable-persistent-cookie --with-bzlib --with-zlib \
-#     --disable-finger --disable-gopher --disable-news --disable-ftp --disable-dired \
-#     --enable-cjk --enable-japanese-utf8 --enable-charset-selection
-#   make
-#   popd
-# }
-
- #  CFLAGS="${=cflags}" \
-
 pushd build
 appdst=JaroMail.app
-bindst=$appdst/Contents/Resources/jaro/bin
 
 # copy all built binaries in place
 { test "$target" = "install" } || { 
@@ -268,101 +157,22 @@ bindst=$appdst/Contents/Resources/jaro/bin
     mkdir -p $appdst/Contents/Frameworks
 
 # static ones do not require relocated links
-    cp -v ${root}/src/fetchdate $bindst
-    cp -v ${root}/src/fetchaddr $bindst
-    cp -v ${root}/src/mairix/mairix $bindst
-    cp -v ${root}/src/dotlock $bindst
-    cp -v ${root}/src/ABQuery/build/Release/lbdb-ABQuery $bindst
-    copydeps ${root}/src/mutt-1.5.21/mutt      $appdst
-    copydeps ${root}/src/mutt-1.5.21/pgpewrap  $appdst
-    copydeps /opt/local/bin/fetchmail          $appdst
-    copydeps /opt/local/bin/elinks	       $appdst
-    copydeps /usr/local/bin/gfind     $appdst
-    copydeps /usr/local/bin/msmtp     $appdst
-    copydeps /usr/local/bin/gpg       $appdst
-    copydeps /usr/local/bin/pinentry  $appdst
-    copydeps /usr/local/bin/pinentry-curses  $appdst
-    copydeps /usr/local/bin/abook     $appdst
-
-    # rename to avoid conflicts
-    mv $bindst/gpg  $bindst/gpg-jaro
-    mv $bindst/mutt $bindst/mutt-jaro
-
-
+    cp -v ${root}/src/fetchdate
+    cp -v ${root}/src/fetchaddr
+    cp -v ${root}/src/ABQuery/build/Release/lbdb-ABQuery
+    copydeps /opt/local/bin/mutt
+    copydeps /opt/local/bin/mutt_dotlock
+    copydeps /opt/local/bin/pgpewrap
+    copydeps /opt/local/bin/procmail
+    copydeps /opt/local/bin/fetchmail
+    copydeps /opt/local/bin/elinks
+    copydeps /opt/local/bin/gfind
+    copydeps /opt/local/bin/msmtp
+    copydeps /opt/local/bin/gpg
+    copydeps /opt/local/bin/pinentry
+    copydeps /opt/local/bin/pinentry-curses
+    copydeps /opt/local/bin/abook
 
     # system wide
     # rm build/osx/dylib/libiconv.2.dylib
 }
-
-mkdir -p $appdst/Contents/MacOS
-cat <<EOF > $appdst/Contents/MacOS/jaroshell.sh
-export PATH="/Applications/JaroMail.app/Contents/Resources/jaro/bin:\$PATH"
-export GNUPGHOME="\$HOME/.gnupg"
-export JAROMAILDIR="\$HOME/Library/Application\ Support/JaroMail"
-export JAROWORKDIR="/Applications/JaroMail.app/Contents/Resources/jaro"
-clear
-zsh -i -c "echo \"Welcome to Jaro Mail\ntype 'jaro help' for a list of commands.\n\""
-EOF
-chmod +x $appdst/Contents/MacOS/jaroshell.sh
-
-cat <<EOF > $appdst/Contents/MacOS/JaroMail.command
-#!/usr/bin/env zsh
-# JaroMail startup script for Mac .app
-# Copyright (C) 2012-2013 by Denis Roio <Jaromil@dyne.org>
-# GNU GPL V3 (see COPYING)
-osascript <<EOF
-tell application "System Events" to set terminalOn to (exists process "Terminal")
-tell application "Terminal"
-   activate
-   if (terminalOn) then
-        do script "source /Applications/JaroMail.app/Contents/MacOS/jaroshell.sh"
-   else
-        do script "source /Applications/JaroMail.app/Contents/MacOS/jaroshell.sh" in front window
-        set custom title of front window to "Jaro Mail"
-   end if
-end tell
-EOF
-echo "EOF" >> $appdst/Contents/MacOS/JaroMail.command
-
-chmod +x $appdst/Contents/MacOS/JaroMail.command
-
-cat <<EOF > $appdst/Contents/PkgInfo
-APPLJAROMAIL
-EOF
-
-cat <<EOF > $appdst/Contents/Info.plist
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>CFBundleDevelopmentRegion</key>
-	<string>English</string>
-	<key>CFBundleExecutable</key>
-	<string>JaroMail.command</string>
-	<key>CFBundleIconFile</key>
-	<string>JaroMail.icns</string>
-	<key>CFBundleIdentifier</key>
-	<string>org.dyne.jaromail</string>
-	<key>CFBundleInfoDictionaryVersion</key>
-	<string>6.0</string>
-	<key>CFBundleName</key>
-	<string>JAROMAIL</string>
-	<key>CFBundlePackageType</key>
-	<string>APPL</string>
-	<key>CFBundleSignature</key>
-	<string>????</string>
-	<key>CFBundleVersion</key>
-	<string>1.0</string>
-	<key>CSResourcesFileMapped</key>
-	<true/>
-</dict>
-</plist>
-EOF
-
-popd
-
-mkdir -p build/JaroMail.app/Contents/Resources/
-cp -v doc/JaroMail.icns build/JaroMail.app/Contents/Resources/
-./install.sh build/JaroMail.app/Contents/Resources
-chmod -R go+rX build/JaroMail.app/Contents/Resources/
-chmod -R go+rx build/JaroMail.app/Contents/Resources/jaro/bin
diff --git a/build/release-osx.sh b/build/release-osx.sh
@@ -26,19 +26,20 @@ appdst=JaroMail.app
 WORKDIR=${appdst}/Contents/Resources/jaro
 bindst=${WORKDIR}/bin
 
+mkdir -p $WORKDIR/{bin,zlibs,.mutt,.procmail,.stats}
+
 # copying inside the fresh scripts
 print "Compiling Jaro Mail ZLibs"
 { test -d ${WORKDIR}/zlibs } && { rm -f $WORKDIR/zlibs/* }
-mkdir -p $WORKDIR/zlibs
 cp ../src/zlibs/* $WORKDIR/zlibs/
 for z in `find $WORKDIR/zlibs -type f`; do
     zcompile -R ${z}
 done
 
 
-cp -r ../src/mutt     $WORKDIR/.mutt
-cp -r ../src/procmail $WORKDIR/.procmail
-cp -r ../src/stats    $WORKDIR/.stats
+cp -r ../src/mutt/*     $WORKDIR/.mutt/
+cp -r ../src/procmail/* $WORKDIR/.procmail/
+cp -r ../src/stats/*    $WORKDIR/.stats/
 cp ../doc/Applications.txt $WORKDIR/
 cp ../doc/Filters.txt      $WORKDIR/
 cp ../doc/Mutt.txt         $WORKDIR/
@@ -62,14 +63,14 @@ export GNUPGHOME="\$HOME/.gnupg"
 export JAROMAILDIR="\$HOME/Library/Application Support/JaroMail"
 export JAROWORKDIR="/Applications/JaroMail.app/Contents/Resources/jaro"
 clear
-zsh -i -c "echo \"Welcome to Jaro Mail\ntype 'jaro help' for a list of commands.\n\""
+zsh -i -c "echo \"Welcome to Jaro Mail\ntype 'jaro help' for a list of commands\nedit config files in: \$HOME/Library/Application Support/JaroMail\""
 EOF
 chmod +x $appdst/Contents/MacOS/jaroshell.sh
 
 cat <<EOF > $appdst/Contents/MacOS/JaroMail.command
 #!/usr/bin/env zsh
 # JaroMail startup script for Mac .app
-# Copyright (C) 2012-2013 by Denis Roio <Jaromil@dyne.org>
+# Copyright (C) 2012-2014 by Denis Roio <Jaromil@dyne.org>
 # GNU GPL V3 (see COPYING)
 osascript <<EOF
 tell application "System Events" to set terminalOn to (exists process "Terminal")
@@ -132,9 +133,10 @@ mkdir -p ${dir}
 }
 echo "Source app: `du -hs ${dir}/JaroMail.app`"
 
-v=README.txt; cp -v -f ../${v} ${dir}/${v}
-v=COPYING.txt; cp -v -f ../${v} ${dir}/${v}
-v=ChangeLog.txt; cp -v -f ../${v} ${dir}/${v}
+v=README; cp -v -f ../${v}.md ${dir}/${v}.txt
+
+v=COPYING; cp -v -f ../${v}.txt ${dir}/${v}.txt
+v=ChangeLog; cp -v -f ../${v}.md ${dir}/${v}.txt
 v=jaromail-manual.pdf; cp -v -f ../doc/${v} ${dir}/${v}
 ln -sf /Applications ${dir}/Applications