Skip to content

Instantly share code, notes, and snippets.

@bizonix
Created April 25, 2017 16:17
Show Gist options
  • Save bizonix/b9aac906eac52d69a62158e7e2e5bb74 to your computer and use it in GitHub Desktop.
Save bizonix/b9aac906eac52d69a62158e7e2e5bb74 to your computer and use it in GitHub Desktop.
transmisson-remote-gui macos
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..ce5e1cc
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,5 @@
+*.lrs
+fpcmade.*
+units/
+transgui
+setup/macosx/*.dmg
\ No newline at end of file
diff --git a/Makefile b/Makefile
index 5a23eff..f794a74 100644
--- a/Makefile
+++ b/Makefile
@@ -547,7 +547,7 @@ ifeq ($(FULL_TARGET),i386-wdosx)
override COMPILER_OPTIONS+=-MObjFPC -dLCL -dLCL$(LCL_WIDGETSET) $(COMP_OPT)
endif
ifeq ($(FULL_TARGET),i386-darwin)
-override COMPILER_OPTIONS+=-MObjFPC -dLCL -dLCL$(LCL_WIDGETSET) $(COMP_OPT) -k-macosx_version_min -k10.5 -XR/Developer/SDKs/MacOSX10.5.sdk/
+override COMPILER_OPTIONS+=-MObjFPC -dLCL -dLCL$(LCL_WIDGETSET) $(COMP_OPT) -k-macosx_version_min -k10.5 -XR/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk
endif
ifeq ($(FULL_TARGET),i386-emx)
override COMPILER_OPTIONS+=-MObjFPC -dLCL -dLCL$(LCL_WIDGETSET) $(COMP_OPT)
@@ -610,7 +610,7 @@ ifeq ($(FULL_TARGET),powerpc-macos)
override COMPILER_OPTIONS+=-MObjFPC -dLCL -dLCL$(LCL_WIDGETSET) $(COMP_OPT)
endif
ifeq ($(FULL_TARGET),powerpc-darwin)
-override COMPILER_OPTIONS+=-MObjFPC -dLCL -dLCL$(LCL_WIDGETSET) $(COMP_OPT) -k-macosx_version_min -k10.5 -XR/Developer/SDKs/MacOSX10.5.sdk/
+override COMPILER_OPTIONS+=-MObjFPC -dLCL -dLCL$(LCL_WIDGETSET) $(COMP_OPT) -k-macosx_version_min -k10.5 -XR/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk
endif
ifeq ($(FULL_TARGET),powerpc-morphos)
override COMPILER_OPTIONS+=-MObjFPC -dLCL -dLCL$(LCL_WIDGETSET) $(COMP_OPT)
@@ -643,7 +643,7 @@ ifeq ($(FULL_TARGET),x86_64-solaris)
override COMPILER_OPTIONS+=-MObjFPC -dLCL -dLCL$(LCL_WIDGETSET) $(COMP_OPT)
endif
ifeq ($(FULL_TARGET),x86_64-darwin)
-override COMPILER_OPTIONS+=-MObjFPC -dLCL -dLCL$(LCL_WIDGETSET) $(COMP_OPT) -k-macosx_version_min -k10.5 -XR/Developer/SDKs/MacOSX10.5.sdk/
+override COMPILER_OPTIONS+=-MObjFPC -dLCL -dLCL$(LCL_WIDGETSET) $(COMP_OPT) -k-macosx_version_min -k10.5 -XR/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk
endif
ifeq ($(FULL_TARGET),x86_64-win64)
override COMPILER_OPTIONS+=-MObjFPC -dLCL -dLCL$(LCL_WIDGETSET) $(COMP_OPT)
@@ -658,7 +658,7 @@ ifeq ($(FULL_TARGET),arm-palmos)
override COMPILER_OPTIONS+=-MObjFPC -dLCL -dLCL$(LCL_WIDGETSET) $(COMP_OPT)
endif
ifeq ($(FULL_TARGET),arm-darwin)
-override COMPILER_OPTIONS+=-MObjFPC -dLCL -dLCL$(LCL_WIDGETSET) $(COMP_OPT) -k-macosx_version_min -k10.5 -XR/Developer/SDKs/MacOSX10.5.sdk/
+override COMPILER_OPTIONS+=-MObjFPC -dLCL -dLCL$(LCL_WIDGETSET) $(COMP_OPT) -k-macosx_version_min -k10.5 -XR/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk
endif
ifeq ($(FULL_TARGET),arm-wince)
override COMPILER_OPTIONS+=-MObjFPC -dLCL -dLCL$(LCL_WIDGETSET) $(COMP_OPT)
@@ -679,7 +679,7 @@ ifeq ($(FULL_TARGET),powerpc64-linux)
override COMPILER_OPTIONS+=-MObjFPC -dLCL -dLCL$(LCL_WIDGETSET) $(COMP_OPT)
endif
ifeq ($(FULL_TARGET),powerpc64-darwin)
-override COMPILER_OPTIONS+=-MObjFPC -dLCL -dLCL$(LCL_WIDGETSET) $(COMP_OPT) -k-macosx_version_min -k10.5 -XR/Developer/SDKs/MacOSX10.5.sdk/
+override COMPILER_OPTIONS+=-MObjFPC -dLCL -dLCL$(LCL_WIDGETSET) $(COMP_OPT) -k-macosx_version_min -k10.5 -XR/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk
endif
ifeq ($(FULL_TARGET),powerpc64-embedded)
override COMPILER_OPTIONS+=-MObjFPC -dLCL -dLCL$(LCL_WIDGETSET) $(COMP_OPT)
diff --git a/about.lfm b/about.lfm
index 15f69ee..b510ef7 100644
--- a/about.lfm
+++ b/about.lfm
@@ -499,7 +499,7 @@ inherited AboutForm: TAboutForm
Height = 15
Top = 38
Width = 57
- Caption = 'Version %s'
+ Caption = 'Version %s Build 4c1d2c0'
ParentColor = False
end
object Bevel1: TBevel
diff --git a/setup/macosx/compilers.sh b/setup/macosx/compilers.sh
new file mode 100755
index 0000000..4290af1
--- /dev/null
+++ b/setup/macosx/compilers.sh
@@ -0,0 +1,19 @@
+#!/bin/sh
+fpc=fpc-3.0.2.intel-macosx
+lazarus=lazarus-1.6.4-20170226-i386-macosx
+
+if [ ! -x "$(command -v fpc 2>&1)" ]; then
+ wget "https://downloads.sourceforge.net/project/lazarus/Lazarus%20Mac%20OS%20X%20i386/Lazarus%201.6.4/$fpc.dmg?r=&ts=`date +%s`&use_mirror=netix"
+ pkgpath=$(hdiutil attach $fpc.dmg|grep Apple_HFS|awk '{ print $3 }')
+ sudo installer -pkg "$pkgpath/$fpc.pkg" -target /
+ hdiutil unmount $pkgpath
+ rm $fpc.dmg
+fi
+
+if [ ! -x "$(command -v lazbuild 2>&1)" ]; then
+ wget "https://downloads.sourceforge.net/project/lazarus/Lazarus%20Mac%20OS%20X%20i386/Lazarus%201.6.4/$lazarus.dmg?r=&ts=`date +%s`&use_mirror=netix"
+ pkgpath=$(hdiutil attach $lazarus.dmg|grep Apple_HFS|awk '{ print $3 }')
+ sudo installer -pkg "$pkgpath/lazarus.pkg" -target /
+ hdiutil unmount $pkgpath
+ rm $lazarus.dmg
+fi
\ No newline at end of file
diff --git a/setup/macosx/create_app.sh b/setup/macosx/create_app.sh
index 0e37883..a935216 100755
--- a/setup/macosx/create_app.sh
+++ b/setup/macosx/create_app.sh
@@ -1,45 +1,39 @@
#!/bin/sh
-
prog_ver=`cat ../../VERSION.txt`
+build=`git rev-list --abbrev-commit --max-count=1 HEAD ../..`
exename=../../transgui
appname="Transmission Remote GUI"
-appfolder=../../$appname.app
+dmgfolder=./Release
+appfolder=$dmgfolder/$appname.app
lazdir=$1
+./compilers.sh
+
if [ ! "$lazdir" = "" ]
then
lazdir=LAZARUS_DIR=$lazdir
fi
+sed -i "s/'Version %s'/'Version %s Build $build'/" ../../about.lfm
+
# Building Intel version
make -C ../.. clean CPU_TARGET=i386 $lazdir
make -C ../.. CPU_TARGET=i386 $lazdir
-strip $exename
-mv $exename $exename.386
-
-# Building PowerPC version
-make -C ../.. clean CPU_TARGET=powerpc $lazdir
-make -C ../.. CPU_TARGET=powerpc $lazdir
-strip $exename
-mv $exename $exename.ppc
-
-# Creating universal executable
-lipo -create $exename.ppc $exename.386 -output $exename
-rm $exename.386
-rm $exename.ppc
if ! [ -e $exename ]
then
echo "$exename does not exist"
exit 1
fi
+strip $exename
+
if [ -e "$appfolder" ]
then
rm -r "$appfolder"
fi
echo "Creating $appfolder..."
-mkdir "$appfolder"
+mkdir -p "$appfolder"
mkdir "$appfolder/Contents"
mkdir "$appfolder/Contents/MacOS"
mkdir "$appfolder/Contents/Resources"
@@ -48,6 +42,14 @@ mv $exename "$appfolder/Contents/MacOS"
mkdir "$appfolder/Contents/MacOS/lang"
cp ../../lang/transgui.* "$appfolder/Contents/MacOS/lang"
+cp ../../history.txt $dmgfolder
+cp ../../readme.txt $dmgfolder
+
cp PkgInfo "$appfolder/Contents"
cp transgui.icns "$appfolder/Contents/Resources"
cat Info.plist | sed -e "s/@prog_ver@/$prog_ver/" > "$appfolder/Contents/Info.plist"
+
+hdiutil create -ov -anyowners -volname transgui-$prog_ver -imagekey zlib-level=9 -format UDZO -srcfolder ./Release transgui-$prog_ver.dmg
+
+rm -r "$dmgfolder"
+open transgui-$prog_ver.dmg
\ No newline at end of file
diff --git a/setup/macosx/create_package.sh b/setup/macosx/create_package.sh
deleted file mode 100755
index a2f946e..0000000
--- a/setup/macosx/create_package.sh
+++ /dev/null
@@ -1,48 +0,0 @@
-#!/bin/sh
-
-prog_ver=`cat ../../VERSION.txt`
-pm="/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker"
-proot=../../proot
-
-echo Preparing package contents...
-
-if [ -e "$proot" ]
-then
- rm -r "$proot"
-fi
-
-mkdir $proot
-mkdir $proot/Applications
-#mv "../../Transmission Remote GUI.app" $proot/Applications
-cp -R "../../Transmission Remote GUI.app" $proot/Applications
-
-# fix permissions
-# everyone can read, group can write
-find $proot -exec chmod a+r,g+w {} \;
-# what is executable should be executable by everyone
-find $proot -perm +o+x -exec chmod a+x {} \;
-# everyone can access directories
-find $proot -type d -exec chmod a+x {} \;
-
-mkdir ./Resources
-cp ../../LICENSE.txt ./Resources/License.txt
-
-echo Creating package...
-
-mkdir ./image
-$pm --root $proot --info ./package.plist --version $prog_ver --title "Transmission Remote GUI $prog_ver" --resources ./Resources --target 10.4 --no-relocate --out ./image/transgui.pkg
-rm -r ./Resources
-rm -r "$proot"
-
-cp ../../history.txt ./image
-cp ../../readme.txt ./image
-
-echo Creating disk image...
-if [ ! -e "../../Release" ]
-then
- mkdir "../../Release"
-fi
-
-hdiutil create -ov -anyowners -volname transgui-$prog_ver -imagekey zlib-level=9 -format UDZO -srcfolder ./image ../../Release/transgui-$prog_ver.dmg
-
-rm -r ./image
diff --git a/setup/macosx/package.plist b/setup/macosx/package.plist
deleted file mode 100644
index f5254ba..0000000
--- a/setup/macosx/package.plist
+++ /dev/null
@@ -1,10 +0,0 @@
-<?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>CFBundleIdentifier</key>
- <string>com.transgui</string>
- <key>IFPkgFlagAuthorizationAction</key>
- <string>NoAuthorization</string>
-</dict>
-</plist>
diff --git a/utils.pas b/utils.pas
index 1a2813c..f812e64 100644
--- a/utils.pas
+++ b/utils.pas
@@ -452,7 +452,7 @@ begin
{$endif mswindows}
{$ifdef darwin}
- Result:=fpSystem('Open "' + URL + '"') = 0;
+ Result:=fpSystem('open "' + URL + '"') = 0;
{$else darwin}
{$ifdef unix}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment