# TODO: Slap the devs for relying on gcc 4.9 (It segfaults often when building with newer versions, probably due to new optimizations) name=Pale-Moon version=27.1.1 update_url="https://github.com/MoonchildProductions/$name/releases" update_names="/archive/${version}_Release.tar.gz" define_option 'pulseaudio: Build with support for PulseAudio' dlextract "https://github.com/MoonchildProductions/$name/archive/${version}_Release/$name-${version}_Release.tar.gz" \ 'a4148016d84345b081a3c5350acaa9f6' dlextract 'http://ftp.gnu.org/gnu/autoconf/autoconf-2.13.tar.gz' \ '9de56d4a161a723228220b0f425dc711' dlextract 'http://ftp.gnu.org/gnu/gcc/gcc-4.9.4/gcc-4.9.4.tar.bz2' \ '87c24a4090c1577ba817ec6882602491' extrafile 'palemoon.desktop' header_end ( cd 'autoconf-2.13' ./configure --prefix="$PWD/install" --program-suffix=-2.13 make make install ) ( cd 'gcc-4.9.4' mkdir build; cd build ../configure --prefix="$PWD/../install" --disable-bootstrap --enable-languages=c++ make make install ) cd "$name-${version}_Release" cat > .mozconfig << EOF # Please see https://www.palemoon.org/redist.shtml for restrictions when using the official branding. #ac_add_options --enable-official-branding #export MOZILLA_OFFICIAL=1 mk_add_options MOZ_CO_PROJECT=browser ac_add_options --enable-application=browser mk_add_options MOZ_OBJDIR="$PWD/pmbuild/" ac_add_options --enable-optimize="-O2 -msse2 -mfpmath=sse" ac_add_options --with-pthreads ac_add_options --disable-installer ac_add_options --disable-updater ac_add_options --enable-release ac_add_options --enable-devtools ac_add_options --enable-jemalloc ac_add_options --enable-shared-js ac_add_options --enable-strip ac_add_options --x-libraries="/$dir_prefix/$dir_libdir" # The section before this is kept up to date with https://developer.palemoon.org/Developer_Guide:Build_Instructions/Pale_Moon/Linux#head:Mozconfig_Files (with minor changes) # The following section are my additions. # Proper paths ac_add_options --prefix="/$dir_prefix" ac_add_options --bindir="/$dir_prefix/$dir_bindir" ac_add_options --libdir="/$dir_prefix/$dir_libdir" ac_add_options --includedir="/$dir_prefix/$dir_includedir" ac_add_options --datadir="/$dir_prefix/$dir_datadir" # Use system libraries (./configure --help | grep system) ac_add_options --with-system-nspr ac_add_options --with-system-libevent #ac_add_options --with-system-nss - Apparently unsupported ac_add_options --with-system-jpeg ac_add_options --with-system-zlib ac_add_options --with-system-bz2 ac_add_options --with-system-webp #ac_add_options --with-system-png - The APNG patch is not upstrean ac_add_options --enable-system-hunspell ac_add_options --enable-system-ffi ac_add_options --with-system-libvpx ac_add_options --enable-system-sqlite ac_add_options --enable-system-cairo ac_add_options --enable-system-pixman ac_add_options --with-system-icu # Make pulseaudio support optional $(option pulseaudio && echo ac_add_options --enable-pulseaudio || echo ac_add_options --disable-pulseaudio) EOF PATH="$PWD/../autoconf-2.13/install/bin:$PWD/../gcc-4.9.4/install/bin:$PATH" \ make -f client.mk build cd pmbuild make DESTDIR="$dir_install" install cd ../.. # Install icons for x in 16 32 48; do mkdir -p "$dir_install/$dir_prefix/$dir_datadir/icons/hicolor/${x}x$x/apps" ln -s "/$dir_prefix/$dir_libdir/palemoon-$version/browser/chrome/icons/default/default$x.png" \ "$dir_install/$dir_prefix/$dir_datadir/icons/hicolor/${x}x$x/apps/palemoon.png" done mkdir -p "$dir_install/$dir_prefix/$dir_datadir/icons/hicolor/128x128/apps" ln -s "/$dir_prefix/$dir_libdir/palemoon-$version/browser/icons/mozicon128.png" \ "$dir_install/$dir_prefix/$dir_datadir/icons/hicolor/128x128/apps/palemoon.png" # Install desktop install -Dm644 -t "$dir_install/$dir_prefix/$dir_datadir/applications" palemoon.desktop # vim:set tabstop=4 shiftwidth=4 syntax=sh expandtab: