# STATIC: Will build static libraries if correct versions aren't found name=Pale-Moon version=28.2.1 version_autoconf=2.13 dlextract "https://github.com/MoonchildProductions/UXP/archive/PM${version}_Release.tar.gz" \ '6a06e7094204eedae2b8592159d0f66d' extrafile 'palemoon.desktop' ( name=autoconf version="$version_autoconf" dlextract "https://ftp.gnu.org/gnu/$name/$name-$version.tar.gz" \ '9de56d4a161a723228220b0f425dc711' ) _ ( cd "autoconf-$version_autoconf" ./configure --prefix="$PWD/install" --program-suffix=-$version_autoconf make make install ) cd "UXP-PM${version}_Release" get_conf() { if [ "$1" = "NSS_MINVER" ]; then sed -ne 's/^ *AM_PATH_NSS(\([^,]*\),.*/\1/p' old-configure.in else sed -ne 's/^'"$1"'=\(.*\)/\1/p' old-configure.in fi } cat > .mozconfig << EOF mk_add_options AUTOCLOBBER=1 mk_add_options MOZ_OBJDIR="$PWD/pmbuild/" ac_add_options --enable-application=palemoon ac_add_options --enable-optimize="-O2" # 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 ac_add_options --enable-default-toolkit=cairo-gtk2 ac_add_options --enable-jemalloc ac_add_options --enable-strip ac_add_options --with-pthreads ac_add_options --disable-tests ac_add_options --disable-eme ac_add_options --disable-parental-controls ac_add_options --disable-accessibility ac_add_options --disable-webrtc ac_add_options --disable-gamepad ac_add_options --disable-necko-wifi ac_add_options --disable-updater ac_add_options --x-libraries="/$dir_prefix/$dir_lib" # 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. # Use system libraries (autoconf-2.13 && ./configure --help | grep system) ac_add_options --with-system-ffi $(pkg-config --atleast-version=1.4.0 hunspell && echo ac_add_options --enable-system-hunspell) ac_add_options --enable-system-cairo ac_add_options --enable-system-pixman $(pkg-config --atleast-version="$(get_conf SQLITE_VERSION)" sqlite3 && echo ac_add_options --enable-system-sqlite) ac_add_options --with-system-bz2 $(pkg-config --atleast-version=58.1 icu-i18n && echo ac_add_options --with-system-icu) ac_add_options --with-system-jpeg ac_add_options --with-system-libevent ac_add_options --with-system-libvpx $(pkg-config --atleast-version="$(get_conf NSPR_MINVER)" nspr && echo ac_add_options --with-system-nspr) $(pkg-config --atleast-version="$(get_conf NSS_MINVER)" nss && echo ac_add_options --with-system-nss) #ac_add_options --with-system-png - The APNG patch is not upstream ac_add_options --with-system-zlib # Make pulseaudio support optional $(pkg-config --exists libpulse || echo ac_add_options --disable-pulseaudio) EOF # Build PATH="$PWD/../autoconf-$version_autoconf/install/bin:$PATH" \ MOZ_MAKE_FLAGS="$MAKEFLAGS" \ make -f client.mk build # Install cd pmbuild make package mkdir -p "$dir_install/$dir_prefix/$dir_lib/palemoon" cp -Ta dist/palemoon "$dir_install/$dir_prefix/$dir_lib/palemoon" mkdir -p "$dir_install/$dir_prefix/$dir_bin" ln -sf "/$dir_prefix/$dir_lib/palemoon/palemoon" "$dir_install/$dir_prefix/$dir_bin/palemoon" cd ../.. # Install icons for x in 16 32 48; do mkdir -p "$dir_install/$dir_prefix/$dir_data/icons/hicolor/${x}x$x/apps" ln -sf "/$dir_prefix/$dir_lib/palemoon/browser/chrome/icons/default/default$x.png" \ "$dir_install/$dir_prefix/$dir_data/icons/hicolor/${x}x$x/apps/palemoon.png" done mkdir -p "$dir_install/$dir_prefix/$dir_data/icons/hicolor/128x128/apps" ln -sf "/$dir_prefix/$dir_lib/palemoon/browser/icons/mozicon128.png" \ "$dir_install/$dir_prefix/$dir_data/icons/hicolor/128x128/apps/palemoon.png" # Install desktop install -Dm644 -t "$dir_install/$dir_prefix/$dir_data/applications" palemoon.desktop # vim:set tabstop=4 shiftwidth=4 syntax=sh expandtab: