improve mac bundle generation and fix many related problems.

This commit is contained in:
Simon Morlat 2011-08-25 17:16:55 +02:00
parent 19bd05da8b
commit ac7f354e08
5 changed files with 47 additions and 6 deletions

View file

@ -177,14 +177,25 @@ Portfile-devel: $(top_srcdir)/scripts/Portfile-devel.tmpl dist
sed -e 's/\@VERSION\@/$(LINPHONE_VERSION)/g' \
-e 's/\@LINPHONE_MD5\@/$(GEN_MD5)/' < $< > $@
bundle:
MACAPPNAME=Linphone.app
BUNDLEDIR=$(shell echo "$$HOME/Desktop/$(MACAPPNAME)")
LIBICONV_HACK=$(top_builddir)/build/macos/libiconv.2.dylib
$(LIBICONV_HACK):
cd $(top_builddir)/build/macos && \
wget http://download-mirror.savannah.gnu.org/releases/linphone/misc/libiconv.2.dylib
bundle: $(LIBICONV_HACK)
rm -rf $(INSTALLDIR)
mkdir -p $(INSTALLDIR)
make install DESTDIR=$(INSTALLDIR)
LINPHONE_INSTALL_PREFIX=$(INSTALLDIR_WITH_PREFIX) \
LIBLINPHONE_INSTALL_PREFIX=$(INSTALLDIR_WITH_PREFIX) \
ige-mac-bundler $(PACKAGE_BUNDLE_FILE)
cd $$HOME/Desktop && zip -r Linphone-$(VERSION).app.zip Linphone.app
/bin/echo -n "[Pango]\nModuleFiles=./etc/pango/pango.modules" \
> $(BUNDLEDIR)/Contents/Resources/etc/pango/pangorc
cp -f $(LIBICONV_HACK) $(BUNDLEDIR)/Contents/Resources/lib/.
cd $(BUNDLEDIR)/.. && zip -r $(PACKAGE)-$(VERSION).app.zip $(MACAPPNAME)

View file

@ -26,7 +26,7 @@ Fetch SDL:
Compile:
$ cd SDL
$ ./autogen.sh
$ ./configure --disable-video-dummy --disable-video-x11 && make -j4
$ ./configure --prefix=/opt/local && make -j4
$ sudo make install
When this version will be integrated into macports, only this will be necessary:
@ -35,6 +35,7 @@ When this version will be integrated into macports, only this will be necessary:
- Install gtk. It is recommended to use the quartz backend for better integration.
$ port install gtk2 +no_x11
$ port install ige-mac-integration
$ port install hicolor-icon-theme
- Compile linphone
@ -50,6 +51,26 @@ Install to /opt/local
Done.
If you want to generate a portable bundle, then install ige-mac-bundler.
The version in macports doesn't work at all.
Use git:
$ git clone https://github.com/jralls/ige-mac-bundler.git
$ cd ige-mac-bundler && make install
$ export PATH=$PATH:~/.local/bin
Then run, inside linphone source tree:
$ make bundle
The resulting bundle is located in ~/Desktop, together with a zipped version.
For a better appearance, you can install the gtk-quartz-engine (a gtk theme) that make gtk application more similar to other mac applications (but not perfect).
$ git clone https://github.com/jralls/gtk-quartz-engine.git
$ cd gtk-quartz-engine
$ autoreconf -i
$ ./configure --prefix=/opt/local && make
$ sudo make install
Generate a new bundle to have it packaged.

View file

@ -16,6 +16,7 @@
<prefix name="linphone">${env:LINPHONE_INSTALL_PREFIX}</prefix>
<prefix name="liblinphone">${env:LINPHONE_INSTALL_PREFIX}</prefix>
<prefix name="macports">/opt/local</prefix>
<prefix name="usrlocal">/usr/local</prefix>
<!-- The project directory is the default location of the created
app. If you leave out the path, the current directory is
used. Note the usage of an environment variable here again.
@ -71,6 +72,10 @@
${prefix:macports}/lib/libeXosip.*.dylib
</binary>
<binary>
${prefix:usrlocal}/lib/libSDLi-*.dylib
</binary>
<!-- Copy in GTK+ modules. Note the ${gtkdir} macro, which expands
to the correct library subdirectory for the specified gtk
version.
@ -83,6 +88,10 @@
${prefix}/lib/gdk-pixbuf-2.0
</binary>
<binary>
${prefix}/lib/pango/${pkg:pango:pango_module_version}/modules/*.so
</binary>
<!-- Copy in GTK+ theme engines. Note the use of the
"${pkg:module:variable}" macro, which evaluates to a pkg-config
variable in the specified module. Note that any libraries that

View file

@ -1 +1 @@
include "../../share/themes/Mac4Lin_GTK_Aqua_v1.0/gtk-2.0/gtkrc"
include "../../share/themes/Quartz/gtk-2.0/gtkrc"

2
oRTP

@ -1 +1 @@
Subproject commit 250b8d7f224a4fa003dfb23a00d70e33bff41714
Subproject commit 6eabe8e0490f3c88becfaf403444bb1285edde9d