%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 <= 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 STRIP="/bin/true" MOZ_MAKE_FLAGS="$MOZ_SMP_FLAGS" %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 - 0.9-0.1.hg20110128 - first work on RPM - BlueGriffon 0.9rc1