summaryrefslogtreecommitdiffstats
path: root/bluegriffon.spec
diff options
context:
space:
mode:
Diffstat (limited to 'bluegriffon.spec')
-rw-r--r--bluegriffon.spec263
1 files changed, 263 insertions, 0 deletions
diff --git a/bluegriffon.spec b/bluegriffon.spec
new file mode 100644
index 0000000..393609f
--- /dev/null
+++ b/bluegriffon.spec
@@ -0,0 +1,263 @@
+%define nspr_version 4.8.7
+%define nss_version 3.12.9
+%define cairo_version 1.10
+%define freetype_version 2.1.9
+%define lcms_version 1.18
+%define sqlite_version 3.7.1
+
+%define mozappdir %{_libdir}/bluegriffon
+%define tarballdir mozilla-central
+%define snapdate 20110128
+
+Summary: The next-generation Web Editor
+Name: bluegriffon
+Version: 0.9
+Release: 0.1.hg%{snapdate}%{?dist}
+URL: http://bluegriffon.org/
+License: MPLv1.1 or GPLv2+ or LGPLv2+
+Group: Applications/Editors
+
+Source0: %{name}-%{snapdate}.tar.bz2
+Source1: %{name}.sh
+Source2: %{name}.desktop
+
+Patch1: firefox4-build.patch
+Patch2: firefox4-build-sbrk.patch
+Patch3: mozilla-malloc.patch
+Patch4: firefox4-libjpeg-turbo.patch
+
+BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
+
+BuildRequires: zip
+BuildRequires: libIDL-devel
+BuildRequires: desktop-file-utils
+BuildRequires: gtk2-devel
+BuildRequires: gnome-vfs2-devel
+BuildRequires: libgnomeui-devel
+BuildRequires: krb5-devel
+BuildRequires: pango-devel
+BuildRequires: freetype-devel >= 2.1.9
+BuildRequires: libXt-devel
+BuildRequires: libXrender-devel
+BuildRequires: startup-notification-devel
+BuildRequires: wireless-tools-devel
+
+# BR from Xulrunner
+%if %{fedora} >= 15
+BuildRequires: sqlite-devel >= %{sqlite_version}
+%endif
+%if %{fedora} >= 14
+BuildRequires: nspr-devel >= %{nspr_version}
+BuildRequires: nss-devel >= %{nss_version}
+%endif
+%if %{fedora} >= 11
+BuildRequires: hunspell-devel
+%endif
+%if %{fedora} >= 15
+BuildRequires: cairo-devel >= %{cairo_version}
+%endif
+%if %{fedora} >= 10
+BuildRequires: libnotify-devel
+%endif
+%if %{fedora} >= 9
+BuildRequires: lcms-devel >= %{lcms_version}
+%endif
+BuildRequires: system-bookmarks
+BuildRequires: libpng-devel
+BuildRequires: libjpeg-devel
+BuildRequires: zip
+BuildRequires: bzip2-devel
+BuildRequires: zlib-devel
+BuildRequires: libIDL-devel
+BuildRequires: gtk2-devel
+BuildRequires: gnome-vfs2-devel
+BuildRequires: libgnome-devel
+BuildRequires: libgnomeui-devel
+BuildRequires: krb5-devel
+BuildRequires: pango-devel
+BuildRequires: freetype-devel >= %{freetype_version}
+BuildRequires: libXt-devel
+BuildRequires: libXrender-devel
+BuildRequires: startup-notification-devel
+BuildRequires: alsa-lib-devel
+BuildRequires: autoconf213
+BuildRequires: mesa-libGL-devel
+BuildRequires: yasm
+
+%if 0%{?fedora} >= 14
+Requires: nss >= %{nss_version}
+Requires: nspr >= %{nspr_version}
+%endif
+%if %{fedora} >= 9
+BuildRequires: lcms-devel >= %{lcms_version}
+%endif
+
+%description
+BlueGriffon is a new WYSIWYG content editor for the World Wide Web.
+Powered by Gecko, the rendering engine of Firefox 4, it's a modern
+and robust solution to edit Web pages in conformance to the latest
+Web Standards.
+
+%prep
+%setup -q -n %{tarballdir}
+
+patch -p1 < bluegriffon/config/content.patch
+
+%patch1 -p2 -b .build
+%patch2 -p2 -b .sbrk
+%patch3 -p2 -b .malloc
+%if %{fedora} >= 14
+%patch4 -p2 -b .jpeg-turbo
+%endif
+
+#See http://bluegriffon.org/pages/Build-BlueGriffon
+
+cat <<EOF_MOZCONFIG | tee .mozconfig
+mk_add_options MOZ_OBJDIR=@TOPSRCDIR@
+
+ac_add_options --enable-application=%{name}
+
+# --with-system-png is disabled because Mozilla requires APNG support in libpng
+#ac_add_options --with-system-png
+ac_add_options --prefix="\$PREFIX"
+ac_add_options --libdir="\$LIBDIR"
+%if %{fedora} >= 15
+ac_add_options --enable-system-sqlite
+%endif
+%if %{fedora} >= 14
+ac_add_options --with-system-nspr
+ac_add_options --with-system-nss
+%endif
+%if %{fedora} >= 11
+ac_add_options --enable-system-hunspell
+%endif
+%if %{fedora} >= 15
+ac_add_options --enable-system-cairo
+%endif
+%if %{fedora} >= 10
+ac_add_options --enable-libnotify
+%else
+ac_add_options --disable-libnotify
+%endif
+%if %{fedora} >= 9
+ac_add_options --enable-system-lcms
+%endif
+%ifarch ppc ppc64
+ac_add_options --disable-necko-wifi
+ac_add_options --disable-ipc
+%endif
+ac_add_options --with-system-jpeg
+ac_add_options --with-system-zlib
+ac_add_options --with-system-bz2
+ac_add_options --with-pthreads
+ac_add_options --disable-strip
+ac_add_options --disable-activex
+ac_add_options --disable-activex-scripting
+ac_add_options --disable-tests
+ac_add_options --disable-airbag
+ac_add_options --enable-places
+ac_add_options --enable-storage
+ac_add_options --enable-shared
+ac_add_options --disable-static
+ac_add_options --disable-mochitest
+ac_add_options --disable-installer
+ac_add_options --disable-debug
+ac_add_options --enable-optimize="\$MOZ_OPT_FLAGS"
+ac_add_options --enable-xinerama
+ac_add_options --enable-default-toolkit=cairo-gtk2
+ac_add_options --disable-xprint
+ac_add_options --enable-pango
+ac_add_options --enable-svg
+ac_add_options --enable-canvas
+ac_add_options --enable-startup-notification
+ac_add_options --disable-cpp-exceptions
+ac_add_options --disable-javaxpcom
+ac_add_options --disable-crashreporter
+ac_add_options --enable-safe-browsing
+ac_add_options --disable-updater
+EOF_MOZCONFIG
+
+
+%build
+export MOZ_OPT_FLAGS=$(echo $RPM_OPT_FLAGS | \
+ %{__sed} -e 's/-Wall//' -e 's/-fexceptions//g')
+
+export CFLAGS=$MOZ_OPT_FLAGS
+export CXXFLAGS="$MOZ_OPT_FLAGS -fpermissive"
+
+export PREFIX='%{_prefix}'
+export LIBDIR='%{_libdir}'
+
+MOZ_SMP_FLAGS=-j1
+[ -z "$RPM_BUILD_NCPUS" ] && \
+ RPM_BUILD_NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`"
+[ "$RPM_BUILD_NCPUS" -gt 1 ] && MOZ_SMP_FLAGS=-j$RPM_BUILD_NCPUS
+
+MOZ_APP_DIR=%{_libdir}/%{name}
+
+export LDFLAGS="-Wl,-rpath,${MOZ_APP_DIR}"
+make -f client.mk build_all
+
+
+%install
+%{__rm} -rf $RPM_BUILD_ROOT
+
+# No Make install for now :(
+mkdir -p $RPM_BUILD_ROOT/%{mozappdir}
+tar --create --file - --dereference --directory=dist/bin . \
+ | tar --extract --file - --directory $RPM_BUILD_ROOT/%{mozappdir}
+
+# Launcher
+install -D -m 755 %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}/%{name}
+
+# Shortcut
+desktop-file-install \
+ --dir $RPM_BUILD_ROOT%{_datadir}/applications \
+ --add-category Development \
+ --add-category Network \
+ %{SOURCE2}
+
+# Icons
+install -D -m 644 bluegriffon/app/icons/default16.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/16x16/apps/%{name}.png
+install -D -m 644 bluegriffon/app/icons/default32.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/32x32/apps/%{name}.png
+install -D -m 644 bluegriffon/app/icons/default48.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/48x48/apps/%{name}.png
+install -D -m 644 bluegriffon/app/icons/default50.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/16x16/apps/%{name}.png
+install -D -m 644 bluegriffon/app/icons/%{name}128.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/128x128/apps/%{name}.png
+
+# Use the system hunspell dictionaries
+%{__rm} -rf $RPM_BUILD_ROOT/%{mozappdir}/dictionaries
+ln -s %{_datadir}/myspell $RPM_BUILD_ROOT%{mozappdir}/dictionaries
+
+
+%post
+chcon -t textrel_shlib_t %{mozappdir}/libxul.so &>/dev/null || :
+update-desktop-database &> /dev/null || :
+touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
+if [ -x %{_bindir}/gtk-update-icon-cache ]; then
+ %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
+fi
+
+
+%postun
+if [ $1 -eq 0 ] ; then
+ touch --no-create %{_datadir}/icons/hicolor &>/dev/null
+ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
+fi
+update-desktop-database &> /dev/null || :
+
+
+%files
+%defattr(-,root,root,-)
+%{_bindir}/%{name}
+%{mozappdir}
+%{_datadir}/applications/%{name}.desktop
+%{_datadir}/icons/hicolor/16x16/apps/%{name}.png
+%{_datadir}/icons/hicolor/32x32/apps/%{name}.png
+%{_datadir}/icons/hicolor/48x48/apps/%{name}.png
+%{_datadir}/icons/hicolor/128x128/apps/%{name}.png
+
+
+%changelog
+* Fri Jan 28 2011 Remi Collet <rpms@famillecollet.com> - 0.9-0.1.hg20110128
+- first work on RPM - BlueGriffon 0.9rc1
+