mirror of
https://github.com/alexkay/spek.git
synced 2025-04-17 09:02:21 +03:00
92 lines
2.9 KiB
Bash
Executable File
92 lines
2.9 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
LANGUAGES="bs ca cs da de el eo es fi fr gl he hr hu id it ja ko lv nb nl nn pl pt_BR ru sk sr@latin sv th tr uk vi zh_CN zh_TW"
|
|
|
|
cd $(dirname $0)/../..
|
|
|
|
rm -f src/spek
|
|
|
|
./autogen.sh && make -j8 || exit 1
|
|
|
|
cd dist/osx
|
|
rm -fr Spek.app
|
|
mkdir -p Spek.app/Contents/MacOS
|
|
mkdir -p Spek.app/Contents/Frameworks
|
|
mkdir -p Spek.app/Contents/Resources
|
|
mv ../../src/spek Spek.app/Contents/MacOS/Spek
|
|
cp Info.plist Spek.app/Contents/
|
|
cp Spek.icns Spek.app/Contents/Resources/
|
|
cp *.png Spek.app/Contents/Resources/
|
|
cp ../../CREDITS.md Spek.app/Contents/Resources/
|
|
cp ../../LICENSE Spek.app/Contents/Resources/
|
|
cp ../../README.md Spek.app/Contents/Resources/
|
|
mkdir Spek.app/Contents/Resources/lic
|
|
cp ../../lic/* Spek.app/Contents/Resources/lic/
|
|
|
|
for lang in $LANGUAGES; do
|
|
mkdir -p Spek.app/Contents/Resources/"$lang".lproj
|
|
cp -v ../../po/"$lang".gmo Spek.app/Contents/Resources/"$lang".lproj/spek.mo
|
|
cp -v /usr/local/share/locale/"$lang"/LC_MESSAGES/wxstd.mo Spek.app/Contents/Resources/"$lang".lproj/
|
|
done
|
|
mkdir -p Spek.app/Contents/Resources/en.lproj
|
|
|
|
BINS="Spek.app/Contents/MacOS/Spek"
|
|
while [ ! -z "$BINS" ]; do
|
|
NEWBINS=""
|
|
for bin in $BINS; do
|
|
echo "Updating dependendies for $bin."
|
|
LIBS=$(otool -L $bin | grep /usr/local | tr -d '\t' | awk '{print $1}')
|
|
for lib in $LIBS; do
|
|
reallib=$(realpath $lib)
|
|
libname=$(basename $reallib)
|
|
install_name_tool -change $lib @executable_path/../Frameworks/$libname $bin
|
|
if [ ! -f Spek.app/Contents/Frameworks/$libname ]; then
|
|
echo "\tBundling $reallib."
|
|
cp $reallib Spek.app/Contents/Frameworks/
|
|
chmod +w Spek.app/Contents/Frameworks/$libname
|
|
install_name_tool -id @executable_path/../Frameworks/$libname Spek.app/Contents/Frameworks/$libname
|
|
NEWBINS="$NEWBINS Spek.app/Contents/Frameworks/$libname"
|
|
fi
|
|
done
|
|
done
|
|
BINS="$NEWBINS"
|
|
done
|
|
|
|
# Make DMG image
|
|
VOLUME_NAME=Spek
|
|
DMG_APP=Spek.app
|
|
DMG_FILE=$VOLUME_NAME.dmg
|
|
MOUNT_POINT=$VOLUME_NAME.mounted
|
|
|
|
rm -f $DMG_FILE
|
|
rm -f $DMG_FILE.master
|
|
|
|
# Compute an approximated image size in MB, and bloat by 1MB
|
|
image_size=$(du -ck $DMG_APP | tail -n1 | cut -f1)
|
|
image_size=$((($image_size + 5000) / 1000))
|
|
|
|
echo "Creating disk image (${image_size}MB)..."
|
|
hdiutil create $DMG_FILE -megabytes $image_size -volname $VOLUME_NAME -fs HFS+ -quiet || exit $?
|
|
|
|
echo "Attaching to disk image..."
|
|
hdiutil attach $DMG_FILE -readwrite -noautoopen -mountpoint $MOUNT_POINT -quiet
|
|
|
|
echo "Populating image..."
|
|
cp -Rp $DMG_APP $MOUNT_POINT
|
|
cd $MOUNT_POINT
|
|
ln -s /Applications " "
|
|
cd ..
|
|
cp DS_Store $MOUNT_POINT/.DS_Store
|
|
|
|
echo "Detaching from disk image..."
|
|
hdiutil detach $MOUNT_POINT -quiet
|
|
mv $DMG_FILE $DMG_FILE.master
|
|
|
|
echo "Creating distributable image..."
|
|
hdiutil convert -quiet -format UDBZ -o $DMG_FILE $DMG_FILE.master
|
|
rm $DMG_FILE.master
|
|
|
|
echo "Done."
|
|
|
|
cd ../..
|