+++ /dev/null
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8,9} )
-PYTHON_REQ_USE="threads(+),xml"
-
-MY_PV="${PV/_alpha/.alpha}"
-MY_PV="${MY_PV/_beta/.beta}"
-# experimental ; release ; old
-# Usually the tarballs are moved a lot so this should make everyone happy.
-DEV_URI="
- https://dev-builds.libreoffice.org/pre-releases/src
- https://download.documentfoundation.org/libreoffice/src/${MY_PV:0:5}/
- https://downloadarchive.documentfoundation.org/libreoffice/old/${MY_PV}/src
-"
-ADDONS_URI="https://dev-www.libreoffice.org/src/"
-
-BRANDING="${PN}-branding-gentoo-0.8.tar.xz"
-# PATCHSET="${P}-patchset-01.tar.xz"
-
-[[ ${MY_PV} == *9999* ]] && inherit git-r3
-inherit autotools bash-completion-r1 check-reqs eapi8-dosym flag-o-matic java-pkg-opt-2 multiprocessing python-single-r1 qmake-utils toolchain-funcs xdg-utils
-
-DESCRIPTION="A full office productivity suite"
-HOMEPAGE="https://www.libreoffice.org"
-SRC_URI="branding? ( https://dev.gentoo.org/~dilfridge/distfiles/${BRANDING} )"
-[[ -n ${PATCHSET} ]] && SRC_URI+=" https://dev.gentoo.org/~asturm/distfiles/${PATCHSET}"
-
-# Split modules following git/tarballs; Core MUST be first!
-# Help is used for the image generator
-# Only release has the tarballs
-if [[ ${MY_PV} != *9999* ]]; then
- for i in ${DEV_URI}; do
- SRC_URI+=" ${i}/${PN}-${MY_PV}.tar.xz"
- SRC_URI+=" ${i}/${PN}-help-${MY_PV}.tar.xz"
- done
- unset i
-fi
-unset DEV_URI
-
-# Really required addons
-# These are bundles that can't be removed for now due to huge patchsets.
-# If you want them gone, patches are welcome.
-ADDONS_SRC=(
- # not packaged in Gentoo, https://www.netlib.org/fp/dtoa.c
- "${ADDONS_URI}/dtoa-20180411.tgz"
- # not packaged in Gentoo, https://skia.org/
- "${ADDONS_URI}/skia-m88-59bafeeaa7de9eb753e3778c414e01dcf013dcd8.tar.xz"
- # QR code generating library for >=libreoffice-6.4, bug #691740
- "${ADDONS_URI}/QR-Code-generator-1.4.0.tar.gz"
- "base? (
- ${ADDONS_URI}/commons-logging-1.2-src.tar.gz
- ${ADDONS_URI}/ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip
- ${ADDONS_URI}/d8bd5eed178db6e2b18eeed243f85aa8-flute-1.1.6.zip
- ${ADDONS_URI}/eeb2c7ddf0d302fba4bfc6e97eac9624-libbase-1.1.6.zip
- ${ADDONS_URI}/3bdf40c0d199af31923e900d082ca2dd-libfonts-1.1.6.zip
- ${ADDONS_URI}/3404ab6b1792ae5f16bbd603bd1e1d03-libformula-1.1.7.zip
- ${ADDONS_URI}/db60e4fde8dd6d6807523deb71ee34dc-liblayout-0.2.10.zip
- ${ADDONS_URI}/97b2d4dba862397f446b217e2b623e71-libloader-1.1.6.zip
- ${ADDONS_URI}/8ce2fcd72becf06c41f7201d15373ed9-librepository-1.1.6.zip
- ${ADDONS_URI}/f94d9870737518e3b597f9265f4e9803-libserializer-1.1.6.zip
- ${ADDONS_URI}/ace6ab49184e329db254e454a010f56d-libxml-1.1.7.zip
- ${ADDONS_URI}/39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip
- )"
- "java? ( ${ADDONS_URI}/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip )"
- # no release for 8 years, should we package it?
- "libreoffice_extensions_wiki-publisher? ( ${ADDONS_URI}/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip )"
- # Does not build with 1.6 rhino at all
- "libreoffice_extensions_scripting-javascript? ( ${ADDONS_URI}/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip )"
- # requirement of rhino
- "libreoffice_extensions_scripting-javascript? ( ${ADDONS_URI}/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip )"
- # not packageable
- "odk? ( http://download.go-oo.org/extern/185d60944ea767075d27247c3162b3bc-unowinreg.dll )"
-)
-SRC_URI+=" ${ADDONS_SRC[*]}"
-
-unset ADDONS_URI
-unset ADDONS_SRC
-
-# Extensions that need extra work:
-LO_EXTS="nlpsolver scripting-beanshell scripting-javascript wiki-publisher"
-
-IUSE="accessibility base bluetooth +branding clang coinmp +cups custom-cflags +dbus debug eds firebird
-googledrive gstreamer +gtk kde ldap +mariadb odk pdfimport postgres test vulkan
-$(printf 'libreoffice_extensions_%s ' ${LO_EXTS})"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- base? ( firebird java )
- bluetooth? ( dbus )
- gtk? ( dbus )
- libreoffice_extensions_nlpsolver? ( java )
- libreoffice_extensions_scripting-beanshell? ( java )
- libreoffice_extensions_scripting-javascript? ( java )
- libreoffice_extensions_wiki-publisher? ( java )
-"
-
-RESTRICT="!test? ( test )"
-
-LICENSE="|| ( LGPL-3 MPL-1.1 )"
-SLOT="0"
-
-[[ ${MY_PV} == *9999* ]] || \
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86 ~amd64-linux"
-
-BDEPEND="
- dev-util/intltool
- sys-devel/bison
- sys-devel/flex
- sys-devel/gettext
- virtual/pkgconfig
- odk? ( >=app-doc/doxygen-1.8.4 )
-"
-COMMON_DEPEND="${PYTHON_DEPS}
- app-arch/unzip
- app-arch/zip
- app-crypt/gpgme[cxx]
- app-text/hunspell:=
- >=app-text/libabw-0.1.0
- >=app-text/libebook-0.1
- app-text/libepubgen
- >=app-text/libetonyek-0.1
- app-text/libexttextcat
- app-text/liblangtag
- >=app-text/libmspub-0.1.0
- >=app-text/libmwaw-0.3.1
- >=app-text/libnumbertext-1.0.6
- >=app-text/libodfgen-0.1.0
- app-text/libqxp
- app-text/libstaroffice
- app-text/libwpd:0.10[tools]
- app-text/libwpg:0.3
- >=app-text/libwps-0.4
- app-text/mythes
- >=dev-cpp/clucene-2.3.3.4-r2
- >=dev-cpp/libcmis-0.5.2
- dev-db/unixODBC
- >=games-engines/box2d-2.4.1:0
- dev-lang/perl
- >=dev-libs/boost-1.72.0:=[nls]
- dev-libs/expat
- dev-libs/hyphen
- dev-libs/icu:=
- dev-libs/libassuan
- dev-libs/libgpg-error
- dev-libs/liborcus:0/0.16
- dev-libs/librevenge
- dev-libs/libxml2
- dev-libs/libxslt
- dev-libs/nspr
- dev-libs/nss
- >=dev-libs/redland-1.0.16
- >=dev-libs/xmlsec-1.2.28[nss]
- media-gfx/fontforge
- media-gfx/graphite2
- media-libs/fontconfig
- media-libs/freetype:2
- >=media-libs/harfbuzz-0.9.42:=[graphite,icu]
- media-libs/lcms:2
- >=media-libs/libcdr-0.1.0
- >=media-libs/libepoxy-1.3.1[X]
- >=media-libs/libfreehand-0.1.0
- media-libs/libpagemaker
- >=media-libs/libpng-1.4:0=
- >=media-libs/libvisio-0.1.0
- media-libs/libzmf
- >=net-libs/neon-0.31.1:=
- net-misc/curl
- sci-mathematics/lpsolve
- sys-libs/zlib
- virtual/glu
- virtual/jpeg:0
- virtual/opengl
- x11-libs/cairo[X]
- x11-libs/libXinerama
- x11-libs/libXrandr
- x11-libs/libXrender
- accessibility? (
- $(python_gen_cond_dep 'dev-python/lxml[${PYTHON_USEDEP}]')
- )
- bluetooth? (
- dev-libs/glib:2
- net-wireless/bluez
- )
- clang? (
- || (
- ( sys-devel/clang:12
- sys-devel/llvm:12
- =sys-devel/lld-12* )
- ( sys-devel/clang:11
- sys-devel/llvm:11
- =sys-devel/lld-11* )
- ( sys-devel/clang:10
- sys-devel/llvm:10
- =sys-devel/lld-10* )
- )
- )
- coinmp? ( sci-libs/coinor-mp )
- cups? ( net-print/cups )
- dbus? ( sys-apps/dbus[X] )
- eds? (
- dev-libs/glib:2
- gnome-base/dconf
- gnome-extra/evolution-data-server
- )
- firebird? ( >=dev-db/firebird-3.0.2.32703.0-r1[server] )
- gstreamer? (
- media-libs/gstreamer:1.0
- media-libs/gst-plugins-base:1.0
- )
- gtk? (
- dev-libs/glib:2
- dev-libs/gobject-introspection
- gnome-base/dconf
- media-libs/mesa[egl]
- x11-libs/gtk+:3[X]
- x11-libs/pango
- )
- kde? (
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtwidgets:5
- dev-qt/qtx11extras:5
- kde-frameworks/kconfig:5
- kde-frameworks/kcoreaddons:5
- kde-frameworks/ki18n:5
- kde-frameworks/kio:5
- kde-frameworks/kwindowsystem:5
- )
- ldap? ( net-nds/openldap )
- libreoffice_extensions_scripting-beanshell? ( dev-java/bsh )
- libreoffice_extensions_scripting-javascript? ( dev-java/rhino:1.6 )
- mariadb? ( dev-db/mariadb-connector-c )
- !mariadb? ( dev-db/mysql-connector-c )
- pdfimport? ( app-text/poppler:=[cxx] )
- postgres? ( >=dev-db/postgresql-9.0:*[kerberos] )
-"
-# FIXME: cppunit should be moved to test conditional
-# after everything upstream is under gbuild
-# as dmake execute tests right away
-# tests apparently also need google-carlito-fonts (not packaged)
-DEPEND="${COMMON_DEPEND}
- >=dev-libs/libatomic_ops-7.2d
- dev-perl/Archive-Zip
- >=dev-util/cppunit-1.14.0
- >=dev-util/gperf-3.1
- dev-util/mdds:1/1.5
- media-libs/glm
- sys-devel/ucpp
- x11-base/xorg-proto
- x11-libs/libXt
- x11-libs/libXtst
- java? (
- dev-java/ant-core
- || (
- dev-java/openjdk:11
- dev-java/openjdk-bin:11
- )
- )
- test? (
- app-crypt/gnupg
- dev-util/cppunit
- media-fonts/dejavu
- media-fonts/liberation-fonts
- )
-"
-RDEPEND="${COMMON_DEPEND}
- !app-office/libreoffice-bin
- !app-office/libreoffice-bin-debug
- media-fonts/liberation-fonts
- || ( x11-misc/xdg-utils kde-plasma/kde-cli-tools )
- java? ( || (
- dev-java/openjdk:11
- dev-java/openjdk-jre-bin:11
- >=virtual/jre-1.8
- ) )
- kde? ( kde-frameworks/breeze-icons:* )
-"
-if [[ ${MY_PV} != *9999* ]] && [[ ${PV} != *_* ]]; then
- PDEPEND="=app-office/libreoffice-l10n-$(ver_cut 1-2)*"
-else
- # Translations are not reliable on live ebuilds
- # rather force people to use english only.
- PDEPEND="!app-office/libreoffice-l10n"
-fi
-
-PATCHES=(
- # "${WORKDIR}"/${PATCHSET/.tar.xz/}
-
- # not upstreamable stuff
- "${FILESDIR}/${PN}-5.3.4.2-kioclient5.patch"
- "${FILESDIR}/${PN}-6.1-nomancompress.patch"
- "${FILESDIR}/${PN}-7.0.3.1-qt5detect.patch"
-
- # master branch
- #"${FILESDIR}/${P}-bashism.patch" # bug 780432
-)
-
-S="${WORKDIR}/${PN}-${MY_PV}"
-
-_check_reqs() {
- CHECKREQS_MEMORY="512M"
- if is-flagq "-g*" && ! is-flagq "-g*0" ; then
- CHECKREQS_DISK_BUILD="22G"
- else
- CHECKREQS_DISK_BUILD="6G"
- fi
- check-reqs_$1
-}
-
-pkg_pretend() {
- if use x86; then
- elog "Unfortunately for packaging reasons on x86, various Java-based wizards,"
- elog "most notably Report Builder in LibreOffice Base, will not be available."
- elog "See also: https://bugs.gentoo.org/785640"
- else
- use base ||
- ewarn "If you plan to use Base application you must enable USE base."
- use java ||
- ewarn "Without USE java, several wizards are not going to be available."
- fi
-
- [[ ${MERGE_TYPE} != binary ]] && _check_reqs pkg_pretend
-}
-
-pkg_setup() {
- java-pkg-opt-2_pkg_setup
- python-single-r1_pkg_setup
- xdg_environment_reset
-
- [[ ${MERGE_TYPE} != binary ]] && _check_reqs pkg_setup
-}
-
-src_unpack() {
- default
-
- if [[ ${MY_PV} = *9999* ]]; then
- local base_uri branch mypv
- base_uri="https://anongit.freedesktop.org/git"
- branch="master"
- mypv=${MY_PV/.9999}
- [[ ${mypv} != ${MY_PV} ]] && branch="${PN}-${mypv/./-}"
- git-r3_fetch "${base_uri}/${PN}/core" "refs/heads/${branch}"
- git-r3_checkout "${base_uri}/${PN}/core"
- LOCOREGIT_VERSION=${EGIT_VERSION}
-
- git-r3_fetch "${base_uri}/${PN}/help" "refs/heads/master"
- git-r3_checkout "${base_uri}/${PN}/help" "helpcontent2" # doesn't match on help
- fi
-}
-
-src_prepare() {
- default
-
- # sandbox violations on many systems, we don't need it. Bug #646406
- sed -i \
- -e "/KF5_CONFIG/s/kf5-config/no/" \
- configure.ac || die "Failed to disable kf5-config"
-
- AT_M4DIR="m4" eautoreconf
- # hack in the autogen.sh
- touch autogen.lastrun
-
- # sed in the tests
- sed -i \
- -e "s#all : build unitcheck#all : build#g" \
- solenv/gbuild/Module.mk || die
- sed -i \
- -e "s#check: dev-install subsequentcheck#check: unitcheck slowcheck dev-install subsequentcheck#g" \
- -e "s#Makefile.gbuild all slowcheck#Makefile.gbuild all#g" \
- Makefile.in || die
-
- sed -i \
- -e "s,/usr/share/bash-completion/completions,$(get_bashcompdir)," \
- -e "s,\$INSTALLDIRNAME.sh,${PN}," \
- bin/distro-install-desktop-integration || die
-
- if use branding; then
- # hack...
- mv -v "${WORKDIR}/branding-intro.png" "icon-themes/colibre/brand/intro.png" || die
- fi
-
- # Don't list pdfimport support in desktop when built with none, bug # 605464
- if ! use pdfimport; then
- sed -i \
- -e ":MimeType: s:application/pdf;::" \
- -e ":Keywords: s:pdf;::" \
- sysui/desktop/menus/draw.desktop || die
- fi
-}
-
-src_configure() {
- # Set up Google API keys, see https://www.chromium.org/developers/how-tos/api-keys
- # Note: these are for Gentoo use ONLY. For your own distribution, please get
- # your own set of keys. Feel free to contact chromium@gentoo.org for more info.
- local google_default_client_id="329227923882.apps.googleusercontent.com"
- local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu"
-
- # Show flags set at the beginning
- einfo "Preset CFLAGS: ${CFLAGS}"
- einfo "Preset LDFLAGS: ${LDFLAGS}"
-
- if use clang ; then
- # Force clang
- einfo "Enforcing the use of clang due to USE=clang ..."
- AR=llvm-ar
- CC=${CHOST}-clang
- CXX=${CHOST}-clang++
- NM=llvm-nm
- RANLIB=llvm-ranlib
- LDFLAGS+=" -fuse-ld=lld"
- else
- # Force gcc
- einfo "Enforcing the use of gcc due to USE=-clang ..."
- AR=gcc-ar
- CC=${CHOST}-gcc
- CXX=${CHOST}-g++
- NM=gcc-nm
- RANLIB=gcc-ranlib
- fi
-
- if use custom-cflags ; then
- elog "USE=custom-cflags has been selected. You are on your own to make sure that"
- elog "the build succeeds. Good luck!"
- else
- strip-flags
- fi
-
- export LO_CLANG_CC=${CC}
- export LO_CLANG_CXX=${CXX}
-
- # Show flags set at the end
- einfo " Used CFLAGS: ${CFLAGS}"
- einfo " Used LDFLAGS: ${LDFLAGS}"
-
- # Ensure we use correct toolchain
- tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
-
- if use vulkan && ! use clang ; then
- ewarn "Building skia with gcc may lead to performance issues. Disable vulkan or enable clang."
- fi
-
- # optimization flags
- export GMAKE_OPTIONS="${MAKEOPTS}"
- # System python enablement:
- export PYTHON_CFLAGS=$(python_get_CFLAGS)
- export PYTHON_LIBS=$(python_get_LIBS)
-
- use kde && export QT5DIR="$(qt5_get_bindir)/.."
-
- local gentoo_buildid="Gentoo official package"
- if [[ -n ${LOCOREGIT_VERSION} ]]; then
- gentoo_buildid+=" (from git: ${LOCOREGIT_VERSION})"
- fi
-
- # system headers/libs/...: enforce using system packages
- # --disable-breakpad: requires not-yet-in-tree dev-utils/breakpad
- # --enable-cairo: ensure that cairo is always required
- # --enable-*-link: link to the library rather than just dlopen on runtime
- # --enable-release-build: build the libreoffice as release
- # --disable-fetch-external: prevent dowloading during compile phase
- # --enable-extension-integration: enable any extension integration support
- # --without-{fonts,myspell-dicts,ppsd}: prevent install of sys pkgs
- # --disable-report-builder: too much java packages pulled in without pkgs
- # --without-system-sane: just sane.h header that is used for scan in writer,
- # not linked or anything else, worthless to depend on
- # --disable-pdfium: not yet packaged
- # --without-system-qrcodegen: has no real build system and LO is the only user
- local myeconfargs=(
- --with-system-dicts
- --with-system-epoxy
- --with-system-headers
- --with-system-jars
- --with-system-libs
- --enable-build-opensymbol
- --enable-cairo-canvas
- --enable-largefile
- --enable-mergelibs
- --enable-neon
- --enable-python=system
- --enable-randr
- --enable-release-build
- --disable-breakpad
- --disable-bundle-mariadb
- --disable-ccache
- --disable-epm
- --disable-fetch-external
- --disable-gtk3-kde5
- --disable-online-update
- --disable-openssl
- --disable-pdfium
- --disable-vlc
- --with-extra-buildid="${gentoo_buildid}"
- --enable-extension-integration
- --with-external-dict-dir="${EPREFIX}/usr/share/myspell"
- --with-external-hyph-dir="${EPREFIX}/usr/share/myspell"
- --with-external-thes-dir="${EPREFIX}/usr/share/myspell"
- --with-external-tar="${DISTDIR}"
- --with-lang=""
- --with-parallelism=$(makeopts_jobs)
- --with-system-ucpp
- --with-tls=nss
- --with-vendor="Gentoo Foundation"
- --with-x
- --without-fonts
- --without-myspell-dicts
- --with-help="html"
- --without-helppack-integration
- --with-system-gpgmepp
- --without-system-jfreereport
- --without-system_apache_commons
- --without-system-sane
- --without-system-qrcodegen
- $(use_enable base report-builder)
- $(use_enable bluetooth sdremote-bluetooth)
- $(use_enable coinmp)
- $(use_enable cups)
- $(use_enable dbus)
- $(use_enable debug)
- $(use_enable eds evolution2)
- $(use_enable firebird firebird-sdbc)
- $(use_enable gstreamer gstreamer-1-0)
- $(use_enable gtk gtk3)
- $(use_enable kde kf5)
- $(use_enable kde qt5)
- $(use_enable ldap)
- $(use_enable odk)
- $(use_enable pdfimport)
- $(use_enable postgres postgresql-sdbc)
- $(use_enable vulkan skia)
- $(use_with accessibility lxml)
- $(use_with coinmp system-coinmp)
- $(use_with googledrive gdrive-client-id ${google_default_client_id})
- $(use_with googledrive gdrive-client-secret ${google_default_client_secret})
- $(use_with java)
- $(use_with odk doxygen)
- )
-
- if use eds || use gtk; then
- myeconfargs+=( --enable-dconf --enable-gio )
- else
- myeconfargs+=( --disable-dconf --disable-gio )
- fi
-
- # libreoffice extensions handling
- for lo_xt in ${LO_EXTS}; do
- if [[ "${lo_xt}" == "scripting-beanshell" || "${lo_xt}" == "scripting-javascript" ]]; then
- myeconfargs+=( $(use_enable libreoffice_extensions_${lo_xt} ${lo_xt}) )
- else
- myeconfargs+=( $(use_enable libreoffice_extensions_${lo_xt} ext-${lo_xt}) )
- fi
- done
-
- if use java; then
- # hsqldb: system one is too new
- myeconfargs+=(
- --without-junit
- --without-system-hsqldb
- --with-ant-home="${ANT_HOME}"
- )
- if has_version "dev-java/openjdk:11"; then
- myeconfargs+=( -with-jdk-home="${EPREFIX}/usr/$(get_libdir)/openjdk-11" )
- elif has_version "dev-java/openjdk-bin:11"; then
- myeconfargs+=( --with-jdk-home="/opt/openjdk-bin-11" )
- fi
-
- use libreoffice_extensions_scripting-beanshell && \
- myeconfargs+=( --with-beanshell-jar=$(java-pkg_getjar bsh bsh.jar) )
-
- use libreoffice_extensions_scripting-javascript && \
- myeconfargs+=( --with-rhino-jar=$(java-pkg_getjar rhino-1.6 js.jar) )
- fi
-
- is-flagq "-flto*" && myeconfargs+=( --enable-lto )
-
- MARIADBCONFIG="$(type -p $(usex mariadb mariadb mysql)_config)" \
- econf "${myeconfargs[@]}"
-}
-
-src_compile() {
- # more and more LO stuff tries to use OpenGL, including tests during build
- # bug 501508, bug 540624, bug 545974 and probably more
- addpredict /dev/dri
- addpredict /dev/ati
- addpredict /dev/nvidiactl
-
- local target
- use test && target="build" || target="build-nocheck"
-
- # this is not a proper make script
- make ${target} || die
-}
-
-src_test() {
- make unitcheck || die
- make slowcheck || die
-}
-
-src_install() {
- # This is not Makefile so no buildserver
- emake DESTDIR="${D}" distro-pack-install -o build -o check
-
- # bug 593514
- if use gtk; then
- dosym libreoffice/program/liblibreofficekitgtk.so \
- /usr/$(get_libdir)/liblibreofficekitgtk.so
- fi
-
- # bash completion aliases
- bashcomp_alias \
- libreoffice \
- unopkg loimpress lobase localc lodraw lomath lowriter lofromtemplate loweb loffice
-
- if use branding; then
- insinto /usr/$(get_libdir)/${PN}/program
- newins "${WORKDIR}/branding-sofficerc" sofficerc
- dodir /etc/env.d
- echo "CONFIG_PROTECT=/usr/$(get_libdir)/${PN}/program/sofficerc" > "${ED}"/etc/env.d/99${PN} || die
- fi
-
- # bug 703474
- insinto /usr/include
- doins -r include/LibreOfficeKit
-
- local lodir=/usr/$(get_libdir)/libreoffice
- # patching this would break tests
- cat <<-EOF > "${T}"/uno.py
-import sys, os
-sys.path.append('${EPREFIX}${lodir}/program')
-os.putenv('URE_BOOTSTRAP', 'vnd.sun.star.pathname:${EPREFIX}${lodir}/program/fundamentalrc')
-EOF
- sed -e "/^import sys/d" -e "/^import os/d" \
- -i "${D}"${lodir}/program/uno.py || die "cleanup dupl imports failed"
- cat "${D}"${lodir}/program/uno.py >> "${T}"/uno.py || die
- cp "${T}"/uno.py "${D}"${lodir}/program/uno.py || die
-
- # more system pyuno mess
- sed -e "/sOffice = \"\" # lets hope for the best/s:\"\":\"${EPREFIX}${lodir}/program\":" \
- -i "${D}"${lodir}/program/officehelper.py || die
-
- python_optimize "${D}"${lodir}/program
- # link python bridge in site-packages, bug 667802
- local py pyc loprogdir=/usr/$(get_libdir)/libreoffice/program
- for py in uno.py unohelper.py officehelper.py; do
- dosym8 -r ${loprogdir}/${py} $(python_get_sitedir)/${py}
- while IFS="" read -d $'\0' -r pyc; do
- pyc=${pyc//*\/}
- dosym8 -r ${loprogdir}/__pycache__/${pyc} $(python_get_sitedir)/__pycache__/${pyc}
- done < <(find "${D}"${lodir}/program -type f -name ${py/.py/*.pyc} -print0)
- done
-}
-
-pkg_postinst() {
- xdg_icon_cache_update
- xdg_desktop_database_update
- xdg_mimeinfo_database_update
-}
-
-pkg_postrm() {
- xdg_icon_cache_update
- xdg_desktop_database_update
- xdg_mimeinfo_database_update
-}
+++ /dev/null
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8,9} )
-PYTHON_REQ_USE="threads(+),xml"
-
-MY_PV="${PV/_alpha/.alpha}"
-MY_PV="${MY_PV/_beta/.beta}"
-# experimental ; release ; old
-# Usually the tarballs are moved a lot so this should make everyone happy.
-DEV_URI="
- https://dev-builds.libreoffice.org/pre-releases/src
- https://download.documentfoundation.org/libreoffice/src/${MY_PV:0:5}/
- https://downloadarchive.documentfoundation.org/libreoffice/old/${MY_PV}/src
-"
-ADDONS_URI="https://dev-www.libreoffice.org/src/"
-
-BRANDING="${PN}-branding-gentoo-0.8.tar.xz"
-# PATCHSET="${P}-patchset-01.tar.xz"
-
-[[ ${MY_PV} == *9999* ]] && inherit git-r3
-inherit autotools bash-completion-r1 check-reqs eapi8-dosym flag-o-matic java-pkg-opt-2 multiprocessing python-single-r1 qmake-utils toolchain-funcs xdg-utils
-
-DESCRIPTION="A full office productivity suite"
-HOMEPAGE="https://www.libreoffice.org"
-SRC_URI="branding? ( https://dev.gentoo.org/~dilfridge/distfiles/${BRANDING} )"
-[[ -n ${PATCHSET} ]] && SRC_URI+=" https://dev.gentoo.org/~asturm/distfiles/${PATCHSET}"
-
-# Split modules following git/tarballs; Core MUST be first!
-# Help is used for the image generator
-# Only release has the tarballs
-if [[ ${MY_PV} != *9999* ]]; then
- for i in ${DEV_URI}; do
- SRC_URI+=" ${i}/${PN}-${MY_PV}.tar.xz"
- SRC_URI+=" ${i}/${PN}-help-${MY_PV}.tar.xz"
- done
- unset i
-fi
-unset DEV_URI
-
-# Really required addons
-# These are bundles that can't be removed for now due to huge patchsets.
-# If you want them gone, patches are welcome.
-ADDONS_SRC=(
- # not packaged in Gentoo, https://www.netlib.org/fp/dtoa.c
- "${ADDONS_URI}/dtoa-20180411.tgz"
- # not packaged in Gentoo, https://skia.org/
- "${ADDONS_URI}/skia-m88-59bafeeaa7de9eb753e3778c414e01dcf013dcd8.tar.xz"
- # QR code generating library for >=libreoffice-6.4, bug #691740
- "${ADDONS_URI}/QR-Code-generator-1.4.0.tar.gz"
- "base? (
- ${ADDONS_URI}/commons-logging-1.2-src.tar.gz
- ${ADDONS_URI}/ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip
- ${ADDONS_URI}/d8bd5eed178db6e2b18eeed243f85aa8-flute-1.1.6.zip
- ${ADDONS_URI}/eeb2c7ddf0d302fba4bfc6e97eac9624-libbase-1.1.6.zip
- ${ADDONS_URI}/3bdf40c0d199af31923e900d082ca2dd-libfonts-1.1.6.zip
- ${ADDONS_URI}/3404ab6b1792ae5f16bbd603bd1e1d03-libformula-1.1.7.zip
- ${ADDONS_URI}/db60e4fde8dd6d6807523deb71ee34dc-liblayout-0.2.10.zip
- ${ADDONS_URI}/97b2d4dba862397f446b217e2b623e71-libloader-1.1.6.zip
- ${ADDONS_URI}/8ce2fcd72becf06c41f7201d15373ed9-librepository-1.1.6.zip
- ${ADDONS_URI}/f94d9870737518e3b597f9265f4e9803-libserializer-1.1.6.zip
- ${ADDONS_URI}/ace6ab49184e329db254e454a010f56d-libxml-1.1.7.zip
- ${ADDONS_URI}/39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip
- )"
- "java? ( ${ADDONS_URI}/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip )"
- # no release for 8 years, should we package it?
- "libreoffice_extensions_wiki-publisher? ( ${ADDONS_URI}/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip )"
- # Does not build with 1.6 rhino at all
- "libreoffice_extensions_scripting-javascript? ( ${ADDONS_URI}/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip )"
- # requirement of rhino
- "libreoffice_extensions_scripting-javascript? ( ${ADDONS_URI}/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip )"
- # not packageable
- "odk? ( http://download.go-oo.org/extern/185d60944ea767075d27247c3162b3bc-unowinreg.dll )"
-)
-SRC_URI+=" ${ADDONS_SRC[*]}"
-
-unset ADDONS_URI
-unset ADDONS_SRC
-
-# Extensions that need extra work:
-LO_EXTS="nlpsolver scripting-beanshell scripting-javascript wiki-publisher"
-
-IUSE="accessibility base bluetooth +branding clang coinmp +cups custom-cflags +dbus debug eds firebird
-googledrive gstreamer +gtk kde ldap +mariadb odk pdfimport postgres test vulkan
-$(printf 'libreoffice_extensions_%s ' ${LO_EXTS})"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- base? ( firebird java )
- bluetooth? ( dbus )
- gtk? ( dbus )
- libreoffice_extensions_nlpsolver? ( java )
- libreoffice_extensions_scripting-beanshell? ( java )
- libreoffice_extensions_scripting-javascript? ( java )
- libreoffice_extensions_wiki-publisher? ( java )
-"
-
-RESTRICT="!test? ( test )"
-
-LICENSE="|| ( LGPL-3 MPL-1.1 )"
-SLOT="0"
-
-[[ ${MY_PV} == *9999* ]] || \
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86 ~amd64-linux"
-
-BDEPEND="
- dev-util/intltool
- sys-devel/bison
- sys-devel/flex
- sys-devel/gettext
- virtual/pkgconfig
- odk? ( >=app-doc/doxygen-1.8.4 )
-"
-COMMON_DEPEND="${PYTHON_DEPS}
- app-arch/unzip
- app-arch/zip
- app-crypt/gpgme[cxx]
- app-text/hunspell:=
- >=app-text/libabw-0.1.0
- >=app-text/libebook-0.1
- app-text/libepubgen
- >=app-text/libetonyek-0.1
- app-text/libexttextcat
- app-text/liblangtag
- >=app-text/libmspub-0.1.0
- >=app-text/libmwaw-0.3.1
- >=app-text/libnumbertext-1.0.6
- >=app-text/libodfgen-0.1.0
- app-text/libqxp
- app-text/libstaroffice
- app-text/libwpd:0.10[tools]
- app-text/libwpg:0.3
- >=app-text/libwps-0.4
- app-text/mythes
- >=dev-cpp/clucene-2.3.3.4-r2
- >=dev-cpp/libcmis-0.5.2
- dev-db/unixODBC
- >=games-engines/box2d-2.4.1:0
- dev-lang/perl
- >=dev-libs/boost-1.72.0:=[nls]
- dev-libs/expat
- dev-libs/hyphen
- dev-libs/icu:=
- dev-libs/libassuan
- dev-libs/libgpg-error
- dev-libs/liborcus:0/0.16
- dev-libs/librevenge
- dev-libs/libxml2
- dev-libs/libxslt
- dev-libs/nspr
- dev-libs/nss
- >=dev-libs/redland-1.0.16
- >=dev-libs/xmlsec-1.2.28[nss]
- media-gfx/fontforge
- media-gfx/graphite2
- media-libs/fontconfig
- media-libs/freetype:2
- >=media-libs/harfbuzz-0.9.42:=[graphite,icu]
- media-libs/lcms:2
- >=media-libs/libcdr-0.1.0
- >=media-libs/libepoxy-1.3.1[X]
- >=media-libs/libfreehand-0.1.0
- media-libs/libpagemaker
- >=media-libs/libpng-1.4:0=
- >=media-libs/libvisio-0.1.0
- media-libs/libzmf
- >=net-libs/neon-0.31.1:=
- net-misc/curl
- sci-mathematics/lpsolve
- sys-libs/zlib
- virtual/glu
- virtual/jpeg:0
- virtual/opengl
- x11-libs/cairo[X]
- x11-libs/libXinerama
- x11-libs/libXrandr
- x11-libs/libXrender
- accessibility? (
- $(python_gen_cond_dep 'dev-python/lxml[${PYTHON_USEDEP}]')
- )
- bluetooth? (
- dev-libs/glib:2
- net-wireless/bluez
- )
- clang? (
- || (
- ( sys-devel/clang:12
- sys-devel/llvm:12
- =sys-devel/lld-12* )
- ( sys-devel/clang:11
- sys-devel/llvm:11
- =sys-devel/lld-11* )
- ( sys-devel/clang:10
- sys-devel/llvm:10
- =sys-devel/lld-10* )
- )
- )
- coinmp? ( sci-libs/coinor-mp )
- cups? ( net-print/cups )
- dbus? ( sys-apps/dbus[X] )
- eds? (
- dev-libs/glib:2
- gnome-base/dconf
- gnome-extra/evolution-data-server
- )
- firebird? ( >=dev-db/firebird-3.0.2.32703.0-r1[server] )
- gstreamer? (
- media-libs/gstreamer:1.0
- media-libs/gst-plugins-base:1.0
- )
- gtk? (
- dev-libs/glib:2
- dev-libs/gobject-introspection
- gnome-base/dconf
- media-libs/mesa[egl]
- x11-libs/gtk+:3[X]
- x11-libs/pango
- )
- kde? (
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtwidgets:5
- dev-qt/qtx11extras:5
- kde-frameworks/kconfig:5
- kde-frameworks/kcoreaddons:5
- kde-frameworks/ki18n:5
- kde-frameworks/kio:5
- kde-frameworks/kwindowsystem:5
- )
- ldap? ( net-nds/openldap )
- libreoffice_extensions_scripting-beanshell? ( dev-java/bsh )
- libreoffice_extensions_scripting-javascript? ( dev-java/rhino:1.6 )
- mariadb? ( dev-db/mariadb-connector-c )
- !mariadb? ( dev-db/mysql-connector-c )
- pdfimport? ( app-text/poppler:=[cxx] )
- postgres? ( >=dev-db/postgresql-9.0:*[kerberos] )
-"
-# FIXME: cppunit should be moved to test conditional
-# after everything upstream is under gbuild
-# as dmake execute tests right away
-# tests apparently also need google-carlito-fonts (not packaged)
-DEPEND="${COMMON_DEPEND}
- >=dev-libs/libatomic_ops-7.2d
- dev-perl/Archive-Zip
- >=dev-util/cppunit-1.14.0
- >=dev-util/gperf-3.1
- dev-util/mdds:1/1.5
- media-libs/glm
- sys-devel/ucpp
- x11-base/xorg-proto
- x11-libs/libXt
- x11-libs/libXtst
- java? (
- dev-java/ant-core
- || (
- dev-java/openjdk:11
- dev-java/openjdk-bin:11
- )
- )
- test? (
- app-crypt/gnupg
- dev-util/cppunit
- media-fonts/dejavu
- media-fonts/liberation-fonts
- )
-"
-RDEPEND="${COMMON_DEPEND}
- !app-office/libreoffice-bin
- !app-office/libreoffice-bin-debug
- media-fonts/liberation-fonts
- || ( x11-misc/xdg-utils kde-plasma/kde-cli-tools )
- java? ( || (
- dev-java/openjdk:11
- dev-java/openjdk-jre-bin:11
- >=virtual/jre-1.8
- ) )
- kde? ( kde-frameworks/breeze-icons:* )
-"
-if [[ ${MY_PV} != *9999* ]] && [[ ${PV} != *_* ]]; then
- PDEPEND="=app-office/libreoffice-l10n-$(ver_cut 1-2)*"
-else
- # Translations are not reliable on live ebuilds
- # rather force people to use english only.
- PDEPEND="!app-office/libreoffice-l10n"
-fi
-
-PATCHES=(
- # "${WORKDIR}"/${PATCHSET/.tar.xz/}
-
- # not upstreamable stuff
- "${FILESDIR}/${PN}-5.3.4.2-kioclient5.patch"
- "${FILESDIR}/${PN}-6.1-nomancompress.patch"
- "${FILESDIR}/${PN}-7.0.3.1-qt5detect.patch"
-
- # master branch
- "${FILESDIR}/${P}-bashism.patch" # bug 780432
-)
-
-S="${WORKDIR}/${PN}-${MY_PV}"
-
-_check_reqs() {
- CHECKREQS_MEMORY="512M"
- if is-flagq "-g*" && ! is-flagq "-g*0" ; then
- CHECKREQS_DISK_BUILD="22G"
- else
- CHECKREQS_DISK_BUILD="6G"
- fi
- check-reqs_$1
-}
-
-pkg_pretend() {
- if use x86; then
- elog "Unfortunately for packaging reasons on x86, various Java-based wizards,"
- elog "most notably Report Builder in LibreOffice Base, will not be available."
- elog "See also: https://bugs.gentoo.org/785640"
- else
- use base ||
- ewarn "If you plan to use Base application you must enable USE base."
- use java ||
- ewarn "Without USE java, several wizards are not going to be available."
- fi
-
- [[ ${MERGE_TYPE} != binary ]] && _check_reqs pkg_pretend
-}
-
-pkg_setup() {
- java-pkg-opt-2_pkg_setup
- python-single-r1_pkg_setup
- xdg_environment_reset
-
- [[ ${MERGE_TYPE} != binary ]] && _check_reqs pkg_setup
-}
-
-src_unpack() {
- default
-
- if [[ ${MY_PV} = *9999* ]]; then
- local base_uri branch mypv
- base_uri="https://anongit.freedesktop.org/git"
- branch="master"
- mypv=${MY_PV/.9999}
- [[ ${mypv} != ${MY_PV} ]] && branch="${PN}-${mypv/./-}"
- git-r3_fetch "${base_uri}/${PN}/core" "refs/heads/${branch}"
- git-r3_checkout "${base_uri}/${PN}/core"
- LOCOREGIT_VERSION=${EGIT_VERSION}
-
- git-r3_fetch "${base_uri}/${PN}/help" "refs/heads/master"
- git-r3_checkout "${base_uri}/${PN}/help" "helpcontent2" # doesn't match on help
- fi
-}
-
-src_prepare() {
- default
-
- # sandbox violations on many systems, we don't need it. Bug #646406
- sed -i \
- -e "/KF5_CONFIG/s/kf5-config/no/" \
- configure.ac || die "Failed to disable kf5-config"
-
- AT_M4DIR="m4" eautoreconf
- # hack in the autogen.sh
- touch autogen.lastrun
-
- # sed in the tests
- sed -i \
- -e "s#all : build unitcheck#all : build#g" \
- solenv/gbuild/Module.mk || die
- sed -i \
- -e "s#check: dev-install subsequentcheck#check: unitcheck slowcheck dev-install subsequentcheck#g" \
- -e "s#Makefile.gbuild all slowcheck#Makefile.gbuild all#g" \
- Makefile.in || die
-
- sed -i \
- -e "s,/usr/share/bash-completion/completions,$(get_bashcompdir)," \
- -e "s,\$INSTALLDIRNAME.sh,${PN}," \
- bin/distro-install-desktop-integration || die
-
- if use branding; then
- # hack...
- mv -v "${WORKDIR}/branding-intro.png" "icon-themes/colibre/brand/intro.png" || die
- fi
-
- # Don't list pdfimport support in desktop when built with none, bug # 605464
- if ! use pdfimport; then
- sed -i \
- -e ":MimeType: s:application/pdf;::" \
- -e ":Keywords: s:pdf;::" \
- sysui/desktop/menus/draw.desktop || die
- fi
-}
-
-src_configure() {
- # Set up Google API keys, see https://www.chromium.org/developers/how-tos/api-keys
- # Note: these are for Gentoo use ONLY. For your own distribution, please get
- # your own set of keys. Feel free to contact chromium@gentoo.org for more info.
- local google_default_client_id="329227923882.apps.googleusercontent.com"
- local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu"
-
- # Show flags set at the beginning
- einfo "Preset CFLAGS: ${CFLAGS}"
- einfo "Preset LDFLAGS: ${LDFLAGS}"
-
- if use clang ; then
- # Force clang
- einfo "Enforcing the use of clang due to USE=clang ..."
- AR=llvm-ar
- CC=${CHOST}-clang
- CXX=${CHOST}-clang++
- NM=llvm-nm
- RANLIB=llvm-ranlib
- LDFLAGS+=" -fuse-ld=lld"
- else
- # Force gcc
- einfo "Enforcing the use of gcc due to USE=-clang ..."
- AR=gcc-ar
- CC=${CHOST}-gcc
- CXX=${CHOST}-g++
- NM=gcc-nm
- RANLIB=gcc-ranlib
- fi
-
- if use custom-cflags ; then
- elog "USE=custom-cflags has been selected. You are on your own to make sure that"
- elog "the build succeeds. Good luck!"
- else
- strip-flags
- fi
-
- export LO_CLANG_CC=${CC}
- export LO_CLANG_CXX=${CXX}
-
- # Show flags set at the end
- einfo " Used CFLAGS: ${CFLAGS}"
- einfo " Used LDFLAGS: ${LDFLAGS}"
-
- # Ensure we use correct toolchain
- tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
-
- if use vulkan && ! use clang ; then
- ewarn "Building skia with gcc may lead to performance issues. Disable vulkan or enable clang."
- fi
-
- # optimization flags
- export GMAKE_OPTIONS="${MAKEOPTS}"
- # System python enablement:
- export PYTHON_CFLAGS=$(python_get_CFLAGS)
- export PYTHON_LIBS=$(python_get_LIBS)
-
- use kde && export QT5DIR="$(qt5_get_bindir)/.."
-
- local gentoo_buildid="Gentoo official package"
- if [[ -n ${LOCOREGIT_VERSION} ]]; then
- gentoo_buildid+=" (from git: ${LOCOREGIT_VERSION})"
- fi
-
- # system headers/libs/...: enforce using system packages
- # --disable-breakpad: requires not-yet-in-tree dev-utils/breakpad
- # --enable-cairo: ensure that cairo is always required
- # --enable-*-link: link to the library rather than just dlopen on runtime
- # --enable-release-build: build the libreoffice as release
- # --disable-fetch-external: prevent dowloading during compile phase
- # --enable-extension-integration: enable any extension integration support
- # --without-{fonts,myspell-dicts,ppsd}: prevent install of sys pkgs
- # --disable-report-builder: too much java packages pulled in without pkgs
- # --without-system-sane: just sane.h header that is used for scan in writer,
- # not linked or anything else, worthless to depend on
- # --disable-pdfium: not yet packaged
- # --without-system-qrcodegen: has no real build system and LO is the only user
- local myeconfargs=(
- --with-system-dicts
- --with-system-epoxy
- --with-system-headers
- --with-system-jars
- --with-system-libs
- --enable-build-opensymbol
- --enable-cairo-canvas
- --enable-largefile
- --enable-mergelibs
- --enable-neon
- --enable-python=system
- --enable-randr
- --enable-release-build
- --disable-breakpad
- --disable-bundle-mariadb
- --disable-ccache
- --disable-epm
- --disable-fetch-external
- --disable-gtk3-kde5
- --disable-online-update
- --disable-openssl
- --disable-pdfium
- --disable-vlc
- --with-extra-buildid="${gentoo_buildid}"
- --enable-extension-integration
- --with-external-dict-dir="${EPREFIX}/usr/share/myspell"
- --with-external-hyph-dir="${EPREFIX}/usr/share/myspell"
- --with-external-thes-dir="${EPREFIX}/usr/share/myspell"
- --with-external-tar="${DISTDIR}"
- --with-lang=""
- --with-parallelism=$(makeopts_jobs)
- --with-system-ucpp
- --with-tls=nss
- --with-vendor="Gentoo Foundation"
- --with-x
- --without-fonts
- --without-myspell-dicts
- --with-help="html"
- --without-helppack-integration
- --with-system-gpgmepp
- --without-system-jfreereport
- --without-system_apache_commons
- --without-system-sane
- --without-system-qrcodegen
- $(use_enable base report-builder)
- $(use_enable bluetooth sdremote-bluetooth)
- $(use_enable coinmp)
- $(use_enable cups)
- $(use_enable dbus)
- $(use_enable debug)
- $(use_enable eds evolution2)
- $(use_enable firebird firebird-sdbc)
- $(use_enable gstreamer gstreamer-1-0)
- $(use_enable gtk gtk3)
- $(use_enable kde kf5)
- $(use_enable kde qt5)
- $(use_enable ldap)
- $(use_enable odk)
- $(use_enable pdfimport)
- $(use_enable postgres postgresql-sdbc)
- $(use_enable vulkan skia)
- $(use_with accessibility lxml)
- $(use_with coinmp system-coinmp)
- $(use_with googledrive gdrive-client-id ${google_default_client_id})
- $(use_with googledrive gdrive-client-secret ${google_default_client_secret})
- $(use_with java)
- $(use_with odk doxygen)
- )
-
- if use eds || use gtk; then
- myeconfargs+=( --enable-dconf --enable-gio )
- else
- myeconfargs+=( --disable-dconf --disable-gio )
- fi
-
- # libreoffice extensions handling
- for lo_xt in ${LO_EXTS}; do
- if [[ "${lo_xt}" == "scripting-beanshell" || "${lo_xt}" == "scripting-javascript" ]]; then
- myeconfargs+=( $(use_enable libreoffice_extensions_${lo_xt} ${lo_xt}) )
- else
- myeconfargs+=( $(use_enable libreoffice_extensions_${lo_xt} ext-${lo_xt}) )
- fi
- done
-
- if use java; then
- # hsqldb: system one is too new
- myeconfargs+=(
- --without-junit
- --without-system-hsqldb
- --with-ant-home="${ANT_HOME}"
- )
- if has_version "dev-java/openjdk:11"; then
- myeconfargs+=( -with-jdk-home="${EPREFIX}/usr/$(get_libdir)/openjdk-11" )
- elif has_version "dev-java/openjdk-bin:11"; then
- myeconfargs+=( --with-jdk-home="/opt/openjdk-bin-11" )
- fi
-
- use libreoffice_extensions_scripting-beanshell && \
- myeconfargs+=( --with-beanshell-jar=$(java-pkg_getjar bsh bsh.jar) )
-
- use libreoffice_extensions_scripting-javascript && \
- myeconfargs+=( --with-rhino-jar=$(java-pkg_getjar rhino-1.6 js.jar) )
- fi
-
- is-flagq "-flto*" && myeconfargs+=( --enable-lto )
-
- MARIADBCONFIG="$(type -p $(usex mariadb mariadb mysql)_config)" \
- econf "${myeconfargs[@]}"
-}
-
-src_compile() {
- # more and more LO stuff tries to use OpenGL, including tests during build
- # bug 501508, bug 540624, bug 545974 and probably more
- addpredict /dev/dri
- addpredict /dev/ati
- addpredict /dev/nvidiactl
-
- local target
- use test && target="build" || target="build-nocheck"
-
- # this is not a proper make script
- make ${target} || die
-}
-
-src_test() {
- make unitcheck || die
- make slowcheck || die
-}
-
-src_install() {
- # This is not Makefile so no buildserver
- emake DESTDIR="${D}" distro-pack-install -o build -o check
-
- # bug 593514
- if use gtk; then
- dosym libreoffice/program/liblibreofficekitgtk.so \
- /usr/$(get_libdir)/liblibreofficekitgtk.so
- fi
-
- # bash completion aliases
- bashcomp_alias \
- libreoffice \
- unopkg loimpress lobase localc lodraw lomath lowriter lofromtemplate loweb loffice
-
- if use branding; then
- insinto /usr/$(get_libdir)/${PN}/program
- newins "${WORKDIR}/branding-sofficerc" sofficerc
- dodir /etc/env.d
- echo "CONFIG_PROTECT=/usr/$(get_libdir)/${PN}/program/sofficerc" > "${ED}"/etc/env.d/99${PN} || die
- fi
-
- # bug 703474
- insinto /usr/include
- doins -r include/LibreOfficeKit
-
- local lodir=/usr/$(get_libdir)/libreoffice
- # patching this would break tests
- cat <<-EOF > "${T}"/uno.py
-import sys, os
-sys.path.append('${EPREFIX}${lodir}/program')
-os.putenv('URE_BOOTSTRAP', 'vnd.sun.star.pathname:${EPREFIX}${lodir}/program/fundamentalrc')
-EOF
- sed -e "/^import sys/d" -e "/^import os/d" \
- -i "${D}"${lodir}/program/uno.py || die "cleanup dupl imports failed"
- cat "${D}"${lodir}/program/uno.py >> "${T}"/uno.py || die
- cp "${T}"/uno.py "${D}"${lodir}/program/uno.py || die
-
- # more system pyuno mess
- sed -e "/sOffice = \"\" # lets hope for the best/s:\"\":\"${EPREFIX}${lodir}/program\":" \
- -i "${D}"${lodir}/program/officehelper.py || die
-
- python_optimize "${D}"${lodir}/program
- # link python bridge in site-packages, bug 667802
- local py pyc loprogdir=/usr/$(get_libdir)/libreoffice/program
- for py in uno.py unohelper.py officehelper.py; do
- dosym8 -r ${loprogdir}/${py} $(python_get_sitedir)/${py}
- while IFS="" read -d $'\0' -r pyc; do
- pyc=${pyc//*\/}
- dosym8 -r ${loprogdir}/__pycache__/${pyc} $(python_get_sitedir)/__pycache__/${pyc}
- done < <(find "${D}"${lodir}/program -type f -name ${py/.py/*.pyc} -print0)
- done
-}
-
-pkg_postinst() {
- xdg_icon_cache_update
- xdg_desktop_database_update
- xdg_mimeinfo_database_update
-}
-
-pkg_postrm() {
- xdg_icon_cache_update
- xdg_desktop_database_update
- xdg_mimeinfo_database_update
-}
+++ /dev/null
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8,9} )
-PYTHON_REQ_USE="threads(+),xml"
-
-MY_PV="${PV/_alpha/.alpha}"
-MY_PV="${MY_PV/_beta/.beta}"
-# experimental ; release ; old
-# Usually the tarballs are moved a lot so this should make everyone happy.
-DEV_URI="
- https://dev-builds.libreoffice.org/pre-releases/src
- https://download.documentfoundation.org/libreoffice/src/${MY_PV:0:5}/
- https://downloadarchive.documentfoundation.org/libreoffice/old/${MY_PV}/src
-"
-ADDONS_URI="https://dev-www.libreoffice.org/src/"
-
-BRANDING="${PN}-branding-gentoo-0.8.tar.xz"
-# PATCHSET="${P}-patchset-01.tar.xz"
-
-[[ ${MY_PV} == *9999* ]] && inherit git-r3
-inherit autotools bash-completion-r1 check-reqs eapi8-dosym flag-o-matic java-pkg-opt-2 multiprocessing python-single-r1 qmake-utils toolchain-funcs xdg-utils
-
-DESCRIPTION="A full office productivity suite"
-HOMEPAGE="https://www.libreoffice.org"
-SRC_URI="branding? ( https://dev.gentoo.org/~dilfridge/distfiles/${BRANDING} )"
-[[ -n ${PATCHSET} ]] && SRC_URI+=" https://dev.gentoo.org/~asturm/distfiles/${PATCHSET}"
-
-# Split modules following git/tarballs; Core MUST be first!
-# Help is used for the image generator
-# Only release has the tarballs
-if [[ ${MY_PV} != *9999* ]]; then
- for i in ${DEV_URI}; do
- SRC_URI+=" ${i}/${PN}-${MY_PV}.tar.xz"
- SRC_URI+=" ${i}/${PN}-help-${MY_PV}.tar.xz"
- done
- unset i
-fi
-unset DEV_URI
-
-# Really required addons
-# These are bundles that can't be removed for now due to huge patchsets.
-# If you want them gone, patches are welcome.
-ADDONS_SRC=(
- # not packaged in Gentoo, https://www.netlib.org/fp/dtoa.c
- "${ADDONS_URI}/dtoa-20180411.tgz"
- # not packaged in Gentoo, https://skia.org/
- "${ADDONS_URI}/skia-m88-59bafeeaa7de9eb753e3778c414e01dcf013dcd8.tar.xz"
- # QR code generating library for >=libreoffice-6.4, bug #691740
- "${ADDONS_URI}/QR-Code-generator-1.4.0.tar.gz"
- "base? (
- ${ADDONS_URI}/commons-logging-1.2-src.tar.gz
- ${ADDONS_URI}/ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip
- ${ADDONS_URI}/d8bd5eed178db6e2b18eeed243f85aa8-flute-1.1.6.zip
- ${ADDONS_URI}/eeb2c7ddf0d302fba4bfc6e97eac9624-libbase-1.1.6.zip
- ${ADDONS_URI}/3bdf40c0d199af31923e900d082ca2dd-libfonts-1.1.6.zip
- ${ADDONS_URI}/3404ab6b1792ae5f16bbd603bd1e1d03-libformula-1.1.7.zip
- ${ADDONS_URI}/db60e4fde8dd6d6807523deb71ee34dc-liblayout-0.2.10.zip
- ${ADDONS_URI}/97b2d4dba862397f446b217e2b623e71-libloader-1.1.6.zip
- ${ADDONS_URI}/8ce2fcd72becf06c41f7201d15373ed9-librepository-1.1.6.zip
- ${ADDONS_URI}/f94d9870737518e3b597f9265f4e9803-libserializer-1.1.6.zip
- ${ADDONS_URI}/ace6ab49184e329db254e454a010f56d-libxml-1.1.7.zip
- ${ADDONS_URI}/39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip
- )"
- "java? ( ${ADDONS_URI}/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip )"
- # no release for 8 years, should we package it?
- "libreoffice_extensions_wiki-publisher? ( ${ADDONS_URI}/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip )"
- # Does not build with 1.6 rhino at all
- "libreoffice_extensions_scripting-javascript? ( ${ADDONS_URI}/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip )"
- # requirement of rhino
- "libreoffice_extensions_scripting-javascript? ( ${ADDONS_URI}/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip )"
- # not packageable
- "odk? ( http://download.go-oo.org/extern/185d60944ea767075d27247c3162b3bc-unowinreg.dll )"
-)
-SRC_URI+=" ${ADDONS_SRC[*]}"
-
-unset ADDONS_URI
-unset ADDONS_SRC
-
-# Extensions that need extra work:
-LO_EXTS="nlpsolver scripting-beanshell scripting-javascript wiki-publisher"
-
-IUSE="accessibility base bluetooth +branding clang coinmp +cups custom-cflags +dbus debug eds firebird
-googledrive gstreamer +gtk kde ldap +mariadb odk pdfimport postgres test vulkan
-$(printf 'libreoffice_extensions_%s ' ${LO_EXTS})"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- base? ( firebird java )
- bluetooth? ( dbus )
- gtk? ( dbus )
- libreoffice_extensions_nlpsolver? ( java )
- libreoffice_extensions_scripting-beanshell? ( java )
- libreoffice_extensions_scripting-javascript? ( java )
- libreoffice_extensions_wiki-publisher? ( java )
-"
-
-RESTRICT="!test? ( test )"
-
-LICENSE="|| ( LGPL-3 MPL-1.1 )"
-SLOT="0"
-
-[[ ${MY_PV} == *9999* ]] || \
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux"
-
-BDEPEND="
- dev-util/intltool
- sys-devel/bison
- sys-devel/flex
- sys-devel/gettext
- virtual/pkgconfig
- odk? ( >=app-doc/doxygen-1.8.4 )
-"
-COMMON_DEPEND="${PYTHON_DEPS}
- app-arch/unzip
- app-arch/zip
- app-crypt/gpgme[cxx]
- app-text/hunspell:=
- >=app-text/libabw-0.1.0
- >=app-text/libebook-0.1
- app-text/libepubgen
- >=app-text/libetonyek-0.1
- app-text/libexttextcat
- app-text/liblangtag
- >=app-text/libmspub-0.1.0
- >=app-text/libmwaw-0.3.1
- >=app-text/libnumbertext-1.0.6
- >=app-text/libodfgen-0.1.0
- app-text/libqxp
- app-text/libstaroffice
- app-text/libwpd:0.10[tools]
- app-text/libwpg:0.3
- >=app-text/libwps-0.4
- app-text/mythes
- >=dev-cpp/clucene-2.3.3.4-r2
- >=dev-cpp/libcmis-0.5.2
- dev-db/unixODBC
- >=games-engines/box2d-2.4.1:0
- dev-lang/perl
- >=dev-libs/boost-1.72.0:=[nls]
- dev-libs/expat
- dev-libs/hyphen
- dev-libs/icu:=
- dev-libs/libassuan
- dev-libs/libgpg-error
- dev-libs/liborcus:0/0.16
- dev-libs/librevenge
- dev-libs/libxml2
- dev-libs/libxslt
- dev-libs/nspr
- dev-libs/nss
- >=dev-libs/redland-1.0.16
- >=dev-libs/xmlsec-1.2.28[nss]
- media-gfx/fontforge
- media-gfx/graphite2
- media-libs/fontconfig
- media-libs/freetype:2
- >=media-libs/harfbuzz-0.9.42:=[graphite,icu]
- media-libs/lcms:2
- >=media-libs/libcdr-0.1.0
- >=media-libs/libepoxy-1.3.1[X]
- >=media-libs/libfreehand-0.1.0
- media-libs/libpagemaker
- >=media-libs/libpng-1.4:0=
- >=media-libs/libvisio-0.1.0
- media-libs/libzmf
- >=net-libs/neon-0.31.1:=
- net-misc/curl
- sci-mathematics/lpsolve
- sys-libs/zlib
- virtual/glu
- virtual/jpeg:0
- virtual/opengl
- x11-libs/cairo[X]
- x11-libs/libXinerama
- x11-libs/libXrandr
- x11-libs/libXrender
- accessibility? (
- $(python_gen_cond_dep 'dev-python/lxml[${PYTHON_USEDEP}]')
- )
- bluetooth? (
- dev-libs/glib:2
- net-wireless/bluez
- )
- clang? (
- || (
- ( sys-devel/clang:12
- sys-devel/llvm:12
- =sys-devel/lld-12* )
- ( sys-devel/clang:11
- sys-devel/llvm:11
- =sys-devel/lld-11* )
- ( sys-devel/clang:10
- sys-devel/llvm:10
- =sys-devel/lld-10* )
- )
- )
- coinmp? ( sci-libs/coinor-mp )
- cups? ( net-print/cups )
- dbus? ( sys-apps/dbus[X] )
- eds? (
- dev-libs/glib:2
- gnome-base/dconf
- gnome-extra/evolution-data-server
- )
- firebird? ( >=dev-db/firebird-3.0.2.32703.0-r1[server] )
- gstreamer? (
- media-libs/gstreamer:1.0
- media-libs/gst-plugins-base:1.0
- )
- gtk? (
- dev-libs/glib:2
- dev-libs/gobject-introspection
- gnome-base/dconf
- media-libs/mesa[egl]
- x11-libs/gtk+:3[X]
- x11-libs/pango
- )
- kde? (
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtwidgets:5
- dev-qt/qtx11extras:5
- kde-frameworks/kconfig:5
- kde-frameworks/kcoreaddons:5
- kde-frameworks/ki18n:5
- kde-frameworks/kio:5
- kde-frameworks/kwindowsystem:5
- )
- ldap? ( net-nds/openldap )
- libreoffice_extensions_scripting-beanshell? ( dev-java/bsh )
- libreoffice_extensions_scripting-javascript? ( dev-java/rhino:1.6 )
- mariadb? ( dev-db/mariadb-connector-c )
- !mariadb? ( dev-db/mysql-connector-c )
- pdfimport? ( app-text/poppler:=[cxx] )
- postgres? ( >=dev-db/postgresql-9.0:*[kerberos] )
-"
-# FIXME: cppunit should be moved to test conditional
-# after everything upstream is under gbuild
-# as dmake execute tests right away
-# tests apparently also need google-carlito-fonts (not packaged)
-DEPEND="${COMMON_DEPEND}
- >=dev-libs/libatomic_ops-7.2d
- dev-perl/Archive-Zip
- >=dev-util/cppunit-1.14.0
- >=dev-util/gperf-3.1
- dev-util/mdds:1/1.5
- media-libs/glm
- sys-devel/ucpp
- x11-base/xorg-proto
- x11-libs/libXt
- x11-libs/libXtst
- java? (
- dev-java/ant-core
- || (
- dev-java/openjdk:11
- dev-java/openjdk-bin:11
- )
- )
- test? (
- app-crypt/gnupg
- dev-util/cppunit
- media-fonts/dejavu
- media-fonts/liberation-fonts
- )
-"
-RDEPEND="${COMMON_DEPEND}
- !app-office/libreoffice-bin
- !app-office/libreoffice-bin-debug
- media-fonts/liberation-fonts
- || ( x11-misc/xdg-utils kde-plasma/kde-cli-tools )
- java? ( || (
- dev-java/openjdk:11
- dev-java/openjdk-jre-bin:11
- >=virtual/jre-1.8
- ) )
- kde? ( kde-frameworks/breeze-icons:* )
-"
-if [[ ${MY_PV} != *9999* ]] && [[ ${PV} != *_* ]]; then
- PDEPEND="=app-office/libreoffice-l10n-$(ver_cut 1-2)*"
-else
- # Translations are not reliable on live ebuilds
- # rather force people to use english only.
- PDEPEND="!app-office/libreoffice-l10n"
-fi
-
-PATCHES=(
- # "${WORKDIR}"/${PATCHSET/.tar.xz/}
-
- # not upstreamable stuff
- "${FILESDIR}/${PN}-5.3.4.2-kioclient5.patch"
- "${FILESDIR}/${PN}-6.1-nomancompress.patch"
- "${FILESDIR}/${PN}-7.0.3.1-qt5detect.patch"
-
- # master branch
- "${FILESDIR}/${PN}-7.1.3.2-bashism.patch" # bug 780432
-)
-
-S="${WORKDIR}/${PN}-${MY_PV}"
-
-_check_reqs() {
- CHECKREQS_MEMORY="512M"
- if is-flagq "-g*" && ! is-flagq "-g*0" ; then
- CHECKREQS_DISK_BUILD="22G"
- else
- CHECKREQS_DISK_BUILD="6G"
- fi
- check-reqs_$1
-}
-
-pkg_pretend() {
- if use x86; then
- elog "Unfortunately for packaging reasons on x86, various Java-based wizards,"
- elog "most notably Report Builder in LibreOffice Base, will not be available."
- elog "See also: https://bugs.gentoo.org/785640"
- else
- use base ||
- ewarn "If you plan to use Base application you must enable USE base."
- use java ||
- ewarn "Without USE java, several wizards are not going to be available."
- fi
-
- [[ ${MERGE_TYPE} != binary ]] && _check_reqs pkg_pretend
-}
-
-pkg_setup() {
- java-pkg-opt-2_pkg_setup
- python-single-r1_pkg_setup
- xdg_environment_reset
-
- [[ ${MERGE_TYPE} != binary ]] && _check_reqs pkg_setup
-}
-
-src_unpack() {
- default
-
- if [[ ${MY_PV} = *9999* ]]; then
- local base_uri branch mypv
- base_uri="https://anongit.freedesktop.org/git"
- branch="master"
- mypv=${MY_PV/.9999}
- [[ ${mypv} != ${MY_PV} ]] && branch="${PN}-${mypv/./-}"
- git-r3_fetch "${base_uri}/${PN}/core" "refs/heads/${branch}"
- git-r3_checkout "${base_uri}/${PN}/core"
- LOCOREGIT_VERSION=${EGIT_VERSION}
-
- git-r3_fetch "${base_uri}/${PN}/help" "refs/heads/master"
- git-r3_checkout "${base_uri}/${PN}/help" "helpcontent2" # doesn't match on help
- fi
-}
-
-src_prepare() {
- default
-
- # sandbox violations on many systems, we don't need it. Bug #646406
- sed -i \
- -e "/KF5_CONFIG/s/kf5-config/no/" \
- configure.ac || die "Failed to disable kf5-config"
-
- AT_M4DIR="m4" eautoreconf
- # hack in the autogen.sh
- touch autogen.lastrun
-
- # sed in the tests
- sed -i \
- -e "s#all : build unitcheck#all : build#g" \
- solenv/gbuild/Module.mk || die
- sed -i \
- -e "s#check: dev-install subsequentcheck#check: unitcheck slowcheck dev-install subsequentcheck#g" \
- -e "s#Makefile.gbuild all slowcheck#Makefile.gbuild all#g" \
- Makefile.in || die
-
- sed -i \
- -e "s,/usr/share/bash-completion/completions,$(get_bashcompdir)," \
- -e "s,\$INSTALLDIRNAME.sh,${PN}," \
- bin/distro-install-desktop-integration || die
-
- if use branding; then
- # hack...
- mv -v "${WORKDIR}/branding-intro.png" "icon-themes/colibre/brand/intro.png" || die
- fi
-
- # Don't list pdfimport support in desktop when built with none, bug # 605464
- if ! use pdfimport; then
- sed -i \
- -e ":MimeType: s:application/pdf;::" \
- -e ":Keywords: s:pdf;::" \
- sysui/desktop/menus/draw.desktop || die
- fi
-}
-
-src_configure() {
- # Set up Google API keys, see https://www.chromium.org/developers/how-tos/api-keys
- # Note: these are for Gentoo use ONLY. For your own distribution, please get
- # your own set of keys. Feel free to contact chromium@gentoo.org for more info.
- local google_default_client_id="329227923882.apps.googleusercontent.com"
- local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu"
-
- # Show flags set at the beginning
- einfo "Preset CFLAGS: ${CFLAGS}"
- einfo "Preset LDFLAGS: ${LDFLAGS}"
-
- if use clang ; then
- # Force clang
- einfo "Enforcing the use of clang due to USE=clang ..."
- AR=llvm-ar
- CC=${CHOST}-clang
- CXX=${CHOST}-clang++
- NM=llvm-nm
- RANLIB=llvm-ranlib
- LDFLAGS+=" -fuse-ld=lld"
- else
- # Force gcc
- einfo "Enforcing the use of gcc due to USE=-clang ..."
- AR=gcc-ar
- CC=${CHOST}-gcc
- CXX=${CHOST}-g++
- NM=gcc-nm
- RANLIB=gcc-ranlib
- fi
-
- if use custom-cflags ; then
- elog "USE=custom-cflags has been selected. You are on your own to make sure that"
- elog "the build succeeds. Good luck!"
- else
- strip-flags
- fi
-
- export LO_CLANG_CC=${CC}
- export LO_CLANG_CXX=${CXX}
-
- # Show flags set at the end
- einfo " Used CFLAGS: ${CFLAGS}"
- einfo " Used LDFLAGS: ${LDFLAGS}"
-
- # Ensure we use correct toolchain
- tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
-
- if use vulkan && ! use clang ; then
- ewarn "Building skia with gcc may lead to performance issues. Disable vulkan or enable clang."
- fi
-
- # optimization flags
- export GMAKE_OPTIONS="${MAKEOPTS}"
- # System python enablement:
- export PYTHON_CFLAGS=$(python_get_CFLAGS)
- export PYTHON_LIBS=$(python_get_LIBS)
-
- use kde && export QT5DIR="$(qt5_get_bindir)/.."
-
- local gentoo_buildid="Gentoo official package"
- if [[ -n ${LOCOREGIT_VERSION} ]]; then
- gentoo_buildid+=" (from git: ${LOCOREGIT_VERSION})"
- fi
-
- # system headers/libs/...: enforce using system packages
- # --disable-breakpad: requires not-yet-in-tree dev-utils/breakpad
- # --enable-cairo: ensure that cairo is always required
- # --enable-*-link: link to the library rather than just dlopen on runtime
- # --enable-release-build: build the libreoffice as release
- # --disable-fetch-external: prevent dowloading during compile phase
- # --enable-extension-integration: enable any extension integration support
- # --without-{fonts,myspell-dicts,ppsd}: prevent install of sys pkgs
- # --disable-report-builder: too much java packages pulled in without pkgs
- # --without-system-sane: just sane.h header that is used for scan in writer,
- # not linked or anything else, worthless to depend on
- # --disable-pdfium: not yet packaged
- # --without-system-qrcodegen: has no real build system and LO is the only user
- local myeconfargs=(
- --with-system-dicts
- --with-system-epoxy
- --with-system-headers
- --with-system-jars
- --with-system-libs
- --enable-build-opensymbol
- --enable-cairo-canvas
- --enable-largefile
- --enable-mergelibs
- --enable-neon
- --enable-python=system
- --enable-randr
- --enable-release-build
- --disable-breakpad
- --disable-bundle-mariadb
- --disable-ccache
- --disable-epm
- --disable-fetch-external
- --disable-gtk3-kde5
- --disable-online-update
- --disable-openssl
- --disable-pdfium
- --disable-vlc
- --with-extra-buildid="${gentoo_buildid}"
- --enable-extension-integration
- --with-external-dict-dir="${EPREFIX}/usr/share/myspell"
- --with-external-hyph-dir="${EPREFIX}/usr/share/myspell"
- --with-external-thes-dir="${EPREFIX}/usr/share/myspell"
- --with-external-tar="${DISTDIR}"
- --with-lang=""
- --with-parallelism=$(makeopts_jobs)
- --with-system-ucpp
- --with-tls=nss
- --with-vendor="Gentoo Foundation"
- --with-x
- --without-fonts
- --without-myspell-dicts
- --with-help="html"
- --without-helppack-integration
- --with-system-gpgmepp
- --without-system-jfreereport
- --without-system_apache_commons
- --without-system-sane
- --without-system-qrcodegen
- $(use_enable base report-builder)
- $(use_enable bluetooth sdremote-bluetooth)
- $(use_enable coinmp)
- $(use_enable cups)
- $(use_enable dbus)
- $(use_enable debug)
- $(use_enable eds evolution2)
- $(use_enable firebird firebird-sdbc)
- $(use_enable gstreamer gstreamer-1-0)
- $(use_enable gtk gtk3)
- $(use_enable kde kf5)
- $(use_enable kde qt5)
- $(use_enable ldap)
- $(use_enable odk)
- $(use_enable pdfimport)
- $(use_enable postgres postgresql-sdbc)
- $(use_enable vulkan skia)
- $(use_with accessibility lxml)
- $(use_with coinmp system-coinmp)
- $(use_with googledrive gdrive-client-id ${google_default_client_id})
- $(use_with googledrive gdrive-client-secret ${google_default_client_secret})
- $(use_with java)
- $(use_with odk doxygen)
- )
-
- if use eds || use gtk; then
- myeconfargs+=( --enable-dconf --enable-gio )
- else
- myeconfargs+=( --disable-dconf --disable-gio )
- fi
-
- # libreoffice extensions handling
- for lo_xt in ${LO_EXTS}; do
- if [[ "${lo_xt}" == "scripting-beanshell" || "${lo_xt}" == "scripting-javascript" ]]; then
- myeconfargs+=( $(use_enable libreoffice_extensions_${lo_xt} ${lo_xt}) )
- else
- myeconfargs+=( $(use_enable libreoffice_extensions_${lo_xt} ext-${lo_xt}) )
- fi
- done
-
- if use java; then
- # hsqldb: system one is too new
- myeconfargs+=(
- --without-junit
- --without-system-hsqldb
- --with-ant-home="${ANT_HOME}"
- )
- if has_version "dev-java/openjdk:11"; then
- myeconfargs+=( -with-jdk-home="${EPREFIX}/usr/$(get_libdir)/openjdk-11" )
- elif has_version "dev-java/openjdk-bin:11"; then
- myeconfargs+=( --with-jdk-home="/opt/openjdk-bin-11" )
- fi
-
- use libreoffice_extensions_scripting-beanshell && \
- myeconfargs+=( --with-beanshell-jar=$(java-pkg_getjar bsh bsh.jar) )
-
- use libreoffice_extensions_scripting-javascript && \
- myeconfargs+=( --with-rhino-jar=$(java-pkg_getjar rhino-1.6 js.jar) )
- fi
-
- is-flagq "-flto*" && myeconfargs+=( --enable-lto )
-
- MARIADBCONFIG="$(type -p $(usex mariadb mariadb mysql)_config)" \
- econf "${myeconfargs[@]}"
-}
-
-src_compile() {
- # more and more LO stuff tries to use OpenGL, including tests during build
- # bug 501508, bug 540624, bug 545974 and probably more
- addpredict /dev/dri
- addpredict /dev/ati
- addpredict /dev/nvidiactl
-
- local target
- use test && target="build" || target="build-nocheck"
-
- # this is not a proper make script
- make ${target} || die
-}
-
-src_test() {
- make unitcheck || die
- make slowcheck || die
-}
-
-src_install() {
- # This is not Makefile so no buildserver
- emake DESTDIR="${D}" distro-pack-install -o build -o check
-
- # bug 593514
- if use gtk; then
- dosym libreoffice/program/liblibreofficekitgtk.so \
- /usr/$(get_libdir)/liblibreofficekitgtk.so
- fi
-
- # bash completion aliases
- bashcomp_alias \
- libreoffice \
- unopkg loimpress lobase localc lodraw lomath lowriter lofromtemplate loweb loffice
-
- if use branding; then
- insinto /usr/$(get_libdir)/${PN}/program
- newins "${WORKDIR}/branding-sofficerc" sofficerc
- dodir /etc/env.d
- echo "CONFIG_PROTECT=/usr/$(get_libdir)/${PN}/program/sofficerc" > "${ED}"/etc/env.d/99${PN} || die
- fi
-
- # bug 703474
- insinto /usr/include
- doins -r include/LibreOfficeKit
-
- local lodir=/usr/$(get_libdir)/libreoffice
- # patching this would break tests
- cat <<-EOF > "${T}"/uno.py
-import sys, os
-sys.path.append('${EPREFIX}${lodir}/program')
-os.putenv('URE_BOOTSTRAP', 'vnd.sun.star.pathname:${EPREFIX}${lodir}/program/fundamentalrc')
-EOF
- sed -e "/^import sys/d" -e "/^import os/d" \
- -i "${D}"${lodir}/program/uno.py || die "cleanup dupl imports failed"
- cat "${D}"${lodir}/program/uno.py >> "${T}"/uno.py || die
- cp "${T}"/uno.py "${D}"${lodir}/program/uno.py || die
-
- # more system pyuno mess
- sed -e "/sOffice = \"\" # lets hope for the best/s:\"\":\"${EPREFIX}${lodir}/program\":" \
- -i "${D}"${lodir}/program/officehelper.py || die
-
- python_optimize "${D}"${lodir}/program
- # link python bridge in site-packages, bug 667802
- local py pyc loprogdir=/usr/$(get_libdir)/libreoffice/program
- for py in uno.py unohelper.py officehelper.py; do
- dosym8 -r ${loprogdir}/${py} $(python_get_sitedir)/${py}
- while IFS="" read -d $'\0' -r pyc; do
- pyc=${pyc//*\/}
- dosym8 -r ${loprogdir}/__pycache__/${pyc} $(python_get_sitedir)/__pycache__/${pyc}
- done < <(find "${D}"${lodir}/program -type f -name ${py/.py/*.pyc} -print0)
- done
-}
-
-pkg_postinst() {
- xdg_icon_cache_update
- xdg_desktop_database_update
- xdg_mimeinfo_database_update
-}
-
-pkg_postrm() {
- xdg_icon_cache_update
- xdg_desktop_database_update
- xdg_mimeinfo_database_update
-}
+++ /dev/null
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8,9} )
-PYTHON_REQ_USE="threads(+),xml"
-
-MY_PV="${PV/_alpha/.alpha}"
-MY_PV="${MY_PV/_beta/.beta}"
-# experimental ; release ; old
-# Usually the tarballs are moved a lot so this should make everyone happy.
-DEV_URI="
- https://dev-builds.libreoffice.org/pre-releases/src
- https://download.documentfoundation.org/libreoffice/src/${MY_PV:0:5}/
- https://downloadarchive.documentfoundation.org/libreoffice/old/${MY_PV}/src
-"
-ADDONS_URI="https://dev-www.libreoffice.org/src/"
-
-BRANDING="${PN}-branding-gentoo-0.8.tar.xz"
-# PATCHSET="${P}-patchset-01.tar.xz"
-
-[[ ${MY_PV} == *9999* ]] && inherit git-r3
-inherit autotools bash-completion-r1 check-reqs eapi8-dosym flag-o-matic java-pkg-opt-2 multiprocessing python-single-r1 qmake-utils toolchain-funcs xdg-utils
-
-DESCRIPTION="A full office productivity suite"
-HOMEPAGE="https://www.libreoffice.org"
-SRC_URI="branding? ( https://dev.gentoo.org/~dilfridge/distfiles/${BRANDING} )"
-[[ -n ${PATCHSET} ]] && SRC_URI+=" https://dev.gentoo.org/~asturm/distfiles/${PATCHSET}"
-
-# Split modules following git/tarballs; Core MUST be first!
-# Help is used for the image generator
-# Only release has the tarballs
-if [[ ${MY_PV} != *9999* ]]; then
- for i in ${DEV_URI}; do
- SRC_URI+=" ${i}/${PN}-${MY_PV}.tar.xz"
- SRC_URI+=" ${i}/${PN}-help-${MY_PV}.tar.xz"
- done
- unset i
-fi
-unset DEV_URI
-
-# Really required addons
-# These are bundles that can't be removed for now due to huge patchsets.
-# If you want them gone, patches are welcome.
-ADDONS_SRC=(
- # not packaged in Gentoo, https://www.netlib.org/fp/dtoa.c
- "${ADDONS_URI}/dtoa-20180411.tgz"
- # not packaged in Gentoo, https://skia.org/
- "${ADDONS_URI}/skia-m88-59bafeeaa7de9eb753e3778c414e01dcf013dcd8.tar.xz"
- # QR code generating library for >=libreoffice-6.4, bug #691740
- "${ADDONS_URI}/QR-Code-generator-1.4.0.tar.gz"
- "base? (
- ${ADDONS_URI}/commons-logging-1.2-src.tar.gz
- ${ADDONS_URI}/ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip
- ${ADDONS_URI}/d8bd5eed178db6e2b18eeed243f85aa8-flute-1.1.6.zip
- ${ADDONS_URI}/eeb2c7ddf0d302fba4bfc6e97eac9624-libbase-1.1.6.zip
- ${ADDONS_URI}/3bdf40c0d199af31923e900d082ca2dd-libfonts-1.1.6.zip
- ${ADDONS_URI}/3404ab6b1792ae5f16bbd603bd1e1d03-libformula-1.1.7.zip
- ${ADDONS_URI}/db60e4fde8dd6d6807523deb71ee34dc-liblayout-0.2.10.zip
- ${ADDONS_URI}/97b2d4dba862397f446b217e2b623e71-libloader-1.1.6.zip
- ${ADDONS_URI}/8ce2fcd72becf06c41f7201d15373ed9-librepository-1.1.6.zip
- ${ADDONS_URI}/f94d9870737518e3b597f9265f4e9803-libserializer-1.1.6.zip
- ${ADDONS_URI}/ace6ab49184e329db254e454a010f56d-libxml-1.1.7.zip
- ${ADDONS_URI}/39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip
- )"
- "java? ( ${ADDONS_URI}/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip )"
- # no release for 8 years, should we package it?
- "libreoffice_extensions_wiki-publisher? ( ${ADDONS_URI}/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip )"
- # Does not build with 1.6 rhino at all
- "libreoffice_extensions_scripting-javascript? ( ${ADDONS_URI}/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip )"
- # requirement of rhino
- "libreoffice_extensions_scripting-javascript? ( ${ADDONS_URI}/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip )"
- # not packageable
- "odk? ( http://download.go-oo.org/extern/185d60944ea767075d27247c3162b3bc-unowinreg.dll )"
-)
-SRC_URI+=" ${ADDONS_SRC[*]}"
-
-unset ADDONS_URI
-unset ADDONS_SRC
-
-# Extensions that need extra work:
-LO_EXTS="nlpsolver scripting-beanshell scripting-javascript wiki-publisher"
-
-IUSE="accessibility base bluetooth +branding clang coinmp +cups custom-cflags +dbus debug eds firebird
-googledrive gstreamer +gtk kde ldap +mariadb odk pdfimport postgres test vulkan
-$(printf 'libreoffice_extensions_%s ' ${LO_EXTS})"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- base? ( firebird java )
- bluetooth? ( dbus )
- gtk? ( dbus )
- libreoffice_extensions_nlpsolver? ( java )
- libreoffice_extensions_scripting-beanshell? ( java )
- libreoffice_extensions_scripting-javascript? ( java )
- libreoffice_extensions_wiki-publisher? ( java )
-"
-
-RESTRICT="!test? ( test )"
-
-LICENSE="|| ( LGPL-3 MPL-1.1 )"
-SLOT="0"
-
-[[ ${MY_PV} == *9999* ]] || \
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~amd64-linux"
-
-BDEPEND="
- dev-util/intltool
- sys-devel/bison
- sys-devel/flex
- sys-devel/gettext
- virtual/pkgconfig
- odk? ( >=app-doc/doxygen-1.8.4 )
-"
-COMMON_DEPEND="${PYTHON_DEPS}
- app-arch/unzip
- app-arch/zip
- app-crypt/gpgme[cxx]
- app-text/hunspell:=
- >=app-text/libabw-0.1.0
- >=app-text/libebook-0.1
- app-text/libepubgen
- >=app-text/libetonyek-0.1
- app-text/libexttextcat
- app-text/liblangtag
- >=app-text/libmspub-0.1.0
- >=app-text/libmwaw-0.3.1
- >=app-text/libnumbertext-1.0.6
- >=app-text/libodfgen-0.1.0
- app-text/libqxp
- app-text/libstaroffice
- app-text/libwpd:0.10[tools]
- app-text/libwpg:0.3
- >=app-text/libwps-0.4
- app-text/mythes
- >=dev-cpp/clucene-2.3.3.4-r2
- >=dev-cpp/libcmis-0.5.2
- dev-db/unixODBC
- >=games-engines/box2d-2.4.1:0
- dev-lang/perl
- >=dev-libs/boost-1.72.0:=[nls]
- dev-libs/expat
- dev-libs/hyphen
- dev-libs/icu:=
- dev-libs/libassuan
- dev-libs/libgpg-error
- dev-libs/liborcus:0/0.16
- dev-libs/librevenge
- dev-libs/libxml2
- dev-libs/libxslt
- dev-libs/nspr
- dev-libs/nss
- >=dev-libs/redland-1.0.16
- >=dev-libs/xmlsec-1.2.28[nss]
- media-gfx/fontforge
- media-gfx/graphite2
- media-libs/fontconfig
- media-libs/freetype:2
- >=media-libs/harfbuzz-0.9.42:=[graphite,icu]
- media-libs/lcms:2
- >=media-libs/libcdr-0.1.0
- >=media-libs/libepoxy-1.3.1[X]
- >=media-libs/libfreehand-0.1.0
- media-libs/libpagemaker
- >=media-libs/libpng-1.4:0=
- >=media-libs/libvisio-0.1.0
- media-libs/libzmf
- >=net-libs/neon-0.31.1:=
- net-misc/curl
- sci-mathematics/lpsolve
- sys-libs/zlib
- virtual/glu
- virtual/jpeg:0
- virtual/opengl
- x11-libs/cairo[X]
- x11-libs/libXinerama
- x11-libs/libXrandr
- x11-libs/libXrender
- accessibility? (
- $(python_gen_cond_dep 'dev-python/lxml[${PYTHON_USEDEP}]')
- )
- bluetooth? (
- dev-libs/glib:2
- net-wireless/bluez
- )
- clang? (
- || (
- ( sys-devel/clang:12
- sys-devel/llvm:12
- =sys-devel/lld-12* )
- ( sys-devel/clang:11
- sys-devel/llvm:11
- =sys-devel/lld-11* )
- ( sys-devel/clang:10
- sys-devel/llvm:10
- =sys-devel/lld-10* )
- )
- )
- coinmp? ( sci-libs/coinor-mp )
- cups? ( net-print/cups )
- dbus? ( sys-apps/dbus[X] )
- eds? (
- dev-libs/glib:2
- gnome-base/dconf
- gnome-extra/evolution-data-server
- )
- firebird? ( >=dev-db/firebird-3.0.2.32703.0-r1[server] )
- gstreamer? (
- media-libs/gstreamer:1.0
- media-libs/gst-plugins-base:1.0
- )
- gtk? (
- dev-libs/glib:2
- dev-libs/gobject-introspection
- gnome-base/dconf
- media-libs/mesa[egl]
- x11-libs/gtk+:3[X]
- x11-libs/pango
- )
- kde? (
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtwidgets:5
- dev-qt/qtx11extras:5
- kde-frameworks/kconfig:5
- kde-frameworks/kcoreaddons:5
- kde-frameworks/ki18n:5
- kde-frameworks/kio:5
- kde-frameworks/kwindowsystem:5
- )
- ldap? ( net-nds/openldap )
- libreoffice_extensions_scripting-beanshell? ( dev-java/bsh )
- libreoffice_extensions_scripting-javascript? ( dev-java/rhino:1.6 )
- mariadb? ( dev-db/mariadb-connector-c )
- !mariadb? ( dev-db/mysql-connector-c )
- pdfimport? ( app-text/poppler:=[cxx] )
- postgres? ( >=dev-db/postgresql-9.0:*[kerberos] )
-"
-# FIXME: cppunit should be moved to test conditional
-# after everything upstream is under gbuild
-# as dmake execute tests right away
-# tests apparently also need google-carlito-fonts (not packaged)
-DEPEND="${COMMON_DEPEND}
- >=dev-libs/libatomic_ops-7.2d
- dev-perl/Archive-Zip
- >=dev-util/cppunit-1.14.0
- >=dev-util/gperf-3.1
- dev-util/mdds:1/1.5
- media-libs/glm
- sys-devel/ucpp
- x11-base/xorg-proto
- x11-libs/libXt
- x11-libs/libXtst
- java? (
- dev-java/ant-core
- || (
- dev-java/openjdk:11
- dev-java/openjdk-bin:11
- )
- )
- test? (
- app-crypt/gnupg
- dev-util/cppunit
- media-fonts/dejavu
- media-fonts/liberation-fonts
- )
-"
-RDEPEND="${COMMON_DEPEND}
- !app-office/libreoffice-bin
- !app-office/libreoffice-bin-debug
- media-fonts/liberation-fonts
- || ( x11-misc/xdg-utils kde-plasma/kde-cli-tools )
- java? ( || (
- dev-java/openjdk:11
- dev-java/openjdk-jre-bin:11
- >=virtual/jre-1.8
- ) )
- kde? ( kde-frameworks/breeze-icons:* )
-"
-if [[ ${MY_PV} != *9999* ]] && [[ ${PV} != *_* ]]; then
- PDEPEND="=app-office/libreoffice-l10n-$(ver_cut 1-2)*"
-else
- # Translations are not reliable on live ebuilds
- # rather force people to use english only.
- PDEPEND="!app-office/libreoffice-l10n"
-fi
-
-PATCHES=(
- # "${WORKDIR}"/${PATCHSET/.tar.xz/}
-
- # not upstreamable stuff
- "${FILESDIR}/${PN}-5.3.4.2-kioclient5.patch"
- "${FILESDIR}/${PN}-6.1-nomancompress.patch"
- "${FILESDIR}/${PN}-7.0.3.1-qt5detect.patch"
-)
-
-S="${WORKDIR}/${PN}-${MY_PV}"
-
-_check_reqs() {
- CHECKREQS_MEMORY="512M"
- if is-flagq "-g*" && ! is-flagq "-g*0" ; then
- CHECKREQS_DISK_BUILD="22G"
- else
- CHECKREQS_DISK_BUILD="6G"
- fi
- check-reqs_$1
-}
-
-pkg_pretend() {
- if use x86; then
- elog "Unfortunately for packaging reasons on x86, various Java-based wizards,"
- elog "most notably Report Builder in LibreOffice Base, will not be available."
- elog "See also: https://bugs.gentoo.org/785640"
- else
- use base ||
- ewarn "If you plan to use Base application you must enable USE base."
- use java ||
- ewarn "Without USE java, several wizards are not going to be available."
- fi
-
- [[ ${MERGE_TYPE} != binary ]] && _check_reqs pkg_pretend
-}
-
-pkg_setup() {
- java-pkg-opt-2_pkg_setup
- python-single-r1_pkg_setup
- xdg_environment_reset
-
- [[ ${MERGE_TYPE} != binary ]] && _check_reqs pkg_setup
-}
-
-src_unpack() {
- default
-
- if [[ ${MY_PV} = *9999* ]]; then
- local base_uri branch mypv
- base_uri="https://anongit.freedesktop.org/git"
- branch="master"
- mypv=${MY_PV/.9999}
- [[ ${mypv} != ${MY_PV} ]] && branch="${PN}-${mypv/./-}"
- git-r3_fetch "${base_uri}/${PN}/core" "refs/heads/${branch}"
- git-r3_checkout "${base_uri}/${PN}/core"
- LOCOREGIT_VERSION=${EGIT_VERSION}
-
- git-r3_fetch "${base_uri}/${PN}/help" "refs/heads/master"
- git-r3_checkout "${base_uri}/${PN}/help" "helpcontent2" # doesn't match on help
- fi
-}
-
-src_prepare() {
- default
-
- # sandbox violations on many systems, we don't need it. Bug #646406
- sed -i \
- -e "/KF5_CONFIG/s/kf5-config/no/" \
- configure.ac || die "Failed to disable kf5-config"
-
- AT_M4DIR="m4" eautoreconf
- # hack in the autogen.sh
- touch autogen.lastrun
-
- # sed in the tests
- sed -i \
- -e "s#all : build unitcheck#all : build#g" \
- solenv/gbuild/Module.mk || die
- sed -i \
- -e "s#check: dev-install subsequentcheck#check: unitcheck slowcheck dev-install subsequentcheck#g" \
- -e "s#Makefile.gbuild all slowcheck#Makefile.gbuild all#g" \
- Makefile.in || die
-
- sed -i \
- -e "s,/usr/share/bash-completion/completions,$(get_bashcompdir)," \
- -e "s,\$INSTALLDIRNAME.sh,${PN}," \
- bin/distro-install-desktop-integration || die
-
- if use branding; then
- # hack...
- mv -v "${WORKDIR}/branding-intro.png" "icon-themes/colibre/brand/intro.png" || die
- fi
-
- # Don't list pdfimport support in desktop when built with none, bug # 605464
- if ! use pdfimport; then
- sed -i \
- -e ":MimeType: s:application/pdf;::" \
- -e ":Keywords: s:pdf;::" \
- sysui/desktop/menus/draw.desktop || die
- fi
-}
-
-src_configure() {
- # Set up Google API keys, see https://www.chromium.org/developers/how-tos/api-keys
- # Note: these are for Gentoo use ONLY. For your own distribution, please get
- # your own set of keys. Feel free to contact chromium@gentoo.org for more info.
- local google_default_client_id="329227923882.apps.googleusercontent.com"
- local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu"
-
- # Show flags set at the beginning
- einfo "Preset CFLAGS: ${CFLAGS}"
- einfo "Preset LDFLAGS: ${LDFLAGS}"
-
- if use clang ; then
- # Force clang
- einfo "Enforcing the use of clang due to USE=clang ..."
- AR=llvm-ar
- CC=${CHOST}-clang
- CXX=${CHOST}-clang++
- NM=llvm-nm
- RANLIB=llvm-ranlib
- LDFLAGS+=" -fuse-ld=lld"
- else
- # Force gcc
- einfo "Enforcing the use of gcc due to USE=-clang ..."
- AR=gcc-ar
- CC=${CHOST}-gcc
- CXX=${CHOST}-g++
- NM=gcc-nm
- RANLIB=gcc-ranlib
- fi
-
- if use custom-cflags ; then
- elog "USE=custom-cflags has been selected. You are on your own to make sure that"
- elog "the build succeeds. Good luck!"
- else
- strip-flags
- fi
-
- export LO_CLANG_CC=${CC}
- export LO_CLANG_CXX=${CXX}
-
- # Show flags set at the end
- einfo " Used CFLAGS: ${CFLAGS}"
- einfo " Used LDFLAGS: ${LDFLAGS}"
-
- # Ensure we use correct toolchain
- tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
-
- if use vulkan && ! use clang ; then
- ewarn "Building skia with gcc may lead to performance issues. Disable vulkan or enable clang."
- fi
-
- # optimization flags
- export GMAKE_OPTIONS="${MAKEOPTS}"
- # System python enablement:
- export PYTHON_CFLAGS=$(python_get_CFLAGS)
- export PYTHON_LIBS=$(python_get_LIBS)
-
- use kde && export QT5DIR="$(qt5_get_bindir)/.."
-
- local gentoo_buildid="Gentoo official package"
- if [[ -n ${LOCOREGIT_VERSION} ]]; then
- gentoo_buildid+=" (from git: ${LOCOREGIT_VERSION})"
- fi
-
- # system headers/libs/...: enforce using system packages
- # --disable-breakpad: requires not-yet-in-tree dev-utils/breakpad
- # --enable-cairo: ensure that cairo is always required
- # --enable-*-link: link to the library rather than just dlopen on runtime
- # --enable-release-build: build the libreoffice as release
- # --disable-fetch-external: prevent dowloading during compile phase
- # --enable-extension-integration: enable any extension integration support
- # --without-{fonts,myspell-dicts,ppsd}: prevent install of sys pkgs
- # --disable-report-builder: too much java packages pulled in without pkgs
- # --without-system-sane: just sane.h header that is used for scan in writer,
- # not linked or anything else, worthless to depend on
- # --disable-pdfium: not yet packaged
- # --without-system-qrcodegen: has no real build system and LO is the only user
- local myeconfargs=(
- --with-system-dicts
- --with-system-epoxy
- --with-system-headers
- --with-system-jars
- --with-system-libs
- --enable-build-opensymbol
- --enable-cairo-canvas
- --enable-largefile
- --enable-mergelibs
- --enable-neon
- --enable-python=system
- --enable-randr
- --enable-release-build
- --disable-breakpad
- --disable-bundle-mariadb
- --disable-ccache
- --disable-epm
- --disable-fetch-external
- --disable-gtk3-kde5
- --disable-online-update
- --disable-openssl
- --disable-pdfium
- --with-extra-buildid="${gentoo_buildid}"
- --enable-extension-integration
- --with-external-dict-dir="${EPREFIX}/usr/share/myspell"
- --with-external-hyph-dir="${EPREFIX}/usr/share/myspell"
- --with-external-thes-dir="${EPREFIX}/usr/share/myspell"
- --with-external-tar="${DISTDIR}"
- --with-lang=""
- --with-parallelism=$(makeopts_jobs)
- --with-system-ucpp
- --with-tls=nss
- --with-vendor="Gentoo Foundation"
- --with-x
- --without-fonts
- --without-myspell-dicts
- --with-help="html"
- --without-helppack-integration
- --with-system-gpgmepp
- --without-system-jfreereport
- --without-system_apache_commons
- --without-system-sane
- --without-system-qrcodegen
- $(use_enable base report-builder)
- $(use_enable bluetooth sdremote-bluetooth)
- $(use_enable coinmp)
- $(use_enable cups)
- $(use_enable dbus)
- $(use_enable debug)
- $(use_enable eds evolution2)
- $(use_enable firebird firebird-sdbc)
- $(use_enable gstreamer gstreamer-1-0)
- $(use_enable gtk gtk3)
- $(use_enable kde kf5)
- $(use_enable kde qt5)
- $(use_enable ldap)
- $(use_enable odk)
- $(use_enable pdfimport)
- $(use_enable postgres postgresql-sdbc)
- $(use_enable vulkan skia)
- $(use_with accessibility lxml)
- $(use_with coinmp system-coinmp)
- $(use_with googledrive gdrive-client-id ${google_default_client_id})
- $(use_with googledrive gdrive-client-secret ${google_default_client_secret})
- $(use_with java)
- $(use_with odk doxygen)
- )
-
- if use eds || use gtk; then
- myeconfargs+=( --enable-dconf --enable-gio )
- else
- myeconfargs+=( --disable-dconf --disable-gio )
- fi
-
- # libreoffice extensions handling
- for lo_xt in ${LO_EXTS}; do
- if [[ "${lo_xt}" == "scripting-beanshell" || "${lo_xt}" == "scripting-javascript" ]]; then
- myeconfargs+=( $(use_enable libreoffice_extensions_${lo_xt} ${lo_xt}) )
- else
- myeconfargs+=( $(use_enable libreoffice_extensions_${lo_xt} ext-${lo_xt}) )
- fi
- done
-
- if use java; then
- # hsqldb: system one is too new
- myeconfargs+=(
- --without-junit
- --without-system-hsqldb
- --with-ant-home="${ANT_HOME}"
- )
- if has_version "dev-java/openjdk:11"; then
- myeconfargs+=( -with-jdk-home="${EPREFIX}/usr/$(get_libdir)/openjdk-11" )
- elif has_version "dev-java/openjdk-bin:11"; then
- myeconfargs+=( --with-jdk-home="/opt/openjdk-bin-11" )
- fi
-
- use libreoffice_extensions_scripting-beanshell && \
- myeconfargs+=( --with-beanshell-jar=$(java-pkg_getjar bsh bsh.jar) )
-
- use libreoffice_extensions_scripting-javascript && \
- myeconfargs+=( --with-rhino-jar=$(java-pkg_getjar rhino-1.6 js.jar) )
- fi
-
- is-flagq "-flto*" && myeconfargs+=( --enable-lto )
-
- MARIADBCONFIG="$(type -p $(usex mariadb mariadb mysql)_config)" \
- econf "${myeconfargs[@]}"
-}
-
-src_compile() {
- # more and more LO stuff tries to use OpenGL, including tests during build
- # bug 501508, bug 540624, bug 545974 and probably more
- addpredict /dev/dri
- addpredict /dev/ati
- addpredict /dev/nvidiactl
-
- local target
- use test && target="build" || target="build-nocheck"
-
- # this is not a proper make script
- make ${target} || die
-}
-
-src_test() {
- make unitcheck || die
- make slowcheck || die
-}
-
-src_install() {
- # This is not Makefile so no buildserver
- emake DESTDIR="${D}" distro-pack-install -o build -o check
-
- # bug 593514
- if use gtk; then
- dosym libreoffice/program/liblibreofficekitgtk.so \
- /usr/$(get_libdir)/liblibreofficekitgtk.so
- fi
-
- # bash completion aliases
- bashcomp_alias \
- libreoffice \
- unopkg loimpress lobase localc lodraw lomath lowriter lofromtemplate loweb loffice
-
- if use branding; then
- insinto /usr/$(get_libdir)/${PN}/program
- newins "${WORKDIR}/branding-sofficerc" sofficerc
- dodir /etc/env.d
- echo "CONFIG_PROTECT=/usr/$(get_libdir)/${PN}/program/sofficerc" > "${ED}"/etc/env.d/99${PN} || die
- fi
-
- # bug 703474
- insinto /usr/include
- doins -r include/LibreOfficeKit
-
- local lodir=/usr/$(get_libdir)/libreoffice
- # patching this would break tests
- cat <<-EOF > "${T}"/uno.py
-import sys, os
-sys.path.append('${EPREFIX}${lodir}/program')
-os.putenv('URE_BOOTSTRAP', 'vnd.sun.star.pathname:${EPREFIX}${lodir}/program/fundamentalrc')
-EOF
- sed -e "/^import sys/d" -e "/^import os/d" \
- -i "${D}"${lodir}/program/uno.py || die "cleanup dupl imports failed"
- cat "${D}"${lodir}/program/uno.py >> "${T}"/uno.py || die
- cp "${T}"/uno.py "${D}"${lodir}/program/uno.py || die
-
- # more system pyuno mess
- sed -e "/sOffice = \"\" # lets hope for the best/s:\"\":\"${EPREFIX}${lodir}/program\":" \
- -i "${D}"${lodir}/program/officehelper.py || die
-
- python_optimize "${D}"${lodir}/program
- # link python bridge in site-packages, bug 667802
- local py pyc loprogdir=/usr/$(get_libdir)/libreoffice/program
- for py in uno.py unohelper.py officehelper.py; do
- dosym8 -r ${loprogdir}/${py} $(python_get_sitedir)/${py}
- while IFS="" read -d $'\0' -r pyc; do
- pyc=${pyc//*\/}
- dosym8 -r ${loprogdir}/__pycache__/${pyc} $(python_get_sitedir)/__pycache__/${pyc}
- done < <(find "${D}"${lodir}/program -type f -name ${py/.py/*.pyc} -print0)
- done
-}
-
-pkg_postinst() {
- xdg_icon_cache_update
- xdg_desktop_database_update
- xdg_mimeinfo_database_update
-}
-
-pkg_postrm() {
- xdg_icon_cache_update
- xdg_desktop_database_update
- xdg_mimeinfo_database_update
-}
+++ /dev/null
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-# vtk needs updating to use 3.9
-PYTHON_COMPAT=( python3_9 )
-
-inherit check-reqs cmake desktop eapi8-dosym optfeature python-single-r1 xdg
-
-DESCRIPTION="QT based Computer Aided Design application"
-HOMEPAGE="https://www.freecadweb.org/ https://github.com/FreeCAD/FreeCAD"
-
-MY_PN=FreeCAD
-
-if [[ ${PV} = *9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/${MY_PN}/${MY_PN}.git"
- S="${WORKDIR}/freecad-${PV}"
-else
- MY_PV=$(ver_cut 1-2)
- MY_PV=$(ver_rs 1 '_' ${MY_PV})
- SRC_URI="https://github.com/${MY_PN}/${MY_PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64"
- S="${WORKDIR}/FreeCAD-${PV}"
-fi
-
-# code is licensed LGPL-2
-# examples are licensed CC-BY-SA (without note of specific version)
-LICENSE="LGPL-2 CC-BY-SA-4.0"
-SLOT="0"
-IUSE="debug headless pcl test"
-RESTRICT="!test? ( test )"
-
-FREECAD_EXPERIMENTAL_MODULES="cloud plot ship"
-FREECAD_STABLE_MODULES="addonmgr fem idf image inspection material
- openscad part-design path points raytracing robot show surface
- techdraw tux"
-
-for module in ${FREECAD_STABLE_MODULES}; do
- IUSE="${IUSE} +${module}"
-done
-for module in ${FREECAD_EXPERIMENTAL_MODULES}; do
- IUSE="${IUSE} -${module}"
-done
-unset module
-
-RDEPEND="
- ${PYTHON_DEPS}
- >=dev-cpp/eigen-3.3.1:3
- dev-libs/OpenNI2[opengl(+)]
- dev-libs/libspnav[X]
- dev-libs/xerces-c[icu]
- dev-qt/designer:5
- dev-qt/qtconcurrent:5
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtnetwork:5
- dev-qt/qtopengl:5
- dev-qt/qtprintsupport:5
- dev-qt/qtsvg:5
- dev-qt/qtwebengine:5[widgets]
- dev-qt/qtwidgets:5
- dev-qt/qtx11extras:5
- dev-qt/qtxml:5
- >=media-libs/coin-4.0.0
- media-libs/freetype
- media-libs/qhull
- sci-libs/flann[openmp]
- sci-libs/hdf5:=[fortran,zlib]
- >=sci-libs/med-4.0.0-r1[python,${PYTHON_SINGLE_USEDEP}]
- sci-libs/opencascade:=[vtk(+)]
- sci-libs/orocos_kdl:=
- sys-libs/zlib
- virtual/glu
- virtual/libusb:1
- virtual/opengl
- cloud? (
- dev-libs/openssl:=
- net-misc/curl
- )
- fem? ( <sci-libs/vtk-9[boost,python,qt5,rendering,${PYTHON_SINGLE_USEDEP}] )
- openscad? ( media-gfx/openscad )
- pcl? ( >=sci-libs/pcl-1.8.1:=[opengl,openni2(+),qt5(+),vtk(+)] )
- $(python_gen_cond_dep '
- dev-libs/boost:=[python,threads,${PYTHON_MULTI_USEDEP}]
- dev-python/matplotlib[${PYTHON_MULTI_USEDEP}]
- dev-python/numpy[${PYTHON_MULTI_USEDEP}]
- >=dev-python/pivy-0.6.5[${PYTHON_MULTI_USEDEP}]
- dev-python/pybind11[${PYTHON_MULTI_USEDEP}]
- dev-python/pyside2[gui,svg,${PYTHON_MULTI_USEDEP}]
- dev-python/shiboken2[${PYTHON_MULTI_USEDEP}]
- addonmgr? ( dev-python/GitPython[${PYTHON_MULTI_USEDEP}] )
- fem? ( dev-python/ply[${PYTHON_MULTI_USEDEP}] )
- ')
-"
-DEPEND="${RDEPEND}"
-BDEPEND="dev-lang/swig"
-
-# To get required dependencies:
-# 'grep REQUIRES_MODS cMake/FreeCAD_Helpers/CheckInterModuleDependencies.cmake'
-# We set the following requirements by default:
-# arch, draft, drawing, import, mesh, part, qt5, sketcher, spreadsheet, start, web.
-#
-# Additionally, we auto-enable mesh_part, flat_mesh and smesh
-# Fem actually needs smesh, but as long as we don't have a smesh package, we enable
-# smesh through the mesh USE flag. Note however, the fem<-smesh dependency isn't
-# reflected by the REQUIRES_MODS macro, but at
-# cMake/FreeCAD_Helpers/InitializeFreeCADBuildOptions.cmake:187.
-#
-# The increase in auto-enabled workbenches is due to their need in parts of the
-# test suite when compiled with a minimal set of USE flags.
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
- inspection? ( points )
- path? ( robot )
- ship? ( image plot )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.19_pre20201231-0003-Gentoo-specific-don-t-check-vcs.patch
- "${FILESDIR}"/${PN}-0.19.1-0001-Gentoo-specific-Remove-ccache-usage.patch
- "${FILESDIR}"/${P}-0001-fix-failing-test-workbench-testcase.patch
- "${FILESDIR}"/${P}-0002-fix-femtest-failure-with-yaml-load.patch
- "${FILESDIR}"/${P}-0003-fix-test-when-built-without-GUI.patch
-)
-
-DOCS=( CODE_OF_CONDUCT.md ChangeLog.txt README.md )
-
-CHECKREQS_DISK_BUILD="2G"
-
-pkg_setup() {
- check-reqs_pkg_setup
- python-single-r1_pkg_setup
- [[ -z ${CASROOT} ]] && die "\${CASROOT} not set, plesae run eselect opencascade"
-}
-
-src_prepare() {
- # the upstream provided file doesn't find the coin doc tag file,
- # but cmake ships a working one, so we use this.
- rm "${S}/cMake/FindCoin3D.cmake" || die
-
- # Fix OpenCASCADE lookup
- # TODO: check this for opencascade-7.5.1 locations, which have
- # changed since 7.4.0 after that package has merged
- sed -e 's|/usr/include/opencascade|${CASROOT}/include/opencascade|' \
- -e 's|/usr/lib|${CASROOT}/'$(get_libdir)' NO_DEFAULT_PATH|' \
- -i cMake/FindOpenCasCade.cmake || die
-
- # Fix desktop file
- sed -e 's/Exec=FreeCAD/Exec=freecad/' -i src/XDGData/org.freecadweb.FreeCAD.desktop || die
-
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_ADDONMGR=$(usex addonmgr)
- -DBUILD_ARCH=ON
- -DBUILD_ASSEMBLY=OFF # deprecated
- -DBUILD_CLOUD=$(usex cloud)
- -DBUILD_COMPLETE=OFF # deprecated
- -DBUILD_DRAFT=ON
- -DBUILD_DRAWING=ON
- -DBUILD_ENABLE_CXX_STD:STRING="C++14" # needed for >=boost-1.75.0
- -DBUILD_FEM=$(usex fem)
- -DBUILD_FEM_NETGEN=OFF
- -DBUILD_FLAT_MESH=ON
- -DBUILD_FORCE_DIRECTORY=ON # force building in a dedicated directory
- -DBUILD_FREETYPE=ON # automagic dep
- -DBUILD_GUI=$(usex !headless)
- -DBUILD_IDF=$(usex idf)
- -DBUILD_IMAGE=$(usex image)
- -DBUILD_IMPORT=ON # import module for various file formats
- -DBUILD_INSPECTION=$(usex inspection)
- -DBUILD_JTREADER=OFF # code has been removed upstream, but option is still there
- -DBUILD_MATERIAL=$(usex material)
- -DBUILD_MESH=ON
- -DBUILD_MESH_PART=ON
- -DBUILD_OPENSCAD=$(usex openscad)
- -DBUILD_PART=ON
- -DBUILD_PART_DESIGN=$(usex part-design)
- -DBUILD_PATH=$(usex path)
- -DBUILD_PLOT=$(usex plot) # conflicts with possible external workbench
- -DBUILD_POINTS=$(usex points)
- -DBUILD_QT5=ON # OFF means to use Qt4
- -DBUILD_RAYTRACING=$(usex raytracing)
- -DBUILD_REVERSEENGINEERING=OFF # currently only an empty sandbox
- -DBUILD_ROBOT=$(usex robot)
- -DBUILD_SHIP=$(usex ship) # conflicts with possible external workbench
- -DBUILD_SHOW=$(usex show)
- -DBUILD_SKETCHER=ON # needed by draft workspace
- -DBUILD_SMESH=ON
- -DBUILD_SPREADSHEET=ON
- -DBUILD_START=ON
- -DBUILD_SURFACE=$(usex surface)
- -DBUILD_TECHDRAW=$(usex techdraw)
- -DBUILD_TEST=ON # always build test workbench for run-time testing
- -DBUILD_TUX=$(usex tux)
- -DBUILD_VR=OFF
- -DBUILD_WEB=ON # needed by start workspace
- -DBUILD_WITH_CONDA=OFF
-
- -DCMAKE_INSTALL_DATADIR=/usr/share/${PN}/data
- -DCMAKE_INSTALL_DOCDIR=/usr/share/doc/${PF}
- -DCMAKE_INSTALL_INCLUDEDIR=/usr/include/${PN}
- -DCMAKE_INSTALL_PREFIX=/usr/$(get_libdir)/${PN}
-
- -DFREECAD_BUILD_DEBIAN=OFF
-
- -DFREECAD_USE_EXTERNAL_KDL=ON
- -DFREECAD_USE_EXTERNAL_SMESH=OFF # no package in Gentoo
- -DFREECAD_USE_EXTERNAL_ZIPIOS=OFF # doesn't work yet, also no package in Gentoo tree
- -DFREECAD_USE_FREETYPE=ON
- -DFREECAD_USE_OCC_VARIANT:STRING="Official Version"
- -DFREECAD_USE_PCL=$(usex pcl)
- -DFREECAD_USE_PYBIND11=ON
- -DFREECAD_USE_QT_FILEDIALOG=ON
- -DFREECAD_USE_QTWEBMODULE:STRING="Qt WebEngine"
-
- # install python modules to site-packages' dir. True only for the main package,
- # sub-packages will still be installed inside /usr/lib64/freecad
- -DINSTALL_TO_SITEPACKAGES=ON
-
- -DOCCT_CMAKE_FALLBACK=ON # don't use occt-config which isn't included in opencascade for Gentoo
- )
-
- if has_version ">=sci-libs/opencascade-7.5"; then
- # bug https://bugs.gentoo.org/788274
- mycmakeargs+=(
- -DOCC_INCLUDE_DIR="${CASROOT}"/include/opencascade-7.5.1
- -DOCC_LIBRARY_DIR="${CASROOT}"/$(get_libdir)/opencascade-7.5.1
- )
- else
- # <occ-7.5 uses different layout
- mycmakeargs+=(
- -DOCC_INCLUDEDIR="${CASROOT}"/include/opencascade
- -DOCC_LIBRARY_DIR="${CASROOT}"/$(get_libdir)
- )
- fi
-
- if use debug; then
- mycmakeargs+=(
- -DBUILD_SANDBOX=ON
- -DBUILD_TEMPLATE=ON
- )
- else
- mycmakeargs+=(
- -DBUILD_SANDBOX=OFF
- -DBUILD_TEMPLATE=OFF
- )
- fi
-
- cmake_src_configure
-}
-
-# We use the FreeCADCmd binary instead of the FreeCAD binary here
-# for two reasons:
-# 1. It works out of the box with USE=headless as well, not needing a guard
-# 2. We don't need virtualx.eclass and it's dependencies
-# The exported environment variables are needed, so freecad does know
-# where to save it's temporary files, and where to look and write it's
-# configuration. Without those, there are sandbox violation, when it
-# tries to create /var/lib/portage/home/.FreeCAD directory.
-src_test() {
- pushd "${BUILD_DIR}" > /dev/null || die
- export FREECAD_USER_HOME="${HOME}"
- export FREECAD_USER_DATA="${T}"
- export FREECAD_USER_TEMP="${T}"
- nonfatal ./bin/FreeCADCmd --run-test 0
- popd > /dev/null || die
-}
-
-src_install() {
- cmake_src_install
-
- if ! use headless; then
- dosym8 -r /usr/$(get_libdir)/${PN}/bin/FreeCAD /usr/bin/freecad
- mv "${ED}"/usr/$(get_libdir)/freecad/share/* "${ED}"/usr/share || die "failed to move shared ressources"
- fi
- dosym8 -r /usr/$(get_libdir)/${PN}/bin/FreeCADCmd /usr/bin/freecadcmd
-
- python_optimize "${ED}"/usr/share/${PN}/data/Mod/Start/StartPage "${ED}"/usr/$(get_libdir)/${PN}{/Ext,/Mod}/
- # compile main package in python site-packages as well
- python_optimize
-
- doenvd "${FILESDIR}/99${PN}"
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
-
- if use plot; then
- einfo "Note: You are enabling the 'plot' USE flag."
- einfo "This conflicts with the plot workbench that can be loaded"
- einfo "via the addon manager! You can only install one of those."
- fi
-
- if use ship; then
- einfo "Note: You are enabling the 'ship' USE flag."
- einfo "This conflicts with the ship workbench that can be loaded"
- einfo "via the addon manager! You can only install one of those."
- fi
-
- einfo "You can load a lot of additional workbenches using the integrated"
- einfo "AddonManager."
-
- einfo "There are a lot of additional tools, for which FreeCAD has builtin"
- einfo "support. Some of them are available in Gentoo. Take a look at"
- einfo "https://wiki.freecadweb.org/Installing#External_software_supported_by_FreeCAD"
- optfeature "interact with git repositories" dev-python/GitPython
- optfeature "work with COLLADA documents" dev-python/pycollada
- optfeature "dependency graphs" media-gfx/graphviz
- optfeature "PBR Rendering" media-gfx/povray
- optfeature "FEM mesh generator" sci-libs/gmsh
- optfeature "importing and exporting 2D AutoCAD DWG files" media-gfx/libredwg
-}
-
-pkg_postrm() {
- xdg_pkg_postrm
-}
+++ /dev/null
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7,8,9} )
-WEBAPP_OPTIONAL=yes
-WEBAPP_MANUAL_SLOT=yes
-
-# Short package version
-SPV="$(ver_cut 1-2)"
-inherit flag-o-matic java-pkg-opt-2 python-single-r1 qmake-utils toolchain-funcs cmake virtualx webapp
-
-DESCRIPTION="The Visualization Toolkit"
-HOMEPAGE="https://www.vtk.org/"
-SRC_URI="
- https://www.vtk.org/files/release/${SPV}/VTK-${PV}.tar.gz
- doc? ( https://www.vtk.org/files/release/${SPV}/vtkDocHtml-${PV}.tar.gz )
- examples? (
- https://www.vtk.org/files/release/${SPV}/VTKData-${PV}.tar.gz
- https://www.vtk.org/files/release/${SPV}/VTKLargeData-${PV}.tar.gz
- )"
-
-LICENSE="BSD LGPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="all-modules aqua boost doc examples ffmpeg gdal imaging java json mpi
- odbc offscreen postgres python qt5 R rendering tbb tcl theora tk
- video_cards_nvidia views web +X xdmf2"
-
-REQUIRED_USE="
- all-modules? ( python xdmf2 boost )
- java? ( qt5 )
- python? ( ${PYTHON_REQUIRED_USE} )
- tcl? ( rendering )
- examples? ( python )
- tk? ( tcl )
- web? ( python )
- ^^ ( X aqua offscreen )"
-
-RDEPEND="
- app-arch/lz4
- dev-cpp/eigen
- dev-db/sqlite
- dev-libs/double-conversion:0=
- dev-libs/expat
- dev-libs/jsoncpp:=
- dev-libs/libxml2:2
- >=dev-libs/pugixml-1.11
- >=media-libs/freetype-2.5.4
- media-libs/glew:0=
- >=media-libs/libharu-2.3.0-r2
- media-libs/libpng:0=
- media-libs/libtheora
- media-libs/mesa
- media-libs/tiff:0
- sci-libs/exodusii
- sci-libs/hdf5:=
- sci-libs/netcdf:0=
- sci-libs/netcdf-cxx:3
- sys-libs/zlib
- virtual/jpeg:0
- virtual/opengl
- x11-libs/libX11
- x11-libs/libXmu
- x11-libs/libXt
- all-modules? ( dev-libs/pegtl )
- boost? ( dev-libs/boost:=[mpi?] )
- examples? (
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- )
- ffmpeg? ( media-video/ffmpeg )
- gdal? ( sci-libs/gdal )
- java? ( >=virtual/jdk-1.7:* )
- mpi? (
- virtual/mpi[cxx,romio]
- $(python_gen_cond_dep '
- python? ( dev-python/mpi4py[${PYTHON_MULTI_USEDEP}] )
- ')
- )
- odbc? ( dev-db/unixODBC )
- offscreen? ( media-libs/mesa[osmesa] )
- postgres? ( dev-db/postgresql:= )
- python? (
- ${PYTHON_DEPS}
- $(python_gen_cond_dep '
- dev-python/sip[${PYTHON_MULTI_USEDEP}]
- ')
- )
- qt5? (
- dev-qt/designer:5
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtopengl:5
- dev-qt/qtsql:5
- dev-qt/qtx11extras:5
- $(python_gen_cond_dep '
- python? ( dev-python/PyQt5[${PYTHON_MULTI_USEDEP}] )
- ')
- )
- R? ( dev-lang/R )
- tbb? ( dev-cpp/tbb )
- tcl? ( dev-lang/tcl:0= )
- tk? ( dev-lang/tk:0= )
- video_cards_nvidia? ( x11-drivers/nvidia-drivers[tools,static-libs] )
- web? (
- ${WEBAPP_DEPEND}
- $(python_gen_cond_dep '
- dev-python/autobahn[${PYTHON_MULTI_USEDEP}]
- dev-python/constantly[${PYTHON_MULTI_USEDEP}]
- dev-python/hyperlink[${PYTHON_MULTI_USEDEP}]
- dev-python/incremental[${PYTHON_MULTI_USEDEP}]
- dev-python/six[${PYTHON_MULTI_USEDEP}]
- dev-python/twisted[${PYTHON_MULTI_USEDEP}]
- dev-python/txaio[${PYTHON_MULTI_USEDEP}]
- dev-python/zope-interface[${PYTHON_MULTI_USEDEP}]
- ')
- )
- xdmf2? ( sci-libs/xdmf2 )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="doc? ( app-doc/doxygen )"
-
-S="${WORKDIR}"/VTK-${PV}
-
-PATCHES=(
- "${FILESDIR}"/${PN}-8.1.0-openmpi-4-compatibility.patch
- "${FILESDIR}"/${P}-qt-5.15.patch # bug 726960
- "${FILESDIR}"/${P}-gcc-10.patch # bug 723374
- "${FILESDIR}"/${P}-fno-common.patch # bug 721048
- "${FILESDIR}"/${P}-py38.patch
- "${FILESDIR}"/${P}-freetype-2.10.3-provide-FT_CALLBACK_DEF.patch # bug #751088
- "${FILESDIR}"/${P}-pugixml.patch
-)
-
-RESTRICT="test"
-
-pkg_setup() {
- use java && java-pkg-opt-2_pkg_setup
- use python && python-single-r1_pkg_setup
- use web && webapp_pkg_setup
-}
-
-src_prepare() {
- cmake_src_prepare
-
- local x
- # missing: VPIC freerange libproj4 mrmpi sqlite utf8 verdict xmdf2 xmdf3
- for x in expat freetype hdf5 jpeg jsoncpp libharu libxml2 lz4 netcdf pugixml png tiff zlib; do
- ebegin "Dropping bundled ${x}"
- rm -r ThirdParty/${x}/vtk${x} || die
- eend $?
- done
-
- sed -i -e '/add_subdirectory(vtkpugixml)/d' ThirdParty/pugixml/CMakeLists.txt || die
- sed -i -e '/vtk_target_export(vtkpugixml)/d' ThirdParty/pugixml/CMakeLists.txt || die
-
- if use doc; then
- einfo "Removing .md5 files from documents."
- rm -f "${WORKDIR}"/html/*.md5 || die "Failed to remove superfluous hashes"
- sed -e "s|\${VTK_BINARY_DIR}/Utilities/Doxygen/doc|${WORKDIR}|" \
- -i Utilities/Doxygen/CMakeLists.txt || die
- fi
-}
-
-src_configure() {
- # general configuration
- local mycmakeargs=(
- -Wno-dev
- -DVTK_DIR="${S}"
- -DVTK_INSTALL_LIBRARY_DIR=$(get_libdir)
- -DVTK_INSTALL_PACKAGE_DIR="$(get_libdir)/cmake/${PN}-${SPV}"
- -DVTK_INSTALL_DOC_DIR="${EPREFIX}/usr/share/doc/${PF}"
- -DVTK_DATA_ROOT="${EPREFIX}/usr/share/${PN}/data"
- -DVTK_CUSTOM_LIBRARY_SUFFIX=""
- -DBUILD_SHARED_LIBS=ON
- -DVTK_USE_SYSTEM_AUTOBAHN=ON
- -DVTK_USE_SYSTEM_EXPAT=ON
- -DVTK_USE_SYSTEM_FREETYPE=ON
- -DVTK_USE_SYSTEM_FreeType=ON
- # Use bundled gl2ps (bundled version is a patched version of 1.3.9. Post 1.3.9 versions should be compatible)
- -DVTK_USE_SYSTEM_GL2PS=OFF
- -DVTK_USE_SYSTEM_HDF5=ON
- -DVTK_USE_SYSTEM_JPEG=ON
- -DVTK_USE_SYSTEM_LIBPROJ=OFF
- -DVTK_USE_SYSTEM_LIBXML2=ON
- -DVTK_USE_SYSTEM_LibXml2=ON
- -DVTK_USE_SYSTEM_NETCDF=ON
- -DVTK_USE_SYSTEM_OGGTHEORA=ON
- -DVTK_USE_SYSTEM_PUGIXML=ON
- -DVTK_USE_SYSTEM_PNG=ON
- -DVTK_USE_SYSTEM_TIFF=ON
- -DVTK_USE_SYSTEM_TWISTED=ON
- -DVTK_USE_SYSTEM_XDMF2=OFF
- -DVTK_USE_SYSTEM_XDMF3=OFF
- -DVTK_USE_SYSTEM_ZLIB=ON
- -DVTK_USE_SYSTEM_ZOPE=ON
- -DVTK_USE_SYSTEM_LIBRARIES=ON
- # Use bundled diy2 (no gentoo package / upstream does not provide a Finddiy2.cmake or diy2Config.cmake / diy2-config.cmake)
- -DVTK_USE_SYSTEM_DIY2=OFF
- -DVTK_USE_GL2PS=ON
- -DVTK_USE_LARGE_DATA=ON
- -DVTK_USE_PARALLEL=ON
- -DVTK_EXTRA_COMPILER_WARNINGS=ON
- -DVTK_Group_StandAlone=ON
- -DBUILD_DOCUMENTATION=$(usex doc)
- -DBUILD_EXAMPLES=$(usex examples)
- -DBUILD_VTK_BUILD_ALL_MODULES_FOR_TESTS=off
- -DVTK_BUILD_ALL_MODULES=$(usex all-modules)
- -DUSE_DOCUMENTATION_HTML_HELP=$(usex doc)
- -DVTK_Group_Imaging=$(usex imaging)
- -DVTK_Group_MPI=$(usex mpi)
- -DVTK_Group_Rendering=$(usex rendering)
- -DVTK_Group_Tk=$(usex tk)
- -DVTK_Group_Views=$(usex views)
- -DVTK_Group_Web=$(usex web)
- -DVTK_SMP_IMPLEMENTATION_TYPE="$(usex tbb TBB Sequential)"
- -DVTK_WWW_DIR="${ED}/${MY_HTDOCSDIR}"
- -DVTK_WRAP_JAVA=$(usex java)
- -DVTK_WRAP_PYTHON=$(usex python)
- -DVTK_WRAP_PYTHON_SIP=$(usex python)
- -DVTK_WRAP_TCL=$(usex tcl)
- -DVTK_USE_BOOST=$(usex boost)
- -DUSE_VTK_USE_BOOST=$(usex boost)
- -DModule_vtkInfovisBoost=$(usex boost)
- -DModule_vtkInfovisBoostGraphAlgorithms=$(usex boost)
- -DVTK_USE_ODBC=$(usex odbc)
- -DModule_vtkIOODBC=$(usex odbc)
- -DVTK_USE_OFFSCREEN=$(usex offscreen)
- -DVTK_OPENGL_HAS_OSMESA=$(usex offscreen)
- -DVTK_USE_OGGTHEORA_ENCODER=$(usex theora)
- -DVTK_USE_NVCONTROL=$(usex video_cards_nvidia)
- -DModule_vtkFiltersStatisticsGnuR=$(usex R)
- -DVTK_USE_X=$(usex X)
- # IO
- -DVTK_USE_FFMPEG_ENCODER=$(usex ffmpeg)
- -DModule_vtkIOGDAL=$(usex gdal)
- -DModule_vtkIOGeoJSON=$(usex json)
- -DModule_vtkIOXdmf2=$(usex xdmf2)
- -DBUILD_TESTING=$(usex examples)
- # Apple stuff, does it really work?
- -DVTK_USE_COCOA=$(usex aqua)
- )
-
- if use java; then
- local javacargs=$(java-pkg_javac-args)
- mycmakeargs+=( -DJAVAC_OPTIONS=${javacargs// /;} )
- fi
-
- if use mpi; then
- mycmakeargs+=( -DVTK_USE_SYSTEM_MPI4PY=ON )
- fi
-
- if use python; then
- mycmakeargs+=(
- -DVTK_INSTALL_PYTHON_MODULES_DIR="$(python_get_sitedir)"
- -DPYTHON_INCLUDE_DIR="$(python_get_includedir)"
- -DPYTHON_LIBRARY="$(python_get_library_path)"
- -DSIP_PYQT_DIR="${EPREFIX}/usr/share/sip"
- -DSIP_INCLUDE_DIR="$(python_get_includedir)"
- -DVTK_PYTHON_INCLUDE_DIR="$(python_get_includedir)"
- -DVTK_PYTHON_LIBRARY="$(python_get_library_path)"
- -DVTK_PYTHON_SETUP_ARGS:STRING="--prefix=${EPREFIX} --root=${D}"
- -DVTK_USE_SYSTEM_SIX=ON
- )
- fi
-
- if use qt5; then
- mycmakeargs+=(
- -DVTK_USE_QVTK=ON
- -DVTK_USE_QVTK_OPENGL=ON
- -DVTK_USE_QVTK_QTOPENGL=ON
- -DQT_WRAP_CPP=ON
- -DQT_WRAP_UI=ON
- -DVTK_INSTALL_QT_DIR="$(basename $(qt5_get_libdir))/qt5/plugins/designer"
- -DDESIRED_QT_VERSION=5
- -DVTK_QT_VERSION=5
- -DQT_MOC_EXECUTABLE="$(qt5_get_bindir)/moc"
- -DQT_UIC_EXECUTABLE="$(qt5_get_bindir)/uic"
- -DQT_INCLUDE_DIR="${EPREFIX}/usr/include/qt5"
- -DQT_QMAKE_EXECUTABLE="$(qt5_get_bindir)/qmake"
- -DVTK_Group_Qt:BOOL=ON
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt5WebKitWidgets=ON
- )
- fi
-
- if use R; then
- mycmakeargs+=(
- -DR_LIBRARY_BLAS=/usr/$(get_libdir)/R/lib/libR.so
- -DR_LIBRARY_LAPACK=/usr/$(get_libdir)/R/lib/libR.so
- )
- fi
-
- append-cppflags -D__STDC_CONSTANT_MACROS -D_UNICODE
-
- use java && export JAVA_HOME="${EPREFIX}/etc/java-config-2/current-system-vm"
-
- if use mpi; then
- export CC=mpicc
- export CXX=mpicxx
- export FC=mpif90
- export F90=mpif90
- export F77=mpif77
- fi
-
- cmake_src_configure
-}
-
-src_install() {
- use web && webapp_src_preinst
-
- cmake_src_install
-
- use java && java-pkg_regjar "${ED}"/usr/$(get_libdir)/${PN}.jar
-
- # Stop web page images from being compressed
- use doc && docompress -x /usr/share/doc/${PF}/doxygen
-
- if use tcl; then
- # install Tcl docs
- docinto vtk_tcl
- docinto .
- fi
-
- # install examples
- if use examples; then
- einfo "Installing examples"
- mv -v {E,e}xamples || die
- dodoc -r examples
- docompress -x /usr/share/doc/${PF}/examples
- fi
-
- # environment
- cat >> "${T}"/40${PN} <<- EOF || die
- VTK_DATA_ROOT=${EPREFIX}/usr/share/${PN}/data
- VTK_DIR=${EPREFIX}/usr/$(get_libdir)/${PN}-${SPV}
- VTKHOME=${EPREFIX}/usr
- EOF
- doenvd "${T}"/40${PN}
-
- use web && webapp_src_install
-}
-
-# webapp.eclass exports these but we want it optional #534036
-pkg_postinst() {
- use web && webapp_pkg_postinst
-}
-
-pkg_prerm() {
- use web && webapp_pkg_prerm
-}
+++ /dev/null
-AUX icon/palemoon.desktop 111471 BLAKE2B 40fb48d186cb84267cb9f2a4a23588cb13b64e9f077934411eeaff70597728a782858944dde875042fa4f89f262f18ea890e85897e6216b7f4c1163fc9f1988b SHA512 f48ab96d22139107b428efcea3e9e2dec38a9e2d0e8aa0a9fa8c19abc9c1b46f8080f1426ad6ea5a8b03a14d0551d3ec1f44c95104552d2b6610118a01da2429
-EBUILD palemoon-29.1.1.ebuild 5376 BLAKE2B a366271ae60429933b813a62c68481b6e9c27c8d448dc10765ce2eb65eadeb666918af0c6a8425a4722939bdf2615cd09d3fc68c0954489b2d48b67b01c52050 SHA512 f0bc8ca322ad78fe866f08182045ea20b5a40fddc1db7284976907ce58d99b099f6800ee775f11226cd11bd8cc336234e0f6bcf52491b72112111f373f481b12
-EBUILD palemoon-29.2.0.ebuild 5279 BLAKE2B 76525fb7123ccf4bb2c07dfdbcc13d0ed03581d7373cd961cf5babfcffe06ead248ccc890cf9819bfa69fbd0c3bf6a723192d698eb6ba801682d068eb25042d5 SHA512 3eacfc2f615a033ead9a60d43621ad44af5a100bb378777dc1fb2349de85502b9b3a3d062a810baa555842a2d25bad9ff44997eabb137fb7fa74f301064776e7
+++ /dev/null
-
-
-
-
-
-
-<!DOCTYPE html>
-<html lang="en" data-color-mode="auto" data-light-theme="light" data-dark-theme="dark">
- <head>
- <meta charset="utf-8">
- <link rel="dns-prefetch" href="https://github.githubassets.com">
- <link rel="dns-prefetch" href="https://avatars.githubusercontent.com">
- <link rel="dns-prefetch" href="https://github-cloud.s3.amazonaws.com">
- <link rel="dns-prefetch" href="https://user-images.githubusercontent.com/">
-
-
-
- <link crossorigin="anonymous" media="all" integrity="sha512-Y+CVaSMn8o6/loIooPhmphIjpC28gD8jCnlF78WW5Tq9X4CltQl3ehIy/1sZpuMcbwPjB8wRwNItDUMJrUoNhQ==" rel="stylesheet" href="https://github.githubassets.com/assets/frameworks-63e095692327f28ebf968228a0f866a6.css" />
- <link crossorigin="anonymous" media="all" integrity="sha512-lI/VENtHpfFUIy6OGmW/BLII0MiAd+aeubbeiTf0PNTV1OyKuqCDNVr9K7o9Nt/Bhugnv9lGx+zlmtOMDlQcIg==" rel="stylesheet" href="https://github.githubassets.com/assets/behaviors-948fd510db47a5f154232e8e1a65bf04.css" />
-
-
-
- <link crossorigin="anonymous" media="all" integrity="sha512-XlF1FCbTe5z3mKdNrNdil3d2e1icXEfpGKv18/G+CEyJUkD1CnVqfm7BsudBff9HkWvsxrY4uhqnYcJUvyFSPg==" rel="stylesheet" href="https://github.githubassets.com/assets/github-5e51751426d37b9cf798a74dacd76297.css" />
-
- <script crossorigin="anonymous" defer="defer" integrity="sha512-CzeY4A6TiG4fGZSWZU8FxmzFFmcQFoPpArF0hkH0/J/S7UL4eed/LKEXMQXfTwiG5yEJBI+9BdKG8KQJNbhcIQ==" type="application/javascript" src="https://github.githubassets.com/assets/environment-0b3798e0.js"></script>
- <script crossorigin="anonymous" defer="defer" integrity="sha512-xD/II79VugfUBs1ZVmd0ea7wmmLeCyIkPkWprb/jviEdWsOc5n7pJ7Wbn6h70b5CEvAQ5rp9EG3EKBfV34Cqxg==" type="application/javascript" src="https://github.githubassets.com/assets/chunk-frameworks-c43fc823.js"></script>
- <script crossorigin="anonymous" defer="defer" integrity="sha512-N6FZA172tiL7uDaWQ5DGlKS2MS0ZuYf9n2kkRRfntFnGdL89nWudZXRok+pLWRQd2xLfiSALG5NQ2KCGKP2UtQ==" type="application/javascript" src="https://github.githubassets.com/assets/chunk-vendor-37a15903.js"></script>
-
- <script crossorigin="anonymous" defer="defer" integrity="sha512-/DwovVaPRNTYtjRX3mp1qqOBgXHSfSqK5KROMekYtf5th3AV/vNg9k4dVQh0fPtTow3DOFn0REvS0bEnP6+hAA==" type="application/javascript" src="https://github.githubassets.com/assets/behaviors-fc3c28bd.js"></script>
-
- <script crossorigin="anonymous" defer="defer" integrity="sha512-tjuNQcwhEIXGvVIG4XM/Aj4z+Od+NBRkbgWNwEMjGL3nsnAmdoBdbzsn/WTvl3hk+TPt1D0BvBLHLBPgiwvT2w==" type="application/javascript" data-module-id="./chunk-animate-on-scroll.js" data-src="https://github.githubassets.com/assets/chunk-animate-on-scroll-b63b8d41.js"></script>
- <script crossorigin="anonymous" defer="defer" integrity="sha512-+BKEtK9JkmJ52jKSoX6+SBrGV6kJxB8J/iAPkFQ/oeq8YekNcz7IZlJgM5Tddyx1RrkL3+sdG0tAy3YuFbYqfA==" type="application/javascript" data-module-id="./chunk-codemirror.js" data-src="https://github.githubassets.com/assets/chunk-codemirror-f81284b4.js"></script>
- <script crossorigin="anonymous" defer="defer" integrity="sha512-EKOvqJ9uTatAt87WxU+OSS4mi7gMUszFbGo4aPErQkjpWLXnrPSeZvK5ngU8OYoIoiVOq+v8dA3C6MF/z2d/kA==" type="application/javascript" data-module-id="./chunk-color-modes.js" data-src="https://github.githubassets.com/assets/chunk-color-modes-10a3afa8.js"></script>
- <script crossorigin="anonymous" defer="defer" integrity="sha512-zkYZSjUFqSifB+Lt76jclFMrfqpcPqevT801RZcoBNCZHRTBKcFrW9OyJoPOzKFv+fZVDRnqdqGsuIv5KOIgZg==" type="application/javascript" data-module-id="./chunk-contributions-spider-graph.js" data-src="https://github.githubassets.com/assets/chunk-contributions-spider-graph-ce46194a.js"></script>
- <script crossorigin="anonymous" defer="defer" integrity="sha512-6j/oSF+kbW+yetNPvI684VzAu9pzug6Vj2h+3u1LdCuRhR4jnuiHZfeQKls3nxcT/S3H+oIt7FtigE/aeoj+gg==" type="application/javascript" data-module-id="./chunk-drag-drop.js" data-src="https://github.githubassets.com/assets/chunk-drag-drop-ea3fe848.js"></script>
- <script crossorigin="anonymous" defer="defer" integrity="sha512-VSSd+Yzi2iMS+pibY6hD/WdypxAEdob5F2RMKxuKcAHS2EpFYJPeTXoVxt0NXg03tfj2dka2mEtHS+vjpYSaDw==" type="application/javascript" data-module-id="./chunk-edit-hook-secret-element.js" data-src="https://github.githubassets.com/assets/chunk-edit-hook-secret-element-55249df9.js"></script>
- <script crossorigin="anonymous" defer="defer" integrity="sha512-N+ziqJjVMfWiqeVHdayDHpNRlG5HsF+cgV+pFnMDoTJuvBzgw+ndsepe4NcKAxIS3WMvzMaQcYmd2vrIaoAJVg==" type="application/javascript" data-module-id="./chunk-edit.js" data-src="https://github.githubassets.com/assets/chunk-edit-37ece2a8.js"></script>
- <script crossorigin="anonymous" defer="defer" integrity="sha512-aiqMIGGZGo8AQMjcoImKPMTsZVVRl6htCSY7BpRmpGPG/AF+Wq+P/Oj/dthWQOIk9cCNMPEas7O2zAR6oqn0tA==" type="application/javascript" data-module-id="./chunk-emoji-picker-element.js" data-src="https://github.githubassets.com/assets/chunk-emoji-picker-element-6a2a8c20.js"></script>
- <script crossorigin="anonymous" defer="defer" integrity="sha512-7o8WoXZcP71e0YBbF1az3Rj9iGr3Irk3kb7Yq1/ZQETySta8pQLfupQJ7yiswg+sN1HTqszDMbp1vcPHFgp7gw==" type="application/javascript" data-module-id="./chunk-filter-input.js" data-src="https://github.githubassets.com/assets/chunk-filter-input-ee8f16a1.js"></script>
- <script crossorigin="anonymous" defer="defer" integrity="sha512-XwuQdORq1W9Z+a/i72pH+NfR1rhwlGdxIlaIBbTciscGc/+McxMNLixGBp8e6Td4W1zzHvQ1Jyryl5gUfEr76g==" type="application/javascript" data-module-id="./chunk-insights-graph.js" data-src="https://github.githubassets.com/assets/chunk-insights-graph-5f0b9074.js"></script>
- <script crossorigin="anonymous" defer="defer" integrity="sha512-Y+VVFzGHo9J5bf4Mrn+RGrh1+IExdybA3C1QqPha3UwkV9RZ75jZgV4DsujViAF0iT9OrLYYHvPk9V6QiXjp3g==" type="application/javascript" data-module-id="./chunk-invitations.js" data-src="https://github.githubassets.com/assets/chunk-invitations-63e55517.js"></script>
- <script crossorigin="anonymous" defer="defer" integrity="sha512-mMOvER8Uml4WMYbXv8BaahVq9eF1v5Hu7M9/3oPlOFPmTJGH+TmvcRPt8fddj86urb+Ri+vlqotFspA/4STDsQ==" type="application/javascript" data-module-id="./chunk-jump-to.js" data-src="https://github.githubassets.com/assets/chunk-jump-to-98c3af11.js"></script>
- <script crossorigin="anonymous" defer="defer" integrity="sha512-Lo0j1owPfYM0txt85KwGzF1PQJLvLFGbRJoASd5ZKMQAV9ZSDg5bVm5UWBAz7glGzw1pkiUD2bCMs2wqyf+CEA==" type="application/javascript" data-module-id="./chunk-notification-list-focus.js" data-src="https://github.githubassets.com/assets/chunk-notification-list-focus-2e8d23d6.js"></script>
- <script crossorigin="anonymous" defer="defer" integrity="sha512-ma0OOy3nj0c1cqBx0BkcmIFsLqcSZ+MIukQxyEFM/OWTzZpG+QMgOoWPAHZz43M6fyjAUG1jH6c/6LPiiKPCyw==" type="application/javascript" data-module-id="./chunk-profile-pins-element.js" data-src="https://github.githubassets.com/assets/chunk-profile-pins-element-99ad0e3b.js"></script>
- <script crossorigin="anonymous" defer="defer" integrity="sha512-R2tQdTIeoDs7KPt3IH9jLCMhfoh2805c9mO45GDT+QJppP8xyL3oQ4TNO7PGPZSKcpQT2MhUY3gQUNfzWzJJjA==" type="application/javascript" data-module-id="./chunk-ref-selector.js" data-src="https://github.githubassets.com/assets/chunk-ref-selector-476b5075.js"></script>
- <script crossorigin="anonymous" defer="defer" integrity="sha512-Zii9oRdZ6q2QDNjL5A+me7jwJjMLvs1NiQNHmajUZnn4t9shcBDb4F8l/PQZW26eYfe5065oM7lIOSmbMinA7Q==" type="application/javascript" data-module-id="./chunk-responsive-underlinenav.js" data-src="https://github.githubassets.com/assets/chunk-responsive-underlinenav-6628bda1.js"></script>
- <script crossorigin="anonymous" defer="defer" integrity="sha512-9WNXtB07IyWypiPmkuucspwog4mme9q5GKGMSgd7FI0DPimmg/pEw+aaAofFV1vuWMt9I8H5QpsVtlbHGg1YBA==" type="application/javascript" data-module-id="./chunk-runner-groups.js" data-src="https://github.githubassets.com/assets/chunk-runner-groups-f56357b4.js"></script>
- <script crossorigin="anonymous" defer="defer" integrity="sha512-fIq9Mn7jY/bHQXnsmh+VejpDnaO+d/FDxsp+4CuZtdNLrLuO+dQCjh+m6Yd8GCYD2Cy6DWbCEyM+mH2dkB2H9A==" type="application/javascript" data-module-id="./chunk-sortable-behavior.js" data-src="https://github.githubassets.com/assets/chunk-sortable-behavior-7c8abd32.js"></script>
- <script crossorigin="anonymous" defer="defer" integrity="sha512-WK8VXw3lfUQ/VRW0zlgKPhcMUqH0uTnB/KzePUPdZhCm/HpxfXXHKTGvj5C0Oex7+zbIM2ECzULbtTCT4ug3yg==" type="application/javascript" data-module-id="./chunk-toast.js" data-src="https://github.githubassets.com/assets/chunk-toast-58af155f.js"></script>
- <script crossorigin="anonymous" defer="defer" integrity="sha512-vgHJEmEJxNmHucGbVY8bEUoOYo5/ZwpQ69rU8Dld89daWJ54uad9lNptxq32F8pnbHhdngw9lohNEbMbjmj5AQ==" type="application/javascript" data-module-id="./chunk-tweetsodium.js" data-src="https://github.githubassets.com/assets/chunk-tweetsodium-be01c912.js"></script>
- <script crossorigin="anonymous" defer="defer" integrity="sha512-aSxfTHAZj9wv7n08DxgAKkNg7jhiTo4yKKbDqLGxcDxUk/al571Y2ZSsOmLJ0Vh8cuAL8tW+JgX1t0JeKfyfaA==" type="application/javascript" data-module-id="./chunk-user-status-submit.js" data-src="https://github.githubassets.com/assets/chunk-user-status-submit-692c5f4c.js"></script>
-
- <script crossorigin="anonymous" defer="defer" integrity="sha512-/8DIYpYCJFF0xg5QFDVdVJdBQfagC8hDC0Bi5TnoOpswGkZt/Byv4P8wmMYm3r4m6eB8WzeGngZvzA30b8kxiw==" type="application/javascript" src="https://github.githubassets.com/assets/repositories-ffc0c862.js"></script>
-<script crossorigin="anonymous" defer="defer" integrity="sha512-UcfDdsCeeCSVRNSMU527vY80XN0rUQJguclfm0k2nNEfQwzsf8VYtNyiQJZ3YDCOzhMd6AYCl0Bm7Q8JunZMBw==" type="application/javascript" src="https://github.githubassets.com/assets/diffs-51c7c376.js"></script>
-
- <meta name="viewport" content="width=device-width">
-
- <title>palemoon-overlay/palemoon.desktop at master · CaseOf/palemoon-overlay · GitHub</title>
- <meta name="description" content="Unofficial Gentoo overlay for the Pale Moon (http://www.palemoon.org/) web browser. - CaseOf/palemoon-overlay">
- <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub">
- <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub">
- <meta property="fb:app_id" content="1401488693436528">
- <meta name="apple-itunes-app" content="app-id=1477376905" />
- <meta name="twitter:image:src" content="https://opengraph.githubassets.com/79d31624f119e0027104894134f9c6977b3015bbe68924e1e78aa055ac33b783/CaseOf/palemoon-overlay" /><meta name="twitter:site" content="@github" /><meta name="twitter:card" content="summary_large_image" /><meta name="twitter:title" content="CaseOf/palemoon-overlay" /><meta name="twitter:description" content="Unofficial Gentoo overlay for the Pale Moon (http://www.palemoon.org/) web browser. - CaseOf/palemoon-overlay" />
- <meta property="og:image" content="https://opengraph.githubassets.com/79d31624f119e0027104894134f9c6977b3015bbe68924e1e78aa055ac33b783/CaseOf/palemoon-overlay" /><meta property="og:image:alt" content="Unofficial Gentoo overlay for the Pale Moon (http://www.palemoon.org/) web browser. - CaseOf/palemoon-overlay" /><meta property="og:image:width" content="1200" /><meta property="og:image:height" content="600" /><meta property="og:site_name" content="GitHub" /><meta property="og:type" content="object" /><meta property="og:title" content="CaseOf/palemoon-overlay" /><meta property="og:url" content="https://github.com/CaseOf/palemoon-overlay" /><meta property="og:description" content="Unofficial Gentoo overlay for the Pale Moon (http://www.palemoon.org/) web browser. - CaseOf/palemoon-overlay" />
-
-
-
-
-
- <link rel="assets" href="https://github.githubassets.com/">
-
-
- <meta name="request-id" content="A748:B896:13AB246:147A550:609D6C63" data-pjax-transient="true"/><meta name="html-safe-nonce" content="73391d524814d417f9748fcfb5f9262fe8abf1561569e6081ea0c79c3d77393a" data-pjax-transient="true"/><meta name="visitor-payload" content="eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJBNzQ4OkI4OTY6MTNBQjI0NjoxNDdBNTUwOjYwOUQ2QzYzIiwidmlzaXRvcl9pZCI6Ijc4OTQ2Mjk2MjIzMzYwMjM2NTEiLCJyZWdpb25fZWRnZSI6ImZyYSIsInJlZ2lvbl9yZW5kZXIiOiJmcmEifQ==" data-pjax-transient="true"/><meta name="visitor-hmac" content="c001b6a89f8191e0f0277a081f4cc81ea7ddf5117130b48cf019eb9089113d66" data-pjax-transient="true"/>
-
- <meta name="hovercard-subject-tag" content="repository:301474501" data-pjax-transient>
-
-
- <meta name="github-keyboard-shortcuts" content="repository,source-code" data-pjax-transient="true" />
-
-
-
- <meta name="selected-link" value="repo_source" data-pjax-transient>
-
- <meta name="google-site-verification" content="c1kuD-K2HIVF635lypcsWPoD4kilo5-jA_wBFyT4uMY">
- <meta name="google-site-verification" content="KT5gs8h0wvaagLKAVWq8bbeNwnZZK1r1XQysX3xurLU">
- <meta name="google-site-verification" content="ZzhVyEFwb7w3e0-uOTltm8Jsck2F5StVihD0exw2fsA">
- <meta name="google-site-verification" content="GXs5KoUUkNCoaAZn7wPN-t01Pywp9M3sEjnt_3_ZWPc">
-
- <meta name="octolytics-host" content="collector.githubapp.com" /><meta name="octolytics-app-id" content="github" /><meta name="octolytics-event-url" content="https://collector.githubapp.com/github-external/browser_event" />
-
- <meta name="analytics-location" content="/<user-name>/<repo-name>/blob/show" data-pjax-transient="true" />
-
-
-
-
-
- <meta name="optimizely-datafile" content="{"version": "4", "rollouts": [], "typedAudiences": [], "anonymizeIP": true, "projectId": "16737760170", "variables": [], "featureFlags": [], "experiments": [{"status": "Running", "audienceIds": [], "variations": [{"variables": [], "id": "20106410318", "key": "en"}, {"variables": [], "id": "20122000362", "key": "ko"}], "id": "20121990335", "key": "ko_homepage_translation", "layerId": "20100420349", "trafficAllocation": [{"entityId": "20106410318", "endOfRange": 5000}, {"entityId": "20122000362", "endOfRange": 10000}], "forcedVariations": {}}, {"status": "Running", "audienceIds": [], "variations": [{"variables": [], "id": "20233300304", "key": "launch_code_variation"}, {"variables": [], "id": "20227370325", "key": "control"}], "id": "20206000276", "key": "launch_code_verification", "layerId": "20233240262", "trafficAllocation": [{"entityId": "20233300304", "endOfRange": 5000}, {"entityId": "20233300304", "endOfRange": 10000}], "forcedVariations": {}}, {"status": "Running", "audienceIds": [], "variations": [{"variables": [], "id": "20236992340", "key": "usd"}, {"variables": [], "id": "20184442182", "key": "localized_currency"}], "id": "20233233507", "key": "local_currency_pricing", "layerId": "20212472765", "trafficAllocation": [{"entityId": "20184442182", "endOfRange": 5000}, {"entityId": "20236992340", "endOfRange": 10000}], "forcedVariations": {"667685045.1617740930": "localized_currency"}}], "audiences": [{"conditions": "[\"or\", {\"match\": \"exact\", \"name\": \"$opt_dummy_attribute\", \"type\": \"custom_attribute\", \"value\": \"$opt_dummy_value\"}]", "id": "$opt_dummy_audience", "name": "Optimizely-Generated Audience for Backwards Compatibility"}], "groups": [], "attributes": [{"id": "16822470375", "key": "user_id"}, {"id": "17143601254", "key": "spammy"}, {"id": "18175660309", "key": "organization_plan"}, {"id": "18813001570", "key": "is_logged_in"}, {"id": "19073851829", "key": "geo"}, {"id": "20175462351", "key": "requestedCurrency"}], "botFiltering": false, "accountId": "16737760170", "events": [{"experimentIds": [], "id": "17911811441", "key": "hydro_click.dashboard.teacher_toolbox_cta"}, {"experimentIds": [], "id": "18124116703", "key": "submit.organizations.complete_sign_up"}, {"experimentIds": [], "id": "18145892387", "key": "no_metric.tracked_outside_of_optimizely"}, {"experimentIds": [], "id": "18178755568", "key": "click.org_onboarding_checklist.add_repo"}, {"experimentIds": [], "id": "18180553241", "key": "submit.repository_imports.create"}, {"experimentIds": [], "id": "18186103728", "key": "click.help.learn_more_about_repository_creation"}, {"experimentIds": [], "id": "18188530140", "key": "test_event.do_not_use_in_production"}, {"experimentIds": [], "id": "18191963644", "key": "click.empty_org_repo_cta.transfer_repository"}, {"experimentIds": [], "id": "18195612788", "key": "click.empty_org_repo_cta.import_repository"}, {"experimentIds": [], "id": "18210945499", "key": "click.org_onboarding_checklist.invite_members"}, {"experimentIds": [], "id": "18211063248", "key": "click.empty_org_repo_cta.create_repository"}, {"experimentIds": [], "id": "18215721889", "key": "click.org_onboarding_checklist.update_profile"}, {"experimentIds": [], "id": "18224360785", "key": "click.org_onboarding_checklist.dismiss"}, {"experimentIds": [], "id": "18234832286", "key": "submit.organization_activation.complete"}, {"experimentIds": [], "id": "18252392383", "key": "submit.org_repository.create"}, {"experimentIds": [], "id": "18257551537", "key": "submit.org_member_invitation.create"}, {"experimentIds": [], "id": "18259522260", "key": "submit.organization_profile.update"}, {"experimentIds": [], "id": "18564603625", "key": "view.classroom_select_organization"}, {"experimentIds": [], "id": "18568612016", "key": "click.classroom_sign_in_click"}, {"experimentIds": [], "id": "18572592540", "key": "view.classroom_name"}, {"experimentIds": [], "id": "18574203855", "key": "click.classroom_create_organization"}, {"experimentIds": [], "id": "18582053415", "key": "click.classroom_select_organization"}, {"experimentIds": [], "id": "18589463420", "key": "click.classroom_create_classroom"}, {"experimentIds": [], "id": "18591323364", "key": "click.classroom_create_first_classroom"}, {"experimentIds": [], "id": "18591652321", "key": "click.classroom_grant_access"}, {"experimentIds": [], "id": "18607131425", "key": "view.classroom_creation"}, {"experimentIds": [], "id": "18831680583", "key": "upgrade_account_plan"}, {"experimentIds": [], "id": "19064064515", "key": "click.signup"}, {"experimentIds": [], "id": "19075373687", "key": "click.view_account_billing_page"}, {"experimentIds": [], "id": "19077355841", "key": "click.dismiss_signup_prompt"}, {"experimentIds": [], "id": "19079713938", "key": "click.contact_sales"}, {"experimentIds": [], "id": "19120963070", "key": "click.compare_account_plans"}, {"experimentIds": ["20233233507"], "id": "19151690317", "key": "click.upgrade_account_cta"}, {"experimentIds": [], "id": "19424193129", "key": "click.open_account_switcher"}, {"experimentIds": [], "id": "19520330825", "key": "click.visit_account_profile"}, {"experimentIds": [], "id": "19540970635", "key": "click.switch_account_context"}, {"experimentIds": ["20121990335"], "id": "19730198868", "key": "submit.homepage_signup"}, {"experimentIds": ["20121990335"], "id": "19820830627", "key": "click.homepage_signup"}, {"experimentIds": [], "id": "19988571001", "key": "click.create_enterprise_trial"}, {"experimentIds": ["20233233507"], "id": "20036538294", "key": "click.create_organization_team"}, {"experimentIds": [], "id": "20040653299", "key": "click.input_enterprise_trial_form"}, {"experimentIds": ["20233233507"], "id": "20062030003", "key": "click.continue_with_team"}, {"experimentIds": [], "id": "20068947153", "key": "click.create_organization_free"}, {"experimentIds": [], "id": "20086636658", "key": "click.signup_continue.username"}, {"experimentIds": [], "id": "20091648988", "key": "click.signup_continue.create_account"}, {"experimentIds": [], "id": "20103637615", "key": "click.signup_continue.email"}, {"experimentIds": [], "id": "20111574253", "key": "click.signup_continue.password"}, {"experimentIds": ["20233233507"], "id": "20120044111", "key": "view.pricing_page"}, {"experimentIds": ["20121990335", "20233233507"], "id": "20152062109", "key": "submit.create_account"}, {"experimentIds": ["20233233507"], "id": "20165800992", "key": "submit.upgrade_payment_form"}, {"experimentIds": ["20233233507"], "id": "20171520319", "key": "submit.create_organization"}, {"experimentIds": [], "id": "20222645674", "key": "click.recommended_plan_in_signup.discuss_your_needs"}, {"experimentIds": ["20206000276"], "id": "20227443657", "key": "submit.verify_primary_user_email"}, {"experimentIds": [], "id": "20234607160", "key": "click.recommended_plan_in_signup.try_enterprise"}, {"experimentIds": [], "id": "20238175784", "key": "click.recommended_plan_in_signup.team"}, {"experimentIds": [], "id": "20239847212", "key": "click.recommended_plan_in_signup.continue_free"}, {"experimentIds": [], "id": "20251097193", "key": "recommended_plan"}], "revision": "675"}" />
- <!-- To prevent page flashing, the optimizely JS needs to be loaded in the
- <head> tag before the DOM renders -->
- <script crossorigin="anonymous" defer="defer" integrity="sha512-KjDXI2MZJ6BWlcZ1MwvbvGb03Wdwyy9MkAaQI950EjxF4sk+HdRSqJZQ/7RuUGqP55DBAsUY9DJ4APahsReJ/g==" type="application/javascript" src="https://github.githubassets.com/assets/optimizely-2a30d723.js"></script>
-
-
-
-
-
- <meta name="hostname" content="github.com">
- <meta name="user-login" content="">
-
-
- <meta name="expected-hostname" content="github.com">
-
-
- <meta name="enabled-features" content="MARKETPLACE_PENDING_INSTALLATIONS,AUTOCOMPLETE_EMOJIS_IN_MARKDOWN_EDITOR,ACTIONS_CONCURRENCY_UI">
-
- <meta http-equiv="x-pjax-version" content="38f9d45c926d6d20fa15aaaac6f84bfc4f864b8b7262b2bd803a8335098ba0ce">
-
-
-
- <meta name="go-import" content="github.com/CaseOf/palemoon-overlay git https://github.com/CaseOf/palemoon-overlay.git">
-
- <meta name="octolytics-dimension-user_id" content="31049012" /><meta name="octolytics-dimension-user_login" content="CaseOf" /><meta name="octolytics-dimension-repository_id" content="301474501" /><meta name="octolytics-dimension-repository_nwo" content="CaseOf/palemoon-overlay" /><meta name="octolytics-dimension-repository_public" content="true" /><meta name="octolytics-dimension-repository_is_fork" content="true" /><meta name="octolytics-dimension-repository_parent_id" content="30454442" /><meta name="octolytics-dimension-repository_parent_nwo" content="deu/palemoon-overlay" /><meta name="octolytics-dimension-repository_network_root_id" content="30454442" /><meta name="octolytics-dimension-repository_network_root_nwo" content="deu/palemoon-overlay" />
-
-
-
- <link rel="canonical" href="https://github.com/CaseOf/palemoon-overlay/blob/master/www-client/palemoon/files/icon/palemoon.desktop" data-pjax-transient>
-
-
- <meta name="browser-stats-url" content="https://api.github.com/_private/browser/stats">
-
- <meta name="browser-errors-url" content="https://api.github.com/_private/browser/errors">
-
- <meta name="browser-optimizely-client-errors-url" content="https://api.github.com/_private/browser/optimizely_client/errors">
-
- <link rel="mask-icon" href="https://github.githubassets.com/pinned-octocat.svg" color="#000000">
- <link rel="alternate icon" class="js-site-favicon" type="image/png" href="https://github.githubassets.com/favicons/favicon.png">
- <link rel="icon" class="js-site-favicon" type="image/svg+xml" href="https://github.githubassets.com/favicons/favicon.svg">
-
-<meta name="theme-color" content="#1e2327">
-<meta name="color-scheme" content="light dark" />
-
-
- <link rel="manifest" href="/manifest.json" crossOrigin="use-credentials">
-
-<meta name="enabled-homepage-translation-languages" content="ko">
-
- </head>
-
- <body class="logged-out env-production page-responsive page-blob" style="word-wrap: break-word;">
-
-
- <div class="position-relative js-header-wrapper ">
- <a href="#start-of-content" class="px-2 py-4 color-bg-info-inverse color-text-white show-on-focus js-skip-to-content">Skip to content</a>
- <span class="progress-pjax-loader width-full js-pjax-loader-bar Progress position-fixed">
- <span style="background-color: #79b8ff;width: 0%;" class="Progress-item progress-pjax-loader-bar"></span>
-</span>
-
-
-
- <header class="Header-old header-logged-out js-details-container Details position-relative f4 py-2" role="banner">
- <div class="container-xl d-lg-flex flex-items-center p-responsive">
- <div class="d-flex flex-justify-between flex-items-center">
- <a class="mr-4" href="https://github.com/" aria-label="Homepage" data-ga-click="(Logged out) Header, go to homepage, icon:logo-wordmark">
- <svg height="32" class="octicon octicon-mark-github color-text-white" viewBox="0 0 16 16" version="1.1" width="32" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"></path></svg>
- </a>
-
- <div class="d-lg-none css-truncate css-truncate-target width-fit p-2">
-
-
- </div>
-
- <div class="d-flex flex-items-center">
- <nux-signup-candidates
- data-attribute-name="href"
- data-candidate-url="/join_next?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fblob%2Fshow&source=header-repo"
- data-action="loaded:nux-signup-candidates#determineSignupAction"
-
- >
- <a href="/join?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fblob%2Fshow&source=header-repo"
- class="d-inline-block d-lg-none f5 color-text-white no-underline border color-border-tertiary rounded-2 px-2 py-1 mr-3 mr-sm-5"
- data-target="nux-signup-candidates.signupAction"
- data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"site header","repository_id":null,"auth_type":"SIGN_UP","originating_url":"https://github.com/CaseOf/palemoon-overlay/blob/master/www-client/palemoon/files/icon/palemoon.desktop","user_id":null}}" data-hydro-click-hmac="58d013261294e5d127e233a787a9720ee16fd131e57370351248fa9b57909a09"
- >
- Sign up
- </a>
- </nux-signup-candidates>
-
- <button class="btn-link d-lg-none mt-1 js-details-target" type="button" aria-label="Toggle navigation" aria-expanded="false">
- <svg height="24" class="octicon octicon-three-bars color-text-white" viewBox="0 0 16 16" version="1.1" width="24" aria-hidden="true"><path fill-rule="evenodd" d="M1 2.75A.75.75 0 011.75 2h12.5a.75.75 0 110 1.5H1.75A.75.75 0 011 2.75zm0 5A.75.75 0 011.75 7h12.5a.75.75 0 110 1.5H1.75A.75.75 0 011 7.75zM1.75 12a.75.75 0 100 1.5h12.5a.75.75 0 100-1.5H1.75z"></path></svg>
- </button>
- </div>
- </div>
-
- <div class="HeaderMenu HeaderMenu--logged-out position-fixed top-0 right-0 bottom-0 height-fit position-lg-relative d-lg-flex flex-justify-between flex-items-center flex-auto">
- <div class="d-flex d-lg-none flex-justify-end border-bottom color-bg-secondary p-3">
- <button class="btn-link js-details-target" type="button" aria-label="Toggle navigation" aria-expanded="false">
- <svg height="24" class="octicon octicon-x color-text-secondary" viewBox="0 0 24 24" version="1.1" width="24" aria-hidden="true"><path fill-rule="evenodd" d="M5.72 5.72a.75.75 0 011.06 0L12 10.94l5.22-5.22a.75.75 0 111.06 1.06L13.06 12l5.22 5.22a.75.75 0 11-1.06 1.06L12 13.06l-5.22 5.22a.75.75 0 01-1.06-1.06L10.94 12 5.72 6.78a.75.75 0 010-1.06z"></path></svg>
- </button>
- </div>
-
- <nav class="mt-0 px-3 px-lg-0 mb-5 mb-lg-0" aria-label="Global">
- <ul class="d-lg-flex list-style-none">
- <li class="d-block d-lg-flex flex-lg-nowrap flex-lg-items-center border-bottom border-lg-bottom-0 mr-0 mr-lg-3 edge-item-fix position-relative flex-wrap flex-justify-between d-flex flex-items-center ">
- <details class="HeaderMenu-details details-overlay details-reset width-full">
- <summary class="HeaderMenu-summary HeaderMenu-link px-0 py-3 border-0 no-wrap d-block d-lg-inline-block">
- Why GitHub?
- <svg x="0px" y="0px" viewBox="0 0 14 8" xml:space="preserve" fill="none" class="icon-chevon-down-mktg position-absolute position-lg-relative">
- <path d="M1,1l6.2,6L13,1"></path>
- </svg>
- </summary>
- <div class="dropdown-menu flex-auto rounded px-0 mt-0 pb-4 p-lg-4 position-relative position-lg-absolute left-0 left-lg-n4">
- <a href="/features" class="py-2 lh-condensed-ultra d-block Link--primary no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Features">Features <span class="Bump-link-symbol float-right text-normal color-text-tertiary pr-3">→</span></a>
- <ul class="list-style-none f5 pb-3">
- <li class="edge-item-fix"><a href="/mobile" class="py-2 lh-condensed-ultra d-block Link--secondary no-underline f5 Bump-link--hover">Mobile <span class="Bump-link-symbol float-right text-normal color-text-tertiary pr-3">→</span></a></li>
- <li class="edge-item-fix"><a href="/features/actions" class="py-2 lh-condensed-ultra d-block Link--secondary no-underline f5 Bump-link--hover">Actions <span class="Bump-link-symbol float-right text-normal color-text-tertiary pr-3">→</span></a></li>
- <li class="edge-item-fix"><a href="/features/codespaces" class="py-2 lh-condensed-ultra d-block Link--secondary no-underline f5 Bump-link--hover">Codespaces <span class="Bump-link-symbol float-right text-normal color-text-tertiary pr-3">→</span></a></li>
- <li class="edge-item-fix"><a href="/features/packages" class="py-2 lh-condensed-ultra d-block Link--secondary no-underline f5 Bump-link--hover">Packages <span class="Bump-link-symbol float-right text-normal color-text-tertiary pr-3">→</span></a></li>
- <li class="edge-item-fix"><a href="/features/security" class="py-2 lh-condensed-ultra d-block Link--secondary no-underline f5 Bump-link--hover">Security <span class="Bump-link-symbol float-right text-normal color-text-tertiary pr-3">→</span></a></li>
- <li class="edge-item-fix"><a href="/features/code-review/" class="py-2 lh-condensed-ultra d-block Link--secondary no-underline f5 Bump-link--hover">Code review <span class="Bump-link-symbol float-right text-normal color-text-tertiary pr-3">→</span></a></li>
- <li class="edge-item-fix"><a href="/features/project-management/" class="py-2 lh-condensed-ultra d-block Link--secondary no-underline f5 Bump-link--hover">Project management <span class="Bump-link-symbol float-right text-normal color-text-tertiary pr-3">→</span></a></li>
- <li class="edge-item-fix"><a href="/features/integrations" class="py-2 lh-condensed-ultra d-block Link--secondary no-underline f5 Bump-link--hover">Integrations <span class="Bump-link-symbol float-right text-normal color-text-tertiary pr-3">→</span></a></li>
- </ul>
-
- <ul class="list-style-none mb-0 border-lg-top pt-lg-3">
- <li class="edge-item-fix"><a href="/sponsors" class="py-2 lh-condensed-ultra d-block no-underline Link--primary no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Sponsors">GitHub Sponsors <span class="Bump-link-symbol float-right text-normal color-text-tertiary pr-3">→</span></a></li>
- <li class="edge-item-fix"><a href="/customer-stories" class="py-2 lh-condensed-ultra d-block no-underline Link--primary no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Customer stories">Customer stories<span class="Bump-link-symbol float-right text-normal color-text-tertiary pr-3">→</span></a></li>
- </ul>
- </div>
- </details>
- </li>
- <li class="border-bottom border-lg-bottom-0 mr-0 mr-lg-3">
- <a href="/team" class="HeaderMenu-link no-underline py-3 d-block d-lg-inline-block" data-ga-click="(Logged out) Header, go to Team">Team</a>
- </li>
- <li class="border-bottom border-lg-bottom-0 mr-0 mr-lg-3">
- <a href="/enterprise" class="HeaderMenu-link no-underline py-3 d-block d-lg-inline-block" data-ga-click="(Logged out) Header, go to Enterprise">Enterprise</a>
- </li>
-
- <li class="d-block d-lg-flex flex-lg-nowrap flex-lg-items-center border-bottom border-lg-bottom-0 mr-0 mr-lg-3 edge-item-fix position-relative flex-wrap flex-justify-between d-flex flex-items-center ">
- <details class="HeaderMenu-details details-overlay details-reset width-full">
- <summary class="HeaderMenu-summary HeaderMenu-link px-0 py-3 border-0 no-wrap d-block d-lg-inline-block">
- Explore
- <svg x="0px" y="0px" viewBox="0 0 14 8" xml:space="preserve" fill="none" class="icon-chevon-down-mktg position-absolute position-lg-relative">
- <path d="M1,1l6.2,6L13,1"></path>
- </svg>
- </summary>
-
- <div class="dropdown-menu flex-auto rounded px-0 pt-2 pb-0 mt-0 pb-4 p-lg-4 position-relative position-lg-absolute left-0 left-lg-n4">
- <ul class="list-style-none mb-3">
- <li class="edge-item-fix"><a href="/explore" class="py-2 lh-condensed-ultra d-block Link--primary no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Explore">Explore GitHub <span class="Bump-link-symbol float-right text-normal color-text-tertiary pr-3">→</span></a></li>
- </ul>
-
- <h4 class="color-text-tertiary text-normal text-mono f5 mb-2 border-lg-top pt-lg-3">Learn and contribute</h4>
- <ul class="list-style-none mb-3">
- <li class="edge-item-fix"><a href="/topics" class="py-2 lh-condensed-ultra d-block Link--secondary no-underline f5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Topics">Topics <span class="Bump-link-symbol float-right text-normal color-text-tertiary pr-3">→</span></a></li>
- <li class="edge-item-fix"><a href="/collections" class="py-2 lh-condensed-ultra d-block Link--secondary no-underline f5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Collections">Collections <span class="Bump-link-symbol float-right text-normal color-text-tertiary pr-3">→</span></a></li>
- <li class="edge-item-fix"><a href="/trending" class="py-2 lh-condensed-ultra d-block Link--secondary no-underline f5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Trending">Trending <span class="Bump-link-symbol float-right text-normal color-text-tertiary pr-3">→</span></a></li>
- <li class="edge-item-fix"><a href="https://lab.github.com/" class="py-2 lh-condensed-ultra d-block Link--secondary no-underline f5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Learning lab">Learning Lab <span class="Bump-link-symbol float-right text-normal color-text-tertiary pr-3">→</span></a></li>
- <li class="edge-item-fix"><a href="https://opensource.guide" class="py-2 lh-condensed-ultra d-block Link--secondary no-underline f5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Open source guides">Open source guides <span class="Bump-link-symbol float-right text-normal color-text-tertiary pr-3">→</span></a></li>
- </ul>
-
- <h4 class="color-text-tertiary text-normal text-mono f5 mb-2 border-lg-top pt-lg-3">Connect with others</h4>
- <ul class="list-style-none mb-0">
- <li class="edge-item-fix"><a href="https://github.com/readme" class="py-2 lh-condensed-ultra d-block Link--secondary no-underline f5 Bump-link--hover">The ReadME Project <span class="Bump-link-symbol float-right text-normal color-text-tertiary pr-3">→</span></a></li>
- <li class="edge-item-fix"><a href="https://github.com/events" class="py-2 lh-condensed-ultra d-block Link--secondary no-underline f5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Events">Events <span class="Bump-link-symbol float-right text-normal color-text-tertiary pr-3">→</span></a></li>
- <li class="edge-item-fix"><a href="https://github.community" class="py-2 lh-condensed-ultra d-block Link--secondary no-underline f5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Community forum">Community forum <span class="Bump-link-symbol float-right text-normal color-text-tertiary pr-3">→</span></a></li>
- <li class="edge-item-fix"><a href="https://education.github.com" class="py-2 lh-condensed-ultra d-block Link--secondary no-underline f5 Bump-link--hover" data-ga-click="(Logged out) Header, go to GitHub Education">GitHub Education <span class="Bump-link-symbol float-right text-normal color-text-tertiary pr-3">→</span></a></li>
- <li class="edge-item-fix"><a href="https://stars.github.com" class="py-2 pb-0 lh-condensed-ultra d-block Link--secondary no-underline f5 Bump-link--hover" data-ga-click="(Logged out) Header, go to GitHub Stars Program">GitHub Stars program <span class="Bump-link-symbol float-right text-normal color-text-tertiary pr-3">→</span></a></li>
- </ul>
- </div>
- </details>
- </li>
-
- <li class="border-bottom border-lg-bottom-0 mr-0 mr-lg-3">
- <a href="/marketplace" class="HeaderMenu-link no-underline py-3 d-block d-lg-inline-block" data-ga-click="(Logged out) Header, go to Marketplace">Marketplace</a>
- </li>
-
- <li class="d-block d-lg-flex flex-lg-nowrap flex-lg-items-center border-bottom border-lg-bottom-0 mr-0 mr-lg-3 edge-item-fix position-relative flex-wrap flex-justify-between d-flex flex-items-center ">
- <details class="HeaderMenu-details details-overlay details-reset width-full">
- <summary class="HeaderMenu-summary HeaderMenu-link px-0 py-3 border-0 no-wrap d-block d-lg-inline-block">
- Pricing
- <svg x="0px" y="0px" viewBox="0 0 14 8" xml:space="preserve" fill="none" class="icon-chevon-down-mktg position-absolute position-lg-relative">
- <path d="M1,1l6.2,6L13,1"></path>
- </svg>
- </summary>
-
- <div class="dropdown-menu flex-auto rounded px-0 pt-2 pb-4 mt-0 p-lg-4 position-relative position-lg-absolute left-0 left-lg-n4">
- <a href="/pricing" class="pb-2 lh-condensed-ultra d-block Link--primary no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Pricing">Plans <span class="Bump-link-symbol float-right text-normal color-text-tertiary pr-3">→</span></a>
-
- <ul class="list-style-none mb-3">
- <li class="edge-item-fix"><a href="/pricing#feature-comparison" class="py-2 lh-condensed-ultra d-block Link--secondary no-underline f5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Compare plans">Compare plans <span class="Bump-link-symbol float-right text-normal color-text-tertiary pr-3">→</span></a></li>
- <li class="edge-item-fix"><a href="https://enterprise.github.com/contact" class="py-2 lh-condensed-ultra d-block Link--secondary no-underline f5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Contact Sales">Contact Sales <span class="Bump-link-symbol float-right text-normal color-text-tertiary pr-3">→</span></a></li>
- </ul>
-
- <ul class="list-style-none mb-0 border-lg-top pt-lg-3">
- <li class="edge-item-fix"><a href="https://education.github.com" class="py-2 pb-0 lh-condensed-ultra d-block no-underline Link--primary no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Education">Education <span class="Bump-link-symbol float-right text-normal color-text-tertiary pr-3">→</span></a></li>
- </ul>
- </div>
- </details>
- </li>
- </ul>
- </nav>
-
- <div class="d-lg-flex flex-items-center px-3 px-lg-0 text-center text-lg-left">
- <div class="d-lg-flex min-width-0 mb-3 mb-lg-0">
-
- <div class="header-search flex-auto js-site-search position-relative flex-self-stretch flex-md-self-auto mb-3 mb-md-0 mr-0 mr-md-3 scoped-search site-scoped-search js-jump-to"
- role="combobox"
- aria-owns="jump-to-results"
- aria-label="Search or jump to"
- aria-haspopup="listbox"
- aria-expanded="false"
- >
- <div class="position-relative">
- <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="js-site-search-form" role="search" aria-label="Site" data-scope-type="Repository" data-scope-id="301474501" data-scoped-search-url="/CaseOf/palemoon-overlay/search" data-owner-scoped-search-url="/users/CaseOf/search" data-unscoped-search-url="/search" action="/CaseOf/palemoon-overlay/search" accept-charset="UTF-8" method="get">
- <label class="form-control input-sm header-search-wrapper p-0 js-chromeless-input-container header-search-wrapper-jump-to position-relative d-flex flex-justify-between flex-items-center">
- <input type="text"
- class="form-control input-sm header-search-input jump-to-field js-jump-to-field js-site-search-focus js-site-search-field is-clearable"
- data-hotkey="s,/"
- name="q"
- value=""
- placeholder="Search"
- data-unscoped-placeholder="Search GitHub"
- data-scoped-placeholder="Search"
- autocapitalize="off"
- aria-autocomplete="list"
- aria-controls="jump-to-results"
- aria-label="Search"
- data-jump-to-suggestions-path="/_graphql/GetSuggestedNavigationDestinations"
- spellcheck="false"
- autocomplete="off"
- >
- <input type="hidden" data-csrf="true" class="js-data-jump-to-suggestions-path-csrf" value="6/7SkDsJ+5fvwrz22risjzZanIsG4s/IfB9cAQGz+MloyO5ztLt33uHwI8JtEU8ZIEyHNXheh8DoVyEpA4KfbQ==" />
- <input type="hidden" class="js-site-search-type-field" name="type" >
- <img src="https://github.githubassets.com/images/search-key-slash.svg" alt="" class="mr-2 header-search-key-slash">
-
- <div class="Box position-absolute overflow-hidden d-none jump-to-suggestions js-jump-to-suggestions-container">
-
-<ul class="d-none js-jump-to-suggestions-template-container">
-
-
-<li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-suggestion" role="option">
- <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="" data-item-type="suggestion">
- <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none">
- <svg height="16" width="16" class="octicon octicon-repo flex-shrink-0 js-jump-to-octicon-repo d-none" title="Repository" aria-label="Repository" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path></svg>
- <svg height="16" width="16" class="octicon octicon-project flex-shrink-0 js-jump-to-octicon-project d-none" title="Project" aria-label="Project" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path></svg>
- <svg height="16" width="16" class="octicon octicon-search flex-shrink-0 js-jump-to-octicon-search d-none" title="Search" aria-label="Search" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path></svg>
- </div>
-
- <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28">
-
- <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target">
- </div>
-
- <div class="border rounded-1 flex-shrink-0 color-bg-tertiary px-1 color-text-tertiary ml-1 f6 d-none js-jump-to-badge-search">
- <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this repository">
- In this repository
- </span>
- <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub">
- All GitHub
- </span>
- <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span>
- </div>
-
- <div aria-hidden="true" class="border rounded-1 flex-shrink-0 color-bg-tertiary px-1 color-text-tertiary ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump">
- Jump to
- <span class="d-inline-block ml-1 v-align-middle">↵</span>
- </div>
- </a>
-</li>
-
-</ul>
-
-<ul class="d-none js-jump-to-no-results-template-container">
- <li class="d-flex flex-justify-center flex-items-center f5 d-none js-jump-to-suggestion p-2">
- <span class="color-text-secondary">No suggested jump to results</span>
- </li>
-</ul>
-
-<ul id="jump-to-results" role="listbox" class="p-0 m-0 js-navigation-container jump-to-suggestions-results-container js-jump-to-suggestions-results-container">
-
-
-<li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-scoped-search d-none" role="option">
- <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="" data-item-type="scoped_search">
- <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none">
- <svg height="16" width="16" class="octicon octicon-repo flex-shrink-0 js-jump-to-octicon-repo d-none" title="Repository" aria-label="Repository" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path></svg>
- <svg height="16" width="16" class="octicon octicon-project flex-shrink-0 js-jump-to-octicon-project d-none" title="Project" aria-label="Project" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path></svg>
- <svg height="16" width="16" class="octicon octicon-search flex-shrink-0 js-jump-to-octicon-search d-none" title="Search" aria-label="Search" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path></svg>
- </div>
-
- <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28">
-
- <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target">
- </div>
-
- <div class="border rounded-1 flex-shrink-0 color-bg-tertiary px-1 color-text-tertiary ml-1 f6 d-none js-jump-to-badge-search">
- <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this repository">
- In this repository
- </span>
- <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub">
- All GitHub
- </span>
- <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span>
- </div>
-
- <div aria-hidden="true" class="border rounded-1 flex-shrink-0 color-bg-tertiary px-1 color-text-tertiary ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump">
- Jump to
- <span class="d-inline-block ml-1 v-align-middle">↵</span>
- </div>
- </a>
-</li>
-
-
-
-<li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-owner-scoped-search d-none" role="option">
- <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="" data-item-type="owner_scoped_search">
- <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none">
- <svg height="16" width="16" class="octicon octicon-repo flex-shrink-0 js-jump-to-octicon-repo d-none" title="Repository" aria-label="Repository" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path></svg>
- <svg height="16" width="16" class="octicon octicon-project flex-shrink-0 js-jump-to-octicon-project d-none" title="Project" aria-label="Project" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path></svg>
- <svg height="16" width="16" class="octicon octicon-search flex-shrink-0 js-jump-to-octicon-search d-none" title="Search" aria-label="Search" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path></svg>
- </div>
-
- <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28">
-
- <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target">
- </div>
-
- <div class="border rounded-1 flex-shrink-0 color-bg-tertiary px-1 color-text-tertiary ml-1 f6 d-none js-jump-to-badge-search">
- <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this user">
- In this user
- </span>
- <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub">
- All GitHub
- </span>
- <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span>
- </div>
-
- <div aria-hidden="true" class="border rounded-1 flex-shrink-0 color-bg-tertiary px-1 color-text-tertiary ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump">
- Jump to
- <span class="d-inline-block ml-1 v-align-middle">↵</span>
- </div>
- </a>
-</li>
-
-
-
-<li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-global-search d-none" role="option">
- <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="" data-item-type="global_search">
- <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none">
- <svg height="16" width="16" class="octicon octicon-repo flex-shrink-0 js-jump-to-octicon-repo d-none" title="Repository" aria-label="Repository" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path></svg>
- <svg height="16" width="16" class="octicon octicon-project flex-shrink-0 js-jump-to-octicon-project d-none" title="Project" aria-label="Project" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path></svg>
- <svg height="16" width="16" class="octicon octicon-search flex-shrink-0 js-jump-to-octicon-search d-none" title="Search" aria-label="Search" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path></svg>
- </div>
-
- <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28">
-
- <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target">
- </div>
-
- <div class="border rounded-1 flex-shrink-0 color-bg-tertiary px-1 color-text-tertiary ml-1 f6 d-none js-jump-to-badge-search">
- <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this repository">
- In this repository
- </span>
- <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub">
- All GitHub
- </span>
- <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span>
- </div>
-
- <div aria-hidden="true" class="border rounded-1 flex-shrink-0 color-bg-tertiary px-1 color-text-tertiary ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump">
- Jump to
- <span class="d-inline-block ml-1 v-align-middle">↵</span>
- </div>
- </a>
-</li>
-
-
-</ul>
-
- </div>
- </label>
-</form> </div>
- </div>
-
- </div>
-
- <a href="/login?return_to=%2FCaseOf%2Fpalemoon-overlay%2Fblob%2Fmaster%2Fwww-client%2Fpalemoon%2Ffiles%2Ficon%2Fpalemoon.desktop"
- class="HeaderMenu-link flex-shrink-0 no-underline mr-3"
- data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"site header menu","repository_id":null,"auth_type":"SIGN_UP","originating_url":"https://github.com/CaseOf/palemoon-overlay/blob/master/www-client/palemoon/files/icon/palemoon.desktop","user_id":null}}" data-hydro-click-hmac="73cd538c0705e18b16654a9eec13e25bac9697f46559315e705ff10a62b25a8e"
- data-ga-click="(Logged out) Header, clicked Sign in, text:sign-in">
- Sign in
- </a>
- <nux-signup-candidates
- data-attribute-name="href"
- data-candidate-url="/join_next?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fblob%2Fshow&source=header-repo&source_repo=CaseOf%2Fpalemoon-overlay"
- data-action="loaded:nux-signup-candidates#determineSignupAction"
-
- >
- <a href="/join?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fblob%2Fshow&source=header-repo&source_repo=CaseOf%2Fpalemoon-overlay"
- class="HeaderMenu-link flex-shrink-0 d-inline-block no-underline border color-border-tertiary rounded px-2 py-1"
- data-target="nux-signup-candidates.signupAction"
- data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"site header menu","repository_id":null,"auth_type":"SIGN_UP","originating_url":"https://github.com/CaseOf/palemoon-overlay/blob/master/www-client/palemoon/files/icon/palemoon.desktop","user_id":null}}" data-hydro-click-hmac="73cd538c0705e18b16654a9eec13e25bac9697f46559315e705ff10a62b25a8e"
- data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Sign up","action":"click to sign up for account","label":"ref_page:/<user-name>/<repo-name>/blob/show;ref_cta:Sign up;ref_loc:header logged out","originating_url":"https://github.com/CaseOf/palemoon-overlay/blob/master/www-client/palemoon/files/icon/palemoon.desktop","user_id":null}}" data-hydro-click-hmac="d926e74a718f963c016655755d578f518b3b31523ecca7dbadbb401004605573"
- >
- Sign up
- </a>
- </nux-signup-candidates>
- </div>
- </div>
- </div>
-</header>
-
- </div>
-
- <div id="start-of-content" class="show-on-focus"></div>
-
-
-
-
-
- <div data-pjax-replace id="js-flash-container">
-
-
- <template class="js-flash-template">
- <div class="flash flash-full {{ className }}">
- <div class=" px-2" >
- <button class="flash-close js-flash-close" type="button" aria-label="Dismiss this message">
- <svg aria-hidden="true" viewBox="0 0 16 16" version="1.1" height="16" width="16" class="octicon octicon-x">
- <path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path>
-</svg>
- </button>
-
- <div>{{ message }}</div>
-
- </div>
-</div>
- </template>
-</div>
-
-
-
-
- <include-fragment class="js-notification-shelf-include-fragment" data-base-src="https://github.com/notifications/beta/shelf"></include-fragment>
-
-
-
-
- <div
- class="application-main "
- data-commit-hovercards-enabled
- data-discussion-hovercards-enabled
- data-issue-and-pr-hovercards-enabled
- >
- <div itemscope itemtype="http://schema.org/SoftwareSourceCode" class="">
- <main id="js-repo-pjax-container" data-pjax-container >
-
-
-
-
-
-
-
-
-
-
- <div class="color-bg-secondary pt-3 hide-full-screen mb-5">
-
- <div class="d-flex mb-3 px-3 px-md-4 px-lg-5">
-
- <div class="flex-auto min-width-0 width-fit mr-3">
- <h1 class=" d-flex flex-wrap flex-items-center break-word f3 text-normal">
- <svg class="octicon octicon-repo-forked color-text-secondary mr-2" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M5 3.25a.75.75 0 11-1.5 0 .75.75 0 011.5 0zm0 2.122a2.25 2.25 0 10-1.5 0v.878A2.25 2.25 0 005.75 8.5h1.5v2.128a2.251 2.251 0 101.5 0V8.5h1.5a2.25 2.25 0 002.25-2.25v-.878a2.25 2.25 0 10-1.5 0v.878a.75.75 0 01-.75.75h-4.5A.75.75 0 015 6.25v-.878zm3.75 7.378a.75.75 0 11-1.5 0 .75.75 0 011.5 0zm3-8.75a.75.75 0 100-1.5.75.75 0 000 1.5z"></path></svg>
- <span class="author flex-self-stretch" itemprop="author">
- <a class="url fn" rel="author" data-hovercard-type="user" data-hovercard-url="/users/CaseOf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/CaseOf">CaseOf</a>
- </span>
- <span class="mx-1 flex-self-stretch color-text-secondary">/</span>
- <strong itemprop="name" class="mr-2 flex-self-stretch">
- <a data-pjax="#js-repo-pjax-container" href="/CaseOf/palemoon-overlay">palemoon-overlay</a>
- </strong>
-
-</h1>
-
- <span class="text-small lh-condensed-ultra no-wrap mt-1" data-repository-hovercards-enabled>
- forked from <a data-hovercard-type="repository" data-hovercard-url="/deu/palemoon-overlay/hovercard" href="/deu/palemoon-overlay">deu/palemoon-overlay</a>
- </span>
-
- </div>
-
- <ul class="pagehead-actions flex-shrink-0 d-none d-md-inline" style="padding: 2px 0;">
-
- <li>
- <a class="tooltipped tooltipped-s btn btn-sm" aria-label="You must be signed in to change notification settings" rel="nofollow" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"notification subscription menu watch","repository_id":null,"auth_type":"LOG_IN","originating_url":"https://github.com/CaseOf/palemoon-overlay/blob/master/www-client/palemoon/files/icon/palemoon.desktop","user_id":null}}" data-hydro-click-hmac="ecad392efde83cbea354a4f012cee6089522d62292c640c2abf41d1c3e7d7df1" href="/login?return_to=%2FCaseOf%2Fpalemoon-overlay">
- <svg aria-hidden="true" viewBox="0 0 16 16" version="1.1" height="16" width="16" class="octicon octicon-bell">
- <path d="M8 16a2 2 0 001.985-1.75c.017-.137-.097-.25-.235-.25h-3.5c-.138 0-.252.113-.235.25A2 2 0 008 16z"></path><path fill-rule="evenodd" d="M8 1.5A3.5 3.5 0 004.5 5v2.947c0 .346-.102.683-.294.97l-1.703 2.556a.018.018 0 00-.003.01l.001.006c0 .002.002.004.004.006a.017.017 0 00.006.004l.007.001h10.964l.007-.001a.016.016 0 00.006-.004.016.016 0 00.004-.006l.001-.007a.017.017 0 00-.003-.01l-1.703-2.554a1.75 1.75 0 01-.294-.97V5A3.5 3.5 0 008 1.5zM3 5a5 5 0 0110 0v2.947c0 .05.015.098.042.139l1.703 2.555A1.518 1.518 0 0113.482 13H2.518a1.518 1.518 0 01-1.263-2.36l1.703-2.554A.25.25 0 003 7.947V5z"></path>
-</svg>
- Notifications
-</a>
- </li>
-
- <li>
- <a class="btn btn-sm btn-with-count tooltipped tooltipped-s" aria-label="You must be signed in to star a repository" rel="nofollow" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"star button","repository_id":301474501,"auth_type":"LOG_IN","originating_url":"https://github.com/CaseOf/palemoon-overlay/blob/master/www-client/palemoon/files/icon/palemoon.desktop","user_id":null}}" data-hydro-click-hmac="bca16dff1056d7beeb998f7540d1317aa8ec35a0d24891295d95df13c832f575" href="/login?return_to=%2FCaseOf%2Fpalemoon-overlay">
- <svg aria-hidden="true" viewBox="0 0 16 16" version="1.1" height="16" width="16" class="octicon octicon-star v-align-text-bottom mr-1">
- <path fill-rule="evenodd" d="M8 .25a.75.75 0 01.673.418l1.882 3.815 4.21.612a.75.75 0 01.416 1.279l-3.046 2.97.719 4.192a.75.75 0 01-1.088.791L8 12.347l-3.766 1.98a.75.75 0 01-1.088-.79l.72-4.194L.818 6.374a.75.75 0 01.416-1.28l4.21-.611L7.327.668A.75.75 0 018 .25zm0 2.445L6.615 5.5a.75.75 0 01-.564.41l-3.097.45 2.24 2.184a.75.75 0 01.216.664l-.528 3.084 2.769-1.456a.75.75 0 01.698 0l2.77 1.456-.53-3.084a.75.75 0 01.216-.664l2.24-2.183-3.096-.45a.75.75 0 01-.564-.41L8 2.694v.001z"></path>
-</svg>
- <span>
- Star
-</span></a>
- <a class="social-count js-social-count" href="/CaseOf/palemoon-overlay/stargazers"
- aria-label="0 users starred this repository">
- 0
- </a>
-
- </li>
-
- <li>
- <a class="btn btn-sm btn-with-count tooltipped tooltipped-s" aria-label="You must be signed in to fork a repository" rel="nofollow" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"repo details fork button","repository_id":301474501,"auth_type":"LOG_IN","originating_url":"https://github.com/CaseOf/palemoon-overlay/blob/master/www-client/palemoon/files/icon/palemoon.desktop","user_id":null}}" data-hydro-click-hmac="a79c2e8260f16bba995e30e36663768f88a40cab5a328af6c556af397d3baab8" href="/login?return_to=%2FCaseOf%2Fpalemoon-overlay">
- <svg aria-hidden="true" viewBox="0 0 16 16" version="1.1" height="16" width="16" class="octicon octicon-repo-forked">
- <path fill-rule="evenodd" d="M5 3.25a.75.75 0 11-1.5 0 .75.75 0 011.5 0zm0 2.122a2.25 2.25 0 10-1.5 0v.878A2.25 2.25 0 005.75 8.5h1.5v2.128a2.251 2.251 0 101.5 0V8.5h1.5a2.25 2.25 0 002.25-2.25v-.878a2.25 2.25 0 10-1.5 0v.878a.75.75 0 01-.75.75h-4.5A.75.75 0 015 6.25v-.878zm3.75 7.378a.75.75 0 11-1.5 0 .75.75 0 011.5 0zm3-8.75a.75.75 0 100-1.5.75.75 0 000 1.5z"></path>
-</svg>
- Fork
-</a>
- <a href="/CaseOf/palemoon-overlay/network/members" class="social-count"
- aria-label="10 users forked this repository">
- 10
- </a>
- </li>
-</ul>
-
- </div>
-
-
- <nav data-pjax="#js-repo-pjax-container" aria-label="Repository" class="js-repo-nav js-sidenav-container-pjax js-responsive-underlinenav overflow-hidden UnderlineNav px-3 px-md-4 px-lg-5 color-bg-secondary">
-
- <ul class="UnderlineNav-body list-style-none">
- <li class="d-flex">
- <a href="/CaseOf/palemoon-overlay" data-tab-item="i0code-tab" data-selected-links="repo_source repo_downloads repo_commits repo_releases repo_tags repo_branches repo_packages repo_deployments /CaseOf/palemoon-overlay" data-hotkey="g c" data-ga-click="Repository, Navigation click, Code tab" aria-current="page" class="UnderlineNav-item hx_underlinenav-item no-wrap js-responsive-underlinenav-item selected">
-
- <svg aria-hidden="true" viewBox="0 0 16 16" version="1.1" height="16" width="16" class="octicon octicon-code UnderlineNav-octicon d-none d-sm-inline">
- <path fill-rule="evenodd" d="M4.72 3.22a.75.75 0 011.06 1.06L2.06 8l3.72 3.72a.75.75 0 11-1.06 1.06L.47 8.53a.75.75 0 010-1.06l4.25-4.25zm6.56 0a.75.75 0 10-1.06 1.06L13.94 8l-3.72 3.72a.75.75 0 101.06 1.06l4.25-4.25a.75.75 0 000-1.06l-4.25-4.25z"></path>
-</svg>
- <span data-content="Code">Code</span>
- <span title="Not available" class="Counter"></span>
-
-
-</a></li>
- <li class="d-flex">
- <a href="/CaseOf/palemoon-overlay/pulls" data-tab-item="i1pull-requests-tab" data-selected-links="repo_pulls checks /CaseOf/palemoon-overlay/pulls" data-hotkey="g p" data-ga-click="Repository, Navigation click, Pull requests tab" class="UnderlineNav-item hx_underlinenav-item no-wrap js-responsive-underlinenav-item">
-
- <svg aria-hidden="true" viewBox="0 0 16 16" version="1.1" height="16" width="16" class="octicon octicon-git-pull-request UnderlineNav-octicon d-none d-sm-inline">
- <path fill-rule="evenodd" d="M7.177 3.073L9.573.677A.25.25 0 0110 .854v4.792a.25.25 0 01-.427.177L7.177 3.427a.25.25 0 010-.354zM3.75 2.5a.75.75 0 100 1.5.75.75 0 000-1.5zm-2.25.75a2.25 2.25 0 113 2.122v5.256a2.251 2.251 0 11-1.5 0V5.372A2.25 2.25 0 011.5 3.25zM11 2.5h-1V4h1a1 1 0 011 1v5.628a2.251 2.251 0 101.5 0V5A2.5 2.5 0 0011 2.5zm1 10.25a.75.75 0 111.5 0 .75.75 0 01-1.5 0zM3.75 12a.75.75 0 100 1.5.75.75 0 000-1.5z"></path>
-</svg>
- <span data-content="Pull requests">Pull requests</span>
- <span title="0" hidden="hidden" class="Counter">0</span>
-
-
-</a></li>
- <li class="d-flex">
- <a href="/CaseOf/palemoon-overlay/actions" data-tab-item="i2actions-tab" data-selected-links="repo_actions /CaseOf/palemoon-overlay/actions" data-hotkey="g a" data-ga-click="Repository, Navigation click, Actions tab" class="UnderlineNav-item hx_underlinenav-item no-wrap js-responsive-underlinenav-item">
-
- <svg aria-hidden="true" viewBox="0 0 16 16" version="1.1" height="16" width="16" class="octicon octicon-play UnderlineNav-octicon d-none d-sm-inline">
- <path fill-rule="evenodd" d="M1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0zM8 0a8 8 0 100 16A8 8 0 008 0zM6.379 5.227A.25.25 0 006 5.442v5.117a.25.25 0 00.379.214l4.264-2.559a.25.25 0 000-.428L6.379 5.227z"></path>
-</svg>
- <span data-content="Actions">Actions</span>
- <span title="Not available" class="Counter"></span>
-
-
-</a></li>
- <li class="d-flex">
- <a href="/CaseOf/palemoon-overlay/projects" data-tab-item="i3projects-tab" data-selected-links="repo_projects new_repo_project repo_project /CaseOf/palemoon-overlay/projects" data-hotkey="g b" data-ga-click="Repository, Navigation click, Projects tab" class="UnderlineNav-item hx_underlinenav-item no-wrap js-responsive-underlinenav-item">
-
- <svg aria-hidden="true" viewBox="0 0 16 16" version="1.1" height="16" width="16" class="octicon octicon-project UnderlineNav-octicon d-none d-sm-inline">
- <path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path>
-</svg>
- <span data-content="Projects">Projects</span>
- <span title="0" hidden="hidden" class="Counter">0</span>
-
-
-</a></li>
- <li class="d-flex">
- <a href="/CaseOf/palemoon-overlay/wiki" data-tab-item="i4wiki-tab" data-selected-links="repo_wiki /CaseOf/palemoon-overlay/wiki" data-hotkey="g w" data-ga-click="Repository, Navigation click, Wikis tab" class="UnderlineNav-item hx_underlinenav-item no-wrap js-responsive-underlinenav-item">
-
- <svg aria-hidden="true" viewBox="0 0 16 16" version="1.1" height="16" width="16" class="octicon octicon-book UnderlineNav-octicon d-none d-sm-inline">
- <path fill-rule="evenodd" d="M0 1.75A.75.75 0 01.75 1h4.253c1.227 0 2.317.59 3 1.501A3.744 3.744 0 0111.006 1h4.245a.75.75 0 01.75.75v10.5a.75.75 0 01-.75.75h-4.507a2.25 2.25 0 00-1.591.659l-.622.621a.75.75 0 01-1.06 0l-.622-.621A2.25 2.25 0 005.258 13H.75a.75.75 0 01-.75-.75V1.75zm8.755 3a2.25 2.25 0 012.25-2.25H14.5v9h-3.757c-.71 0-1.4.201-1.992.572l.004-7.322zm-1.504 7.324l.004-5.073-.002-2.253A2.25 2.25 0 005.003 2.5H1.5v9h3.757a3.75 3.75 0 011.994.574z"></path>
-</svg>
- <span data-content="Wiki">Wiki</span>
- <span title="Not available" class="Counter"></span>
-
-
-</a></li>
- <li class="d-flex">
- <a href="/CaseOf/palemoon-overlay/security" data-tab-item="i5security-tab" data-selected-links="security overview alerts policy token_scanning code_scanning /CaseOf/palemoon-overlay/security" data-hotkey="g s" data-ga-click="Repository, Navigation click, Security tab" class="UnderlineNav-item hx_underlinenav-item no-wrap js-responsive-underlinenav-item">
-
- <svg aria-hidden="true" viewBox="0 0 16 16" version="1.1" height="16" width="16" class="octicon octicon-shield UnderlineNav-octicon d-none d-sm-inline">
- <path fill-rule="evenodd" d="M7.467.133a1.75 1.75 0 011.066 0l5.25 1.68A1.75 1.75 0 0115 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.7 1.7 0 01-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 011.217-1.667l5.25-1.68zm.61 1.429a.25.25 0 00-.153 0l-5.25 1.68a.25.25 0 00-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.2.2 0 00.154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.25.25 0 00-.174-.237l-5.25-1.68zM9 10.5a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.75a.75.75 0 10-1.5 0v3a.75.75 0 001.5 0v-3z"></path>
-</svg>
- <span data-content="Security">Security</span>
- <include-fragment src="/CaseOf/palemoon-overlay/security/overall-count" accept="text/fragment+html"></include-fragment>
-
-
-</a></li>
- <li class="d-flex">
- <a href="/CaseOf/palemoon-overlay/pulse" data-tab-item="i6insights-tab" data-selected-links="repo_graphs repo_contributors dependency_graph dependabot_updates pulse people community /CaseOf/palemoon-overlay/pulse" data-ga-click="Repository, Navigation click, Insights tab" class="UnderlineNav-item hx_underlinenav-item no-wrap js-responsive-underlinenav-item">
-
- <svg aria-hidden="true" viewBox="0 0 16 16" version="1.1" height="16" width="16" class="octicon octicon-graph UnderlineNav-octicon d-none d-sm-inline">
- <path fill-rule="evenodd" d="M1.5 1.75a.75.75 0 00-1.5 0v12.5c0 .414.336.75.75.75h14.5a.75.75 0 000-1.5H1.5V1.75zm14.28 2.53a.75.75 0 00-1.06-1.06L10 7.94 7.53 5.47a.75.75 0 00-1.06 0L3.22 8.72a.75.75 0 001.06 1.06L7 7.06l2.47 2.47a.75.75 0 001.06 0l5.25-5.25z"></path>
-</svg>
- <span data-content="Insights">Insights</span>
- <span title="Not available" class="Counter"></span>
-
-
-</a></li>
-</ul>
- <div style="visibility:hidden;" class="UnderlineNav-actions js-responsive-underlinenav-overflow position-absolute pr-3 pr-md-4 pr-lg-5 right-0"> <details class="details-overlay details-reset position-relative">
- <summary role="button"> <div class="UnderlineNav-item mr-0 border-0">
- <svg aria-hidden="true" viewBox="0 0 16 16" version="1.1" height="16" width="16" class="octicon octicon-kebab-horizontal">
- <path d="M8 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zM1.5 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zm13 0a1.5 1.5 0 100-3 1.5 1.5 0 000 3z"></path>
-</svg>
- <span class="sr-only">More</span>
- </div>
-</summary>
- <div> <details-menu role="menu" class="dropdown-menu dropdown-menu-sw">
-
- <ul>
- <li data-menu-item="i0code-tab" hidden>
- <a role="menuitem" class="js-selected-navigation-item dropdown-item" data-selected-links=" /CaseOf/palemoon-overlay" href="/CaseOf/palemoon-overlay">
- Code
-</a> </li>
- <li data-menu-item="i1pull-requests-tab" hidden>
- <a role="menuitem" class="js-selected-navigation-item dropdown-item" data-selected-links=" /CaseOf/palemoon-overlay/pulls" href="/CaseOf/palemoon-overlay/pulls">
- Pull requests
-</a> </li>
- <li data-menu-item="i2actions-tab" hidden>
- <a role="menuitem" class="js-selected-navigation-item dropdown-item" data-selected-links=" /CaseOf/palemoon-overlay/actions" href="/CaseOf/palemoon-overlay/actions">
- Actions
-</a> </li>
- <li data-menu-item="i3projects-tab" hidden>
- <a role="menuitem" class="js-selected-navigation-item dropdown-item" data-selected-links=" /CaseOf/palemoon-overlay/projects" href="/CaseOf/palemoon-overlay/projects">
- Projects
-</a> </li>
- <li data-menu-item="i4wiki-tab" hidden>
- <a role="menuitem" class="js-selected-navigation-item dropdown-item" data-selected-links=" /CaseOf/palemoon-overlay/wiki" href="/CaseOf/palemoon-overlay/wiki">
- Wiki
-</a> </li>
- <li data-menu-item="i5security-tab" hidden>
- <a role="menuitem" class="js-selected-navigation-item dropdown-item" data-selected-links=" /CaseOf/palemoon-overlay/security" href="/CaseOf/palemoon-overlay/security">
- Security
-</a> </li>
- <li data-menu-item="i6insights-tab" hidden>
- <a role="menuitem" class="js-selected-navigation-item dropdown-item" data-selected-links=" /CaseOf/palemoon-overlay/pulse" href="/CaseOf/palemoon-overlay/pulse">
- Insights
-</a> </li>
- </ul>
-
-</details-menu></div>
-</details></div>
-</nav>
-
- </div>
-
-
-<div class="container-xl clearfix new-discussion-timeline px-3 px-md-4 px-lg-5">
- <div id="repo-content-pjax-container" class="repository-content " >
-
-
-
-
-<div>
-
-
-
- <a class="d-none js-permalink-shortcut" data-hotkey="y" href="/CaseOf/palemoon-overlay/blob/3a8ce27a81d71e5c64e5d23fcf3dd358e47046e0/www-client/palemoon/files/icon/palemoon.desktop">Permalink</a>
-
- <!-- blob contrib key: blob_contributors:v22:9ad82df9cccb333801b08f173d594eb1cadbb02146242d11cc01597e7c62b0d8 -->
-
- <div class="d-flex flex-items-start flex-shrink-0 pb-3 flex-wrap flex-md-nowrap flex-justify-between flex-md-justify-start">
-
-<div class="position-relative">
- <details class="details-reset details-overlay mr-0 mb-0 " id="branch-select-menu">
- <summary class="btn css-truncate"
- data-hotkey="w"
- title="Switch branches or tags">
- <svg aria-hidden="true" viewBox="0 0 16 16" version="1.1" height="16" width="16" class="octicon octicon-git-branch text-gray">
- <path fill-rule="evenodd" d="M11.75 2.5a.75.75 0 100 1.5.75.75 0 000-1.5zm-2.25.75a2.25 2.25 0 113 2.122V6A2.5 2.5 0 0110 8.5H6a1 1 0 00-1 1v1.128a2.251 2.251 0 11-1.5 0V5.372a2.25 2.25 0 111.5 0v1.836A2.492 2.492 0 016 7h4a1 1 0 001-1v-.628A2.25 2.25 0 019.5 3.25zM4.25 12a.75.75 0 100 1.5.75.75 0 000-1.5zM3.5 3.25a.75.75 0 111.5 0 .75.75 0 01-1.5 0z"></path>
-</svg>
- <span class="css-truncate-target" data-menu-button>master</span>
- <span class="dropdown-caret"></span>
- </summary>
-
-
-<div class="SelectMenu">
- <div class="SelectMenu-modal">
- <header class="SelectMenu-header">
- <span class="SelectMenu-title">Switch branches/tags</span>
- <button class="SelectMenu-closeButton" type="button" data-toggle-for="branch-select-menu"><svg aria-label="Close menu" aria-hidden="false" role="img" viewBox="0 0 16 16" version="1.1" height="16" width="16" class="octicon octicon-x">
- <path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path>
-</svg></button>
- </header>
-
- <input-demux data-action="tab-container-change:input-demux#storeInput tab-container-changed:input-demux#updateInput">
- <tab-container class="d-flex flex-column js-branches-tags-tabs" style="min-height: 0;">
- <div class="SelectMenu-filter">
- <input data-target="input-demux.source"
- id="context-commitish-filter-field"
- class="SelectMenu-input form-control"
- aria-owns="ref-list-branches"
- data-controls-ref-menu-id="ref-list-branches"
- autofocus
- autocomplete="off"
- aria-label="Filter branches/tags"
- placeholder="Filter branches/tags"
- type="text"
- >
- </div>
-
- <div class="SelectMenu-tabs" role="tablist" data-target="input-demux.control" >
- <button class="SelectMenu-tab" type="button" role="tab" aria-selected="true">Branches</button>
- <button class="SelectMenu-tab" type="button" role="tab">Tags</button>
- </div>
-
- <div role="tabpanel" id="ref-list-branches" data-filter-placeholder="Filter branches/tags" class="d-flex flex-column flex-auto overflow-auto" tabindex="">
- <ref-selector
- type="branch"
- data-targets="input-demux.sinks"
- data-action="
- input-entered:ref-selector#inputEntered
- tab-selected:ref-selector#tabSelected
- focus-list:ref-selector#focusFirstListMember
- "
- query-endpoint="/CaseOf/palemoon-overlay/refs"
-
- cache-key="v0:1613875039.866789"
- current-committish="bWFzdGVy"
- default-branch="bWFzdGVy"
- name-with-owner="Q2FzZU9mL3BhbGVtb29uLW92ZXJsYXk="
- >
-
- <template data-target="ref-selector.fetchFailedTemplate">
- <div class="SelectMenu-message" data-index="{{ index }}">Could not load branches</div>
- </template>
-
- <template data-target="ref-selector.noMatchTemplate">
- <div class="SelectMenu-message">Nothing to show</div>
-</template>
-
-
- <!-- TODO: this max-height is necessary or else the branch list won't scroll. why? -->
- <div data-target="ref-selector.listContainer" role="menu" class="SelectMenu-list " style="max-height: 330px">
- <div class="SelectMenu-loading pt-3 pb-0" aria-label="Menu is loading">
- <svg style="box-sizing: content-box; color: var(--color-icon-primary);" viewBox="0 0 16 16" fill="none" width="32" height="32" class="anim-rotate">
- <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" />
- <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" />
-</svg>
- </div>
- </div>
-
- <template data-target="ref-selector.itemTemplate">
- <a href="https://github.com/CaseOf/palemoon-overlay/blob/{{ urlEncodedRefName }}/www-client/palemoon/files/icon/palemoon.desktop" class="SelectMenu-item" role="menuitemradio" rel="nofollow" aria-checked="{{ isCurrent }}" data-index="{{ index }}">
- <svg class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path></svg>
- <span class="flex-1 css-truncate css-truncate-overflow {{ isFilteringClass }}">{{ refName }}</span>
- <span hidden="{{ isNotDefault }}" class="Label Label--secondary flex-self-start">default</span>
- </a>
-</template>
-
-
- <footer class="SelectMenu-footer"><a href="/CaseOf/palemoon-overlay/branches">View all branches</a></footer>
- </ref-selector>
-
- </div>
-
- <div role="tabpanel" id="tags-menu" data-filter-placeholder="Find a tag" class="d-flex flex-column flex-auto overflow-auto" tabindex="" hidden>
- <ref-selector
- type="tag"
- data-action="
- input-entered:ref-selector#inputEntered
- tab-selected:ref-selector#tabSelected
- focus-list:ref-selector#focusFirstListMember
- "
- data-targets="input-demux.sinks"
- query-endpoint="/CaseOf/palemoon-overlay/refs"
- cache-key="v0:1613875039.866789"
- current-committish="bWFzdGVy"
- default-branch="bWFzdGVy"
- name-with-owner="Q2FzZU9mL3BhbGVtb29uLW92ZXJsYXk="
- >
-
- <template data-target="ref-selector.fetchFailedTemplate">
- <div class="SelectMenu-message" data-index="{{ index }}">Could not load tags</div>
- </template>
-
- <template data-target="ref-selector.noMatchTemplate">
- <div class="SelectMenu-message" data-index="{{ index }}">Nothing to show</div>
- </template>
-
- <template data-target="ref-selector.itemTemplate">
- <a href="https://github.com/CaseOf/palemoon-overlay/blob/{{ urlEncodedRefName }}/www-client/palemoon/files/icon/palemoon.desktop" class="SelectMenu-item" role="menuitemradio" rel="nofollow" aria-checked="{{ isCurrent }}" data-index="{{ index }}">
- <svg class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path></svg>
- <span class="flex-1 css-truncate css-truncate-overflow {{ isFilteringClass }}">{{ refName }}</span>
- <span hidden="{{ isNotDefault }}" class="Label Label--secondary flex-self-start">default</span>
- </a>
-</template>
-
-
- <div data-target="ref-selector.listContainer" role="menu" class="SelectMenu-list" style="max-height: 330px">
- <div class="SelectMenu-loading pt-3 pb-0" aria-label="Menu is loading">
- <svg style="box-sizing: content-box; color: var(--color-icon-primary);" viewBox="0 0 16 16" fill="none" width="32" height="32" class="anim-rotate">
- <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" />
- <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" />
-</svg>
- </div>
- </div>
- <footer class="SelectMenu-footer"><a href="/CaseOf/palemoon-overlay/tags">View all tags</a></footer>
- </ref-selector>
- </div>
- </tab-container>
- </input-demux>
- </div>
-</div>
-
- </details>
-
-</div>
-
- <h2 id="blob-path" class="breadcrumb flex-auto flex-self-center min-width-0 text-normal mx-2 width-full width-md-auto flex-order-1 flex-md-order-none mt-3 mt-md-0">
- <span class="js-repo-root text-bold"><span class="js-path-segment d-inline-block wb-break-all"><a data-pjax="true" href="/CaseOf/palemoon-overlay"><span>palemoon-overlay</span></a></span></span><span class="separator">/</span><span class="js-path-segment d-inline-block wb-break-all"><a data-pjax="true" href="/CaseOf/palemoon-overlay/tree/master/www-client"><span>www-client</span></a></span><span class="separator">/</span><span class="js-path-segment d-inline-block wb-break-all"><a data-pjax="true" href="/CaseOf/palemoon-overlay/tree/master/www-client/palemoon"><span>palemoon</span></a></span><span class="separator">/</span><span class="js-path-segment d-inline-block wb-break-all"><a data-pjax="true" href="/CaseOf/palemoon-overlay/tree/master/www-client/palemoon/files"><span>files</span></a></span><span class="separator">/</span><span class="js-path-segment d-inline-block wb-break-all"><a data-pjax="true" href="/CaseOf/palemoon-overlay/tree/master/www-client/palemoon/files/icon"><span>icon</span></a></span><span class="separator">/</span><strong class="final-path">palemoon.desktop</strong>
- </h2>
- <a href="/CaseOf/palemoon-overlay/find/master"
- class="js-pjax-capture-input btn mr-2 d-none d-md-block"
- data-pjax
- data-hotkey="t">
- Go to file
- </a>
-
- <details id="blob-more-options-details" class="details-overlay details-reset position-relative">
- <summary role="button" class="btn">
-
- <svg aria-label="More options" role="img" viewBox="0 0 16 16" version="1.1" height="16" width="16" class="octicon octicon-kebab-horizontal">
- <path d="M8 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zM1.5 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zm13 0a1.5 1.5 0 100-3 1.5 1.5 0 000 3z"></path>
-</svg>
-
-
-
-</summary>
- <div> <ul class="dropdown-menu dropdown-menu-sw">
- <li class="d-block d-md-none">
- <a class="dropdown-item d-flex flex-items-baseline" data-hydro-click="{"event_type":"repository.click","payload":{"target":"FIND_FILE_BUTTON","repository_id":301474501,"originating_url":"https://github.com/CaseOf/palemoon-overlay/blob/master/www-client/palemoon/files/icon/palemoon.desktop","user_id":null}}" data-hydro-click-hmac="e6fde8124cd6b09f88c97a88629ccc47fc3d82f57cf6d5f3b33c925e28c66df4" data-ga-click="Repository, find file, location:repo overview" data-hotkey="t" data-pjax="true" href="/CaseOf/palemoon-overlay/find/master">
- <span class="flex-auto">Go to file</span>
- <span class="text-small color-text-secondary" aria-hidden="true">T</span>
-</a> </li>
- <li data-toggle-for="blob-more-options-details">
- <button type="button" data-toggle-for="jumpto-line-details-dialog" class="btn-link dropdown-item">
- <span class="d-flex flex-items-baseline">
- <span class="flex-auto">Go to line</span>
- <span class="text-small color-text-secondary" aria-hidden="true">L</span>
- </span>
- </button>
- </li>
- <li class="dropdown-divider" role="none"></li>
- <li>
- <clipboard-copy value="www-client/palemoon/files/icon/palemoon.desktop" class="dropdown-item cursor-pointer" data-toggle-for="blob-more-options-details">
- Copy path
- </clipboard-copy>
- </li>
- <li>
- <clipboard-copy value="https://github.com/CaseOf/palemoon-overlay/blob/3a8ce27a81d71e5c64e5d23fcf3dd358e47046e0/www-client/palemoon/files/icon/palemoon.desktop" class="dropdown-item cursor-pointer" data-toggle-for="blob-more-options-details" >
- <span class="d-flex flex-items-baseline">
- <span class="flex-auto">Copy permalink</span>
- </span>
- </clipboard-copy>
- </li>
- </ul>
-</div>
-</details> </div>
-
-
-
- <div class="Box d-flex flex-column flex-shrink-0 mb-3">
- <include-fragment src="/CaseOf/palemoon-overlay/contributors/master/www-client/palemoon/files/icon/palemoon.desktop" class="commit-loader">
- <div class="Box-header Box-header--blue d-flex flex-items-center">
- <div class="Skeleton avatar avatar-user flex-shrink-0 ml-n1 mr-n1 mt-n1 mb-n1" style="width:24px;height:24px;"></div>
- <div class="Skeleton Skeleton--text col-5 ml-2"> </div>
- </div>
-
- <div class="Box-body d-flex flex-items-center" >
- <div class="Skeleton Skeleton--text col-1"> </div>
- <span class="color-text-danger h6 loader-error">Cannot retrieve contributors at this time</span>
- </div>
-</include-fragment> </div>
-
-
-
-
-
-
-
-
-
- <div data-target="readme-toc.content" class="Box mt-3 position-relative
- ">
-
- <div
- class="Box-header py-2 pr-2 d-flex flex-shrink-0 flex-md-row flex-items-center"
-
- >
-
-
- <div class="text-mono f6 flex-auto pr-3 flex-order-2 flex-md-order-1">
-
- 9 lines (9 sloc)
- <span class="file-info-divider"></span>
- 403 Bytes
- </div>
-
- <div class="d-flex py-1 py-md-0 flex-auto flex-order-1 flex-md-order-2 flex-sm-grow-0 flex-justify-between hide-sm hide-md">
-
- <div class="BtnGroup">
- <a href="/CaseOf/palemoon-overlay/raw/master/www-client/palemoon/files/icon/palemoon.desktop" id="raw-url" role="button" class="btn-sm btn BtnGroup-item">
-
- Raw
-
-
-</a>
- <a href="/CaseOf/palemoon-overlay/blame/master/www-client/palemoon/files/icon/palemoon.desktop" data-hotkey="b" role="button" class="js-update-url-with-hash btn-sm btn BtnGroup-item">
-
- Blame
-
-
-</a>
- </div>
-
- <div>
- <a class="btn-octicon tooltipped tooltipped-nw js-remove-unless-platform"
- data-platforms="windows,mac"
- href="https://desktop.github.com"
- aria-label="Open this file in GitHub Desktop"
- data-ga-click="Repository, open with desktop">
- <svg aria-hidden="true" viewBox="0 0 16 16" version="1.1" height="16" width="16" class="octicon octicon-device-desktop">
- <path fill-rule="evenodd" d="M1.75 2.5h12.5a.25.25 0 01.25.25v7.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25v-7.5a.25.25 0 01.25-.25zM14.25 1H1.75A1.75 1.75 0 000 2.75v7.5C0 11.216.784 12 1.75 12h3.727c-.1 1.041-.52 1.872-1.292 2.757A.75.75 0 004.75 16h6.5a.75.75 0 00.565-1.243c-.772-.885-1.193-1.716-1.292-2.757h3.727A1.75 1.75 0 0016 10.25v-7.5A1.75 1.75 0 0014.25 1zM9.018 12H6.982a5.72 5.72 0 01-.765 2.5h3.566a5.72 5.72 0 01-.765-2.5z"></path>
-</svg>
- </a>
-
- <a href="/login?return_to=%2FCaseOf%2Fpalemoon-overlay%2Fblob%2Fmaster%2Fwww-client%2Fpalemoon%2Ffiles%2Ficon%2Fpalemoon.desktop" class="btn-octicon disabled tooltipped tooltipped-nw"
- aria-label="You must be signed in to make or propose changes">
- <svg aria-hidden="true" viewBox="0 0 16 16" version="1.1" height="16" width="16" class="octicon octicon-pencil">
- <path fill-rule="evenodd" d="M11.013 1.427a1.75 1.75 0 012.474 0l1.086 1.086a1.75 1.75 0 010 2.474l-8.61 8.61c-.21.21-.47.364-.756.445l-3.251.93a.75.75 0 01-.927-.928l.929-3.25a1.75 1.75 0 01.445-.758l8.61-8.61zm1.414 1.06a.25.25 0 00-.354 0L10.811 3.75l1.439 1.44 1.263-1.263a.25.25 0 000-.354l-1.086-1.086zM11.189 6.25L9.75 4.81l-6.286 6.287a.25.25 0 00-.064.108l-.558 1.953 1.953-.558a.249.249 0 00.108-.064l6.286-6.286z"></path>
-</svg>
- </a>
- <a href="/login?return_to=%2FCaseOf%2Fpalemoon-overlay%2Fblob%2Fmaster%2Fwww-client%2Fpalemoon%2Ffiles%2Ficon%2Fpalemoon.desktop" class="btn-octicon btn-octicon-danger disabled tooltipped tooltipped-nw"
- aria-label="You must be signed in to make or propose changes">
- <svg aria-hidden="true" viewBox="0 0 16 16" version="1.1" height="16" width="16" class="octicon octicon-trash">
- <path fill-rule="evenodd" d="M6.5 1.75a.25.25 0 01.25-.25h2.5a.25.25 0 01.25.25V3h-3V1.75zm4.5 0V3h2.25a.75.75 0 010 1.5H2.75a.75.75 0 010-1.5H5V1.75C5 .784 5.784 0 6.75 0h2.5C10.216 0 11 .784 11 1.75zM4.496 6.675a.75.75 0 10-1.492.15l.66 6.6A1.75 1.75 0 005.405 15h5.19c.9 0 1.652-.681 1.741-1.576l.66-6.6a.75.75 0 00-1.492-.149l-.66 6.6a.25.25 0 01-.249.225h-5.19a.25.25 0 01-.249-.225l-.66-6.6z"></path>
-</svg>
- </a>
- </div>
- </div>
-
- <div class="d-flex hide-lg hide-xl flex-order-2 flex-grow-0">
- <details class="dropdown details-reset details-overlay d-inline-block">
- <summary class="btn-octicon" aria-haspopup="true" aria-label="possible actions">
- <svg height="16" class="octicon octicon-kebab-horizontal" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path d="M8 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zM1.5 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zm13 0a1.5 1.5 0 100-3 1.5 1.5 0 000 3z"></path></svg>
- </summary>
-
- <ul class="dropdown-menu dropdown-menu-sw">
- <li>
- <a class="dropdown-item tooltipped tooltipped-nw js-remove-unless-platform"
- data-platforms="windows,mac"
- href="https://desktop.github.com"
- data-ga-click="Repository, open with desktop">
- Open with Desktop
- </a>
- </li>
- <li>
- <a class="dropdown-item" href="/CaseOf/palemoon-overlay/raw/master/www-client/palemoon/files/icon/palemoon.desktop">
- View raw
- </a>
- </li>
- <li>
- <a class="dropdown-item" href="/CaseOf/palemoon-overlay/blame/master/www-client/palemoon/files/icon/palemoon.desktop">
- View blame
- </a>
- </li>
-
- </ul>
- </details>
- </div>
-</div>
-
-
-
- <div itemprop="text" class="Box-body p-0 blob-wrapper data type-desktop gist-border-0">
-
-<table class="highlight tab-size js-file-line-container" data-tab-size="8" data-paste-markdown-skip>
- <tr>
- <td id="L1" class="blob-num js-line-number" data-line-number="1"></td>
- <td id="LC1" class="blob-code blob-code-inner js-file-line"><span class="pl-en">[Desktop Entry]</span></td>
- </tr>
- <tr>
- <td id="L2" class="blob-num js-line-number" data-line-number="2"></td>
- <td id="LC2" class="blob-code blob-code-inner js-file-line"><span class="pl-k">Name</span>=@NAME@</td>
- </tr>
- <tr>
- <td id="L3" class="blob-num js-line-number" data-line-number="3"></td>
- <td id="LC3" class="blob-code blob-code-inner js-file-line"><span class="pl-k">Comment</span>=Web Browser</td>
- </tr>
- <tr>
- <td id="L4" class="blob-num js-line-number" data-line-number="4"></td>
- <td id="LC4" class="blob-code blob-code-inner js-file-line"><span class="pl-k">Exec</span>=palemoon %u</td>
- </tr>
- <tr>
- <td id="L5" class="blob-num js-line-number" data-line-number="5"></td>
- <td id="LC5" class="blob-code blob-code-inner js-file-line"><span class="pl-k">Icon</span>=@ICON@</td>
- </tr>
- <tr>
- <td id="L6" class="blob-num js-line-number" data-line-number="6"></td>
- <td id="LC6" class="blob-code blob-code-inner js-file-line"><span class="pl-k">Terminal</span>=false</td>
- </tr>
- <tr>
- <td id="L7" class="blob-num js-line-number" data-line-number="7"></td>
- <td id="LC7" class="blob-code blob-code-inner js-file-line"><span class="pl-k">Type</span>=Application</td>
- </tr>
- <tr>
- <td id="L8" class="blob-num js-line-number" data-line-number="8"></td>
- <td id="LC8" class="blob-code blob-code-inner js-file-line"><span class="pl-k">MimeType</span>=text/html;text/xml;application/xhtml+xml;application/xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ftp;x-scheme-handler/chrome;video/webm;application/x-xpinstall;</td>
- </tr>
- <tr>
- <td id="L9" class="blob-num js-line-number" data-line-number="9"></td>
- <td id="LC9" class="blob-code blob-code-inner js-file-line"><span class="pl-k">Categories</span>=Network;WebBrowser;</td>
- </tr>
-</table>
-
- <details class="details-reset details-overlay BlobToolbar position-absolute js-file-line-actions dropdown d-none" aria-hidden="true">
- <summary class="btn-octicon ml-0 px-2 p-0 color-bg-primary border color-border-tertiary rounded-1" aria-label="Inline file action toolbar">
- <svg aria-hidden="true" viewBox="0 0 16 16" version="1.1" height="16" width="16" class="octicon octicon-kebab-horizontal">
- <path d="M8 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zM1.5 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zm13 0a1.5 1.5 0 100-3 1.5 1.5 0 000 3z"></path>
-</svg>
- </summary>
- <details-menu>
- <ul class="BlobToolbar-dropdown dropdown-menu dropdown-menu-se mt-2" style="width:185px">
- <li>
- <clipboard-copy role="menuitem" class="dropdown-item" id="js-copy-lines" style="cursor:pointer;">
- Copy lines
- </clipboard-copy>
- </li>
- <li>
- <clipboard-copy role="menuitem" class="dropdown-item" id="js-copy-permalink" style="cursor:pointer;">
- Copy permalink
- </clipboard-copy>
- </li>
- <li><a class="dropdown-item js-update-url-with-hash" id="js-view-git-blame" role="menuitem" href="/CaseOf/palemoon-overlay/blame/3a8ce27a81d71e5c64e5d23fcf3dd358e47046e0/www-client/palemoon/files/icon/palemoon.desktop">View git blame</a></li>
- </ul>
- </details-menu>
- </details>
-
- </div>
-
- </div>
-
-
-
-
- <details class="details-reset details-overlay details-overlay-dark" id="jumpto-line-details-dialog">
- <summary data-hotkey="l" aria-label="Jump to line"></summary>
- <details-dialog class="Box Box--overlay d-flex flex-column anim-fade-in fast linejump" aria-label="Jump to line">
- <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="js-jump-to-line-form Box-body d-flex" action="" accept-charset="UTF-8" method="get">
- <input class="form-control flex-auto mr-3 linejump-input js-jump-to-line-field" type="text" placeholder="Jump to line…" aria-label="Jump to line" autofocus>
- <button type="submit" class="btn" data-close-dialog>Go</button>
-</form> </details-dialog>
- </details>
-
-
-</div>
-
-
-
- </div>
-</div>
-
- </main>
- </div>
-
- </div>
-
-
-<div class="footer container-xl width-full p-responsive" role="contentinfo">
- <div class="position-relative d-flex flex-row-reverse flex-lg-row flex-wrap flex-lg-nowrap flex-justify-center flex-lg-justify-between pt-6 pb-2 mt-6 f6 color-text-secondary border-top color-border-secondary ">
- <ul class="list-style-none d-flex flex-wrap col-12 col-lg-5 flex-justify-center flex-lg-justify-between mb-2 mb-lg-0">
- <li class="mr-3 mr-lg-0">© 2021 GitHub, Inc.</li>
- <li class="mr-3 mr-lg-0"><a href="https://docs.github.com/en/github/site-policy/github-terms-of-service" data-ga-click="Footer, go to terms, text:terms">Terms</a></li>
- <li class="mr-3 mr-lg-0"><a href="https://docs.github.com/en/github/site-policy/github-privacy-statement" data-ga-click="Footer, go to privacy, text:privacy">Privacy</a></li>
- <li class="mr-3 mr-lg-0"><a data-ga-click="Footer, go to security, text:security" href="https://github.com/security">Security</a></li>
- <li class="mr-3 mr-lg-0"><a href="https://www.githubstatus.com/" data-ga-click="Footer, go to status, text:status">Status</a></li>
- <li><a data-ga-click="Footer, go to help, text:Docs" href="https://docs.github.com">Docs</a></li>
- </ul>
-
- <a aria-label="Homepage" title="GitHub" class="footer-octicon d-none d-lg-block mx-lg-4" href="https://github.com">
- <svg height="24" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="24" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"></path></svg>
-</a>
- <ul class="list-style-none d-flex flex-wrap col-12 col-lg-5 flex-justify-center flex-lg-justify-between mb-2 mb-lg-0">
- <li class="mr-3 mr-lg-0"><a href="https://support.github.com" data-ga-click="Footer, go to contact, text:contact">Contact GitHub</a></li>
- <li class="mr-3 mr-lg-0"><a href="https://github.com/pricing" data-ga-click="Footer, go to Pricing, text:Pricing">Pricing</a></li>
- <li class="mr-3 mr-lg-0"><a href="https://docs.github.com" data-ga-click="Footer, go to api, text:api">API</a></li>
- <li class="mr-3 mr-lg-0"><a href="https://services.github.com" data-ga-click="Footer, go to training, text:training">Training</a></li>
- <li class="mr-3 mr-lg-0"><a href="https://github.blog" data-ga-click="Footer, go to blog, text:blog">Blog</a></li>
- <li><a data-ga-click="Footer, go to about, text:about" href="https://github.com/about">About</a></li>
- </ul>
- </div>
- <div class="d-flex flex-justify-center pb-6">
- <span class="f6 color-text-tertiary"></span>
- </div>
-
-
-</div>
-
-
-
- <div id="ajax-error-message" class="ajax-error-message flash flash-error" hidden>
- <svg aria-hidden="true" viewBox="0 0 16 16" version="1.1" height="16" width="16" class="octicon octicon-alert">
- <path fill-rule="evenodd" d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z"></path>
-</svg>
- <button type="button" class="flash-close js-ajax-error-dismiss" aria-label="Dismiss error">
- <svg aria-hidden="true" viewBox="0 0 16 16" version="1.1" height="16" width="16" class="octicon octicon-x">
- <path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path>
-</svg>
- </button>
- You can’t perform that action at this time.
- </div>
-
- <div class="js-stale-session-flash flash flash-warn flash-banner" hidden
- >
- <svg aria-hidden="true" viewBox="0 0 16 16" version="1.1" height="16" width="16" class="octicon octicon-alert">
- <path fill-rule="evenodd" d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z"></path>
-</svg>
- <span class="js-stale-session-flash-signed-in" hidden>You signed in with another tab or window. <a href="">Reload</a> to refresh your session.</span>
- <span class="js-stale-session-flash-signed-out" hidden>You signed out in another tab or window. <a href="">Reload</a> to refresh your session.</span>
- </div>
- <template id="site-details-dialog">
- <details class="details-reset details-overlay details-overlay-dark lh-default color-text-primary hx_rsm" open>
- <summary role="button" aria-label="Close dialog"></summary>
- <details-dialog class="Box Box--overlay d-flex flex-column anim-fade-in fast hx_rsm-dialog hx_rsm-modal">
- <button class="Box-btn-octicon m-0 btn-octicon position-absolute right-0 top-0" type="button" aria-label="Close dialog" data-close-dialog>
- <svg aria-hidden="true" viewBox="0 0 16 16" version="1.1" height="16" width="16" class="octicon octicon-x">
- <path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path>
-</svg>
- </button>
- <div class="octocat-spinner my-6 js-details-dialog-spinner"></div>
- </details-dialog>
- </details>
-</template>
-
- <div class="Popover js-hovercard-content position-absolute" style="display: none; outline: none;" tabindex="0">
- <div class="Popover-message Popover-message--bottom-left Popover-message--large Box color-shadow-large" style="width:360px;">
- </div>
-</div>
-
-
-
-
-
- </body>
-</html>
-
+++ /dev/null
-EAPI=6
-
-REQUIRED_BUILDSPACE='16G'
-GCC_SUPPORTED_VERSIONS="4.9 5.4 7.3 8.2 8.3 8.4 9.3 10.2"
-
-inherit palemoon-5 git-r3 eutils flag-o-matic pax-utils
-
-KEYWORDS="~x86 amd64"
-DESCRIPTION="Pale Moon Web Browser"
-HOMEPAGE="https://www.palemoon.org/"
-
-SLOT="0"
-LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
-IUSE="
- +official-branding
- +optimize
- cpu_flags_x86_sse
- cpu_flags_x86_sse2
- threads
- debug
- +jemalloc
- -valgrind
- dbus
- -necko-wifi
- gnome
- gtk2
- gtk3
- pulseaudio
- +devtools
-"
-
-EGIT_REPO_URI="https://repo.palemoon.org/MoonchildProductions/Pale-Moon.git"
-EGIT_COMMIT="${PV}_Release"
-
-DEPEND="
- >=sys-devel/autoconf-2.13:2.1
- dev-lang/python:2.7
- >=dev-lang/perl-5.6
- dev-lang/yasm
-"
-
-RDEPEND="
- x11-libs/libXt
- app-arch/zip
- media-libs/freetype
- media-libs/fontconfig
-
- optimize? ( sys-libs/glibc )
-
- valgrind? ( dev-util/valgrind )
-
- dbus? (
- >=sys-apps/dbus-0.60
- >=dev-libs/dbus-glib-0.60
- )
-
- gnome? ( gnome-base/gconf )
-
- gtk2? ( >=x11-libs/gtk+-2.18.0:2 )
- gtk3? ( >=x11-libs/gtk+-3.4.0:3 )
-
- media-libs/alsa-lib
- pulseaudio? ( media-sound/pulseaudio )
-
- media-video/ffmpeg[x264]
-
- necko-wifi? ( net-wireless/wireless-tools )
-"
-
-REQUIRED_USE="
- optimize? ( !debug )
- jemalloc? ( !valgrind )
- ^^ ( gtk2 gtk3 )
- necko-wifi? ( dbus )
-"
-
-src_prepare() {
- # Ensure that our plugins dir is enabled by default:
- sed -i -e "s:/usr/lib/mozilla/plugins:/usr/lib/nsbrowser/plugins:" \
- "${S}/platform/xpcom/io/nsAppFileLocationProvider.cpp" \
- || die "sed failed to replace plugin path for 32bit!"
- sed -i -e "s:/usr/lib64/mozilla/plugins:/usr/lib64/nsbrowser/plugins:" \
- "${S}/platform/xpcom/io/nsAppFileLocationProvider.cpp" \
- || die "sed failed to replace plugin path for 64bit!"
-
- default
-}
-
-src_configure() {
- # Basic configuration:
- mozconfig_init
-
- mozconfig_disable updater install-strip accessibility
-
- if use official-branding; then
- official-branding_warning
- mozconfig_enable official-branding
- fi
-
- if use optimize; then
- O='-O2'
- if use cpu_flags_x86_sse && use cpu_flags_x86_sse2; then
- O="${O} -msse2 -mfpmath=sse"
- fi
- mozconfig_enable "optimize=\"${O}\""
- filter-flags '-O*' '-msse2' '-mfpmath=sse'
- else
- mozconfig_disable optimize
- fi
-
- if use threads; then
- mozconfig_with pthreads
- fi
-
- if use debug; then
- mozconfig_var MOZ_DEBUG_SYMBOLS 1
- mozconfig_enable "debug-symbols=\"-gdwarf-2\""
- fi
-
- if use jemalloc; then
- mozconfig_enable jemalloc
- fi
-
- if use valgrind; then
- mozconfig_enable valgrind
- fi
-
- if ! use dbus; then
- mozconfig_disable dbus
- fi
-
- if ! use gnome; then
- mozconfig_disable gconf
- fi
-
- if use gtk2; then
- mozconfig_enable default-toolkit=\"cairo-gtk2\"
- fi
-
- if use gtk3; then
- mozconfig_enable default-toolkit=\"cairo-gtk3\"
- fi
-
- if ! use necko-wifi; then
- mozconfig_disable necko-wifi
- fi
-
- if ! use pulseaudio; then
- mozconfig_disable pulseaudio
- fi
-
- if use devtools; then
- mozconfig_enable devtools
- fi
-
- # Enabling this causes xpcshell to hang during the packaging process,
- # so disabling it until the cause can be tracked down. It most likely
- # has something to do with the sandbox since the issue goes away when
- # building with FEATURES="-sandbox -usersandbox".
- mozconfig_disable precompiled-startupcache
-
- # Allow installation of Firefox GUID targeted extensions:
- mozconfig_enable phoenix-extensions
-
- # Mainly to prevent system's NSS/NSPR from taking precedence over
- # the built-in ones:
- append-ldflags -Wl,-rpath="${EPREFIX}/usr/$(get_libdir)/palemoon"
-
- export MOZBUILD_STATE_PATH="${WORKDIR}/mach_state"
- mozconfig_var PYTHON $(which python2)
- mozconfig_var AUTOCONF $(which autoconf-2.13)
- mozconfig_var MOZ_MAKE_FLAGS "\"${MAKEOPTS}\""
-
- # Shorten obj dir to limit some errors linked to the path size hitting
- # a kernel limit (127 chars):
- mozconfig_var MOZ_OBJDIR "@TOPSRCDIR@/o"
-
- # Disable mach notifications, which also cause sandbox access violations:
- export MOZ_NOSPAM=1
-}
-
-src_compile() {
- # Prevents portage from setting its own XARGS which messes with the
- # Pale Moon build system checks:
- # See: https://gitweb.gentoo.org/proj/portage.git/tree/bin/isolated-functions.sh
- export XARGS="$(which xargs)"
-
- python2 "${S}/platform/mach" build || die
-}
-
-src_install() {
- # obj_dir changes depending on arch, compiler, etc:
- local obj_dir="$(echo */config.log)"
- obj_dir="${obj_dir%/*}"
-
- # Disable MPROTECT for startup cache creation:
- pax-mark m "${obj_dir}"/dist/bin/xpcshell
-
- # Set the backspace behaviour to be consistent with the other platforms:
- set_pref "browser.backspace_action" 0
-
- # Gotta create the package, unpack it and manually install the files
- # from there not to miss anything (e.g. the statusbar extension):
- einfo "Creating the package..."
- python2 "${S}/platform/mach" mozpackage || die
- local extracted_dir="${T}/package"
- mkdir -p "${extracted_dir}"
- cd "${extracted_dir}"
- einfo "Extracting the package..."
- tar xjpf "${S}/${obj_dir}/dist/${P}.linux-${CTARGET_default%%-*}.tar.bz2"
- einfo "Installing the package..."
- local dest_libdir="/usr/$(get_libdir)"
- mkdir -p "${D}/${dest_libdir}"
- cp -rL "${PN}" "${D}/${dest_libdir}"
- dosym "${dest_libdir}/${PN}/${PN}" "/usr/bin/${PN}"
- einfo "Done installing the package."
-
- # Until JIT-less builds are supported,
- # also disable MPROTECT on the main executable:
- pax-mark m "${D}/${dest_libdir}/${PN}/"{palemoon,palemoon-bin,plugin-container}
-
- # Install icons and .desktop for menu entry:
- install_branding_files
-}
+++ /dev/null
-EAPI=6
-
-REQUIRED_BUILDSPACE='16G'
-GCC_SUPPORTED_VERSIONS="4.9 5.4 7.3 8.2 8.3 8.4 9.3 10.2"
-
-inherit palemoon-5 git-r3 eutils flag-o-matic pax-utils
-
-KEYWORDS="~x86 amd64"
-DESCRIPTION="Pale Moon Web Browser"
-HOMEPAGE="https://www.palemoon.org/"
-
-SLOT="0"
-LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
-IUSE="
- +official-branding
- +optimize
- cpu_flags_x86_sse
- cpu_flags_x86_sse2
- threads
- debug
- +jemalloc
- -valgrind
- dbus
- -necko-wifi
- gnome
- gtk2
- gtk3
- pulseaudio
- +devtools
-"
-
-EGIT_REPO_URI="https://repo.palemoon.org/MoonchildProductions/Pale-Moon.git"
-EGIT_COMMIT="${PV}_Release"
-
-DEPEND="
- >=sys-devel/autoconf-2.13:2.1
- dev-lang/python:2.7
- >=dev-lang/perl-5.6
- dev-lang/yasm
-"
-
-RDEPEND="
- x11-libs/libXt
- app-arch/zip
- media-libs/freetype
- media-libs/fontconfig
-
- optimize? ( sys-libs/glibc )
-
- valgrind? ( dev-util/valgrind )
-
- dbus? (
- >=sys-apps/dbus-0.60
- >=dev-libs/dbus-glib-0.60
- )
-
- gnome? ( gnome-base/gconf )
-
- gtk2? ( >=x11-libs/gtk+-2.18.0:2 )
- gtk3? ( >=x11-libs/gtk+-3.4.0:3 )
-
- media-libs/alsa-lib
- pulseaudio? ( media-sound/pulseaudio )
-
- media-video/ffmpeg[x264]
-
- necko-wifi? ( net-wireless/wireless-tools )
-"
-
-REQUIRED_USE="
- optimize? ( !debug )
- jemalloc? ( !valgrind )
- ^^ ( gtk2 gtk3 )
- necko-wifi? ( dbus )
-"
-
-src_prepare() {
- # Ensure that our plugins dir is enabled by default:
- sed -i -e "s:/usr/lib/mozilla/plugins:/usr/lib/nsbrowser/plugins:" \
- "${S}/platform/xpcom/io/nsAppFileLocationProvider.cpp" \
- || die "sed failed to replace plugin path for 32bit!"
- sed -i -e "s:/usr/lib64/mozilla/plugins:/usr/lib64/nsbrowser/plugins:" \
- "${S}/platform/xpcom/io/nsAppFileLocationProvider.cpp" \
- || die "sed failed to replace plugin path for 64bit!"
-
- default
-}
-
-src_configure() {
- # Basic configuration:
- mozconfig_init
-
- mozconfig_disable updater install-strip accessibility
-
- if use official-branding; then
- official-branding_warning
- mozconfig_enable official-branding
- fi
-
- if use optimize; then
- O='-O2'
- if use cpu_flags_x86_sse && use cpu_flags_x86_sse2; then
- O="${O} -msse2 -mfpmath=sse"
- fi
- mozconfig_enable "optimize=\"${O}\""
- filter-flags '-O*' '-msse2' '-mfpmath=sse'
- else
- mozconfig_disable optimize
- fi
-
- if use threads; then
- mozconfig_with pthreads
- fi
-
- if use debug; then
- mozconfig_var MOZ_DEBUG_SYMBOLS 1
- mozconfig_enable "debug-symbols=\"-gdwarf-2\""
- fi
-
- if use jemalloc; then
- mozconfig_enable jemalloc
- fi
-
- if use valgrind; then
- mozconfig_enable valgrind
- fi
-
- if ! use dbus; then
- mozconfig_disable dbus
- fi
-
- if ! use gnome; then
- mozconfig_disable gconf
- fi
-
- if use gtk2; then
- mozconfig_enable default-toolkit=\"cairo-gtk2\"
- fi
-
- if use gtk3; then
- mozconfig_enable default-toolkit=\"cairo-gtk3\"
- fi
-
- if ! use necko-wifi; then
- mozconfig_disable necko-wifi
- fi
-
- if ! use pulseaudio; then
- mozconfig_disable pulseaudio
- fi
-
- if use devtools; then
- mozconfig_enable devtools
- fi
-
- # Enabling this causes xpcshell to hang during the packaging process,
- # so disabling it until the cause can be tracked down. It most likely
- # has something to do with the sandbox since the issue goes away when
- # building with FEATURES="-sandbox -usersandbox".
- mozconfig_disable precompiled-startupcache
-
- # Mainly to prevent system's NSS/NSPR from taking precedence over
- # the built-in ones:
- append-ldflags -Wl,-rpath="${EPREFIX}/usr/$(get_libdir)/palemoon"
-
- export MOZBUILD_STATE_PATH="${WORKDIR}/mach_state"
- mozconfig_var PYTHON $(which python2)
- mozconfig_var AUTOCONF $(which autoconf-2.13)
- mozconfig_var MOZ_MAKE_FLAGS "\"${MAKEOPTS}\""
-
- # Shorten obj dir to limit some errors linked to the path size hitting
- # a kernel limit (127 chars):
- mozconfig_var MOZ_OBJDIR "@TOPSRCDIR@/o"
-
- # Disable mach notifications, which also cause sandbox access violations:
- export MOZ_NOSPAM=1
-}
-
-src_compile() {
- # Prevents portage from setting its own XARGS which messes with the
- # Pale Moon build system checks:
- # See: https://gitweb.gentoo.org/proj/portage.git/tree/bin/isolated-functions.sh
- export XARGS="$(which xargs)"
-
- python2 "${S}/platform/mach" build || die
-}
-
-src_install() {
- # obj_dir changes depending on arch, compiler, etc:
- local obj_dir="$(echo */config.log)"
- obj_dir="${obj_dir%/*}"
-
- # Disable MPROTECT for startup cache creation:
- pax-mark m "${obj_dir}"/dist/bin/xpcshell
-
- # Set the backspace behaviour to be consistent with the other platforms:
- set_pref "browser.backspace_action" 0
-
- # Gotta create the package, unpack it and manually install the files
- # from there not to miss anything (e.g. the statusbar extension):
- einfo "Creating the package..."
- python2 "${S}/platform/mach" mozpackage || die
- local extracted_dir="${T}/package"
- mkdir -p "${extracted_dir}"
- cd "${extracted_dir}"
- einfo "Extracting the package..."
- tar xjpf "${S}/${obj_dir}/dist/${P}.linux-${CTARGET_default%%-*}.tar.bz2"
- einfo "Installing the package..."
- local dest_libdir="/usr/$(get_libdir)"
- mkdir -p "${D}/${dest_libdir}"
- cp -rL "${PN}" "${D}/${dest_libdir}"
- dosym "${dest_libdir}/${PN}/${PN}" "/usr/bin/${PN}"
- einfo "Done installing the package."
-
- # Until JIT-less builds are supported,
- # also disable MPROTECT on the main executable:
- pax-mark m "${D}/${dest_libdir}/${PN}/"{palemoon,palemoon-bin,plugin-container}
-
- # Install icons and .desktop for menu entry:
- install_branding_files
-}