Commit ac7f354e authored by Simon Morlat's avatar Simon Morlat

improve mac bundle generation and fix many related problems.

parent 19bd05da
......@@ -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)
......@@ -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.
......@@ -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
......
include "../../share/themes/Mac4Lin_GTK_Aqua_v1.0/gtk-2.0/gtkrc"
include "../../share/themes/Quartz/gtk-2.0/gtkrc"
oRTP @ 6eabe8e0
Subproject commit 250b8d7f224a4fa003dfb23a00d70e33bff41714
Subproject commit 6eabe8e0490f3c88becfaf403444bb1285edde9d
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment