Skip to content

Commit

Permalink
app-office/libreoffice: Switch src_configure to myeconfargs array
Browse files Browse the repository at this point in the history
Package-Manager: Portage-2.3.18, Repoman-2.3.6
  • Loading branch information
a17r committed Dec 13, 2017
1 parent 2d79721 commit f4e8b9e
Show file tree
Hide file tree
Showing 3 changed files with 296 additions and 302 deletions.
202 changes: 100 additions & 102 deletions app-office/libreoffice/libreoffice-5.4.9999.ebuild
Original file line number Diff line number Diff line change
Expand Up @@ -349,8 +349,6 @@ src_prepare() {
}

src_configure() {
local ext_opts gtk_opts java_opts

# 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 [email protected] for more info.
Expand All @@ -368,126 +366,126 @@ src_configure() {
export OPENCOLLADA_LIBS="-L /usr/$(get_libdir)/opencollada -lOpenCOLLADABaseUtils -lOpenCOLLADAFramework -lOpenCOLLADASaxFrameworkLoader -lGeneratedSaxParser"
fi

if use kde; then
# bug 544108, bug 599076
export QMAKEQT4="$(qt4_get_bindir)/qmake"
export MOCQT4="$(qt4_get_bindir)/moc"
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
local myeconfargs=(
--with-system-dicts
--with-system-epoxy
--with-system-headers
--with-system-jars
--with-system-libs
--enable-cairo-canvas
--enable-largefile
--enable-mergelibs
--enable-neon
--enable-python=system
--enable-randr
--enable-release-build
--disable-breakpad
--disable-ccache
--disable-dependency-tracking
--disable-epm
--disable-fetch-external
--disable-gstreamer-0-10
--disable-online-update
--disable-pdfium
--disable-report-builder
--with-alloc=$(use jemalloc && echo "jemalloc" || echo "system")
--with-build-version="Gentoo official package"
--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-vendor="Gentoo Foundation"
--with-x
--without-fonts
--without-myspell-dicts
--without-help
--with-helppack-integration
--with-system-gpgmepp
--without-system-sane
$(use_enable bluetooth sdremote-bluetooth)
$(use_enable coinmp)
$(use_enable collada)
$(use_enable cups)
$(use_enable debug)
$(use_enable dbus)
$(use_enable eds evolution2)
$(use_enable firebird firebird-sdbc)
$(use_enable gltf)
$(use_enable gstreamer gstreamer-1-0)
$(use_enable gtk)
$(use_enable gtk3)
$(use_enable kde kde4)
$(use_enable mysql ext-mariadb-connector)
$(use_enable odk)
$(use_enable pdfimport)
$(use_enable postgres postgresql-sdbc)
$(use_enable quickstarter systray)
$(use_enable vlc)
$(use_with coinmp system-coinmp)
$(use_with collada system-opencollada)
$(use_with gltf system-libgltf)
$(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 mysql system-mysql-cppconn)
$(use_with odk doxygen)
)

if use eds || use gtk3; 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
ext_opts+=" $(use_enable libreoffice_extensions_${lo_xt} ${lo_xt})"
myeconfargs+=( $(use_enable libreoffice_extensions_${lo_xt} ${lo_xt}) )
else
ext_opts+=" $(use_enable libreoffice_extensions_${lo_xt} ext-${lo_xt})"
myeconfargs+=( $(use_enable libreoffice_extensions_${lo_xt} ext-${lo_xt}) )
fi
done

if use eds || use gtk3; then
gtk_opts=( --enable-dconf --enable-gio )
else
gtk_opts=( --disable-dconf --disable-gio )
fi

if use java; then
# hsqldb: system one is too new
java_opts="
myeconfargs+=(
--without-junit
--without-system-hsqldb
--with-ant-home="${ANT_HOME}"
--with-jdk-home=$(java-config --jdk-home 2>/dev/null)
--with-jvm-path="${EPREFIX}/usr/lib/"
"
)

use libreoffice_extensions_scripting-beanshell && \
java_opts+=" --with-beanshell-jar=$(java-pkg_getjar bsh bsh.jar)"
myeconfargs+=( --with-beanshell-jar=$(java-pkg_getjar bsh bsh.jar) )

use libreoffice_extensions_scripting-javascript && \
java_opts+=" --with-rhino-jar=$(java-pkg_getjar rhino-1.6 js.jar)"
fi

if use kde; then
# bug 544108, bug 599076
export QMAKEQT4="$(qt4_get_bindir)/qmake"
export MOCQT4="$(qt4_get_bindir)/moc"
myeconfargs+=( --with-rhino-jar=$(java-pkg_getjar rhino-1.6 js.jar) )
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
econf \
--with-system-dicts \
--with-system-epoxy \
--with-system-headers \
--with-system-jars \
--with-system-libs \
--enable-cairo-canvas \
--enable-largefile \
--enable-mergelibs \
--enable-neon \
--enable-python=system \
--enable-randr \
--enable-release-build \
--disable-breakpad \
--disable-ccache \
--disable-dependency-tracking \
--disable-epm \
--disable-fetch-external \
--disable-gstreamer-0-10 \
--disable-online-update \
--disable-pdfium \
--disable-report-builder \
--with-alloc=$(use jemalloc && echo "jemalloc" || echo "system") \
--with-build-version="Gentoo official package" \
--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-vendor="Gentoo Foundation" \
--with-x \
--without-fonts \
--without-myspell-dicts \
--without-help \
--with-helppack-integration \
--with-system-gpgmepp \
--without-system-sane \
$(use_enable bluetooth sdremote-bluetooth) \
$(use_enable coinmp) \
$(use_enable collada) \
$(use_enable cups) \
$(use_enable debug) \
$(use_enable dbus) \
$(use_enable eds evolution2) \
$(use_enable firebird firebird-sdbc) \
$(use_enable gltf) \
$(use_enable gstreamer gstreamer-1-0) \
$(use_enable gtk) \
$(use_enable gtk3) \
$(use_enable kde kde4) \
$(use_enable mysql ext-mariadb-connector) \
$(use_enable odk) \
$(use_enable pdfimport) \
$(use_enable postgres postgresql-sdbc) \
$(use_enable quickstarter systray) \
$(use_enable vlc) \
$(use_with coinmp system-coinmp) \
$(use_with collada system-opencollada) \
$(use_with gltf system-libgltf) \
$(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 mysql system-mysql-cppconn) \
$(use_with odk doxygen) \
${ext_opts} \
${gtk_opts[@]} \
${java_opts}
econf "${myeconfargs[@]}"
}

src_compile() {
Expand Down
Loading

0 comments on commit f4e8b9e

Please sign in to comment.