diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rwxr-xr-x | http/palemoon/BUILD | 53 | ||||
-rwxr-xr-x | http/palemoon/CONFIGURE | 76 | ||||
-rwxr-xr-x | http/palemoon/DEPENDS | 129 | ||||
-rwxr-xr-x | http/palemoon/DETAILS | 40 | ||||
-rw-r--r-- | http/palemoon/HISTORY | 3 | ||||
-rwxr-xr-x | http/palemoon/INSTALL | 7 | ||||
-rwxr-xr-x | http/palemoon/PRE_BUILD | 15 | ||||
-rwxr-xr-x | http/palemoon/PROVIDES | 5 | ||||
-rw-r--r-- | http/palemoon/cairo-system.patch | 13 | ||||
-rw-r--r-- | http/palemoon/moonchild.gpg | bin | 0 -> 2235 bytes |
11 files changed, 345 insertions, 0 deletions
@@ -1,3 +1,7 @@ +2015-07-24 Vlad Glagolev <stealth@sourcemage.org> + * http/palemoon: new spell, Open Source, Firefox-based web browser + focusing on efficiency + 2015-07-22 Treeve Jelbert <treeve@sourcemage.org> * qt5/qt3d: new spell, 3d drawing for qt5 * qt5/qtcanvas3d: new spell, 3d canvas for qml diff --git a/http/palemoon/BUILD b/http/palemoon/BUILD new file mode 100755 index 0000000000..c4b4659bbd --- /dev/null +++ b/http/palemoon/BUILD @@ -0,0 +1,53 @@ +export MOZBUILD_STATE_PATH="${SOURCE_DIRECTORY}/mozbuild" && +export MOZCONFIG="${SOURCE_DIRECTORY}/mozconfig" && + +# +# No AVX optimization for Mozilla (GCC 4.6/4.7 or XUL bug on +# SandyBridge/IvyBridge CPUs). See PR 52762 on GCC bug tracker. +# +CFLAGS="${CFLAGS//-mavx} -mno-avx" && +CXXFLAGS="${CXXFLAGS//-mavx} -mno-avx" && + +if list_find "${LDFLAGS}" "-s"; then + OPTS="--enable-strip --enable-install-strip ${OPTS}" +else + OPTS="--disable-strip --disable-install-strip ${OPTS}" +fi && + +PM_CONFIG="--prefix=${INSTALL_ROOT}/usr \ + --with-default-mozilla-five-home=${INSTALL_ROOT}/usr/lib/palemoon \ + --with-distribution-id=Palemoon \ + --with-pthreads \ + --enable-official-branding \ + --enable-application=browser \ + --disable-accessibility \ + --disable-parental-controls \ + --disable-jemalloc \ + --disable-websms-backend \ + --disable-crashreporter \ + --disable-installer \ + --disable-updater \ + --disable-update-packaging \ + --disable-tests \ + --disable-debug \ + --disable-debug-symbols \ + ${PALEMOON_OPTS} \ + ${OPTS}" && + +# TODO: we don't have recent libpng yet +PM_CONFIG="--without-system-png $PM_CONFIG" && + +# multijob build +echo "mk_add_options MOZ_MAKE_FLAGS=\"-j$MAKE_NJOBS\"" >> ${MOZCONFIG} && + +# required for non-duplicated data in the package +echo "mk_add_options MOZ_OBJDIR=${SOURCE_DIRECTORY}/pmbuild" >> ${MOZCONFIG} && + +echo "ac_add_options --enable-optimize=\"${CFLAGS}\"" >> ${MOZCONFIG} && + +for o in $PM_CONFIG; do + echo "ac_add_options $o" >> ${MOZCONFIG} +done && + +python2 mach build || message "${MESSAGE_COLOR}Re-running mach...${DEFAULT_COLOR}" && +python2 mach build diff --git a/http/palemoon/CONFIGURE b/http/palemoon/CONFIGURE new file mode 100755 index 0000000000..765a237334 --- /dev/null +++ b/http/palemoon/CONFIGURE @@ -0,0 +1,76 @@ +config_query_option PALEMOON_OPTS "Enable Personal Security Manager?" y \ + "--enable-crypto" \ + "--disable-crypto" && + +config_query_option PALEMOON_OPTS "Enable permissions (popup and cookie blocking)?" y \ + "--enable-permissions" \ + "--disable-permissions" && + +config_query_option PALEMOON_OPTS "Enable safe browsing (anti-phishing) implementation?" n \ + "--enable-safe-browsing" \ + "--disable-safe-browsing" && + +local PALEMOON_SB && + +if list_find "${PALEMOON_OPTS}" "--enable-safe-browsing"; then + PALEMOON_SB=y +else + PALEMOON_SB=n +fi && + +config_query_option PALEMOON_OPTS "Enable URL classifier module?" ${PALEMOON_SB} \ + "--enable-url-classifier" \ + "--disable-url-classifier" && + +config_query_option PALEMOON_OPTS "Enable use of Skia Graphics Engine?" y \ + "--enable-skia" \ + "--disable-skia" && + +config_query_option PALEMOON_OPTS "Enable support for WebRTC?" n \ + "--enable-webrtc" \ + "--disable-webrtc" && + +config_query_option PALEMOON_OPTS "Enable support for WebM media (VP8 video and Vorbis audio)?" y \ + "--enable-webm" \ + "--disable-webm" && + +config_query_option PALEMOON_OPTS "Enable support for OGG media (Theora video and Vorbis audio)?" y \ + "--enable-ogg" \ + "--disable-ogg" && + +config_query_option PALEMOON_OPTS "Enable Wave decoder support?" y \ + "--enable-wave" \ + "--disable-wave" && + +# required for ALSA +if ! list_find "${PALEMOON_OPTS}" "--enable-webm" && + ! list_find "${PALEMOON_OPTS}" "--enable-ogg" && + ! list_find "${PALEMOON_OPTS}" "--enable-wave"; then + config_query_option PALEMOON_OPTS "Enable OSS support?" n \ + "--enable-oss" \ + "--disable-oss" +fi && + +config_query_option PALEMOON_OPTS "Enable support for HTML Speech API?" y \ + "--enable-webspeech" \ + "--disable-webspeech" && + +config_query_option PALEMOON_OPTS "Enable support for RAW media?" y \ + "--enable-raw" \ + "--disable-raw" && + +config_query_option PALEMOON_OPTS "Enable support for Opus audio?" y \ + "--enable-opus" \ + "--disable-opus" && + +config_query_option PALEMOON_OPTS "Enable support for media plugins?" n \ + "--enable-media-plugins" \ + "--disable-media-plugins" && + +config_query_option PALEMOON_OPTS "Enable support for getUserMedia?" n \ + "--enable-media-navigator" \ + "--disable-media-navigator" && + +config_query_option PALEMOON_OPTS "Enable gamepad support?" y \ + "--enable-gamepad" \ + "--disable-gamepad" diff --git a/http/palemoon/DEPENDS b/http/palemoon/DEPENDS new file mode 100755 index 0000000000..caaa205b4a --- /dev/null +++ b/http/palemoon/DEPENDS @@ -0,0 +1,129 @@ +# build environment +depends p7zip && +depends zip && +depends unzip && +depends -sub CXX gcc && +depends autoconf-2.13 && +depends perl && +depends python && +depends pkgconfig && + +# main libraries +depends glib2 && +depends libjpeg-turbo '--with-system-jpeg' && +depends zlib '--with-system-zlib' && +depends bzip2 '--with-system-bz2' && +depends gtk+2 '--enable-default-toolkit=cairo-gtk2' && +depends -sub "TSAFE SECURE_DELETE ENABLE_UNLOCK_NOTIFY" sqlite '--enable-system-sqlite' && +depends nspr '--with-system-nspr' && +depends -sub 3.17.x nss '--with-system-nss' && +depends libffi '--enable-system-ffi' && +depends libevent '--with-system-libevent' && +depends fontconfig && + +# X libraries +depends libx11 && +depends libxt && +depends libxext && +depends libice && +depends libsm && +depends libxscrnsaver && +depends libxrender && + +optional_depends freetype2 \ + "--disable-tree-freetype" \ + "--enable-tree-freetype" \ + "to use system FreeType library" && + +optional_depends -sub "X TEE" cairo \ + "--enable-system-cairo" \ + "--disable-system-cairo" \ + "to use system version of cairo" && + +if is_depends_enabled $SPELL cairo; then + message "${MESSAGE_COLOR}System cairo selected, forcing system version of ${SPELL_COLOR}pixman${MESSAGE_COLOR}...${DEFAULT_COLOR}" && + + depends pixman '--enable-system-pixman' +else + list_add OPTS '--disable-system-pixman' +fi && + +optional_depends pango \ + "--enable-pango" \ + "--disable-pango" \ + "to use Pango engine" && + +optional_depends gstreamer \ + "--enable-gstreamer" \ + "--disable-gstreamer" \ + "for GStreamer support" && + +if is_depends_enabled $SPELL gstreamer; then + depends gst-plugins-base +fi && + +optional_depends dbus \ + "--enable-dbus" \ + "--disable-dbus" \ + "for dbus support" && + +if is_depends_enabled $SPELL dbus; then + depends dbus-glib +fi && + +if list_find "${PALEMOON_OPTS}" "--enable-webm"; then + depends yasm && + depends alsa-lib '--enable-alsa' && + + optional_depends libvpx \ + "--with-system-libvpx" \ + "--without-system-libvpx" \ + "to use system libvpx" +elif list_find "${PALEMOON_OPTS}" "--enable-ogg" || list_find "${PALEMOON_OPTS}" "--enable-wave"; then + depends alsa-lib '--enable-alsa' +else + optional_depends alsa-lib \ + "--enable-alsa" \ + "--disable-alsa" \ + "for ALSA support" +fi && + +optional_depends OPENGL \ + "--enable-webgl" \ + "--disable-webgl" \ + "for building of the WebGL implementation" && + +optional_depends startup-notification \ + "--enable-startup-notification" \ + "--disable-startup-notification" \ + "for startup-notification support" && + +optional_depends hunspell \ + "--enable-system-hunspell" \ + "--disable-system-hunspell" \ + "to use system hunspell library" && + +optional_depends pulseaudio \ + "--enable-pulseaudio" \ + "--disable-pulseaudio" \ + "for PulseAudio support (${PROBLEM_COLOR}experimental${DEFAULT_COLOR})" && + +optional_depends wireless_tools \ + "--enable-necko-wifi" \ + "--disable-necko-wifi" \ + "for necko wifi scanner" && + +optional_depends gconf2 \ + "--enable-gconf" \ + "--disable-gconf" \ + "for Gconf support" && + +optional_depends libproxy \ + "--enable-libproxy" \ + "--disable-libproxy" \ + "for libproxy support" && + +optional_depends libgnomeui \ + "--enable-gnomeui" \ + "--disable-gnomeui" \ + "to use libgnomeui instead of GIO & GTK for icon theme support" diff --git a/http/palemoon/DETAILS b/http/palemoon/DETAILS new file mode 100755 index 0000000000..bcefb1832f --- /dev/null +++ b/http/palemoon/DETAILS @@ -0,0 +1,40 @@ + SPELL=palemoon + VERSION=25.5.0 + SOURCE=${SPELL}-${VERSION}-source.7z + SOURCE2=${SOURCE}.sig + SOURCE_URL[0]=ftp://source:current@ftp.palemoon.org/${SOURCE} + SOURCE2_URL[0]=${SOURCE_URL}.sig + SOURCE_GPG=moonchild.gpg:$SOURCE2:UPSTREAM_KEY + SOURCE2_IGNORE=signature +SOURCE_DIRECTORY="${BUILD_DIRECTORY}/${SPELL}-${VERSION}" + WEB_SITE=http://www.palemoon.org/ + TMPFS=off + ENTERED=20150724 + LICENSE[0]=MPL + DOCS="LICENSE README.txt" + DOC_DIRS="" + KEYWORDS="web http browser" + SHORT="Open Source, Firefox-based web browser focusing on efficiency" +cat << EOF +Pale Moon offers you a browsing experience in a browser completely built from +its own, independently developed source with carefully selected features and +optimizations to maximize the browser's speed*, stability and user experience, +while offering a rich collection of extensions and themes (including +compatibility with many Firefox extensions many users have come to love and +rely on). + +Main features: +* Optimized for modern processors +* Safe: forked from Firefox and regularly updated. +* Supported by a friendly, active community of users +* Familiar, efficient, fully customizable interface (no Australis!) +* Support for full themes: total freedom of any element's design +* Support for easily-created lightweight themes (skins) +* Smooth and speedy page drawing and script processing +* Increased stability: experience fewer browser crashes +* Support for many Firefox extensions (add-ons) +* Support for a growing number of Pale Moon exclusive extensions +* Extensive and growing support for HTML5 and CSS3 +* Many customization and configuration options +* Able to import existing Firefox profiles with the migration tool +EOF diff --git a/http/palemoon/HISTORY b/http/palemoon/HISTORY new file mode 100644 index 0000000000..8ed9268f49 --- /dev/null +++ b/http/palemoon/HISTORY @@ -0,0 +1,3 @@ +2015-07-23 Vlad Glagolev <stealth@sourcemage.org> + * DETAILS, DEPENDS, {PRE_,}BUILD, INSTALL, CONFIGURE, PROVIDES, + moonchild.gpg, cairo-system.patch: created spell, version 25.5.0 diff --git a/http/palemoon/INSTALL b/http/palemoon/INSTALL new file mode 100755 index 0000000000..b5d3fb3e50 --- /dev/null +++ b/http/palemoon/INSTALL @@ -0,0 +1,7 @@ +cd pmbuild && +make package && + +cd dist && +cp -av palemoon "${INSTALL_ROOT}/usr/lib/" && + +ln -vsf "${TRACK_ROOT}/usr/lib/palemoon/palemoon" "${INSTALL_ROOT}/usr/bin/palemoon" diff --git a/http/palemoon/PRE_BUILD b/http/palemoon/PRE_BUILD new file mode 100755 index 0000000000..282d79ce03 --- /dev/null +++ b/http/palemoon/PRE_BUILD @@ -0,0 +1,15 @@ +mk_source_dir "${SOURCE_DIRECTORY}" && +cd "${SOURCE_DIRECTORY}" && +verify_file && + +7z x "${SOURCE_CACHE}/${SOURCE}" > /dev/null && + +# resurrect permissions not stored by 7zip +find . -type d -exec chmod 755 '{}' \; && +find . -type f -exec chmod 644 '{}' \; && +find . -name '*.sh' -exec chmod +x {} \; && +chmod -R +x build/autoconf/* python/* && + +if is_depends_enabled $SPELL cairo; then + patch -p0 < "${SPELL_DIRECTORY}/cairo-system.patch" +fi diff --git a/http/palemoon/PROVIDES b/http/palemoon/PROVIDES new file mode 100755 index 0000000000..03ca9a80a1 --- /dev/null +++ b/http/palemoon/PROVIDES @@ -0,0 +1,5 @@ +MOZILLA-BROWSER +WEB-BROWSER +GRAPHICAL-WEB-BROWSER +GECKO +NS-PLUGIN-COMPATIBLE diff --git a/http/palemoon/cairo-system.patch b/http/palemoon/cairo-system.patch new file mode 100644 index 0000000000..12ccd1e8f8 --- /dev/null +++ b/http/palemoon/cairo-system.patch @@ -0,0 +1,13 @@ +--- gfx/2d/DrawTargetCairo.cpp.orig 2015-06-06 15:30:46.000000000 +0300 ++++ gfx/2d/DrawTargetCairo.cpp 2015-07-23 18:45:45.406135553 +0300 +@@ -638,8 +638,10 @@ + DrawTargetCairo::SetPermitSubpixelAA(bool aPermitSubpixelAA) + { + DrawTarget::SetPermitSubpixelAA(aPermitSubpixelAA); ++#ifdef MOZ_TREE_CAIRO + cairo_surface_set_subpixel_antialiasing(mSurface, + aPermitSubpixelAA ? CAIRO_SUBPIXEL_ANTIALIASING_ENABLED : CAIRO_SUBPIXEL_ANTIALIASING_DISABLED); ++#endif + } + + void diff --git a/http/palemoon/moonchild.gpg b/http/palemoon/moonchild.gpg Binary files differnew file mode 100644 index 0000000000..9c13155c5d --- /dev/null +++ b/http/palemoon/moonchild.gpg |