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)
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:
- 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
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.
<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.
${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.
${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"
-Subproject commit 250b8d7f224a4fa003dfb23a00d70e33bff41714
+Subproject commit 6eabe8e0490f3c88becfaf403444bb1285edde9d