Merge pull request #591 from dm0-/systemd

Sync profiles and prepare for systemd 235
This commit is contained in:
David Michael 2017-11-02 13:29:52 -04:00 committed by GitHub
commit 076960d6c1
1826 changed files with 7655 additions and 13867 deletions

View File

@ -1,3 +1,4 @@
DIST elt-patches-20170317.tar.xz 23356 SHA256 24d2665ba560d01160b955ecf46a17433ee879960e3d914698be170b6698dad4 SHA512 28da9a214cd2bccebad45f464a414fedf80fc6b497d1f6b8f30a0a67570a614065ef67ce43316872d94a144de1a154ecd164a47009ebcd7d39128ccc2dd39618 WHIRLPOOL 944e2a1a92485a93b1b236047d8c6394c76b8b68242f8bf3f683511c0357ee351a2823e77707e2737ea247873fd88287120c3fc3af4ed28488bfafb13a0b163b
EBUILD elt-patches-20170317.ebuild 736 SHA256 c4973abc56d0941ef9a82aae95ae6c50a9ba5c06c8e1ab4e245b9cc8f0fb846b SHA512 a3b0ca1ea555df8d11dd27870c8c7e26650539dbb484f9932fa1bf5b1186d1b0e658acb74a5c26923daf2f861224244756d45ee635dfa357e6038e3d4b7567bc WHIRLPOOL baf679f6e14c48aa0b48d0f0e83efa1848402683d583d7b82a767f6328a41d3c5fc4a130503ada9f06610e66071797724e22b4422b8acd99afd85d4eba5ba07b
MISC metadata.xml 223 SHA256 0834d0e288620f593dd7fdfcd741f70a9148531d7259c483f062e9aac0d690d9 SHA512 291302ff827472b8aaaa094bf6ed7b728166f21c9603b98beed59db2071a75193d7c5e462c4d435eea7e1047a1f31076bdf6deb08a1c8ab794ddd965c9be92bb WHIRLPOOL a86eedb2ffe72a1deeed960f811fd16ff3bd26f22d9cde76d93280cee537d614b5a9ec3cd310df89de6704b8eacd37c2feec3b67e42eec46d13b108049b45484
DIST elt-patches-20170422.tar.xz 27864 SHA256 56c5391b8c6958bca081d1eead516917ac6571da283862b2468fe0e2eb33682c SHA512 90867925f797ec815cfd8f45655cbc0bdc5f46e1a84792988ca76aaed97489907a926acf8f50c0499c56f6e70ea7081732f71c74a8d49bf24a6d265a0a4202dc WHIRLPOOL 11e2aa4f74e8648730e7d541d6061ec72f4f2ef40c205a863a381f972931e9441cc2110c7e8d3f71899ffc08d9857a5afa01438d2d2080cc9f2d394cf84c00f5
DIST elt-patches-20170815.tar.xz 27864 SHA256 caf05e2b3bdf1dfc4188a27c703dc68d66d51ea4274edc6a6ebf9918cf1b2340 SHA512 deba10767b6a8cb5e8139e6f47a30e6f8a4a9312adb1d3e0199df24321d89601915fc91003da2d14fda679e7cbd30a4d4cf39d94ba57bce06432eefc168650dd WHIRLPOOL dcf892154407238cbe7874a1d2b976b8bf8260ab47a18cd8d6e543d98fa47442d83cfefca9431a2e4eebae5156f5e31e4d976831558faff8a79da251d45686f2
DIST elt-patches-20170826.1.tar.xz 27912 SHA256 56812ae2699cc8881ae5b6d9c1137b7c21fb8116e5994d83e736dedd16049dd1 SHA512 30a1e8b77d2963b7c56eef3a7a0a576ea6d30f1133c7bf6ad3b5b57cbe3e2de5e8cfbc50a929fea589b42ca02802a7ed16ccf7adb868290a2cc3add5b4fc77d3 WHIRLPOOL 4e15ce002e3f9efb2c335f523e57b70f929e036902b2a6f7f2db042bbf43b1b75309ec25e46dbe4dacbb51ba47a83a7062252e53ecc2814bd352620a288cd1db

View File

@ -9,7 +9,7 @@ SRC_URI="https://dev.gentoo.org/~mgorny/dist/${P}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~ppc-aix ~amd64-linux ~arm-linux ~arm64-linux ~ppc64-linux ~x86-linux ~ppc-macos ~x86-macos ~x64-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt ~x64-cygwin ~x86-cygwin"
KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-linux ~arm-linux ~arm64-linux ~ppc64-linux ~x86-linux ~ppc-macos ~x86-macos ~x64-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt ~x64-cygwin ~x86-cygwin"
IUSE=""
DEPEND="app-arch/xz-utils"

View File

@ -0,0 +1,24 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
DESCRIPTION="Collection of patches for libtool.eclass"
HOMEPAGE="https://gitweb.gentoo.org/proj/elt-patches.git/"
SRC_URI="https://dev.gentoo.org/~mgorny/dist/${P}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-linux ~arm-linux ~arm64-linux ~ppc64-linux ~x86-linux ~ppc-macos ~x86-macos ~x64-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt ~x64-cygwin ~x86-cygwin"
IUSE=""
RDEPEND="sys-apps/gentoo-functions"
DEPEND="app-arch/xz-utils"
src_compile() {
emake prefix="${EPREFIX}/usr" libdirname="$(get_libdir)"
}
src_install() {
emake DESTDIR="${D}" prefix="${EPREFIX}/usr" install
}

View File

@ -0,0 +1,24 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
DESCRIPTION="Collection of patches for libtool.eclass"
HOMEPAGE="https://gitweb.gentoo.org/proj/elt-patches.git/"
SRC_URI="https://dev.gentoo.org/~mgorny/dist/${P}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="alpha ~amd64 arm ~arm64 ~hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~x86-cygwin ~amd64-linux ~arm-linux ~arm64-linux ~ppc64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
IUSE=""
RDEPEND="sys-apps/gentoo-functions"
DEPEND="app-arch/xz-utils"
src_compile() {
emake rootprefix="${EPREFIX%/}" libdirname="$(get_libdir)"
}
src_install() {
emake DESTDIR="${D}" rootprefix="${EPREFIX%/}" install
}

View File

@ -0,0 +1,24 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
DESCRIPTION="Collection of patches for libtool.eclass"
HOMEPAGE="https://gitweb.gentoo.org/proj/elt-patches.git/"
SRC_URI="https://dev.gentoo.org/~mgorny/dist/${P}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~x86-cygwin ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~arm64-linux ~ppc64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
IUSE=""
RDEPEND="sys-apps/gentoo-functions"
DEPEND="app-arch/xz-utils"
src_compile() {
emake rootprefix="${EPREFIX%/}" libdirname="$(get_libdir)"
}
src_install() {
emake DESTDIR="${D}" rootprefix="${EPREFIX%/}" install
}

View File

@ -1,4 +1,4 @@
# Copyright 1999-2015 Gentoo Foundation
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: apache-2.eclass
@ -402,7 +402,7 @@ apache-2_pkg_setup() {
setup_modules
if use debug; then
MY_CONF+=( --enable-maintainer-mode --enable-exception-hook )
MY_CONF+=( --enable-exception-hook )
fi
elog "Please note that you need SysV IPC support in your kernel."

View File

@ -110,7 +110,7 @@ RDEPEND=""
# @ECLASS-VARIABLE: AUTOTOOLS_AUTO_DEPEND
# @DESCRIPTION:
# Set to 'no' to disable automatically adding to DEPEND. This lets
# ebuilds former conditional depends by using ${AUTOTOOLS_DEPEND} in
# ebuilds form conditional depends by using ${AUTOTOOLS_DEPEND} in
# their own DEPEND string.
: ${AUTOTOOLS_AUTO_DEPEND:=yes}
if [[ ${AUTOTOOLS_AUTO_DEPEND} != "no" ]] ; then

View File

@ -131,7 +131,7 @@ HOMEPAGE="http://bitcoincore.org/"
if [ -z "$BITCOINCORE_COMMITHASH" ]; then
EGIT_PROJECT='bitcoin'
EGIT_REPO_URI="git://github.com/bitcoin/bitcoin.git https://github.com/bitcoin/bitcoin.git"
EGIT_REPO_URI="https://github.com/bitcoin/bitcoin.git"
else
SRC_URI="https://github.com/${MyPN}/${MyPN}/archive/${BITCOINCORE_COMMITHASH}.tar.gz -> ${MyPN}-v${PV}${BITCOINCORE_SRC_SUFFIX}.tgz"
if [ -z "${BITCOINCORE_NO_SYSLIBS}" ]; then

View File

@ -1,9 +1,9 @@
# Copyright 1999-2014 Gentoo Foundation
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
#
# @ECLASS: bzr.eclass
# @MAINTAINER:
# Bazaar team <bazaar@gentoo.org>
# No maintainer <maintainer-needed@gentoo.org>
# @AUTHOR:
# Jorge Manuel B. S. Vicetto <jmbsvicetto@gentoo.org>
# Mark Lee <bzr-gentoo-overlay@lazymalevolence.com>

View File

@ -31,9 +31,14 @@ ECARGO_VENDOR="${ECARGO_HOME}/gentoo"
cargo_crate_uris() {
local crate
for crate in "$@"; do
local name version url
local name version url pretag
name="${crate%-*}"
version="${crate##*-}"
pretag="[a-zA-Z]+"
if [[ $version =~ $pretag ]]; then
version="${name##*-}-${version}"
name="${name%-*}"
fi
url="https://crates.io/api/v1/crates/${name}/${version}/download -> ${crate}.crate"
echo "${url}"
done
@ -48,7 +53,7 @@ cargo_src_unpack() {
mkdir -p "${ECARGO_VENDOR}" || die
mkdir -p "${S}" || die
local archive
local archive shasum pkg
for archive in ${A}; do
case "${archive}" in
*.crate)

View File

@ -93,6 +93,12 @@ _CMAKE_UTILS_ECLASS=1
# for econf and is needed to pass TRY_RUN results when cross-compiling.
# Should be set by user in a per-package basis in /etc/portage/package.env.
# @ECLASS-VARIABLE: CMAKE_UTILS_QA_SRC_DIR_READONLY
# @DESCRIPTION:
# After running cmake-utils_src_prepare, sets ${S} to read-only. This is
# a user flag and should under _no circumstances_ be set in the ebuild.
# Helps in improving QA of build systems that write to source tree.
case ${EAPI} in
5) : ${CMAKE_WARN_UNUSED_CLI:=no} ;;
6) : ${CMAKE_WARN_UNUSED_CLI:=yes} ;;
@ -441,6 +447,13 @@ cmake-utils_src_prepare() {
fi
popd > /dev/null || die
# make ${S} read-only in order to detect broken build-systems
if [[ ${CMAKE_UTILS_QA_SRC_DIR_READONLY} && ! ${CMAKE_IN_SOURCE_BUILD} ]]; then
chmod -R a-w "${S}"
fi
_CMAKE_UTILS_SRC_PREPARE_HAS_RUN=1
}
# @VARIABLE: mycmakeargs
@ -465,6 +478,10 @@ cmake-utils_src_prepare() {
cmake-utils_src_configure() {
debug-print-function ${FUNCNAME} "$@"
if [[ ! ${_CMAKE_UTILS_SRC_PREPARE_HAS_RUN} ]]; then
eqawarn "cmake-utils_src_prepare has not been run, please open a bug on https://bugs.gentoo.org/"
fi
[[ ${EAPI} == 5 ]] && _cmake_cleanup_cmake
_cmake_check_build_dir

View File

@ -11,9 +11,10 @@
inherit eutils
# CL packages in the overlay don't have their tarballs on the mirrors
# so it's useless to mirror them
RESTRICT="mirror"
# @ECLASS-VARIABLE: CLIMPLEMENTATIONS
# @DESCRIPTION:
# Common Lisp implementations
CLIMPLEMENTATIONS="sbcl clisp clozurecl cmucl ecls gcl"
# @ECLASS-VARIABLE: CLSOURCEROOT
# @DESCRIPTION:
@ -41,7 +42,9 @@ EXPORT_FUNCTIONS src_compile src_install
# @DESCRIPTION:
# Since there's nothing to build in most cases, default doesn't do
# anything.
common-lisp-3_src_compile() { true; }
common-lisp-3_src_compile() {
true;
}
# @FUNCTION: absolute-path-p
# @DESCRIPTION:
@ -117,7 +120,7 @@ common-lisp-install-sources() {
elif [[ -d ${path} ]] ; then
common-lisp-install-sources -t ${ftype} $(find "${path}" -type f)
else
die "${path} it neither a regular file nor a directory"
die "${path} is neither a regular file nor a directory"
fi
done
}
@ -163,11 +166,24 @@ common-lisp-3_src_install() {
done
}
# @FUNCTION: common-lisp-find-lisp-impl
# @USAGE: common-lisp-find-lisp-impl
# @DESCRIPTION:
# Outputs an installed Common Lisp implementation. Transverses
# CLIMPLEMENTATIONS to find it.
common-lisp-find-lisp-impl() {
for lisp in ${CLIMPLEMENTATIONS} ; do
[[ "$(best_version dev-lisp/${lisp})" ]] && echo "${lisp}" && return
done
die "No CommonLisp implementation found"
}
# @FUNCTION: common-lisp-export-impl-args
# @USAGE: common-lisp-export-impl-args <lisp-implementation>
# @DESCRIPTION:
# Export a few variables containing the switches necessary
# to make the CL implementation perform basic functions:
# * CL_BINARY: Common Lisp implementation
# * CL_NORC: don't load syste-wide or user-specific initfiles
# * CL_LOAD: load a certain file
# * CL_EVAL: eval a certain expression at startup
@ -176,13 +192,15 @@ common-lisp-export-impl-args() {
eerror "Usage: ${FUNCNAME[0]} lisp-implementation"
die "${FUNCNAME[0]}: wrong number of arguments: $#"
fi
case ${1} in
CL_BINARY="${1}"
case "${CL_BINARY}" in
clisp)
CL_NORC="-norc"
CL_LOAD="-i"
CL_EVAL="-x"
;;
clozure | ccl | openmcl)
clozure | clozurecl | ccl | openmcl)
CL_BINARY="ccl"
CL_NORC="--no-init"
CL_LOAD="--load"
CL_EVAL="--eval"
@ -192,7 +210,8 @@ common-lisp-export-impl-args() {
CL_LOAD="-load"
CL_EVAL="-eval"
;;
ecl)
ecl | ecls)
CL_BINARY="ecl"
CL_NORC="-norc"
CL_LOAD="-load"
CL_EVAL="-eval"
@ -203,8 +222,8 @@ common-lisp-export-impl-args() {
CL_EVAL="--eval"
;;
*)
die ${1} is not supported by ${0}
die "${CL_BINARY} is not supported by ${0}"
;;
esac
export CL_NORC CL_LOAD CL_EVAL
export CL_BINARY CL_NORC CL_LOAD CL_EVAL
}

View File

@ -1,486 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# @DEAD
# Michał Górny <mgorny@gentoo.org> (30 Jun 2017)
# This eclass is no longer useful. Most of it has been superseded by
# new EAPI features such as REQUIRED_USE and USE dependencies.
# The remaining functions are very specialized (probably to PHP)
# and were not used for a long time. The last consumer is now redundant
# to a new stable version and will be removed soon.
# The eclass will be removed in 30 days.
# @ECLASS: confutils.eclass
# @MAINTAINER:
# No maintainer <maintainer-needed@gentoo.org>
# @BLURB: utility functions to help with configuring a package
# @DESCRIPTION:
# The confutils eclass contains functions to handle use flag dependencies and
# extended --with-*/--enable-* magic.
#
# Based on the PHP5 eclass by Stuart Herbert <stuart@stuartherbert.com>
inherit eutils
# @VARIABLE: EBUILD_SUPPORTS_SHAREDEXT
# @DESCRIPTION:
# Set this variable to 1 if your ebuild supports shared extensions. You need to
# call confutils_init() in pkg_setup() if you use this variable.
if [[ ${EBUILD_SUPPORTS_SHAREDEXT} == 1 ]]; then
IUSE="sharedext"
fi
# @FUNCTION: confutils_init
# @USAGE: [value]
# @DESCRIPTION:
# Call this function from your pkg_setup() function to initialize this eclass
# if EBUILD_SUPPORTS_SHAREDEXT is enabled. If no value is given `shared' is used
# by default.
confutils_init() {
if [[ ${EBUILD_SUPPORTS_SHAREDEXT} == 1 ]] && use sharedext; then
shared="=${1:-shared}"
else
shared=
fi
}
# @FUNCTION: confutils_require_one
# @USAGE: <flag> [more flags ...]
# @DESCRIPTION:
# Use this function to ensure exactly one of the specified USE flags have been
# enabled
confutils_require_one() {
local required_flags="$@"
local success=0
for flag in ${required_flags}; do
use ${flag} && ((success++))
done
[[ ${success} -eq 1 ]] && return
echo
eerror "You *must* enable *exactly* one of the following USE flags:"
eerror " ${required_flags}"
eerror
eerror "You can do this by enabling *one* of these flag in /etc/portage/package.use:"
set -- ${required_flags}
eerror " =${CATEGORY}/${PN}-${PVR} ${1}"
shift
for flag in $@; do
eerror " OR =${CATEGORY}/${PN}-${PVR} ${flag}"
done
echo
die "Missing or conflicting USE flags"
}
# @FUNCTION: confutils_require_any
# @USAGE: <flag> [more flags ...]
# @DESCRIPTION:
# Use this function to ensure one or more of the specified USE flags have been
# enabled
confutils_require_any() {
local required_flags="$@"
local success=0
for flag in ${required_flags}; do
use ${flag} && success=1
done
[[ ${success} -eq 1 ]] && return
echo
eerror "You *must* enable one or more of the following USE flags:"
eerror " ${required_flags}"
eerror
eerror "You can do this by enabling these flags in /etc/portage/package.use:"
eerror " =${CATEGORY}/${PN}-${PVR} ${required_flags}"
echo
die "Missing USE flags"
}
# @FUNCTION: confutils_require_built_with_all
# @USAGE: <foreign> <flag> [more flags ...]
# @DESCRIPTION:
# Use this function to ensure all of the specified USE flags have been enabled
# in the specified foreign package
confutils_require_built_with_all() {
local foreign=$1 && shift
local required_flags="$@"
built_with_use ${foreign} ${required_flags} && return
echo
eerror "You *must* enable all of the following USE flags in ${foreign}:"
eerror " ${required_flags}"
eerror
eerror "You can do this by enabling these flags in /etc/portage/package.use:"
eerror " ${foreign} ${required_flags}"
echo
die "Missing USE flags in ${foreign}"
}
# @FUNCTION: confutils_require_built_with_any
# @USAGE: <foreign> <flag> [more flags ...]
# @DESCRIPTION:
# Use this function to ensure one or more of the specified USE flags have been
# enabled in the specified foreign package
confutils_require_built_with_any() {
local foreign=$1 && shift
local required_flags="$@"
local success=0
for flag in ${required_flags}; do
built_with_use ${foreign} ${flag} && success=1
done
[[ ${success} -eq 1 ]] && return
echo
eerror "You *must* enable one or more of the following USE flags in ${foreign}:"
eerror " ${required_flags}"
eerror
eerror "You can do this by enabling these flags in /etc/portage/package.use:"
eerror " ${foreign} ${required_flags}"
echo
die "Missing USE flags in ${foreign}"
}
# @FUNCTION: confutils_use_conflict
# @USAGE: <enabled flag> <conflicting flag> [more conflicting flags ...]
# @DESCRIPTION:
# Use this function to automatically complain to the user if conflicting USE
# flags have been enabled
confutils_use_conflict() {
use $1 || return
local my_flag="$1" && shift
local my_present=
local my_remove=
for flag in "$@"; do
if use ${flag}; then
my_present="${my_present} ${flag}"
my_remove="${my_remove} -${flag}"
fi
done
[[ -z "${my_present}" ]] && return
echo
eerror "USE flag '${my_flag}' conflicts with these USE flag(s):"
eerror " ${my_present}"
eerror
eerror "You must disable these conflicting flags before you can emerge this package."
eerror "You can do this by disabling these flags in /etc/portage/package.use:"
eerror " =${CATEGORY}/${PN}-${PVR} ${my_remove}"
eerror
eerror "You could disable this flag instead in /etc/portage/package.use:"
eerror " =${CATEGORY}/${PN}-${PVR} -${my_flag}"
echo
die "Conflicting USE flags"
}
# @FUNCTION: confutils_use_depend_all
# @USAGE: <enabled flag> <needed flag> [more needed flags ...]
# @DESCRIPTION:
# Use this function to automatically complain to the user if a USE flag depends
# on another USE flag that hasn't been enabled
confutils_use_depend_all() {
use $1 || return
local my_flag="$1" && shift
local my_missing=
for flag in "$@"; do
use ${flag} || my_missing="${my_missing} ${flag}"
done
[[ -z "${my_missing}" ]] && return
echo
eerror "USE flag '${my_flag}' needs these additional flag(s) set:"
eerror " ${my_missing}"
eerror
eerror "You can do this by enabling these flags in /etc/portage/package.use:"
eerror " =${CATEGORY}/${PN}-${PVR} ${my_missing}"
eerror
eerror "You could disable this flag instead in /etc/portage/package.use:"
eerror " =${CATEGORY}/${PN}-${PVR} -${my_flag}"
echo
die "Need missing USE flags"
}
# @FUNCTION: confutils_use_depend_any
# @USAGE: <enabled flag> <needed flag> [more needed flags ...]
# @DESCRIPTION:
# Use this function to automatically complain to the user if a USE flag depends
# on another USE flag that hasn't been enabled
confutils_use_depend_any() {
use $1 || return
local my_flag="$1" && shift
local my_found=
local my_missing=
for flag in "$@"; do
if use ${flag}; then
my_found="${my_found} ${flag}"
else
my_missing="${my_missing} ${flag}"
fi
done
[[ -n "${my_found}" ]] && return
echo
eerror "USE flag '${my_flag}' needs one or more of these additional flag(s) set:"
eerror " ${my_missing}"
eerror
eerror "You can do this by enabling one of these flags in /etc/portage/package.use:"
eerror " =${CATEGORY}/${PN}-${PVR} ${my_missing}"
eerror
eerror "You could disable this flag instead in /etc/portage/package.use:"
eerror " =${CATEGORY}/${PN}-${PVR} -${my_flag}"
echo
die "Need missing USE flag(s)"
}
# @FUNCTION: confutils_use_depend_built_with_all
# @USAGE: <enabled flag> <foreign> <needed flag> [more needed flags ...]
# @DESCRIPTION:
# Use this function to automatically complain to the user if a USE flag depends
# on a USE flag in another package that hasn't been enabled
confutils_use_depend_built_with_all() {
use $1 || return
local my_flag="$1" && shift
local foreign=$1 && shift
local required_flags="$@"
built_with_use ${foreign} ${required_flags} && return
echo
eerror "USE flag '${my_flag}' needs the following USE flags in ${foreign}:"
eerror " ${required_flags}"
eerror
eerror "You can do this by enabling these flags in /etc/portage/package.use:"
eerror " ${foreign} ${required_flags}"
eerror
eerror "You could disable this flag instead in /etc/portage/package.use:"
eerror " =${CATEGORY}/${PN}-${PVR} -${my_flag}"
echo
die "Missing USE flags in ${foreign}"
}
# @FUNCTION: confutils_use_depend_built_with_any
# @USAGE: <enabled flag> <foreign> <needed flag> [more needed flags ...]
# @DESCRIPTION:
# Use this function to automatically complain to the user if a USE flag depends
# on a USE flag in another package that hasn't been enabled
confutils_use_depend_built_with_any() {
use $1 || return
local my_flag="$1" && shift
local foreign=$1 && shift
local required_flags="$@"
local success=0
for flag in ${required_flags}; do
built_with_use ${foreign} ${flag} && success=1
done
[[ ${success} -eq 1 ]] && return
echo
eerror "USE flag '${my_flag}' needs one or more of the following USE flags in ${foreign}:"
eerror " ${required_flags}"
eerror
eerror "You can do this by enabling these flags in /etc/portage/package.use:"
eerror " ${foreign} ${required_flags}"
eerror
eerror "You could disable this flag instead in /etc/portage/package.use:"
eerror " =${CATEGORY}/${PN}-${PVR} -${my_flag}"
echo
die "Missing USE flags in ${foreign}"
}
# internal function constructs the configure values for optional shared module
# support and extra arguments
_confutils_shared_suffix() {
local my_shared=
if [[ "$1" == "1" ]]; then
if [[ -n "${shared}" ]]; then
my_shared="${shared}"
if [[ -n "$2" ]]; then
my_shared="${my_shared},$2"
fi
elif [[ -n "$2" ]]; then
my_shared="=$2"
fi
else
if [[ -n "$2" ]]; then
my_shared="=$2"
fi
fi
echo "${my_shared}"
}
# @FUNCTION: enable_extension_disable
# @USAGE: <extension> <flag> [msg]
# @DESCRIPTION:
# Use this function to disable an extension that is enabled by default. This is
# provided for those rare configure scripts that don't support a --enable for
# the corresponding --disable.
enable_extension_disable() {
local my_msg=${3:-$1}
if use "$2" ; then
einfo " Enabling ${my_msg}"
else
my_conf="${my_conf} --disable-$1"
einfo " Disabling ${my_msg}"
fi
}
# @FUNCTION: enable_extension_enable
# @USAGE: <extension> <flag> [shared] [extra conf] [msg]
# @DESCRIPTION:
# This function is like use_enable(), except that it knows about enabling
# modules as shared libraries, and it supports passing additional data with the
# switch.
enable_extension_enable() {
local my_shared=$(_confutils_shared_suffix $3 $4)
local my_msg=${5:-$1}
if use $2; then
my_conf="${my_conf} --enable-${1}${my_shared}"
einfo " Enabling ${my_msg}"
else
my_conf="${my_conf} --disable-$1"
einfo " Disabling ${my_msg}"
fi
}
# @FUNCTION: enable_extension_enableonly
# @USAGE: <extension> <flag> [shared] [extra conf] [msg]
# @DESCRIPTION:
# This function is like use_enable(), except that it knows about enabling
# modules as shared libraries, and it supports passing additional data with the
# switch. This function is provided for those rare configure scripts that support
# --enable but not the corresponding --disable.
enable_extension_enableonly() {
local my_shared=$(_confutils_shared_suffix $3 $4)
local my_msg=${5:-$1}
if use $2 ; then
my_conf="${my_conf} --enable-${1}${my_shared}"
einfo " Enabling ${my_msg}"
else
# note: we deliberately do *not* use a --disable switch here
einfo " Disabling ${my_msg}"
fi
}
# @FUNCTION: enable_extension_without
# @USAGE: <extension> <flag> [msg]
# @DESCRIPTION:
# Use this function to disable an extension that is enabled by default. This
# function is provided for those rare configure scripts that support --without
# but not the corresponding --with
enable_extension_without() {
local my_msg=${3:-$1}
if use "$2"; then
einfo " Enabling ${my_msg}"
else
my_conf="${my_conf} --without-$1"
einfo " Disabling ${my_msg}"
fi
}
# @FUNCTION: enable_extension_with
# @USAGE: <extension> <flag> [shared] [extra conf] [msg]
# @DESCRIPTION:
# This function is like use_with(), except that it knows about enabling modules
# as shared libraries, and it supports passing additional data with the switch.
enable_extension_with() {
local my_shared=$(_confutils_shared_suffix $3 $4)
local my_msg=${5:-$1}
if use $2; then
my_conf="${my_conf} --with-${1}${my_shared}"
einfo " Enabling ${my_msg}"
else
my_conf="${my_conf} --without-$1"
einfo " Disabling ${my_msg}"
fi
}
# @FUNCTION: enable_extension_withonly
# @USAGE: <extension> <flag> [shared] [extra conf] [msg]
# @DESCRIPTION:
# This function is like use_with(), except that it knows about enabling modules
# as shared libraries, and it supports passing additional data with the switch.
# This function is provided for those rare configure scripts that support --enable
# but not the corresponding --disable.
enable_extension_withonly() {
local my_shared=$(_confutils_shared_suffix $3 $4)
local my_msg=${5:-$1}
if use $2; then
my_conf="${my_conf} --with-${1}${my_shared}"
einfo " Enabling ${my_msg}"
else
# note: we deliberately do *not* use a --without switch here
einfo " Disabling ${my_msg}"
fi
}
# @FUNCTION: enable_extension_enable_built_with
# @USAGE: <foreign> <flag> <extension> [shared] [extra conf] [msg]
# @DESCRIPTION:
# This function is like enable_extension_enable(), except that it
# enables/disables modules based on a USE flag in a foreign package.
enable_extension_enable_built_with() {
local my_shared=$(_confutils_shared_suffix $4 $5)
local my_msg=${6:-$3}
if built_with_use $1 $2; then
my_conf="${my_conf} --enable-${3}${my_shared}"
einfo " Enabling ${my_msg}"
else
my_conf="${my_conf} --disable-$3"
einfo " Disabling ${my_msg}"
fi
}
# @FUNCTION: enable_extension_with_built_with
# @USAGE: <foreign> <flag> <extension> [shared] [extra conf] [msg]
# @DESCRIPTION:
# This function is like enable_extension_with(), except that it
# enables/disables modules based on a USE flag in a foreign package.
enable_extension_with_built_with() {
# legacy workaround
if [[ "$4" != "0" && "$4" != "1" ]]; then
enable_extension_with_built_with "$1" "$2" "$3" 0 "$4" "$5"
return
fi
local my_shared=$(_confutils_shared_suffix $4 $5)
local my_msg=${6:-$3}
if built_with_use $1 $2; then
my_conf="${my_conf} --with-${3}${my_shared}"
einfo " Enabling ${my_msg}"
else
my_conf="${my_conf} --disable-$3"
einfo " Disabling ${my_msg}"
fi
}

View File

@ -0,0 +1,311 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: eapi7-ver.eclass
# @MAINTAINER:
# PMS team <pms@gentoo.org>
# @AUTHOR:
# Ulrich Müller <ulm@gentoo.org>
# Michał Górny <mgorny@gentoo.org>
# @BLURB: Testing implementation of EAPI 7 version manipulators
# @DESCRIPTION:
# A stand-alone implementation of the version manipulation functions
# aimed for EAPI 7. Intended to be used for wider testing of
# the proposed functions and to allow ebuilds to switch to the new
# model early, with minimal change needed for actual EAPI 7.
#
# https://bugs.gentoo.org/482170
#
# @ROFF .SS
# Version strings
#
# The functions support arbitrary version strings consisting of version
# components interspersed with (possibly empty) version separators.
#
# A version component can either consist purely of digits ([0-9]+)
# or purely of uppercase and lowercase letters ([A-Za-z]+). A version
# separator is either a string of any other characters ([^A-Za-z0-9]+),
# or it occurs at the transition between a sequence of letters
# and a sequence of digits, or vice versa. In the latter case,
# the version separator is an empty string.
#
# The version is processed left-to-right, and each successive component
# is assigned numbers starting with 1. The components are either split
# on version separators or on boundaries between digits and letters
# (in which case the separator between the components is empty).
# Version separators are assigned numbers starting with 1 for
# the separator between 1st and 2nd components. As a special case,
# if the version string starts with a separator, it is assigned index 0.
#
# Examples:
#
# @CODE
# 1.2b-alpha4 -> 1 . 2 '' b - alpha '' 4
# c s c s c s c s c
# 1 1 2 2 3 3 4 4 5
#
# .11. -> . 11 .
# s c s
# 0 1 1
# @CODE
#
# @ROFF .SS
# Ranges
#
# A range can be specified as 'm' for m-th version component, 'm-'
# for all components starting with m-th or 'm-n' for components starting
# at m-th and ending at n-th (inclusive). If the range spans outside
# the version string, it is truncated silently.
case ${EAPI:-0} in
0|1|2|3|4|5)
die "${ECLASS}: EAPI=${EAPI:-0} not supported";;
6)
;;
*)
die "${ECLASS}: EAPI=${EAPI} unknown";;
esac
# @FUNCTION: _ver_parse_range
# @USAGE: <range> <max>
# @INTERNAL
# @DESCRIPTION:
# Parse the range string <range>, setting 'start' and 'end' variables
# to the appropriate bounds. <max> specifies the appropriate upper
# bound for the range; the user-specified value is truncated to this.
_ver_parse_range() {
local range=${1}
local max=${2}
[[ ${range} == [0-9]* ]] \
|| die "${FUNCNAME}: range must start with a number"
start=${range%-*}
[[ ${range} == *-* ]] && end=${range#*-} || end=${start}
if [[ ${end} ]]; then
[[ ${start} -le ${end} ]] \
|| die "${FUNCNAME}: end of range must be >= start"
[[ ${end} -le ${max} ]] || end=${max}
else
end=${max}
fi
}
# @FUNCTION: _ver_split
# @USAGE: <version>
# @INTERNAL
# @DESCRIPTION:
# Split the version string <version> into separator-component array.
# Sets 'comp' to an array of the form: ( s_0 c_1 s_1 c_2 s_2 c_3... )
# where s_i are separators and c_i are components.
_ver_split() {
local v=${1} LC_ALL=C
comp=()
# get separators and components
local s c
while [[ ${v} ]]; do
# cut the separator
s=${v%%[a-zA-Z0-9]*}
v=${v:${#s}}
# cut the next component; it can be either digits or letters
[[ ${v} == [0-9]* ]] && c=${v%%[^0-9]*} || c=${v%%[^a-zA-Z]*}
v=${v:${#c}}
comp+=( "${s}" "${c}" )
done
}
# @FUNCTION: ver_cut
# @USAGE: <range> [<version>]
# @DESCRIPTION:
# Print the substring of the version string containing components
# defined by the <range> and the version separators between them.
# Processes <version> if specified, ${PV} otherwise.
#
# For the syntax of versions and ranges, please see the eclass
# description.
ver_cut() {
local range=${1}
local v=${2:-${PV}}
local start end
local -a comp
_ver_split "${v}"
local max=$((${#comp[@]}/2))
_ver_parse_range "${range}" "${max}"
local IFS=
if [[ ${start} -gt 0 ]]; then
start=$(( start*2 - 1 ))
fi
echo "${comp[*]:start:end*2-start}"
}
# @FUNCTION: ver_rs
# @USAGE: <range> <repl> [<range> <repl>...] [<version>]
# @DESCRIPTION:
# Print the version string after substituting the specified version
# separators at <range> with <repl> (string). Multiple '<range> <repl>'
# pairs can be specified. Processes <version> if specified,
# ${PV} otherwise.
#
# For the syntax of versions and ranges, please see the eclass
# description.
ver_rs() {
local v
(( ${#} & 1 )) && v=${@: -1} || v=${PV}
local start end i
local -a comp
_ver_split "${v}"
local max=$((${#comp[@]}/2 - 1))
while [[ ${#} -ge 2 ]]; do
_ver_parse_range "${1}" "${max}"
for (( i = start*2; i <= end*2; i+=2 )); do
[[ ${i} -eq 0 && -z ${comp[i]} ]] && continue
comp[i]=${2}
done
shift 2
done
local IFS=
echo "${comp[*]}"
}
# @FUNCTION: _ver_compare_int
# @USAGE: <a> <b>
# @RETURN: 0 if <a> -eq <b>, 1 if <a> -lt <b>, 3 if <a> -gt <b>
# @INTERNAL
# @DESCRIPTION:
# Compare two non-negative integers <a> and <b>, of arbitrary length.
# If <a> is equal to, less than, or greater than <b>, return 0, 1, or 3
# as exit status, respectively.
_ver_compare_int() {
local a=$1 b=$2 d=$(( ${#1}-${#2} ))
# Zero-pad to equal length if necessary.
if [[ ${d} -gt 0 ]]; then
printf -v b "%0${d}d%s" 0 "${b}"
elif [[ ${d} -lt 0 ]]; then
printf -v a "%0$(( -d ))d%s" 0 "${a}"
fi
[[ ${a} > ${b} ]] && return 3
[[ ${a} == "${b}" ]]
}
# @FUNCTION: _ver_compare
# @USAGE: <va> <vb>
# @RETURN: 1 if <va> < <vb>, 2 if <va> = <vb>, 3 if <va> > <vb>
# @INTERNAL
# @DESCRIPTION:
# Compare two versions <va> and <vb>. If <va> is less than, equal to,
# or greater than <vb>, return 1, 2, or 3 as exit status, respectively.
_ver_compare() {
local va=${1} vb=${2} a an al as ar b bn bl bs br re LC_ALL=C
re="^([0-9]+(\.[0-9]+)*)([a-z]?)((_(alpha|beta|pre|rc|p)[0-9]*)*)(-r[0-9]+)?$"
[[ ${va} =~ ${re} ]] || die "${FUNCNAME}: invalid version: ${va}"
an=${BASH_REMATCH[1]}
al=${BASH_REMATCH[3]}
as=${BASH_REMATCH[4]}
ar=${BASH_REMATCH[7]}
[[ ${vb} =~ ${re} ]] || die "${FUNCNAME}: invalid version: ${vb}"
bn=${BASH_REMATCH[1]}
bl=${BASH_REMATCH[3]}
bs=${BASH_REMATCH[4]}
br=${BASH_REMATCH[7]}
# Compare numeric components (PMS algorithm 3.2)
# First component
_ver_compare_int "${an%%.*}" "${bn%%.*}" || return
while [[ ${an} == *.* && ${bn} == *.* ]]; do
# Other components (PMS algorithm 3.3)
an=${an#*.}
bn=${bn#*.}
a=${an%%.*}
b=${bn%%.*}
if [[ ${a} == 0* || ${b} == 0* ]]; then
# Remove any trailing zeros
[[ ${a} =~ 0+$ ]] && a=${a%"${BASH_REMATCH[0]}"}
[[ ${b} =~ 0+$ ]] && b=${b%"${BASH_REMATCH[0]}"}
[[ ${a} > ${b} ]] && return 3
[[ ${a} < ${b} ]] && return 1
else
_ver_compare_int "${a}" "${b}" || return
fi
done
[[ ${an} == *.* ]] && return 3
[[ ${bn} == *.* ]] && return 1
# Compare letter components (PMS algorithm 3.4)
[[ ${al} > ${bl} ]] && return 3
[[ ${al} < ${bl} ]] && return 1
# Compare suffixes (PMS algorithm 3.5)
as=${as#_}${as:+_}
bs=${bs#_}${bs:+_}
while [[ -n ${as} && -n ${bs} ]]; do
# Compare each suffix (PMS algorithm 3.6)
a=${as%%_*}
b=${bs%%_*}
if [[ ${a%%[0-9]*} == "${b%%[0-9]*}" ]]; then
_ver_compare_int "${a##*[a-z]}" "${b##*[a-z]}" || return
else
# Check for p first
[[ ${a%%[0-9]*} == p ]] && return 3
[[ ${b%%[0-9]*} == p ]] && return 1
# Hack: Use that alpha < beta < pre < rc alphabetically
[[ ${a} > ${b} ]] && return 3 || return 1
fi
as=${as#*_}
bs=${bs#*_}
done
if [[ -n ${as} ]]; then
[[ ${as} == p[_0-9]* ]] && return 3 || return 1
elif [[ -n ${bs} ]]; then
[[ ${bs} == p[_0-9]* ]] && return 1 || return 3
fi
# Compare revision components (PMS algorithm 3.7)
_ver_compare_int "${ar#-r}" "${br#-r}" || return
return 2
}
# @FUNCTION: ver_test
# @USAGE: [<v1>] <op> <v2>
# @DESCRIPTION:
# Check if the relation <v1> <op> <v2> is true. If <v1> is not specified,
# default to ${PVR}. <op> can be -gt, -ge, -eq, -ne, -le, -lt.
# Both versions must conform to the PMS version syntax (with optional
# revision parts), and the comparison is performed according to
# the algorithm specified in the PMS.
ver_test() {
local va op vb
if [[ $# -eq 3 ]]; then
va=${1}
shift
else
va=${PVR}
fi
[[ $# -eq 2 ]] || die "${FUNCNAME}: bad number of arguments"
op=${1}
vb=${2}
case ${op} in
-eq|-ne|-lt|-le|-gt|-ge) ;;
*) die "${FUNCNAME}: invalid operator: ${op}" ;;
esac
_ver_compare "${va}" "${vb}"
test $? "${op}" 2
}

View File

@ -344,7 +344,7 @@ elisp-site-file-install() {
# directory.
elisp-site-regen() {
local sitelisp=${ROOT}${EPREFIX}${SITELISP}
local sitelisp=${ROOT%/}${EPREFIX}${SITELISP}
local sf i ret=0 null="" page=$'\f'
local -a sflist

View File

@ -827,8 +827,8 @@ use_if_iuse() {
# @FUNCTION: optfeature
# @USAGE: <short description> <package atom to match> [other atoms]
# @DESCRIPTION:
# Print out a message suggesting an optional package (or packages) which
# provide the described functionality
# Print out a message suggesting an optional package (or packages)
# not currently installed which provides the described functionality.
#
# The following snippet would suggest app-misc/foo for optional foo support,
# app-misc/bar or app-misc/baz[bar] for optional bar support

View File

@ -1,4 +1,4 @@
# Copyright 1999-2011 Gentoo Foundation
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: fdo-mime.eclass
@ -7,6 +7,8 @@
# @AUTHOR:
# Original author: foser <foser@gentoo.org>
# @BLURB: Utility eclass to update the desktop mime info as laid out in the freedesktop specs & implementations
# @DESCRIPTION:
# This eclass is DEPRECATED. Please use xdg-utils or xdg instead.
# @FUNCTION: fdo-mime_desktop_database_update
# @DESCRIPTION:

View File

@ -433,10 +433,21 @@ test-flag-PROG() {
# Use -c so we can test the assembler as well.
-c -o /dev/null
)
if "${cmdline[@]}" -x${lang} - </dev/null >/dev/null 2>&1 ; then
"${cmdline[@]}" "${flag}" -x${lang} - </dev/null >/dev/null 2>&1
if "${cmdline[@]}" -x${lang} - </dev/null &>/dev/null ; then
cmdline+=( "${flag}" -x${lang} - )
else
"${cmdline[@]}" "${flag}" -c -o /dev/null /dev/null >/dev/null 2>&1
# XXX: what's the purpose of this? does it even work with
# any compiler?
cmdline+=( "${flag}" -c -o /dev/null /dev/null )
fi
if ! "${cmdline[@]}" </dev/null &>/dev/null; then
# -Werror makes clang bail out on unused arguments as well;
# try to add -Qunused-arguments to work-around that
# other compilers don't support it but then, it's failure like
# any other
cmdline+=( -Qunused-arguments )
"${cmdline[@]}" </dev/null &>/dev/null
fi
}
@ -535,6 +546,9 @@ strip-unsupported-flags() {
export CXXFLAGS=$(test-flags-CXX ${CXXFLAGS})
export FFLAGS=$(test-flags-F77 ${FFLAGS})
export FCFLAGS=$(test-flags-FC ${FCFLAGS})
# note: this does not verify the linker flags but it is enough
# to strip invalid C flags which are much more likely, #621274
export LDFLAGS=$(test-flags-CC ${LDFLAGS})
}
# @FUNCTION: get-flag

View File

@ -1,4 +1,4 @@
# Copyright 1999-2015 Gentoo Foundation
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
#
# @MAINTAINER:
@ -68,7 +68,7 @@ if [[ ${MY_PV} == *9999* ]]; then
ESVN_PROJECT="freebsd-${BRANCH}"
fi
# use the original source code.
# Use the original source code.
if [[ ${MY_PV} != *9999* ]] && version_is_at_least 10.0 ${RV} ; then
DL_PV=${MY_PV/_rc/-RC}
DL_PV=${DL_PV/_beta/-BETA}
@ -114,7 +114,7 @@ freebsd_get_bmake() {
echo "${bmake}"
}
# Generates a patch SRC_URI or DISTDIR of upstream.
# Generates SRC_URI or DISTDIR for the upstream patch.
freebsd_upstream_patches() {
local opt=$1
[[ ${#UPSTREAM_PATCHES[@]} -eq 0 ]] && return 1
@ -172,8 +172,8 @@ freebsd_src_unpack() {
if [[ ${MY_PV} == *9999* ]]; then
S="${WORKDIR}" subversion_src_unpack
# When share/mk exists in ${WORKDIR}, it is used on FreeBSD 10.0
# Removed "${WORKDIR}"/share/mk/*.mk, use to force /usr/share/mk.
# When share/mk exists in ${WORKDIR}, BSD's make will try to use it on FreeBSD 10.0 or later.
# We should remove "${WORKDIR}"/share/mk/*.mk to use /usr/share/mk{,/system}.
if [[ ${PN} != freebsd-mk-defs ]] ; then
[[ -e "${WORKDIR}"/share/mk ]] && rm -rf "${WORKDIR}"/share/mk/*.mk
fi
@ -182,7 +182,7 @@ freebsd_src_unpack() {
local tarball="freebsd-src-${MY_PV}.tar.xz"
local topdir="usr/src/"
local extractlist=()
for i in ${EXTRACTONLY} ; do
for i in ${EXTRACTONLY} tools/ ; do
extractlist+=( ${topdir}${i} )
done
ebegin "Unpacking parts of ${tarball} to ${WORKDIR}"
@ -210,11 +210,12 @@ freebsd_src_unpack() {
export INSTALL_LINK="ln -f"
export INSTALL_SYMLINK="ln -fs"
fi
if version_is_at_least 11.0 ${RV} ; then
export RSYMLINK=" -l s"
# An older version of install command doesn't support the -T option.
if version_is_at_least 11.0 ${RV} && ! has_version ">=sys-freebsd/freebsd-ubin-${RV}" ; then
export INSTALL="sh ${WORKDIR}/tools/install.sh"
fi
# When CC=clang, force use clang-cpp #478810, #595878
# If CC=clang, we should use clang-cpp instead of cpp. #478810, #595878
if [[ $(tc-getCC) == *clang* ]] ; then
if type -P clang-cpp > /dev/null ; then
export CPP=clang-cpp
@ -225,7 +226,7 @@ freebsd_src_unpack() {
fi
fi
# Add a special CFLAGS required for multilib support.
# Add the special CFLAGS required for multilib support.
use amd64-fbsd && export CFLAGS_x86_fbsd="${CFLAGS_x86_fbsd} -DCOMPAT_32BIT -B/usr/lib32 -L/usr/lib32"
}
@ -235,13 +236,13 @@ freebsd_src_compile() {
if ! use profile ; then
mymakeopts="${mymakeopts} WITHOUT_PROFILE= "
fi
# Disable debugging info, use FEATURES=splitdebug instead.
# Disable the debugging information, use FEATURES=splitdebug instead.
mymakeopts="${mymakeopts} WITHOUT_DEBUG_FILES= "
# Test does not support yet.
# We don't support test yet.
mymakeopts="${mymakeopts} WITHOUT_TESTS= "
# Force set SRCTOP.
# Set the SRCTOP to detect the source directory.
mymakeopts="${mymakeopts} SRCTOP=${WORKDIR} "
# Set common option.
# Set the common settings.
mymakeopts="${mymakeopts} WITHOUT_MANCOMPRESS= WITHOUT_INFOCOMPRESS= "
else
use profile || mymakeopts="${mymakeopts} NO_PROFILE= "
@ -311,13 +312,13 @@ freebsd_src_install() {
if ! use profile ; then
mymakeopts="${mymakeopts} WITHOUT_PROFILE= "
fi
# Disable debugging info, use FEATURES=splitdebug instead.
# Disable the debugging information, use FEATURES=splitdebug instead.
mymakeopts="${mymakeopts} WITHOUT_DEBUG_FILES= "
# Test does not support yet.
# We don't support test yet.
mymakeopts="${mymakeopts} WITHOUT_TESTS= "
# Force set SRCTOP.
# Set the SRCTOP to detect the source directory.
mymakeopts="${mymakeopts} SRCTOP=${WORKDIR} "
# Set common option.
# Set the common settings.
mymakeopts="${mymakeopts} WITHOUT_MANCOMPRESS= WITHOUT_INFOCOMPRESS= "
else
use profile || mymakeopts="${mymakeopts} NO_PROFILE= "

View File

@ -1,4 +1,4 @@
# Copyright 1999-2011 Gentoo Foundation
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# Variables to specify in an ebuild which uses this eclass:
@ -197,7 +197,8 @@ games-mods_dosyms() {
games-mods_make_initd() {
cat <<EOF > "${T}"/${MOD_DED_BIN}
#!/sbin/openrc-run
$(head -n 2 ${PORTDIR}/header.txt)
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# Generated by games-mods.eclass
depend() {

View File

@ -105,18 +105,22 @@ fi
# @ECLASS-VARIABLE: EGIT_REPO_URI
# @REQUIRED
# @DESCRIPTION:
# URIs to the repository, e.g. git://foo, https://foo. If multiple URIs
# are provided, the eclass will consider them as fallback URIs to try
# if the first URI does not work. For supported URI syntaxes, read up
# the manpage for git-clone(1).
# URIs to the repository, e.g. https://foo. If multiple URIs are
# provided, the eclass will consider the remaining URIs as fallbacks
# to try if the first URI does not work. For supported URI syntaxes,
# read the manpage for git-clone(1).
#
# It can be overriden via env using ${PN}_LIVE_REPO variable.
# URIs should be using https:// whenever possible. http:// and git://
# URIs are completely unsecured and their use (even if only as
# a fallback) renders the ebuild completely vulnerable to MITM attacks.
#
# It can be overridden via env using ${PN}_LIVE_REPO variable.
#
# Can be a whitespace-separated list or an array.
#
# Example:
# @CODE
# EGIT_REPO_URI="git://a/b.git https://c/d.git"
# EGIT_REPO_URI="https://a/b.git https://c/d.git"
# @CODE
# @ECLASS-VARIABLE: EVCS_OFFLINE
@ -566,6 +570,16 @@ git-r3_fetch() {
[[ ${repos[@]} ]] || die "No URI provided and EGIT_REPO_URI unset"
local r
for r in "${repos[@]}"; do
if [[ ${r} == git:* || ${r} == http:* ]]; then
ewarn "git-r3: ${r%%:*} protocol is completely unsecure and may render the ebuild"
ewarn "easily susceptible to MITM attacks (even if used only as fallback). Please"
ewarn "use https instead."
ewarn "[URI: ${r}]"
fi
done
local -x GIT_DIR
_git-r3_set_gitdir "${repos[0]}"
@ -578,7 +592,7 @@ git-r3_fetch() {
fi
# try to fetch from the remote
local r success saved_umask
local success saved_umask
if [[ ${EVCS_UMASK} ]]; then
saved_umask=$(umask)
umask "${EVCS_UMASK}" || die "Bad options to umask: ${EVCS_UMASK}"
@ -853,6 +867,9 @@ git-r3_checkout() {
echo "${orig_repo}/objects" > "${GIT_DIR}"/objects/info/alternates || die
# now copy the refs
cp -R "${orig_repo}"/refs/* "${GIT_DIR}"/refs/ || die
if [[ -f ${orig_repo}/packed-refs ]]; then
cp "${orig_repo}"/packed-refs "${GIT_DIR}"/packed-refs || die
fi
# (no need to copy HEAD, we will set it via checkout)

View File

@ -381,11 +381,6 @@ gnome2_schemas_update() {
return
fi
if [[ -z ${GNOME2_ECLASS_GLIB_SCHEMAS} ]]; then
debug-print "No GSettings schemas to update"
return
fi
ebegin "Updating GSettings schemas"
${updater} --allow-any-name "$@" "${EROOT%/}/usr/share/glib-2.0/schemas" &>/dev/null
eend $?

View File

@ -340,7 +340,9 @@ gnome2_pkg_postinst() {
if [[ -n ${GNOME2_ECLASS_ICONS} ]]; then
gnome2_icon_cache_update
fi
if [[ -n ${GNOME2_ECLASS_GLIB_SCHEMAS} ]]; then
gnome2_schemas_update
fi
gnome2_scrollkeeper_update
gnome2_gdk_pixbuf_update
@ -359,8 +361,12 @@ gnome2_pkg_postinst() {
# Handle scrollkeeper, GSettings, Icons, desktop and mime database updates.
gnome2_pkg_postrm() {
xdg_pkg_postrm
if [[ -n ${GNOME2_ECLASS_ICONS} ]]; then
gnome2_icon_cache_update
fi
if [[ -n ${GNOME2_ECLASS_GLIB_SCHEMAS} ]]; then
gnome2_schemas_update
fi
gnome2_scrollkeeper_update
if [[ ${#GNOME2_ECLASS_GIO_MODULES[@]} -gt 0 ]]; then

View File

@ -158,8 +158,7 @@ egnustep_env() {
&& GS_ENV=( "${GS_ENV[@]}" "debug=yes" ) \
|| GS_ENV=( "${GS_ENV[@]}" "debug=no" )
# About 20 gnustep packages still use EAPI 0
if built_with_use --missing false gnustep-base/gnustep-make libobjc2;
if has_version "gnustep-base/gnustep-make[libobjc2]";
then
# Set clang for packages that do not respect gnustep-make
# settings (gnustep-base's configure for example)

View File

@ -34,7 +34,7 @@
#
# inherit golang-vcs-snapshot
#
# SRC_URI="http://github.com/example/${PN}/tarball/v${PV} -> ${P}.tar.gz
# SRC_URI="https://github.com/example/${PN}/tarball/v${PV} -> ${P}.tar.gz
# ${EGO_VENDOR_URI}"
# @CODE
#

View File

@ -44,6 +44,10 @@ java-pkg-opt-2_pkg_setup() {
java-pkg-opt-2_src_prepare() {
use ${JAVA_PKG_OPT_USE} && java-utils-2_src_prepare
case "${EAPI:-0}" in
[0-5]) ;;
*) use ${JAVA_PKG_OPT_USE} || eapply_user ;;
esac
}

View File

@ -1,4 +1,4 @@
# Copyright 1999-2016 Gentoo Foundation
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: kde4-base.eclass
@ -112,6 +112,12 @@ unset export_fns
# This variable must be set before inheriting any eclasses. Defaults to 'never'.
DECLARATIVE_REQUIRED="${DECLARATIVE_REQUIRED:-never}"
# @ECLASS-VARIABLE: QT3SUPPORT_REQUIRED
# @DESCRIPTION:
# Is qt3support required? Possible values are 'true' or 'false'.
# This variable must be set before inheriting any eclasses. Defaults to 'false'.
QT3SUPPORT_REQUIRED="${QT3SUPPORT_REQUIRED:-false}"
# @ECLASS-VARIABLE: QTHELP_REQUIRED
# @DESCRIPTION:
# Is qthelp required? Possible values are 'always', 'optional' and 'never'.
@ -130,6 +136,12 @@ OPENGL_REQUIRED="${OPENGL_REQUIRED:-never}"
# This variable must be set before inheriting any eclasses. Defaults to 'never'.
MULTIMEDIA_REQUIRED="${MULTIMEDIA_REQUIRED:-never}"
# @ECLASS-VARIABLE: SQL_REQUIRED
# @DESCRIPTION:
# Is qtsql required? Possible values are 'always', 'optional' and 'never'.
# This variable must be set before inheriting any eclasses. Defaults to 'never'.
SQL_REQUIRED="${SQL_REQUIRED:-never}"
# @ECLASS-VARIABLE: WEBKIT_REQUIRED
# @DESCRIPTION:
# Is qtwebkit required? Possible values are 'always', 'optional' and 'never'.
@ -216,6 +228,21 @@ case ${DECLARATIVE_REQUIRED} in
esac
unset qtdeclarativedepend
# Qt3Support dependencies
qt3supportdepend="
>=dev-qt/qt3support-${QT_MINIMAL}:4[accessibility]
"
case ${QT3SUPPORT_REQUIRED} in
true)
COMMONDEPEND+=" ${qt3supportdepend}"
[[ -n ${qtcoreuse} ]] && qtcoreuse+=",qt3support" || qtcoreuse="qt3support"
[[ -n ${qtsqluse} ]] && qtsqluse+=",qt3support" || qtsqluse="qt3support"
[[ -n ${kdelibsuse} ]] && kdelibsuse+=",qt3support(+)" || kdelibsuse="qt3support(+)"
;;
*) ;;
esac
unset qt3supportdepend
# QtHelp dependencies
qthelpdepend="
>=dev-qt/qthelp-${QT_MINIMAL}:4
@ -263,6 +290,24 @@ case ${MULTIMEDIA_REQUIRED} in
esac
unset qtmultimediadepend
# Sql dependencies
[[ -n ${qtsqluse} ]] && qtsqluse="[${qtsqluse}]"
qtsqldepend="
>=dev-qt/qtsql-${QT_MINIMAL}:4${qtsqluse}
"
case ${SQL_REQUIRED} in
always)
COMMONDEPEND+=" ${qtsqldepend}"
;;
optional)
IUSE+=" sql"
COMMONDEPEND+=" sql? ( ${qtsqldepend} )"
;;
*) ;;
esac
unset qtsqluse
unset qtsqldepend
# WebKit dependencies
qtwebkitdepend="
>=dev-qt/qtwebkit-${QT_MINIMAL}:4
@ -270,10 +315,12 @@ qtwebkitdepend="
case ${WEBKIT_REQUIRED} in
always)
COMMONDEPEND+=" ${qtwebkitdepend}"
[[ -n ${kdelibsuse} ]] && kdelibsuse+=",webkit(+)" || kdelibsuse="webkit(+)"
;;
optional)
IUSE+=" +webkit"
COMMONDEPEND+=" webkit? ( ${qtwebkitdepend} )"
[[ -n ${kdelibsuse} ]] && kdelibsuse+=",webkit?" || kdelibsuse="webkit?"
;;
*) ;;
esac
@ -297,28 +344,23 @@ unset cppuintdepend
# KDE dependencies
# Qt accessibility classes are needed in various places, bug 325461
[[ -n ${qtcoreuse} ]] && qtcoreuse+=",ssl" || qtcoreuse="ssl"
[[ -n ${qtcoreuse} ]] && qtcoreuse="[${qtcoreuse}]"
kdecommondepend="
dev-lang/perl
>=dev-qt/qt3support-${QT_MINIMAL}:4[accessibility]
>=dev-qt/qtcore-${QT_MINIMAL}:4[qt3support,ssl]
>=dev-qt/qtdbus-${QT_MINIMAL}:4
>=dev-qt/designer-${QT_MINIMAL}:4
>=dev-qt/qtcore-${QT_MINIMAL}:4${qtcoreuse}
>=dev-qt/qtdbus-${QT_MINIMAL}:4
>=dev-qt/qtgui-${QT_MINIMAL}:4[accessibility,dbus(+)]
>=dev-qt/qtscript-${QT_MINIMAL}:4
>=dev-qt/qtsql-${QT_MINIMAL}:4[qt3support]
>=dev-qt/qtsvg-${QT_MINIMAL}:4
>=dev-qt/qttest-${QT_MINIMAL}:4
"
unset qtcoreuse
if [[ ${PN} != kdelibs ]]; then
local _kdelibsuse
case ${WEBKIT_REQUIRED} in
always) _kdelibsuse="[webkit]" ;;
optional) _kdelibsuse="[webkit?]" ;;
*) ;;
esac
kdecommondepend+=" >=kde-frameworks/kdelibs-4.14.22:4${_kdelibsuse}"
unset _kdelibsuse
[[ -n ${kdelibsuse} ]] && kdelibsuse="[${kdelibsuse}]"
kdecommondepend+=" kde-frameworks/kdelibs:4${kdelibsuse}"
if [[ ${KDEBASE} = kdevelop ]]; then
if [[ ${PN} != kdevplatform ]]; then
# @ECLASS-VARIABLE: KDEVPLATFORM_REQUIRED
@ -337,22 +379,17 @@ if [[ ${PN} != kdelibs ]]; then
fi
fi
fi
unset kdelibsuse
kdedepend="
dev-util/automoc
virtual/pkgconfig
!aqua? (
>=x11-libs/libXtst-1.1.0
x11-proto/xf86vidmodeproto
)
"
kderdepend=""
if [[ ${CATEGORY} == kde-apps ]]; then
kderdepend+=" !kde-base/${PN}:4"
fi
# all packages needs oxygen icons for basic iconset
if [[ ${PN} != oxygen-icons ]]; then
kderdepend+=" kde-frameworks/oxygen-icons"
@ -385,14 +422,7 @@ case ${KDE_HANDBOOK} in
[[ ${PN} != kdelibs ]] && kderdepend+=" ${kdehandbookrdepend}"
;;
optional)
case ${PN} in
kcontrol | kdesu | knetattach)
IUSE+=" handbook"
;;
*)
IUSE+=" +handbook"
;;
esac
kdedepend+=" handbook? ( ${kdehandbookdepend} )"
[[ ${PN} != kdelibs ]] && kderdepend+=" handbook? ( ${kdehandbookrdepend} )"
;;
@ -408,12 +438,6 @@ case ${KDE_SELINUX_MODULE} in
;;
esac
# We always need the aqua useflag because otherwise we cannot = refer to it inside
# add_kdebase_dep. This was always kind of a bug, but came to light with EAPI=5
# (where referring to a use flag not in IUSE masks the ebuild).
# The only alternative would be to prohibit using add_kdebase_dep if KDE_REQUIRED=never
IUSE+=" aqua"
case ${KDE_REQUIRED} in
always)
[[ -n ${kdecommondepend} ]] && COMMONDEPEND+=" ${kdecommondepend}"
@ -637,7 +661,7 @@ debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: SRC_URI is ${SRC_URI}"
kde4-base_pkg_setup() {
debug-print-function ${FUNCNAME} "$@"
if has handbook ${IUSE} || has "+handbook" ${IUSE} && [ "${KDE_HANDBOOK}" != optional ] ; then
if has handbook ${IUSE} || has "+handbook" ${IUSE} && [[ "${KDE_HANDBOOK}" != optional ]] ; then
eqawarn "Handbook support is enabled via KDE_HANDBOOK=optional in the ebuild."
eqawarn "Please do not just set IUSE=handbook, as this leads to dependency errors."
fi
@ -645,16 +669,6 @@ kde4-base_pkg_setup() {
# Don't set KDEHOME during compilation, it will cause access violations
unset KDEHOME
# Check if gcc compiler is fresh enough.
# In theory should be in pkg_pretend but we check it only for kdelibs there
# and for others we do just quick scan in pkg_setup because pkg_pretend
# executions consume quite some time (ie. when merging 300 packages at once will cause 300 checks)
if [[ ${MERGE_TYPE} != binary ]] && tc-is-gcc; then
[[ $(gcc-major-version) -lt 4 ]] || \
( [[ $(gcc-major-version) -eq 4 && $(gcc-minor-version) -le 6 ]] ) \
&& die "Sorry, but gcc-4.6 and earlier wont work for some KDE packages."
fi
KDEDIR=/usr
: ${PREFIX:=/usr}
EKDEDIR=${EPREFIX}/usr
@ -936,7 +950,9 @@ kde4-base_pkg_postinst() {
kde4-base_pkg_postrm() {
debug-print-function ${FUNCNAME} "$@"
if [[ -n ${GNOME2_ECLASS_ICONS} ]]; then
gnome2_icon_cache_update
fi
fdo-mime_desktop_database_update
fdo-mime_mime_database_update
buildsycoca

View File

@ -296,6 +296,10 @@ add_kdeapps_dep() {
local ver
if [[ -n ${2} ]] ; then
local use="[${2}]"
fi
if [[ -n ${3} ]]; then
ver=${3}
elif [[ -n ${KDE_OVERRIDE_MINIMAL} ]]; then
@ -313,9 +317,7 @@ add_kdeapps_dep() {
[[ -z ${1} ]] && die "Missing parameter"
#FIXME
# Drop aqua= from kf5 packages
echo " >=kde-apps/${1}-${ver}:4[aqua=${2:+,${2}}]"
echo " >=kde-apps/${1}-${ver}:4${use}"
}
# @FUNCTION: add_kdebase_dep
@ -332,6 +334,10 @@ add_kdebase_dep() {
local ver
if [[ -n ${2} ]] ; then
local use="[${2}]"
fi
if [[ -n ${3} ]]; then
ver=${3}
elif [[ -n ${KDE_OVERRIDE_MINIMAL} ]]; then
@ -351,7 +357,7 @@ add_kdebase_dep() {
[[ -z ${1} ]] && die "Missing parameter"
echo " >=kde-base/${1}-${ver}:4[aqua=${2:+,${2}}]"
echo " >=kde-base/${1}-${ver}:4${use}"
}
# local function to enable specified translations for specified directory

View File

@ -35,14 +35,9 @@ case ${CATEGORY} in
[[ ${KDE_BUILD_TYPE} = live ]] && : ${FRAMEWORKS_MINIMAL:=9999}
;;
kde-plasma)
: ${QT_MINIMAL:=5.7.1}
if [[ ${KDE_BUILD_TYPE} = live && $(get_version_component_range 2) -ne 8 ]]; then
: ${FRAMEWORKS_MINIMAL:=9999}
fi
;;
kde-apps)
[[ ${PV} = 5.11* ]] && : ${FRAMEWORKS_MINIMAL:=5.38.0}
if [[ ${KDE_BUILD_TYPE} = live ]]; then
: ${QT_MINIMAL:=5.7.1}
: ${FRAMEWORKS_MINIMAL:=9999}
fi
;;
esac
@ -50,17 +45,17 @@ esac
# @ECLASS-VARIABLE: QT_MINIMAL
# @DESCRIPTION:
# Minimal Qt version to require for the package.
: ${QT_MINIMAL:=5.6.1}
: ${QT_MINIMAL:=5.7.1}
# @ECLASS-VARIABLE: FRAMEWORKS_MINIMAL
# @DESCRIPTION:
# Minimal Frameworks version to require for the package.
: ${FRAMEWORKS_MINIMAL:=5.34.0}
: ${FRAMEWORKS_MINIMAL:=5.37.0}
# @ECLASS-VARIABLE: PLASMA_MINIMAL
# @DESCRIPTION:
# Minimal Plasma version to require for the package.
: ${PLASMA_MINIMAL:=5.9.5}
: ${PLASMA_MINIMAL:=5.10.5}
# @ECLASS-VARIABLE: KDE_APPS_MINIMAL
# @DESCRIPTION:
@ -78,8 +73,6 @@ esac
# kdevelop ebuild.
if [[ ${KMNAME-${PN}} = kdevelop ]]; then
KDEBASE=kdevelop
elif [[ ${KMNAME} = kde-l10n || ${PN} = kde-l10n ]]; then
KDEBASE=kdel10n
fi
debug-print "${ECLASS}: ${KDEBASE} ebuild recognized"
@ -244,13 +237,8 @@ add_kdeapps_dep() {
elif [[ ${CATEGORY} = kde-apps ]]; then
version=${PV}
elif [[ -z "${version}" ]] ; then
# In KDE applications world, 5.9999 > yy.mm.x
if [[ ${PV} = 5.9999 || ${PV} = 9999 ]]; then
version=5.9999
else
version=${KDE_APPS_MINIMAL}
fi
fi
_add_category_dep kde-apps "${1}" "${2}" "${version}" "${4}"
}

View File

@ -17,7 +17,7 @@ HOMEPAGE="https://www.kde.org/"
LICENSE="metapackage"
SLOT="5"
if [[ ${KDE_BLOCK_SLOT4} = true && ${CATEGORY} = kde-apps ]]; then
if [[ ${CATEGORY} = kde-apps ]]; then
RDEPEND+=" !kde-apps/${PN}:4"
fi

View File

@ -90,6 +90,13 @@ else
: ${KDE_QTHELP:=false}
fi
# @ECLASS-VARIABLE: KDE_TESTPATTERN
# @DESCRIPTION:
# DANGER: Only touch it if you know what you are doing.
# By default, matches autotest(s), unittest(s) and test(s) pattern inside
# cmake add_subdirectory calls.
: ${KDE_TESTPATTERN:="\(auto|unit\)\?tests\?"}
# @ECLASS-VARIABLE: KDE_TEST
# @DESCRIPTION:
# If set to "false", do nothing.
@ -98,24 +105,16 @@ fi
# when USE=!test.
# If set to "forceoptional", remove a Qt5Test dependency and comment test
# subdirs from the root CMakeLists.txt in addition to the above.
# If set to "forceoptional-recursive", remove a Qt5Test dependency and comment
# test subdirs from *any* CMakeLists.txt in addition to the above.
# If set to "forceoptional-recursive", remove Qt5Test dependencies and make
# test subdirs according to KDE_TESTPATTERN from *any* CMakeLists.txt in ${S}
# and below conditional on BUILD_TESTING. This is always meant as a short-term
# fix and creates ${T}/${P}-tests-optional.patch to refine and submit upstream.
if [[ ${CATEGORY} = kde-frameworks ]]; then
: ${KDE_TEST:=true}
else
: ${KDE_TEST:=false}
fi
# @ECLASS-VARIABLE: KDE_L10N
# @DESCRIPTION:
# This is an array of translations this ebuild supports. These translations
# are automatically added to IUSE.
if [[ ${KDEBASE} = kdel10n ]]; then
if [[ -n ${KDE_L10N} ]]; then
IUSE="${IUSE} $(printf 'l10n_%s ' ${KDE_L10N[@]})"
fi
fi
# @ECLASS-VARIABLE: KDE_SELINUX_MODULE
# @DESCRIPTION:
# If set to "none", do nothing.
@ -141,8 +140,6 @@ KDE_UNRELEASED=( )
if [[ ${KDEBASE} = kdevelop ]]; then
HOMEPAGE="https://www.kdevelop.org/"
elif [[ ${KDEBASE} = kdel10n ]]; then
HOMEPAGE="https://l10n.kde.org"
elif [[ ${KMNAME} = kdepim ]]; then
HOMEPAGE="https://www.kde.org/applications/office/kontact/"
else
@ -364,21 +361,6 @@ _calculate_src_uri() {
unset _kdebase
fi
if [[ ${KDEBASE} = kdel10n ]] ; then
local uri_base="${SRC_URI/${_kmname}-${PV}.tar.xz/}kde-l10n/kde-l10n"
SRC_URI=""
for my_l10n in ${KDE_L10N[@]} ; do
case ${my_l10n} in
sr | sr-ijekavsk | sr-Latn-ijekavsk | sr-Latn)
SRC_URI="${SRC_URI} l10n_${my_l10n}? ( ${uri_base}-sr-${PV}.tar.xz )"
;;
*)
SRC_URI="${SRC_URI} l10n_${my_l10n}? ( ${uri_base}-$(kde_l10n2lingua ${my_l10n})-${PV}.tar.xz )"
;;
esac
done
fi
if _kde_is_unreleased ; then
RESTRICT+=" fetch"
fi
@ -491,16 +473,6 @@ kde5_src_unpack() {
git-r3_src_unpack
;;
esac
elif [[ ${KDEBASE} = kdel10n ]]; then
local l10npart=5
[[ ${PN} = kde4-l10n ]] && l10npart=4
mkdir -p "${S}" || die "Failed to create source dir ${S}"
cd "${S}"
for my_tar in ${A}; do
tar -xpf "${DISTDIR}/${my_tar}" --xz \
"${my_tar/.tar.xz/}/CMakeLists.txt" "${my_tar/.tar.xz/}/${l10npart}" 2> /dev/null ||
elog "${my_tar}: tar extract command failed at least partially - continuing"
done
else
default
fi
@ -512,42 +484,6 @@ kde5_src_unpack() {
kde5_src_prepare() {
debug-print-function ${FUNCNAME} "$@"
if [[ ${KDEBASE} = kdel10n ]]; then
local l10npart=5
[[ ${PN} = kde4-l10n ]] && l10npart=4
# move known variant subdirs to root dir, currently sr@*
use_if_iuse l10n_sr-ijekavsk && _l10n_variant_subdir2root sr-ijekavsk sr
use_if_iuse l10n_sr-Latn-ijekavsk && _l10n_variant_subdir2root sr-Latn-ijekavsk sr
use_if_iuse l10n_sr-Latn && _l10n_variant_subdir2root sr-Latn sr
if use_if_iuse l10n_sr; then
rm -rf kde-l10n-sr-${PV}/${l10npart}/sr/sr@* || die "Failed to cleanup L10N=sr"
_l10n_variant_subdir_buster sr
elif [[ -d kde-l10n-sr-${PV} ]]; then
# having any variant selected means parent lingua will be unpacked as well
rm -r kde-l10n-sr-${PV} || die "Failed to remove sr parent lingua"
fi
cat <<-EOF > CMakeLists.txt || die
project(${PN})
cmake_minimum_required(VERSION 2.8.12)
EOF
# add all l10n directories to cmake
if [[ -n ${A} ]]; then
cat <<-EOF >> CMakeLists.txt || die
$(printf "add_subdirectory( %s )\n" \
`find . -mindepth 1 -maxdepth 1 -type d | sed -e "s:^\./::"`)
EOF
fi
# for KF5: drop KDE4-based part; for KDE4: drop KF5-based part
case ${l10npart} in
5) find -maxdepth 2 -type f -name CMakeLists.txt -exec \
sed -i -e "/add_subdirectory(4)/ s/^/#DONT/" {} + || die ;;
4) find -maxdepth 2 -type f -name CMakeLists.txt -exec \
sed -i -e "/add_subdirectory(5)/ s/^/#DONT/" {} + || die ;;
esac
fi
cmake-utils_src_prepare
# only build examples when required
@ -615,11 +551,6 @@ kde5_src_prepare() {
fi
fi
# in frameworks, tests = manual tests so never build them
if [[ ${CATEGORY} = kde-frameworks ]] && [[ ${PN} != extra-cmake-modules ]]; then
cmake_comment_add_subdirectory tests
fi
# only build unit tests when required
if ! use_if_iuse test ; then
if [[ ${KDE_TEST} = forceoptional ]] ; then
@ -628,17 +559,33 @@ kde5_src_prepare() {
cmake_comment_add_subdirectory autotests test tests
elif [[ ${KDE_TEST} = forceoptional-recursive ]] ; then
punt_bogus_dep Qt5 Test
local d
for d in $(find . -type d -name "autotests" -or -name "tests" -or -name "test" -or -name "unittests"); do
pushd ${d%/*} > /dev/null || die
local f pf="${T}/${P}"-tests-optional.patch
touch ${pf} || die "Failed to touch patch file"
for f in $(find . -type f -name "CMakeLists.txt" -exec \
grep -l "^\s*add_subdirectory\s*\(\s*.*${KDE_TESTPATTERN}\s*)\s*\)" {} \;); do
cp ${f} ${f}.old || die "Failed to prepare patch origfile"
pushd ${f%/*} > /dev/null || die
punt_bogus_dep Qt5 Test
cmake_comment_add_subdirectory autotests test tests
sed -i CMakeLists.txt -e \
"/^#/! s/add_subdirectory\s*\(\s*.*${KDE_TESTPATTERN}\s*)\s*\)/if(BUILD_TESTING)\n&\nendif()/" \
|| die
popd > /dev/null || die
diff -Naur ${f}.old ${f} 1>>${pf}
rm ${f}.old || die "Failed to clean up"
done
einfo "Build system was modified by KDE_TEST=forceoptional-recursive."
einfo "Unified diff file ready for pickup in:"
einfo " ${pf}"
einfo "Push it upstream to make this message go away."
elif [[ ${CATEGORY} = kde-frameworks || ${CATEGORY} = kde-plasma || ${CATEGORY} = kde-apps ]] ; then
cmake_comment_add_subdirectory autotests test tests
fi
fi
# in frameworks, tests = manual tests so never build them
if [[ ${CATEGORY} = kde-frameworks ]] && [[ ${PN} != extra-cmake-modules ]]; then
cmake_comment_add_subdirectory tests
fi
}
# @FUNCTION: kde5_src_configure
@ -783,46 +730,10 @@ kde5_pkg_postinst() {
kde5_pkg_postrm() {
debug-print-function ${FUNCNAME} "$@"
if [[ -n ${GNOME2_ECLASS_ICONS} ]]; then
gnome2_icon_cache_update
fi
xdg_pkg_postrm
}
_l10n_variant_subdir2root() {
local l10npart=5
[[ ${PN} = kde4-l10n ]] && l10npart=4
local lingua=$(kde_l10n2lingua ${1})
local src=kde-l10n-${2}-${PV}
local dest=kde-l10n-${lingua}-${PV}/${l10npart}
# create variant rootdir structure from parent lingua and adapt it
mkdir -p ${dest} || die "Failed to create ${dest}"
mv ${src}/${l10npart}/${2}/${lingua} ${dest}/${lingua} || die "Failed to create ${dest}/${lingua}"
cp -f ${src}/CMakeLists.txt kde-l10n-${lingua}-${PV} || die "Failed to prepare L10N=${1} subdir"
echo "add_subdirectory(${lingua})" > ${dest}/CMakeLists.txt ||
die "Failed to prepare ${dest}/CMakeLists.txt"
cp -f ${src}/${l10npart}/${2}/CMakeLists.txt ${dest}/${lingua} ||
die "Failed to create ${dest}/${lingua}/CMakeLists.txt"
sed -e "s/${2}/${lingua}/" -i ${dest}/${lingua}/CMakeLists.txt ||
die "Failed to prepare ${dest}/${lingua}/CMakeLists.txt"
_l10n_variant_subdir_buster ${1}
}
_l10n_variant_subdir_buster() {
local l10npart=5
[[ ${PN} = kde4-l10n ]] && l10npart=4
local dir=kde-l10n-$(kde_l10n2lingua ${1})-${PV}/${l10npart}/$(kde_l10n2lingua ${1})
case ${l10npart} in
5) sed -e "/^add_subdirectory(/d" -i ${dir}/CMakeLists.txt || die "Failed to cleanup ${dir} subdir" ;;
4) sed -e "/^macro.*subdirectory(/d" -i ${dir}/CMakeLists.txt || die "Failed to cleanup ${dir} subdir" ;;
esac
for subdir in $(find ${dir} -mindepth 1 -maxdepth 1 -type d | sed -e "s:^\./::"); do
if [[ ${subdir##*/} != "cmake_modules" ]] ; then
echo "add_subdirectory(${subdir##*/})" >> ${dir}/CMakeLists.txt || die
fi
done
}
fi

View File

@ -1410,7 +1410,7 @@ getfilevar() {
detect_arch() {
local ALL_ARCH LOOP_ARCH COMPAT_URI i
local ALL_ARCH LOOP_ARCH LOOP_ARCH_L COMPAT_URI i TC_ARCH_KERNEL
# COMPAT_URI is the contents of ${ARCH}_URI
# ARCH_URI is the URI for all the ${ARCH}_URI patches
@ -1418,20 +1418,25 @@ detect_arch() {
ARCH_URI=""
ARCH_PATCH=""
TC_ARCH_KERNEL=""
ALL_ARCH="ALPHA AMD64 ARM HPPA IA64 M68K MIPS PPC PPC64 S390 SH SPARC X86"
for LOOP_ARCH in ${ALL_ARCH}; do
COMPAT_URI="${LOOP_ARCH}_URI"
COMPAT_URI="${!COMPAT_URI}"
[[ -n ${COMPAT_URI} ]] && \
ARCH_URI="${ARCH_URI} $(echo ${LOOP_ARCH} | tr '[:upper:]' '[:lower:]')? ( ${COMPAT_URI} )"
declare -l LOOP_ARCH_L=${LOOP_ARCH}
if [[ ${LOOP_ARCH} == "$(echo $(tc-arch-kernel) | tr '[:lower:]' '[:upper:]')" ]]; then
[[ -n ${COMPAT_URI} ]] && \
ARCH_URI="${ARCH_URI} ${LOOP_ARCH_L}? ( ${COMPAT_URI} )"
declare -u TC_ARCH_KERNEL=$(tc-arch-kernel)
if [[ ${LOOP_ARCH} == ${TC_ARCH_KERNEL} ]]; then
for i in ${COMPAT_URI}; do
ARCH_PATCH="${ARCH_PATCH} ${DISTDIR}/${i/*\//}"
done
fi
done
}

View File

@ -3,7 +3,7 @@
# @ECLASS: kodi-addon.eclass
# @MAINTAINER:
# candrews@integralblue.com
# candrews@gentoo.org
# @BLURB: Helper for correct building and (importantly) installing Kodi addon packages.
# @DESCRIPTION:
# Provides a src_configure function for correct CMake configuration

View File

@ -28,8 +28,7 @@ esac
inherit cmake-utils
if [[ ${PV} == 9999 ]]; then
EGIT_REPO_URI="git://github.com/0xd34df00d/leechcraft.git
https://github.com/0xd34df00d/leechcraft.git"
EGIT_REPO_URI="https://github.com/0xd34df00d/leechcraft.git"
inherit git-r3
else

View File

@ -16,104 +16,9 @@
if [[ -z ${_LIBTOOL_ECLASS} ]]; then
_LIBTOOL_ECLASS=1
DEPEND=">=app-portage/elt-patches-20170317"
DEPEND=">=app-portage/elt-patches-20170422"
libtool_elt_patch_dir() {
echo "${EPREFIX}/usr/share/elt-patches"
}
inherit multilib toolchain-funcs
#
# See if we can apply $2 on $1, and if so, do it
#
ELT_try_and_apply_patch() {
local ret=0
local file=$1
local patch=$2
local src=$3
local disp="${src} patch"
local log="${T}/elibtool.log"
if [[ -z ${_ELT_NOTED_TMP} ]] ; then
_ELT_NOTED_TMP=true
printf 'temp patch: %s\n' "${patch}" > "${log}"
fi
printf '\nTrying %s\n' "${disp}" >> "${log}"
if [[ ! -e ${file} ]] ; then
echo "File not found: ${file}" >> "${log}"
return 1
fi
# Save file for permission restoration. `patch` sometimes resets things.
# Ideally we'd want 'stat -c %a', but stat is highly non portable and we are
# guaranted to have GNU find, so use that instead.
local perms="$(find ${file} -maxdepth 0 -printf '%m')"
# We only support patchlevel of 0 - why worry if its static patches?
if patch -p0 --dry-run "${file}" "${patch}" >> "${log}" 2>&1 ; then
einfo " Applying ${disp} ..."
patch -p0 -g0 --no-backup-if-mismatch "${file}" "${patch}" >> "${log}" 2>&1
ret=$?
export ELT_APPLIED_PATCHES="${ELT_APPLIED_PATCHES} ${src}"
else
ret=1
fi
chmod "${perms}" "${file}"
return "${ret}"
}
#
# Get string version of ltmain.sh or ltconfig (passed as $1)
#
ELT_libtool_version() {
(
unset VERSION
eval $(grep -e '^[[:space:]]*VERSION=' "$1")
echo "${VERSION:-0}"
)
}
#
# Run through the patches in $2 and see if any
# apply to $1 ...
#
ELT_walk_patches() {
local patch tmp
local ret=1
local file=$1
local patch_set=$2
local patch_dir="$(libtool_elt_patch_dir)/${patch_set}"
local rem_int_dep=$3
[[ -z ${patch_set} ]] && return 1
[[ ! -d ${patch_dir} ]] && return 1
# Allow patches to use @GENTOO_LIBDIR@ replacements
local sed_args=( -e "s:@GENTOO_LIBDIR@:$(get_libdir):g" )
if [[ -n ${rem_int_dep} ]] ; then
# replace @REM_INT_DEP@ with what was passed
# to --remove-internal-dep
sed_args+=( -e "s|@REM_INT_DEP@|${rem_int_dep}|g" )
fi
pushd "$(libtool_elt_patch_dir)" >/dev/null || die
# Go through the patches in reverse order (newer version to older)
for patch in $(find "${patch_set}" -maxdepth 1 -type f | LC_ALL=C sort -r) ; do
tmp="${T}/libtool-elt.patch"
sed "${sed_args[@]}" "${patch}" > "${tmp}" || die
if ELT_try_and_apply_patch "${file}" "${tmp}" "${patch}" ; then
# Break to unwind w/popd rather than return directly
ret=0
break
fi
done
popd >/dev/null
return ${ret}
}
inherit toolchain-funcs
# @FUNCTION: elibtoolize
# @USAGE: [dirs] [--portage] [--reverse-deps] [--patch-only] [--remove-internal-dep=xxx] [--shallow] [--no-uclibc]
@ -126,384 +31,14 @@ ELT_walk_patches() {
#
# The other options should be avoided in general unless you know what's going on.
elibtoolize() {
local x
local dirs=()
local do_portage="no"
local do_reversedeps="yes"
local do_only_patches="no"
local do_uclibc="yes"
local deptoremove=
local do_shallow="no"
local force="false"
local elt_patches="install-sh ltmain portage relink max_cmd_len sed test tmp cross as-needed target-nm ppc64le"
type -P eltpatch &>/dev/null || die "eltpatch not found; is app-portage/elt-patches installed?"
for x in "$@" ; do
case ${x} in
--portage)
# Only apply portage patch, and don't
# 'libtoolize --copy --force' if all patches fail.
do_portage="yes"
;;
--reverse-deps)
# Apply the reverse-deps patch
# http://bugzilla.gnome.org/show_bug.cgi?id=75635
do_reversedeps="yes"
elt_patches+=" fix-relink"
;;
--patch-only)
# Do not run libtoolize if none of the patches apply ..
do_only_patches="yes"
;;
--remove-internal-dep=*)
# We will replace @REM_INT_DEP@ with what is needed
# in ELT_walk_patches() ...
deptoremove=${x#--remove-internal-dep=}
# Add the patch for this ...
[[ -n ${deptoremove} ]] && elt_patches+=" rem-int-dep"
;;
--shallow)
# Only patch the ltmain.sh in ${S}
do_shallow="yes"
;;
--no-uclibc)
do_uclibc="no"
;;
--force)
force="true"
;;
-*)
eerror "Invalid elibtoolize option: ${x}"
die "elibtoolize called with ${x} ??"
;;
*) dirs+=( "${x}" )
esac
done
[[ ${do_uclibc} == "yes" ]] && elt_patches+=" uclibc-conf uclibc-ltconf"
case ${CHOST} in
*-aix*) elt_patches+=" hardcode aixrtl" ;; #213277
*-darwin*) elt_patches+=" darwin-ltconf darwin-ltmain darwin-conf" ;;
*-solaris*) elt_patches+=" sol2-conf sol2-ltmain" ;;
*-freebsd*) elt_patches+=" fbsd-conf fbsd-ltconf" ;;
*-hpux*) elt_patches+=" hpux-conf deplibs hc-flag-ld hardcode hardcode-relink relink-prog no-lc" ;;
*-irix*) elt_patches+=" irix-ltmain" ;;
*-mint*) elt_patches+=" mint-conf" ;;
esac
if $(tc-getLD) --version 2>&1 | grep -qs 'GNU gold'; then
elt_patches+=" gold-conf"
fi
# Find out what dirs to scan.
if [[ ${do_shallow} == "yes" ]] ; then
[[ ${#dirs[@]} -ne 0 ]] && die "Using --shallow with explicit dirs doesn't make sense"
[[ -f ${S}/ltmain.sh || -f ${S}/configure ]] && dirs+=( "${S}" )
else
[[ ${#dirs[@]} -eq 0 ]] && dirs+=( "${S}" )
dirs=( $(find "${dirs[@]}" '(' -name ltmain.sh -o -name configure ')' -printf '%h\n' | sort -u) )
fi
local d p ret
for d in "${dirs[@]}" ; do
export ELT_APPLIED_PATCHES=
if [[ -f ${d}/.elibtoolized ]] ; then
${force} || continue
fi
local outfunc="einfo"
[[ -f ${d}/.elibtoolized ]] && outfunc="ewarn"
${outfunc} "Running elibtoolize in: ${d#${WORKDIR}/}/"
if [[ ${outfunc} == "ewarn" ]] ; then
ewarn " We've already been run in this tree; you should"
ewarn " avoid this if possible (perhaps by filing a bug)"
fi
# patching ltmain.sh
[[ -f ${d}/ltmain.sh ]] &&
for p in ${elt_patches} ; do
ret=0
case ${p} in
portage)
# Stupid test to see if its already applied ...
if ! grep -qs 'We do not want portage' "${d}/ltmain.sh" ; then
ELT_walk_patches "${d}/ltmain.sh" "${p}"
ret=$?
fi
;;
rem-int-dep)
ELT_walk_patches "${d}/ltmain.sh" "${p}" "${deptoremove}"
ret=$?
;;
fix-relink)
# Do not apply if we do not have the relink patch applied ...
if grep -qs 'inst_prefix_dir' "${d}/ltmain.sh" ; then
ELT_walk_patches "${d}/ltmain.sh" "${p}"
ret=$?
fi
;;
max_cmd_len)
# Do not apply if $max_cmd_len is not used ...
if grep -qs 'max_cmd_len' "${d}/ltmain.sh" ; then
ELT_walk_patches "${d}/ltmain.sh" "${p}"
ret=$?
fi
;;
as-needed)
ELT_walk_patches "${d}/ltmain.sh" "${p}"
ret=$?
;;
uclibc-ltconf)
# Newer libtoolize clears ltconfig, as not used anymore
if [[ -s ${d}/ltconfig ]] ; then
ELT_walk_patches "${d}/ltconfig" "${p}"
ret=$?
fi
;;
fbsd-ltconf)
if [[ -s ${d}/ltconfig ]] ; then
ELT_walk_patches "${d}/ltconfig" "${p}"
ret=$?
fi
;;
darwin-ltconf)
# Newer libtoolize clears ltconfig, as not used anymore
if [[ -s ${d}/ltconfig ]] ; then
ELT_walk_patches "${d}/ltconfig" "${p}"
ret=$?
fi
;;
darwin-ltmain)
# special case to avoid false positives (failing to apply
# ltmain.sh path message), newer libtools have this patch
# built in, so not much to patch around then
if [[ -e ${d}/ltmain.sh ]] && \
! grep -qs 'verstring="-compatibility_version' "${d}/ltmain.sh" ; then
ELT_walk_patches "${d}/ltmain.sh" "${p}"
ret=$?
fi
;;
install-sh)
ELT_walk_patches "${d}/install-sh" "${p}"
ret=$?
;;
cross)
if tc-is-cross-compiler ; then
ELT_walk_patches "${d}/ltmain.sh" "${p}"
ret=$?
fi
;;
*)
ELT_walk_patches "${d}/ltmain.sh" "${p}"
ret=$?
;;
esac
if [[ ${ret} -ne 0 ]] ; then
case ${p} in
relink)
local version=$(ELT_libtool_version "${d}/ltmain.sh")
# Critical patch, but could be applied ...
# FIXME: Still need a patch for ltmain.sh > 1.4.0
if ! grep -qs 'inst_prefix_dir' "${d}/ltmain.sh" && \
[[ $(VER_to_int "${version}") -ge $(VER_to_int "1.4.0") ]] ; then
ewarn " Could not apply relink.patch!"
fi
;;
portage)
# Critical patch - for this one we abort, as it can really
# cause breakage without it applied!
if [[ ${do_portage} == "yes" ]] ; then
# Stupid test to see if its already applied ...
if ! grep -qs 'We do not want portage' "${d}/ltmain.sh" ; then
echo
eerror "Portage patch requested, but failed to apply!"
eerror "Please file a bug report to add a proper patch."
die "Portage patch requested, but failed to apply!"
fi
else
if grep -qs 'We do not want portage' "${d}/ltmain.sh" ; then
# ewarn " Portage patch seems to be already applied."
# ewarn " Please verify that it is not needed."
:
else
local version=$(ELT_libtool_version "${d}"/ltmain.sh)
echo
eerror "Portage patch failed to apply (ltmain.sh version ${version})!"
eerror "Please file a bug report to add a proper patch."
die "Portage patch failed to apply!"
fi
# We do not want to run libtoolize ...
ELT_APPLIED_PATCHES="portage"
fi
;;
darwin-*)
[[ ${CHOST} == *"-darwin"* ]] && ewarn " Darwin patch set '${p}' failed to apply!"
;;
esac
fi
done
# makes sense for ltmain.sh patches only
[[ -f ${d}/ltmain.sh ]] &&
if [[ -z ${ELT_APPLIED_PATCHES} ]] ; then
if [[ ${do_portage} == "no" && \
${do_reversedeps} == "no" && \
${do_only_patches} == "no" && \
${deptoremove} == "" ]]
then
ewarn "Cannot apply any patches, please file a bug about this"
die
fi
fi
# patching configure
[[ -f ${d}/configure ]] &&
for p in ${elt_patches} ; do
ret=0
case ${p} in
uclibc-conf)
if grep -qs 'Transform linux' "${d}/configure" ; then
ELT_walk_patches "${d}/configure" "${p}"
ret=$?
fi
;;
fbsd-conf)
if grep -qs 'version_type=freebsd-' "${d}/configure" ; then
ELT_walk_patches "${d}/configure" "${p}"
ret=$?
fi
;;
darwin-conf)
if grep -qs '&& echo \.so ||' "${d}/configure" ; then
ELT_walk_patches "${d}/configure" "${p}"
ret=$?
fi
;;
aixrtl|hpux-conf)
ret=1
local subret=0
# apply multiple patches as often as they match
while [[ $subret -eq 0 ]]; do
subret=1
if [[ -e ${d}/configure ]]; then
ELT_walk_patches "${d}/configure" "${p}"
subret=$?
fi
if [[ $subret -eq 0 ]]; then
# have at least one patch succeeded.
ret=0
fi
done
;;
mint-conf|gold-conf|sol2-conf)
ELT_walk_patches "${d}/configure" "${p}"
ret=$?
;;
target-nm)
ELT_walk_patches "${d}/configure" "${p}"
ret=$?
;;
ppc64le)
ELT_walk_patches "${d}/configure" "${p}"
ret=$?
;;
*)
# ltmain.sh patches are applied above
;;
esac
if [[ ${ret} -ne 0 ]] ; then
case ${p} in
uclibc-*)
[[ ${CHOST} == *-uclibc ]] && ewarn " uClibc patch set '${p}' failed to apply!"
;;
fbsd-*)
if [[ ${CHOST} == *-freebsd* ]] ; then
if [[ -z $(grep 'Handle Gentoo/FreeBSD as it was Linux' \
"${d}/configure" 2>/dev/null) ]]; then
eerror " FreeBSD patch set '${p}' failed to apply!"
die "FreeBSD patch set '${p}' failed to apply!"
fi
fi
;;
darwin-*)
[[ ${CHOST} == *"-darwin"* ]] && ewarn " Darwin patch set '${p}' failed to apply!"
;;
esac
fi
done
rm -f "${d}/libtool"
> "${d}/.elibtoolized"
done
ELT_LOGDIR=${T} \
LD=$(tc-getLD) \
eltpatch "${@}" || die "eltpatch failed"
}
uclibctoolize() { die "Use elibtoolize"; }
darwintoolize() { die "Use elibtoolize"; }
# char *VER_major(string)
#
# Return the Major (X of X.Y.Z) version
#
VER_major() {
[[ -z $1 ]] && return 1
local VER=$@
echo "${VER%%[^[:digit:]]*}"
}
# char *VER_minor(string)
#
# Return the Minor (Y of X.Y.Z) version
#
VER_minor() {
[[ -z $1 ]] && return 1
local VER=$@
VER=${VER#*.}
echo "${VER%%[^[:digit:]]*}"
}
# char *VER_micro(string)
#
# Return the Micro (Z of X.Y.Z) version.
#
VER_micro() {
[[ -z $1 ]] && return 1
local VER=$@
VER=${VER#*.*.}
echo "${VER%%[^[:digit:]]*}"
}
# int VER_to_int(string)
#
# Convert a string type version (2.4.0) to an int (132096)
# for easy compairing or versions ...
#
VER_to_int() {
[[ -z $1 ]] && return 1
local VER_MAJOR=$(VER_major "$1")
local VER_MINOR=$(VER_minor "$1")
local VER_MICRO=$(VER_micro "$1")
local VER_int=$(( VER_MAJOR * 65536 + VER_MINOR * 256 + VER_MICRO ))
# We make version 1.0.0 the minimum version we will handle as
# a sanity check ... if its less, we fail ...
if [[ ${VER_int} -ge 65536 ]] ; then
echo "${VER_int}"
return 0
fi
echo 1
return 1
}
fi

View File

@ -37,6 +37,21 @@
# do-something-else
# }
# @CODE
#
# Example for a package needing LLVM+clang w/ a specific target:
# @CODE
# inherit cmake-utils llvm
#
# # note: do not use := on both clang and llvm, it can match different
# # slots then. clang pulls llvm in, so we can skip the latter.
# RDEPEND="
# >=sys-devel/clang-4:=[llvm_targets_AMDGPU(+)]
# "
#
# llvm_check_deps() {
# has_version "sys-devel/clang:${LLVM_SLOT}[llvm_targets_AMDGPU(+)]"
# }
# @CODE
case "${EAPI:-0}" in
0|1|2|3|4|5)
@ -63,19 +78,27 @@ if [[ ! ${_LLVM_ECLASS} ]]; then
# @INTERNAL
# @DESCRIPTION:
# Correct values of LLVM slots, newest first.
declare -g -r _LLVM_KNOWN_SLOTS=( 5 4 )
declare -g -r _LLVM_KNOWN_SLOTS=( 6 5 4 )
# @FUNCTION: get_llvm_prefix
# @USAGE: [<max_slot>]
# @DESCRIPTION:
# Prints the absolute path to an LLVM install prefix corresponding to
# the newest installed version of LLVM that is not newer than
# <max_slot>. If no <max_slot> is specified, there is no upper limit.
# Find the newest LLVM install that is acceptable for the package,
# and print an absolute path to it.
#
# Note that the function does not support lower-bound version, so you
# need to provide correct dependencies to ensure that a new enough
# version will be always installed. Otherwise, the function could return
# a version lower than required.
# If <max_slot> is specified, then only LLVM versions that are not newer
# than <max_slot> will be considered. Otherwise, all LLVM versions would
# be considered acceptable. The function does not support specifying
# minimal supported version -- the developer must ensure that a version
# new enough is installed via providing appropriate dependencies.
#
# If llvm_check_deps() function is defined within the ebuild, it will
# be called to verify whether a particular slot is accepable. Within
# the function scope, LLVM_SLOT will be defined to the SLOT value
# (0, 4, 5...). The function should return a true status if the slot
# is acceptable, false otherwise. If llvm_check_deps() is not defined,
# the function defaults to checking whether sys-devel/llvm:${LLVM_SLOT}
# is installed.
get_llvm_prefix() {
debug-print-function ${FUNCNAME} "${@}"
@ -91,11 +114,16 @@ get_llvm_prefix() {
fi
fi
local p=${EPREFIX}/usr/lib/llvm/${slot}
if [[ -x ${p}/bin/llvm-config ]]; then
echo "${p}"
return
if declare -f llvm_check_deps >/dev/null; then
local LLVM_SLOT=${slot}
llvm_check_deps || continue
else
# check if LLVM package is installed
has_version "sys-devel/llvm:${slot}" || continue
fi
echo "${EPREFIX}/usr/lib/llvm/${slot}"
return
done
# max_slot should have been unset in the iteration
@ -105,21 +133,22 @@ get_llvm_prefix() {
# fallback to :0
# assume it's always <= 4 (the lower max_slot allowed)
p=${EPREFIX}/usr
if [[ -x ${p}/bin/llvm-config ]]; then
echo "${p}"
if has_version "sys-devel/llvm:0"; then
echo "${EPREFIX}/usr"
return
fi
die "No LLVM slot${1:+ <= ${1}} found in PATH!"
die "No LLVM slot${1:+ <= ${1}} found installed!"
}
# @FUNCTION: llvm_pkg_setup
# @DESCRIPTION:
# Prepend the executable directory corresponding to the newest
# installed LLVM version that is not newer than ${LLVM_MAX_SLOT}
# to PATH. If LLVM_MAX_SLOT is unset or empty, the newest installed
# slot will be used.
# Prepend the appropriate executable directory for the newest
# acceptable LLVM slot to the PATH. For path determination logic,
# please see the get_llvm_prefix documentation.
#
# The highest acceptable LLVM slot can be set in LLVM_MAX_SLOT variable.
# If it is unset or empty, any slot is acceptable.
#
# The PATH manipulation is only done for source builds. The function
# is a no-op when installing a binary package.
@ -130,7 +159,13 @@ llvm_pkg_setup() {
debug-print-function ${FUNCNAME} "${@}"
if [[ ${MERGE_TYPE} != binary ]]; then
export PATH=$(get_llvm_prefix ${LLVM_MAX_SLOT})/bin:${PATH}
local llvm_prefix=$(get_llvm_prefix "${LLVM_MAX_SLOT}")
# do not prepend /usr/bin, it's not necessary and breaks other
# prepends, https://bugs.gentoo.org/622866
if [[ ${llvm_prefix} != ${EPREFIX}/usr ]]; then
export PATH=${llvm_prefix}/bin:${PATH}
fi
fi
}

View File

@ -1,4 +1,4 @@
# Copyright 1999-2016 Gentoo Foundation
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: mate-desktop.org.eclass
@ -50,15 +50,11 @@ inherit versionator
# Set SRC_URI or EGIT_REPO_URI based on whether live
if [[ ${PV} == 9999 ]]; then
EGIT_REPO_URI="
https://github.com/mate-desktop/${MATE_DESKTOP_ORG_PN}.git
git://github.com/mate-desktop/${MATE_DESKTOP_ORG_PN}.git
http://github.com/mate-desktop/${MATE_DESKTOP_ORG_PN}.git
"
EGIT_REPO_URI="https://github.com/mate-desktop/${MATE_DESKTOP_ORG_PN}.git"
SRC_URI=""
else
SRC_URI="http://pub.mate-desktop.org/releases/${MATE_BRANCH}/${MATE_DESKTOP_ORG_PN}-${MATE_DESKTOP_ORG_PV}.tar.${MATE_TARBALL_SUFFIX}"
SRC_URI="https://pub.mate-desktop.org/releases/${MATE_BRANCH}/${MATE_DESKTOP_ORG_PN}-${MATE_DESKTOP_ORG_PV}.tar.${MATE_TARBALL_SUFFIX}"
fi
# Set HOMEPAGE for all ebuilds
HOMEPAGE="http://mate-desktop.org"
HOMEPAGE="https://mate-desktop.org"

View File

@ -38,6 +38,16 @@ case ${EAPI:-0} in
*) die "EAPI=${EAPI} is not supported" ;;
esac
if [[ ${__MESON_AUTO_DEPEND+set} == "set" ]] ; then
# See if we were included already, but someone changed the value
# of MESON_AUTO_DEPEND on us. We could reload the entire
# eclass at that point, but that adds overhead, and it's trivial
# to re-order inherit in eclasses/ebuilds instead. #409611
if [[ ${__MESON_AUTO_DEPEND} != ${MESON_AUTO_DEPEND} ]] ; then
die "MESON_AUTO_DEPEND changed value between inherits; please inherit meson.eclass first! ${__MESON_AUTO_DEPEND} -> ${MESON_AUTO_DEPEND}"
fi
fi
if [[ -z ${_MESON_ECLASS} ]]; then
inherit ninja-utils python-utils-r1 toolchain-funcs
@ -49,9 +59,20 @@ EXPORT_FUNCTIONS src_configure src_compile src_test src_install
if [[ -z ${_MESON_ECLASS} ]]; then
_MESON_ECLASS=1
DEPEND=">=dev-util/meson-0.40.0
MESON_DEPEND=">=dev-util/meson-0.40.0
>=dev-util/ninja-1.7.2"
# @ECLASS-VARIABLE: MESON_AUTO_DEPEND
# @DESCRIPTION:
# Set to 'no' to disable automatically adding to DEPEND. This lets
# ebuilds form conditional depends by using ${MESON_DEPEND} in
# their own DEPEND string.
: ${MESON_AUTO_DEPEND:=yes}
if [[ ${MESON_AUTO_DEPEND} != "no" ]] ; then
DEPEND=${MESON_DEPEND}
fi
__MESON_AUTO_DEPEND=${MESON_AUTO_DEPEND} # See top of eclass
# @ECLASS-VARIABLE: BUILD_DIR
# @DEFAULT_UNSET
# @DESCRIPTION:
@ -104,6 +125,7 @@ _meson_create_cross_file() {
ar = '${AR}'
c = '${CC}'
cpp = '${CXX}'
pkgconfig = '${PKG_CONFIG}'
strip = '${STRIP}'
[host_machine]
@ -134,6 +156,7 @@ meson_src_configure() {
local -x AR=$(tc-getAR)
local -x CC=$(tc-getCC)
local -x CXX=$(tc-getCXX)
local -x PKG_CONFIG=$(tc-getPKG_CONFIG)
local -x STRIP=$(tc-getSTRIP)
if tc-is-cross-compiler; then
@ -145,6 +168,7 @@ meson_src_configure() {
AR=$(tc-getBUILD_AR)
CC=$(tc-getBUILD_CC)
CXX=$(tc-getBUILD_CXX)
PKG_CONFIG=$(tc-getBUILD_PKG_CONFIG)
STRIP=$(tc-getBUILD_STRIP)
fi

View File

@ -1,7 +1,7 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
#
# @ECLASS: mozconfig-v6.46.eclass
# @ECLASS: mozconfig-v6.49.eclass
# @MAINTAINER:
# mozilla team <mozilla@gentoo.org>
# @BLURB: the new mozilla common configuration eclass for FF33 and newer, v6

View File

@ -1,7 +1,7 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
#
# @ECLASS: mozconfig-v6.46.eclass
# @ECLASS: mozconfig-v6.51.eclass
# @MAINTAINER:
# mozilla team <mozilla@gentoo.org>
# @BLURB: the new mozilla common configuration eclass for FF33 and newer, v6

View File

@ -0,0 +1,381 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
#
# @ECLASS: mozconfig-v6.55.eclass
# @MAINTAINER:
# mozilla team <mozilla@gentoo.org>
# @BLURB: the new mozilla common configuration eclass for FF33 and newer, v6
# @DESCRIPTION:
# This eclass is used in mozilla ebuilds (firefox, thunderbird, seamonkey)
# to provide a single common place for the common mozilla engine compoments.
#
# The eclass provides all common dependencies as well as common use flags.
#
# Some use flags which may be optional in particular mozilla packages can be
# supported through setting eclass variables.
#
# This eclass inherits mozconfig helper functions as defined in mozcoreconf-v3,
# and so ebuilds inheriting this eclass do not need to inherit that.
case ${EAPI} in
0|1|2|3|4)
die "EAPI=${EAPI} not supported"
;;
5)
inherit multilib
;;
esac
inherit flag-o-matic toolchain-funcs mozcoreconf-v5
# @ECLASS-VARIABLE: MOZCONFIG_OPTIONAL_WIFI
# @DESCRIPTION:
# Set this variable before the inherit line, when an ebuild needs to provide
# optional necko-wifi support via IUSE="wifi". Currently this would include
# ebuilds for firefox, and potentially seamonkey.
#
# Leave the variable UNSET if necko-wifi support should not be available.
# Set the variable to "enabled" if the use flag should be enabled by default.
# Set the variable to any value if the use flag should exist but not be default-enabled.
# @ECLASS-VARIABLE: MOZCONFIG_OPTIONAL_JIT
# @DESCRIPTION:
# Set this variable before the inherit line, when an ebuild needs to provide
# deterministic jit support via IUSE="jit". The upstream default will be used
# otherwise, which is generally to enable jit unless support for the platform
# is missing.
#
# Set the variable to "enabled" if the use flag should be enabled by default.
# Set the variable to any value if the use flag should exist but not be default-enabled.
# @ECLASS-VARIABLE: MOZCONFIG_OPTIONAL_GTK3
# @DESCRIPTION:
# Set this variable before the inherit line, when an ebuild can provide
# optional gtk3 support via IUSE="force-gtk3". Currently this would include
# thunderbird and seamonkey in the future, once support is ready for testing.
#
# Leave the variable UNSET if gtk3 support should not be optionally available.
# Set the variable to "enabled" if the use flag should be enabled by default.
# Set the variable to any value if the use flag should exist but not be default-enabled.
# If gtk+:3 is to be the standard toolkit, do not use this and instead use
# MOZCONFIG_OPTIONAL_GTK2ONLY.
# @ECLASS-VARIABLE: MOZCONFIG_OPTIONAL_GTK2ONLY
# @DESCRIPTION:
# Set this variable before the inherit line, when an ebuild can provide
# optional gtk2-only support via IUSE="gtk2".
#
# Note that this option conflicts directly with MOZCONFIG_OPTIONAL_GTK3, both
# variables cannot be set at the same time and this variable will be ignored if
# MOZCONFIG_OPTIONAL_GTK3 is set.
#
# Leave the variable UNSET if gtk2-only support should not be available.
# Set the variable to "enabled" if the use flag should be enabled by default.
# Set the variable to any value if the use flag should exist but not be default-enabled.
# @ECLASS-VARIABLE: MOZCONFIG_OPTIONAL_QT5
# @DESCRIPTION:
# Set this variable before the inherit line, when an ebuild can provide
# optional qt5 support via IUSE="qt5". Currently this would include
# ebuilds for firefox, but thunderbird and seamonkey could follow in the future.
#
# Leave the variable UNSET if qt5 support should not be available.
# Set the variable to "enabled" if the use flag should be enabled by default.
# Set the variable to any value if the use flag should exist but not be default-enabled.
# use-flags common among all mozilla ebuilds
IUSE="${IUSE} dbus debug neon pulseaudio selinux startup-notification system-cairo
system-harfbuzz system-icu system-jpeg system-libevent system-sqlite system-libvpx"
# some notes on deps:
# gtk:2 minimum is technically 2.10 but gio support (enabled by default) needs 2.14
# media-libs/mesa needs to be 10.2 or above due to a bug with flash+vdpau
RDEPEND=">=app-text/hunspell-1.5.4:=
dev-libs/atk
dev-libs/expat
>=x11-libs/cairo-1.10[X]
>=x11-libs/gtk+-2.18:2
x11-libs/gdk-pixbuf
>=x11-libs/pango-1.22.0
>=media-libs/libpng-1.6.29:0=[apng]
>=media-libs/mesa-10.2:*
media-libs/fontconfig
>=media-libs/freetype-2.4.10
kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) )
pulseaudio? ( || ( media-sound/pulseaudio
>=media-sound/apulse-0.1.9 ) )
virtual/freedesktop-icon-theme
dbus? ( >=sys-apps/dbus-0.60
>=dev-libs/dbus-glib-0.72 )
startup-notification? ( >=x11-libs/startup-notification-0.8 )
>=dev-libs/glib-2.26:2
>=sys-libs/zlib-1.2.3
>=virtual/libffi-3.0.10
virtual/ffmpeg
x11-libs/libX11
x11-libs/libXcomposite
x11-libs/libXdamage
x11-libs/libXext
x11-libs/libXfixes
x11-libs/libXrender
x11-libs/libXt
system-cairo? ( >=x11-libs/cairo-1.12[X,xcb] >=x11-libs/pixman-0.19.2 )
system-icu? ( >=dev-libs/icu-58.1:= )
system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
system-libevent? ( >=dev-libs/libevent-2.0:0= )
system-sqlite? ( >=dev-db/sqlite-3.19.3:3[secure-delete,debug=] )
system-libvpx? ( >=media-libs/libvpx-1.5.0:0=[postproc] )
system-harfbuzz? ( >=media-libs/harfbuzz-1.3.3:0= >=media-gfx/graphite2-1.3.9-r1 )
"
if [[ -n ${MOZCONFIG_OPTIONAL_GTK3} ]]; then
MOZCONFIG_OPTIONAL_GTK2ONLY=
if [[ ${MOZCONFIG_OPTIONAL_GTK3} = "enabled" ]]; then
IUSE+=" +force-gtk3"
else
IUSE+=" force-gtk3"
fi
RDEPEND+=" force-gtk3? ( >=x11-libs/gtk+-3.4.0:3 )"
elif [[ -n ${MOZCONFIG_OPTIONAL_GTK2ONLY} ]]; then
if [[ ${MOZCONFIG_OPTIONAL_GTK2ONLY} = "enabled" ]]; then
IUSE+=" +gtk2"
else
IUSE+=" gtk2"
fi
RDEPEND+=" !gtk2? ( >=x11-libs/gtk+-3.4.0:3 )"
else
# no gtk3 related dep set by optional use flags, force it
RDEPEND+=" >=x11-libs/gtk+-3.4.0:3"
fi
if [[ -n ${MOZCONFIG_OPTIONAL_WIFI} ]]; then
if [[ ${MOZCONFIG_OPTIONAL_WIFI} = "enabled" ]]; then
IUSE+=" +wifi"
else
IUSE+=" wifi"
fi
RDEPEND+="
wifi? (
kernel_linux? ( >=sys-apps/dbus-0.60
>=dev-libs/dbus-glib-0.72
net-misc/networkmanager )
)"
fi
DEPEND="app-arch/zip
app-arch/unzip
>=sys-devel/binutils-2.16.1
sys-apps/findutils
pulseaudio? ( media-sound/pulseaudio )
${RDEPEND}"
RDEPEND+="
pulseaudio? ( || ( media-sound/pulseaudio
>=media-sound/apulse-0.1.9 ) )
selinux? ( sec-policy/selinux-mozilla )"
# @FUNCTION: mozconfig_config
# @DESCRIPTION:
# Set common configure options for mozilla packages.
# Call this within src_configure() phase, after mozconfig_init
#
# Example:
#
# inherit mozconfig-v6.46
#
# src_configure() {
# mozconfig_init
# mozconfig_config
# # ... misc ebuild-unique settings via calls to
# # ... mozconfig_{annotate,use_with,use_enable}
# mozconfig_final
# }
mozconfig_config() {
# Migrated from mozcoreconf-2
mozconfig_annotate 'system_libs' \
--with-system-zlib \
--with-system-bz2
if has bindist ${IUSE}; then
mozconfig_use_enable !bindist official-branding
if [[ ${PN} == firefox ]] && use bindist ; then
mozconfig_annotate '' --with-branding=browser/branding/aurora
fi
fi
# Enable position independent executables
mozconfig_annotate 'enabled by Gentoo' --enable-pie
mozconfig_use_enable debug
mozconfig_use_enable debug tests
if ! use debug ; then
mozconfig_annotate 'disabled by Gentoo' --disable-debug-symbols
else
mozconfig_annotate 'enabled by Gentoo' --enable-debug-symbols
fi
mozconfig_use_enable startup-notification
if [[ -n ${MOZCONFIG_OPTIONAL_WIFI} ]] ; then
# wifi pulls in dbus so manage both here
mozconfig_use_enable wifi necko-wifi
if use kernel_linux && use wifi && ! use dbus; then
echo "Enabling dbus support due to wifi request"
mozconfig_annotate 'dbus required by necko-wifi on linux' --enable-dbus
else
mozconfig_use_enable dbus
fi
else
mozconfig_use_enable dbus
mozconfig_annotate 'disabled' --disable-necko-wifi
fi
if [[ -n ${MOZCONFIG_OPTIONAL_JIT} ]]; then
mozconfig_use_enable jit ion
fi
# These are enabled by default in all mozilla applications
mozconfig_annotate '' --with-system-nspr --with-nspr-prefix="${SYSROOT}${EPREFIX}"/usr
mozconfig_annotate '' --with-system-nss --with-nss-prefix="${SYSROOT}${EPREFIX}"/usr
mozconfig_annotate '' --x-includes="${SYSROOT}${EPREFIX}"/usr/include --x-libraries="${SYSROOT}${EPREFIX}"/usr/$(get_libdir)
if use system-libevent; then
mozconfig_annotate '' --with-system-libevent="${SYSROOT}${EPREFIX}"/usr
fi
mozconfig_annotate '' --prefix="${EPREFIX}"/usr
mozconfig_annotate '' --libdir="${EPREFIX}"/usr/$(get_libdir)
mozconfig_annotate 'Gentoo default' --enable-system-hunspell
mozconfig_annotate '' --disable-crashreporter
mozconfig_annotate 'Gentoo default' --with-system-png
mozconfig_annotate '' --enable-system-ffi
mozconfig_annotate 'Gentoo default to honor system linker' --disable-gold
mozconfig_annotate '' --disable-gconf
mozconfig_annotate '' --with-intl-api
# skia has no support for big-endian platforms
if [[ $(tc-endian) == "big" ]]; then
mozconfig_annotate 'big endian target' --disable-skia
else
mozconfig_annotate '' --enable-skia
fi
# default toolkit is cairo-gtk3, optional use flags can change this
local toolkit="cairo-gtk3"
local toolkit_comment=""
if [[ -n ${MOZCONFIG_OPTIONAL_GTK3} ]]; then
if ! use force-gtk3; then
toolkit="cairo-gtk2"
toolkit_comment="force-gtk3 use flag"
fi
fi
if [[ -n ${MOZCONFIG_OPTIONAL_GTK2ONLY} ]]; then
if use gtk2 ; then
toolkit="cairo-gtk2"
else
toolkit_comment="gtk2 use flag"
fi
fi
if [[ -n ${MOZCONFIG_OPTIONAL_QT5} ]]; then
if use qt5; then
toolkit="cairo-qt"
toolkit_comment="qt5 use flag"
# need to specify these vars because the qt5 versions are not found otherwise,
# and setting --with-qtdir overrides the pkg-config include dirs
local i
for i in qmake moc rcc; do
echo "export HOST_${i^^}=\"$(qt5_get_bindir)/${i}\"" \
>> "${S}"/.mozconfig || die
done
echo 'unset QTDIR' >> "${S}"/.mozconfig || die
mozconfig_annotate '+qt5' --disable-gio
fi
fi
mozconfig_annotate "${toolkit_comment}" --enable-default-toolkit=${toolkit}
# Instead of the standard --build= and --host=, mozilla uses --host instead
# of --build, and --target intstead of --host.
# Note, mozilla also has --build but it does not do what you think it does.
# Set both --target and --host as mozilla uses python to guess values otherwise
mozconfig_annotate '' --target="${CHOST}"
mozconfig_annotate '' --host="${CBUILD:-${CHOST}}"
mozconfig_use_enable pulseaudio
# force the deprecated alsa sound code if pulseaudio is disabled
if use kernel_linux && ! use pulseaudio ; then
mozconfig_annotate '-pulseaudio' --enable-alsa
fi
# For testing purpose only
mozconfig_annotate 'Sandbox' --enable-content-sandbox
mozconfig_use_enable system-cairo
mozconfig_use_enable system-sqlite
mozconfig_use_with system-jpeg
mozconfig_use_with system-icu
mozconfig_use_with system-libvpx
mozconfig_use_with system-harfbuzz
mozconfig_use_with system-harfbuzz system-graphite2
# Modifications to better support ARM, bug 553364
if use neon ; then
mozconfig_annotate '' --with-fpu=neon
mozconfig_annotate '' --with-thumb=yes
mozconfig_annotate '' --with-thumb-interwork=no
fi
if [[ ${CHOST} == armv* ]] ; then
mozconfig_annotate '' --with-float-abi=hard
if ! use system-libvpx ; then
sed -i -e "s|softfp|hard|" \
"${S}"/media/libvpx/moz.build
fi
fi
}
# @FUNCTION: mozconfig_install_prefs
# @DESCRIPTION:
# Set preferences into the prefs.js file specified as a parameter to
# the function. This sets both some common prefs to all mozilla
# packages, and any prefs that may relate to the use flags administered
# by mozconfig_config().
#
# Call this within src_install() phase, after copying the template
# prefs file (if any) from ${FILESDIR}
#
# Example:
#
# inherit mozconfig-v6.46
#
# src_install() {
# cp "${FILESDIR}"/gentoo-default-prefs.js \
# "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
# || die
#
# mozconfig_install_prefs \
# "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js"
#
# ...
# }
mozconfig_install_prefs() {
local prefs_file="${1}"
einfo "Adding prefs from mozconfig to ${prefs_file}"
# set dictionary path, to use system hunspell
echo "pref(\"spellchecker.dictionary_path\", \"${EPREFIX}/usr/share/myspell\");" \
>>"${prefs_file}" || die
# force the graphite pref if system-harfbuzz is enabled, since the pref cant disable it
if use system-harfbuzz ; then
echo "sticky_pref(\"gfx.font_rendering.graphite.enabled\",true);" \
>>"${prefs_file}" || die
fi
# force cairo as the canvas renderer on platforms without skia support
if [[ $(tc-endian) == "big" ]] ; then
echo "sticky_pref(\"gfx.canvas.azure.backends\",\"cairo\");" \
>>"${prefs_file}" || die
echo "sticky_pref(\"gfx.content.azure.backends\",\"cairo\");" \
>>"${prefs_file}" || die
fi
}

View File

@ -0,0 +1,392 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
#
# @ECLASS: mozconfig-v6.56.eclass
# @MAINTAINER:
# mozilla team <mozilla@gentoo.org>
# @BLURB: the new mozilla common configuration eclass for FF33 and newer, v6
# @DESCRIPTION:
# This eclass is used in mozilla ebuilds (firefox, thunderbird, seamonkey)
# to provide a single common place for the common mozilla engine compoments.
#
# The eclass provides all common dependencies as well as common use flags.
#
# Some use flags which may be optional in particular mozilla packages can be
# supported through setting eclass variables.
#
# This eclass inherits mozconfig helper functions as defined in mozcoreconf-v3,
# and so ebuilds inheriting this eclass do not need to inherit that.
case ${EAPI} in
0|1|2|3|4)
die "EAPI=${EAPI} not supported"
;;
5)
inherit multilib
;;
esac
inherit flag-o-matic toolchain-funcs mozcoreconf-v5
# @ECLASS-VARIABLE: MOZCONFIG_OPTIONAL_WIFI
# @DESCRIPTION:
# Set this variable before the inherit line, when an ebuild needs to provide
# optional necko-wifi support via IUSE="wifi". Currently this would include
# ebuilds for firefox, and potentially seamonkey.
#
# Leave the variable UNSET if necko-wifi support should not be available.
# Set the variable to "enabled" if the use flag should be enabled by default.
# Set the variable to any value if the use flag should exist but not be default-enabled.
# @ECLASS-VARIABLE: MOZCONFIG_OPTIONAL_JIT
# @DESCRIPTION:
# Set this variable before the inherit line, when an ebuild needs to provide
# deterministic jit support via IUSE="jit". The upstream default will be used
# otherwise, which is generally to enable jit unless support for the platform
# is missing.
#
# Set the variable to "enabled" if the use flag should be enabled by default.
# Set the variable to any value if the use flag should exist but not be default-enabled.
# @ECLASS-VARIABLE: MOZCONFIG_OPTIONAL_GTK3
# @DESCRIPTION:
# Set this variable before the inherit line, when an ebuild can provide
# optional gtk3 support via IUSE="force-gtk3". Currently this would include
# thunderbird and seamonkey in the future, once support is ready for testing.
#
# Leave the variable UNSET if gtk3 support should not be optionally available.
# Set the variable to "enabled" if the use flag should be enabled by default.
# Set the variable to any value if the use flag should exist but not be default-enabled.
# If gtk+:3 is to be the standard toolkit, do not use this and instead use
# MOZCONFIG_OPTIONAL_GTK2ONLY.
# @ECLASS-VARIABLE: MOZCONFIG_OPTIONAL_GTK2ONLY
# @DESCRIPTION:
# Set this variable before the inherit line, when an ebuild can provide
# optional gtk2-only support via IUSE="gtk2".
#
# Note that this option conflicts directly with MOZCONFIG_OPTIONAL_GTK3, both
# variables cannot be set at the same time and this variable will be ignored if
# MOZCONFIG_OPTIONAL_GTK3 is set.
#
# Leave the variable UNSET if gtk2-only support should not be available.
# Set the variable to "enabled" if the use flag should be enabled by default.
# Set the variable to any value if the use flag should exist but not be default-enabled.
# @ECLASS-VARIABLE: MOZCONFIG_OPTIONAL_QT5
# @DESCRIPTION:
# Set this variable before the inherit line, when an ebuild can provide
# optional qt5 support via IUSE="qt5". Currently this would include
# ebuilds for firefox, but thunderbird and seamonkey could follow in the future.
#
# Leave the variable UNSET if qt5 support should not be available.
# Set the variable to "enabled" if the use flag should be enabled by default.
# Set the variable to any value if the use flag should exist but not be default-enabled.
# use-flags common among all mozilla ebuilds
IUSE="${IUSE} dbus debug neon pulseaudio selinux startup-notification system-harfbuzz
system-icu system-jpeg system-libevent system-sqlite system-libvpx"
# some notes on deps:
# gtk:2 minimum is technically 2.10 but gio support (enabled by default) needs 2.14
# media-libs/mesa needs to be 10.2 or above due to a bug with flash+vdpau
RDEPEND=">=app-text/hunspell-1.5.4:=
dev-libs/atk
dev-libs/expat
>=x11-libs/cairo-1.10[X]
>=x11-libs/gtk+-2.18:2
x11-libs/gdk-pixbuf
>=x11-libs/pango-1.22.0
>=media-libs/libpng-1.6.31:0=[apng]
>=media-libs/mesa-10.2:*
media-libs/fontconfig
>=media-libs/freetype-2.4.10
kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) )
pulseaudio? ( || ( media-sound/pulseaudio
>=media-sound/apulse-0.1.9 ) )
virtual/freedesktop-icon-theme
dbus? ( >=sys-apps/dbus-0.60
>=dev-libs/dbus-glib-0.72 )
startup-notification? ( >=x11-libs/startup-notification-0.8 )
>=x11-libs/pixman-0.19.2
>=dev-libs/glib-2.26:2
>=sys-libs/zlib-1.2.3
>=virtual/libffi-3.0.10
virtual/ffmpeg
x11-libs/libX11
x11-libs/libXcomposite
x11-libs/libXdamage
x11-libs/libXext
x11-libs/libXfixes
x11-libs/libXrender
x11-libs/libXt
system-icu? ( >=dev-libs/icu-59.1:= )
system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
system-libevent? ( >=dev-libs/libevent-2.0:0= )
system-sqlite? ( >=dev-db/sqlite-3.19.3:3[secure-delete,debug=] )
system-libvpx? ( >=media-libs/libvpx-1.5.0:0=[postproc] )
system-harfbuzz? ( >=media-libs/harfbuzz-1.3.3:0= >=media-gfx/graphite2-1.3.9-r1 )
"
if [[ -n ${MOZCONFIG_OPTIONAL_GTK3} ]]; then
MOZCONFIG_OPTIONAL_GTK2ONLY=
if [[ ${MOZCONFIG_OPTIONAL_GTK3} = "enabled" ]]; then
IUSE+=" +force-gtk3"
else
IUSE+=" force-gtk3"
fi
RDEPEND+=" force-gtk3? ( >=x11-libs/gtk+-3.4.0:3 )"
elif [[ -n ${MOZCONFIG_OPTIONAL_GTK2ONLY} ]]; then
if [[ ${MOZCONFIG_OPTIONAL_GTK2ONLY} = "enabled" ]]; then
IUSE+=" +gtk2"
else
IUSE+=" gtk2"
fi
RDEPEND+=" !gtk2? ( >=x11-libs/gtk+-3.4.0:3 )"
else
# no gtk3 related dep set by optional use flags, force it
RDEPEND+=" >=x11-libs/gtk+-3.4.0:3"
fi
if [[ -n ${MOZCONFIG_OPTIONAL_WIFI} ]]; then
if [[ ${MOZCONFIG_OPTIONAL_WIFI} = "enabled" ]]; then
IUSE+=" +wifi"
else
IUSE+=" wifi"
fi
RDEPEND+="
wifi? (
kernel_linux? ( >=sys-apps/dbus-0.60
>=dev-libs/dbus-glib-0.72
net-misc/networkmanager )
)"
fi
DEPEND="app-arch/zip
app-arch/unzip
>=sys-devel/binutils-2.16.1
sys-apps/findutils
pulseaudio? ( media-sound/pulseaudio )
${RDEPEND}"
RDEPEND+="
pulseaudio? ( || ( media-sound/pulseaudio
>=media-sound/apulse-0.1.9 ) )
selinux? ( sec-policy/selinux-mozilla )"
# @FUNCTION: mozconfig_config
# @DESCRIPTION:
# Set common configure options for mozilla packages.
# Call this within src_configure() phase, after mozconfig_init
#
# Example:
#
# inherit mozconfig-v6.46
#
# src_configure() {
# mozconfig_init
# mozconfig_config
# # ... misc ebuild-unique settings via calls to
# # ... mozconfig_{annotate,use_with,use_enable}
# mozconfig_final
# }
mozconfig_config() {
# Migrated from mozcoreconf-2
mozconfig_annotate 'system_libs' \
--with-system-zlib \
--with-system-bz2
# Disable for testing purposes only
mozconfig_annotate 'Upstream bug 1341234' --disable-stylo
# Must pass release in order to properly select linker via gold useflag
mozconfig_annotate 'Enable by Gentoo' --enable-release
# Must pass --enable-gold if using ld.gold
if tc-ld-is-gold ; then
mozconfig_annotate 'tc-ld-is-gold=true' --enable-gold
else
mozconfig_annotate 'tc-ld-is-gold=false' --disable-gold
fi
if has bindist ${IUSE}; then
mozconfig_use_enable !bindist official-branding
if [[ ${PN} == firefox ]] && use bindist ; then
mozconfig_annotate '' --with-branding=browser/branding/aurora
fi
fi
# Enable position independent executables
mozconfig_annotate 'enabled by Gentoo' --enable-pie
mozconfig_use_enable debug
mozconfig_use_enable debug tests
if ! use debug ; then
mozconfig_annotate 'disabled by Gentoo' --disable-debug-symbols
else
mozconfig_annotate 'enabled by Gentoo' --enable-debug-symbols
fi
mozconfig_use_enable startup-notification
if [[ -n ${MOZCONFIG_OPTIONAL_WIFI} ]] ; then
# wifi pulls in dbus so manage both here
mozconfig_use_enable wifi necko-wifi
if use kernel_linux && use wifi && ! use dbus; then
echo "Enabling dbus support due to wifi request"
mozconfig_annotate 'dbus required by necko-wifi on linux' --enable-dbus
else
mozconfig_use_enable dbus
fi
else
mozconfig_use_enable dbus
mozconfig_annotate 'disabled' --disable-necko-wifi
fi
if [[ -n ${MOZCONFIG_OPTIONAL_JIT} ]]; then
mozconfig_use_enable jit ion
fi
# These are enabled by default in all mozilla applications
mozconfig_annotate '' --with-system-nspr --with-nspr-prefix="${SYSROOT}${EPREFIX}"/usr
mozconfig_annotate '' --with-system-nss --with-nss-prefix="${SYSROOT}${EPREFIX}"/usr
mozconfig_annotate '' --x-includes="${SYSROOT}${EPREFIX}"/usr/include --x-libraries="${SYSROOT}${EPREFIX}"/usr/$(get_libdir)
if use system-libevent; then
mozconfig_annotate '' --with-system-libevent="${SYSROOT}${EPREFIX}"/usr
fi
mozconfig_annotate '' --prefix="${EPREFIX}"/usr
mozconfig_annotate '' --libdir="${EPREFIX}"/usr/$(get_libdir)
mozconfig_annotate 'Gentoo default' --enable-system-hunspell
mozconfig_annotate '' --disable-crashreporter
mozconfig_annotate 'Gentoo default' --with-system-png
mozconfig_annotate '' --enable-system-ffi
mozconfig_annotate '' --disable-gconf
mozconfig_annotate '' --with-intl-api
# skia has no support for big-endian platforms
if [[ $(tc-endian) == "big" ]]; then
mozconfig_annotate 'big endian target' --disable-skia
else
mozconfig_annotate '' --enable-skia
fi
# default toolkit is cairo-gtk3, optional use flags can change this
local toolkit="cairo-gtk3"
local toolkit_comment=""
if [[ -n ${MOZCONFIG_OPTIONAL_GTK3} ]]; then
if ! use force-gtk3; then
toolkit="cairo-gtk2"
toolkit_comment="force-gtk3 use flag"
fi
fi
if [[ -n ${MOZCONFIG_OPTIONAL_GTK2ONLY} ]]; then
if use gtk2 ; then
toolkit="cairo-gtk2"
else
toolkit_comment="gtk2 use flag"
fi
fi
if [[ -n ${MOZCONFIG_OPTIONAL_QT5} ]]; then
if use qt5; then
toolkit="cairo-qt"
toolkit_comment="qt5 use flag"
# need to specify these vars because the qt5 versions are not found otherwise,
# and setting --with-qtdir overrides the pkg-config include dirs
local i
for i in qmake moc rcc; do
echo "export HOST_${i^^}=\"$(qt5_get_bindir)/${i}\"" \
>> "${S}"/.mozconfig || die
done
echo 'unset QTDIR' >> "${S}"/.mozconfig || die
mozconfig_annotate '+qt5' --disable-gio
fi
fi
mozconfig_annotate "${toolkit_comment}" --enable-default-toolkit=${toolkit}
# Instead of the standard --build= and --host=, mozilla uses --host instead
# of --build, and --target intstead of --host.
# Note, mozilla also has --build but it does not do what you think it does.
# Set both --target and --host as mozilla uses python to guess values otherwise
mozconfig_annotate '' --target="${CHOST}"
mozconfig_annotate '' --host="${CBUILD:-${CHOST}}"
mozconfig_use_enable pulseaudio
# force the deprecated alsa sound code if pulseaudio is disabled
if use kernel_linux && ! use pulseaudio ; then
mozconfig_annotate '-pulseaudio' --enable-alsa
fi
# For testing purpose only
mozconfig_annotate 'Sandbox' --enable-content-sandbox
mozconfig_use_enable system-sqlite
mozconfig_use_with system-jpeg
mozconfig_use_with system-icu
mozconfig_use_with system-libvpx
mozconfig_use_with system-harfbuzz
mozconfig_use_with system-harfbuzz system-graphite2
# Modifications to better support ARM, bug 553364
if use neon ; then
mozconfig_annotate '' --with-fpu=neon
mozconfig_annotate '' --with-thumb=yes
mozconfig_annotate '' --with-thumb-interwork=no
fi
if [[ ${CHOST} == armv* ]] ; then
mozconfig_annotate '' --with-float-abi=hard
if ! use system-libvpx ; then
sed -i -e "s|softfp|hard|" \
"${S}"/media/libvpx/moz.build
fi
fi
}
# @FUNCTION: mozconfig_install_prefs
# @DESCRIPTION:
# Set preferences into the prefs.js file specified as a parameter to
# the function. This sets both some common prefs to all mozilla
# packages, and any prefs that may relate to the use flags administered
# by mozconfig_config().
#
# Call this within src_install() phase, after copying the template
# prefs file (if any) from ${FILESDIR}
#
# Example:
#
# inherit mozconfig-v6.46
#
# src_install() {
# cp "${FILESDIR}"/gentoo-default-prefs.js \
# "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
# || die
#
# mozconfig_install_prefs \
# "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js"
#
# ...
# }
mozconfig_install_prefs() {
local prefs_file="${1}"
einfo "Adding prefs from mozconfig to ${prefs_file}"
# set dictionary path, to use system hunspell
echo "pref(\"spellchecker.dictionary_path\", \"${EPREFIX}/usr/share/myspell\");" \
>>"${prefs_file}" || die
# force the graphite pref if system-harfbuzz is enabled, since the pref cant disable it
if use system-harfbuzz ; then
echo "sticky_pref(\"gfx.font_rendering.graphite.enabled\",true);" \
>>"${prefs_file}" || die
fi
# force cairo as the canvas renderer on platforms without skia support
if [[ $(tc-endian) == "big" ]] ; then
echo "sticky_pref(\"gfx.canvas.azure.backends\",\"cairo\");" \
>>"${prefs_file}" || die
echo "sticky_pref(\"gfx.content.azure.backends\",\"cairo\");" \
>>"${prefs_file}" || die
fi
}

View File

@ -96,7 +96,7 @@ moz_pkgsetup() {
export USE_PTHREADS=1
export ALDFLAGS=${LDFLAGS}
# ensure MOZCONFIG is not defined
eval unset MOZCONFIG
unset MOZCONFIG
# set MOZILLA_FIVE_HOME
export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"

View File

@ -228,7 +228,7 @@ mozlinguas_export() {
else
:
fi
ewarn "Sorry, but ${P} does not support the ${lingua} locale"
einfo "Sorry, but ${P} does not support the ${lingua} locale in LINGUAS"
done
}

View File

@ -120,7 +120,7 @@ makeopts_loadavg() {
# This assumes the first .* will be more greedy than the second .*
# since POSIX doesn't specify a non-greedy match (i.e. ".*?").
local lavg=$(echo " $* " | sed -r -n \
-e 's:.*[[:space:]](-[a-z]*l|--(load-average|max-load)[=[:space:]])[[:space:]]*([0-9]+|[0-9]+\.[0-9]+).*:\3:p' \
-e 's:.*[[:space:]](-[a-z]*l|--(load-average|max-load)[=[:space:]])[[:space:]]*([0-9]+(\.[0-9]+)?)[[:space:]].*:\3:p' \
-e "s:.*[[:space:]](-[a-z]*l|--(load-average|max-load))[[:space:]].*:${2:-999}:p")
# Default to ${inf} since the default is to not use a load limit.
echo ${lavg:-${2:-999}}

View File

@ -1,4 +1,4 @@
# Copyright 1999-2014 Gentoo Foundation
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: aspell-dict.eclass
@ -85,21 +85,21 @@ myspell-r2_src_install() {
for x in "${MYSPELL_DICT[@]}"; do
target="${x##*/}"
newins "${x}" "${target}" || die
dosym /usr/share/hunspell/"${target}" /usr/share/myspell/"${target}" || die
dosym ../hunspell/"${target}" /usr/share/myspell/"${target}" || die
done
insinto /usr/share/mythes
for x in "${MYSPELL_THES[@]}"; do
target="${x##*/}"
newins "${x}" "${target}" || die
dosym /usr/share/mythes/"${target}" /usr/share/myspell/"${target}" || die
dosym ../mythes/"${target}" /usr/share/myspell/"${target}" || die
done
insinto /usr/share/hyphen
for x in "${MYSPELL_HYPH[@]}"; do
target="${x##*/}"
newins "${x}" "${target}" || die
dosym /usr/share/hyphen/"${target}" /usr/share/myspell/"${target}" || die
dosym ../hyphen/"${target}" /usr/share/myspell/"${target}" || die
done
# Remove licenses as they suffix them with .txt too

View File

@ -338,7 +338,7 @@ mysql-cmake_src_prepare() {
rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga"
fi
epatch_user
cmake-utils_src_prepare
}
# @FUNCTION: mysql-cmake_src_configure
@ -501,27 +501,6 @@ mysql-cmake_src_install() {
eprefixify "${TMPDIR}/my.cnf.ok"
newins "${TMPDIR}/my.cnf.ok" my.cnf
# Minimal builds don't have the MySQL server
if use_if_iuse minimal ; then
:
elif ! in_iuse server || use_if_iuse server ; then
einfo "Creating initial directories"
# Empty directories ...
diropts "-m0750"
if [[ ${PREVIOUS_DATADIR} != "yes" ]] ; then
dodir "${MY_DATADIR#${EPREFIX}}"
keepdir "${MY_DATADIR#${EPREFIX}}"
chown -R mysql:mysql "${D}/${MY_DATADIR}"
fi
diropts "-m0755"
for folder in "${MY_LOGDIR#${EPREFIX}}" ; do
dodir "${folder}"
keepdir "${folder}"
chown -R mysql:mysql "${ED}/${folder}"
done
fi
# Minimal builds don't have the MySQL server
if use_if_iuse minimal ; then
:

View File

@ -342,11 +342,7 @@ mysql-multilib-r1_src_prepare() {
echo > "${S}/support-files/SELinux/CMakeLists.txt" || die
fi
if [[ "${EAPI}x" == "5x" ]] ; then
epatch_user
else
default
fi
cmake-utils_src_prepare
}
# @FUNCTION: mysql-multilib-r1_src_configure
@ -447,7 +443,7 @@ multilib_src_configure() {
# systemd is only linked to for server notification
if in_iuse systemd ; then
mycmakeargs+=( -DWITH_SYSTEMD=$(usex systemd) )
mycmakeargs+=( -DWITH_SYSTEMD=$(usex systemd yes no) )
fi
if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then
@ -508,7 +504,7 @@ multilib_src_configure() {
-DWITHOUT_EMBEDDED_SERVER=1
-DEXTRA_CHARSETS=none
-DINSTALL_SQLBENCHDIR=
-DWITH_SYSTEMD=NO
-DWITH_SYSTEMD=no
)
fi
@ -602,22 +598,6 @@ multilib_src_install() {
newins "${TMPDIR}/my.cnf.ok" my.cnf
if use server ; then
einfo "Creating initial directories"
# Empty directories ...
diropts "-m0750"
if [[ ${PREVIOUS_DATADIR} != "yes" ]] ; then
dodir "${MY_DATADIR#${EPREFIX}}"
keepdir "${MY_DATADIR#${EPREFIX}}"
chown -R mysql:mysql "${D}/${MY_DATADIR}"
fi
diropts "-m0755"
for folder in "${MY_LOGDIR#${EPREFIX}}" ; do
dodir "${folder}"
keepdir "${folder}"
chown -R mysql:mysql "${ED}/${folder}"
done
einfo "Including support files and sample configurations"
docinto "support-files"
for script in \
@ -684,15 +664,9 @@ mysql-multilib-r1_pkg_postinst() {
# Make sure the vars are correctly initialized
mysql_init_vars
# Check FEATURES="collision-protect" before removing this
# Create log directory securely if it does not exist
[[ -d "${ROOT}${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}"
# Secure the logfiles
touch "${ROOT}${MY_LOGDIR}"/mysql.{log,err}
chown mysql:mysql "${ROOT}${MY_LOGDIR}"/mysql*
chmod 0660 "${ROOT}${MY_LOGDIR}"/mysql*
# Minimal builds don't have the MySQL server
if use server ; then
docinto "support-files"
for script in \
@ -922,19 +896,19 @@ mysql-multilib-r1_pkg_config() {
egrep -sq external-locking "${helpfile}" && \
options="${options/skip-locking/skip-external-locking}"
use prefix || options="${options} --user=mysql"
einfo "Creating the mysql database and setting proper permissions on it ..."
# Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it
PID_DIR="${EROOT}/var/run/mysqld"
if [[ ! -d "${PID_DIR}" ]]; then
mkdir -p "${PID_DIR}" || die "Could not create pid directory"
chown mysql:mysql "${PID_DIR}" || die "Could not set ownership on pid directory"
chmod 755 "${PID_DIR}" || die "Could not set permissions on pid directory"
install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory"
fi
pushd "${TMPDIR}" &>/dev/null
if [[ ! -d "${MY_DATADIR}" ]]; then
install -d -m 750 -o mysql -g mysql "${MY_DATADIR}" || die "Could not create data directory"
fi
pushd "${TMPDIR}" &>/dev/null || die
# Filling timezones, see
# http://dev.mysql.com/doc/mysql/en/time-zone-support.html
@ -957,17 +931,15 @@ mysql-multilib-r1_pkg_config() {
fi
cmd+=( "--basedir=${EPREFIX}/usr" ${options} "--datadir=${ROOT}/${MY_DATADIR}" "--tmpdir=${ROOT}/${MYSQL_TMPDIR}" ${initialize_options} )
einfo "Command: ${cmd[*]}"
"${cmd[@]}" \
su -s /bin/sh -c "${cmd[*]}" mysql \
>"${TMPDIR}"/mysql_install_db.log 2>&1
if [ $? -ne 0 ]; then
grep -B5 -A999 -i "ERROR" "${TMPDIR}"/mysql_install_db.log 1>&2
die "Failed to initialize mysqld. Please review ${EPREFIX}/var/log/mysql/mysqld.err AND ${TMPDIR}/mysql_install_db.log"
fi
popd &>/dev/null
popd &>/dev/null || die
[[ -f "${ROOT}/${MY_DATADIR}/mysql/user.frm" ]] \
|| die "MySQL databases not installed"
chown -R mysql:mysql "${ROOT}/${MY_DATADIR}" 2>/dev/null
chmod 0750 "${ROOT}/${MY_DATADIR}" 2>/dev/null
local socket="${EROOT}/var/run/mysqld/mysqld${RANDOM}.sock"
local pidfile="${EROOT}/var/run/mysqld/mysqld${RANDOM}.pid"

View File

@ -843,14 +843,9 @@ mysql-multilib_pkg_postinst() {
# Make sure the vars are correctly initialized
mysql_init_vars
# Check FEATURES="collision-protect" before removing this
# Create log directory securely if it does not exist
[[ -d "${ROOT}${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}"
# Secure the logfiles
touch "${ROOT}${MY_LOGDIR}"/mysql.{log,err}
chown mysql:mysql "${ROOT}${MY_LOGDIR}"/mysql*
chmod 0660 "${ROOT}${MY_LOGDIR}"/mysql*
# Minimal builds don't have the MySQL server
if use_if_iuse minimal ; then
:
@ -1058,8 +1053,6 @@ mysql-multilib_pkg_config() {
egrep -sq external-locking "${helpfile}" && \
options="${options/skip-locking/skip-external-locking}"
use prefix || options="${options} --user=mysql"
# MySQL 5.6+ needs InnoDB
if [[ ${PN} == "mysql" || ${PN} == "percona-server" ]] ; then
mysql_version_is_at_least "5.6" || options="${options} --loose-skip-innodb"
@ -1070,28 +1063,28 @@ mysql-multilib_pkg_config() {
# Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it
PID_DIR="${EROOT}/var/run/mysqld"
if [[ ! -d "${PID_DIR}" ]]; then
mkdir -p "${PID_DIR}" || die "Could not create pid directory"
chown mysql:mysql "${PID_DIR}" || die "Could not set ownership on pid directory"
chmod 755 "${PID_DIR}" || die "Could not set permissions on pid directory"
install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory"
fi
pushd "${TMPDIR}" &>/dev/null
if [[ ! -d "${MY_DATADIR}" ]]; then
install -d -m 750 -o mysql -g mysql "${MY_DATADIR}" || die "Could not create data directory"
fi
pushd "${TMPDIR}" &>/dev/null || die
#cmd="'${EROOT}/usr/share/mysql/scripts/mysql_install_db' '--basedir=${EPREFIX}/usr' ${options}"
cmd=${EROOT}usr/share/mysql/scripts/mysql_install_db
[[ -f ${cmd} ]] || cmd=${EROOT}usr/bin/mysql_install_db
cmd="'$cmd' '--basedir=${EPREFIX}/usr' ${options} '--datadir=${ROOT}/${MY_DATADIR}' '--tmpdir=${ROOT}/${MYSQL_TMPDIR}'"
einfo "Command: $cmd"
eval $cmd \
su -s /bin/sh -c "${cmd}" mysql \
>"${TMPDIR}"/mysql_install_db.log 2>&1
if [ $? -ne 0 ]; then
grep -B5 -A999 -i "ERROR" "${TMPDIR}"/mysql_install_db.log 1>&2
die "Failed to run mysql_install_db. Please review ${EPREFIX}/var/log/mysql/mysqld.err AND ${TMPDIR}/mysql_install_db.log"
fi
popd &>/dev/null
popd &>/dev/null || die
[[ -f "${ROOT}/${MY_DATADIR}/mysql/user.frm" ]] \
|| die "MySQL databases not installed"
chown -R mysql:mysql "${ROOT}/${MY_DATADIR}" 2>/dev/null
chmod 0750 "${ROOT}/${MY_DATADIR}" 2>/dev/null
# Filling timezones, see
# http://dev.mysql.com/doc/mysql/en/time-zone-support.html

View File

@ -587,14 +587,9 @@ mysql-v2_pkg_postinst() {
# Make sure the vars are correctly initialized
mysql_init_vars
# Check FEATURES="collision-protect" before removing this
# Create log directory securely if it does not exist
[[ -d "${ROOT}${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}"
# Secure the logfiles
touch "${ROOT}${MY_LOGDIR}"/mysql.{log,err}
chown mysql:mysql "${ROOT}${MY_LOGDIR}"/mysql*
chmod 0660 "${ROOT}${MY_LOGDIR}"/mysql*
# Minimal builds don't have the MySQL server
if ! use minimal ; then
docinto "support-files"
@ -809,8 +804,6 @@ mysql-v2_pkg_config() {
egrep -sq external-locking "${helpfile}" && \
options="${options/skip-locking/skip-external-locking}"
use prefix || options="${options} --user=mysql"
# MySQL 5.6+ needs InnoDB
if [[ ${PN} == "mysql" || ${PN} == "percona-server" ]] ; then
mysql_version_is_at_least "5.6" || options="${options} --loose-skip-innodb"
@ -821,28 +814,28 @@ mysql-v2_pkg_config() {
# Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it
PID_DIR="${EROOT}/var/run/mysqld"
if [[ ! -d "${PID_DIR}" ]]; then
mkdir -p "${PID_DIR}" || die "Could not create pid directory"
chown mysql:mysql "${PID_DIR}" || die "Could not set ownership on pid directory"
chmod 755 "${PID_DIR}" || die "Could not set permissions on pid directory"
install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory"
fi
pushd "${TMPDIR}" &>/dev/null
if [[ ! -d "${MY_DATADIR}" ]]; then
install -d -m 750 -o mysql -g mysql "${MY_DATADIR}" || die "Could not create data directory"
fi
pushd "${TMPDIR}" &>/dev/null || die
#cmd="'${EROOT}/usr/share/mysql/scripts/mysql_install_db' '--basedir=${EPREFIX}/usr' ${options}"
cmd=${EROOT}usr/share/mysql/scripts/mysql_install_db
[[ -f ${cmd} ]] || cmd=${EROOT}usr/bin/mysql_install_db
cmd="'$cmd' '--basedir=${EPREFIX}/usr' ${options} '--datadir=${ROOT}/${MY_DATADIR}' '--tmpdir=${ROOT}/${MYSQL_TMPDIR}'"
einfo "Command: $cmd"
eval $cmd \
su -s /bin/sh -c "${cmd}" mysql \
>"${TMPDIR}"/mysql_install_db.log 2>&1
if [ $? -ne 0 ]; then
grep -B5 -A999 -i "ERROR" "${TMPDIR}"/mysql_install_db.log 1>&2
die "Failed to run mysql_install_db. Please review ${EPREFIX}/var/log/mysql/mysqld.err AND ${TMPDIR}/mysql_install_db.log"
fi
popd &>/dev/null
popd &>/dev/null || die
[[ -f "${ROOT}/${MY_DATADIR}/mysql/user.frm" ]] \
|| die "MySQL databases not installed"
chown -R mysql:mysql "${ROOT}/${MY_DATADIR}" 2>/dev/null
chmod 0750 "${ROOT}/${MY_DATADIR}" 2>/dev/null
# Filling timezones, see
# http://dev.mysql.com/doc/mysql/en/time-zone-support.html

View File

@ -11,7 +11,7 @@
# Eclass for easing maitenance of libreoffice/openoffice extensions.
case "${EAPI:-0}" in
5) OEXT_EXPORTED_FUNCTIONS="src_unpack src_install pkg_postinst pkg_prerm" ;;
5|6) OEXT_EXPORTED_FUNCTIONS="src_unpack src_install pkg_postinst pkg_prerm" ;;
*) die "EAPI=${EAPI} is not supported" ;;
esac

View File

@ -0,0 +1,50 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: opam.eclass
# @MAINTAINER:
# Gentoo ML Project <ml@gentoo.org>
# @AUTHOR:
# Alexis Ballier <aballier@gentoo.org>
# @BLURB: Provides functions for installing opam packages.
# @DESCRIPTION:
# Provides dependencies on opam and ocaml, opam-install and a default
# src_install for opam-based packages.
case ${EAPI:-0} in
0|1|2|3|4) die "You need at least EAPI-5 to use opam.eclass";;
*) ;;
esac
RDEPEND=">=dev-lang/ocaml-4:="
DEPEND="${RDEPEND}
dev-ml/opam"
# @FUNCTION: opam-install
# @USAGE: <list of packages>
# @DESCRIPTION:
# Installs the opam packages given as arguments. For each "${pkg}" element in
# that list, "${pkg}.install" must be readable from current working directory.
opam-install() {
local pkg
for pkg ; do
opam-installer -i \
--prefix="${ED}usr" \
--libdir="${D}$(ocamlc -where)" \
--docdir="${ED}usr/share/doc/${PF}" \
--mandir="${ED}usr/share/man" \
"${pkg}.install" || die
done
}
opam_src_install() {
local pkg="${1:-${PN}}"
opam-install "${pkg}"
# Handle opam putting doc in a subdir
if [ -d "${ED}usr/share/doc/${PF}/${pkg}" ] ; then
mv "${ED}usr/share/doc/${PF}/${pkg}/"* "${ED}usr/share/doc/${PF}/" || die
rmdir "${ED}usr/share/doc/${PF}/${pkg}" || die
fi
}
EXPORT_FUNCTIONS src_install

View File

@ -1,6 +1,7 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# @DEAD
# @ECLASS: php-ext-pecl-r2.eclass
# @MAINTAINER:
# Gentoo PHP team <php-bugs@gentoo.org>

View File

@ -27,7 +27,11 @@ esac
# @DESCRIPTION:
# A Bash array containing a list of compatible PostgreSQL slots as
# defined by the developer. Must be declared before inheriting this
# eclass. Example: POSTGRES_COMPAT=( 9.4 9.{5,6} )
# eclass. Example:
#@CODE
#POSTGRES_COMPAT=( 9.2 9.3 9.4 9.5 9.6 10 )
#POSTGRES_COMPAT=( 9.{2,3} 9.{4..6} 10 ) # Same as previous
#@CODE
if ! declare -p POSTGRES_COMPAT &>/dev/null; then
die 'Required variable POSTGRES_COMPAT not declared.'
fi
@ -40,8 +44,8 @@ fi
export _POSTGRES_INTERSECT_SLOTS=( )
# @FUNCTION: _postgres-multi_multibuild_wrapper
# @USAGE: <command> [arg ...]
# @INTERNAL
# @USAGE: _postgres-multi_multibuild_wrapper <command> [<arg> ...]
# @DESCRIPTION:
# For the given variant, set the values of the PG_SLOT, PG_CONFIG, and
# PKG_CONFIG_PATH environment variables accordingly and replace any
@ -62,16 +66,16 @@ _postgres-multi_multibuild_wrapper() {
}
# @FUNCTION: postgres-multi_foreach
# @USAGE: postgres-multi_foreach <command> <arg> [<arg> ...]
# @USAGE: <command> [arg ...]
# @DESCRIPTION:
# Run the given command in the package's build directory for each
# PostgreSQL slot in the intersect of POSTGRES_TARGETS and
# POSTGRES_COMPAT and user-enabled slots. The PG_CONFIG and
# PKG_CONFIG_PATH environment variables are updated on each iteration to
# point to the matching pg_config command and pkg-config metadata files,
# respectively, for the current slot. Any appearance of @PG_SLOT@ in the
# command or arguments will be substituted with the slot (e.g., 9.5) of
# the current iteration.
# POSTGRES_COMPAT. The PG_CONFIG and PKG_CONFIG_PATH environment
# variables are updated on each iteration to point to the matching
# pg_config command and pkg-config metadata files, respectively, for the
# current slot. Any appearance of @PG_SLOT@ in the command or arguments
# will be substituted with the slot (e.g., 9.5) of the current
# iteration.
postgres-multi_foreach() {
local MULTIBUILD_VARIANTS=("${_POSTGRES_INTERSECT_SLOTS[@]}")
@ -80,7 +84,7 @@ postgres-multi_foreach() {
}
# @FUNCTION: postgres-multi_forbest
# @USAGE: postgres-multi_forbest <command> <arg> [<arg> ...]
# @USAGE: <command> [arg ...]
# @DESCRIPTION:
# Run the given command in the package's build directory for the highest
# slot in the intersect of POSTGRES_COMPAT and POSTGRES_TARGETS. The
@ -98,14 +102,14 @@ postgres-multi_forbest() {
}
# @FUNCTION: postgres-multi_pkg_setup
# @USAGE: postgres-multi_pkg_setup
# @DESCRIPTION:
# Initialize internal environment variable(s). This is required if
# pkg_setup() is declared in the ebuild.
postgres-multi_pkg_setup() {
local user_slot
for user_slot in "${POSTGRES_COMPAT[@]}"; do
# _POSTGRES_COMPAT is created in postgres.eclass
for user_slot in "${_POSTGRES_COMPAT[@]}"; do
use "postgres_targets_postgres${user_slot/\./_}" && \
_POSTGRES_INTERSECT_SLOTS+=( "${user_slot}" )
done
@ -118,7 +122,6 @@ postgres-multi_pkg_setup() {
}
# @FUNCTION: postgres-multi_src_prepare
# @USAGE: postgres-multi_src_prepare
# @DESCRIPTION:
# Calls eapply_user then copies ${S} into a build directory for each
# intersect of POSTGRES_TARGETS and POSTGRES_COMPAT.
@ -151,7 +154,6 @@ postgres-multi_src_prepare() {
}
# @FUNCTION: postgres-multi_src_compile
# @USAGE: postgres-multi_src_compile
# @DESCRIPTION:
# Runs `emake' in each build directory
postgres-multi_src_compile() {
@ -159,7 +161,6 @@ postgres-multi_src_compile() {
}
# @FUNCTION: postgres-multi_src_install
# @USAGE: postgres-multi_src_install
# @DESCRIPTION:
# Runs `emake install DESTDIR="${D}"' in each build directory.
postgres-multi_src_install() {
@ -167,7 +168,6 @@ postgres-multi_src_install() {
}
# @FUNCTION: postgres-multi_src_test
# @USAGE: postgres-multi_src_test
# @DESCRIPTION:
# Runs `emake installcheck' in each build directory.
postgres-multi_src_test() {

View File

@ -21,41 +21,65 @@ case ${EAPI:-0} in
*) die "Unsupported EAPI=${EAPI} (unknown) for ${ECLASS}" ;;
esac
# @ECLASS-VARIABLE: _POSTGRES_ALL_VERSIONS
# @INTERNAL
# @DESCRIPTION:
# List of versions to reverse sort POSTGRES_COMPAT slots
_POSTGRES_ALL_VERSIONS=( 11 10 9.6 9.5 9.4 9.3 9.2 )
# @ECLASS-VARIABLE: POSTGRES_COMPAT
# @DEFAULT_UNSET
# @DESCRIPTION:
# A Bash array containing a list of compatible PostgreSQL slots as
# defined by the developer. If declared, must be declared before
# inheriting this eclass. Example: POSTGRES_COMPAT=( 9.4 9.{5,6} )
# @ECLASS-VARIABLE: POSTGRES_USEDEP
# @DEFAULT_UNSET
# @DESCRIPTION:
# Add the 2-Style and/or 4-Style use dependencies without brackets to be used
# for POSTGRES_DEP. If declared, must be done before inheriting this eclass.
# inheriting this eclass. Example:
#@CODE
#POSTGRES_COMPAT=( 9.2 9.3 9.4 9.5 9.6 10 )
#POSTGRES_COMPAT=( 9.{2,3} 9.{4..6} 10 ) # Same as previous
#@CODE
# @ECLASS-VARIABLE: POSTGRES_DEP
# @DESCRIPTION:
# An automatically generated dependency string suitable for use in
# DEPEND and RDEPEND declarations.
POSTGRES_DEP="dev-db/postgresql:="
# @ECLASS-VARIABLE: POSTGRES_USEDEP
# @DEFAULT_UNSET
# @DESCRIPTION:
# Add the 2-Style and/or 4-Style use dependencies without brackets to be used
# for POSTGRES_DEP. If declared, must be declared before inheriting this eclass.
declare -p POSTGRES_USEDEP &>/dev/null && POSTGRES_DEP+="[${POSTGRES_USEDEP}]"
# @ECLASS-VARIABLE: POSTGRES_REQ_USE
# @DEFAULT_UNSET
# @DESCRIPTION:
# An automatically generated REQUIRED_USE-compatible string built upon
# POSTGRES_COMPAT. REQUIRED_USE="... ${POSTGRES_REQ_USE}" is only
# required if the package must build against one of the PostgreSQL slots
# declared in POSTGRES_COMPAT.
# @ECLASS-VARIABLE: _POSTGRES_COMPAT
# @INTERNAL
# @DESCRIPTION:
# Copy of POSTGRES_COMPAT, reverse sorted
_POSTGRES_COMPAT=()
if declare -p POSTGRES_COMPAT &> /dev/null ; then
# Reverse sort the given POSTGRES_COMPAT so that the most recent
# slot is preferred over an older slot.
# -- do we care if dependencies are deterministic by USE flags?
readarray -t POSTGRES_COMPAT < <(printf '%s\n' "${POSTGRES_COMPAT[@]}" | sort -nr)
for i in ${_POSTGRES_ALL_VERSIONS[@]} ; do
has ${i} ${POSTGRES_COMPAT[@]} && _POSTGRES_COMPAT+=( ${i} )
done
POSTGRES_DEP=""
POSTGRES_REQ_USE=" || ("
for slot in "${POSTGRES_COMPAT[@]}" ; do
for slot in "${_POSTGRES_COMPAT[@]}" ; do
POSTGRES_DEP+=" postgres_targets_postgres${slot/\./_}? ( dev-db/postgresql:${slot}="
declare -p POSTGRES_USEDEP &>/dev/null && \
POSTGRES_DEP+="[${POSTGRES_USEDEP}]"
@ -65,10 +89,6 @@ if declare -p POSTGRES_COMPAT &> /dev/null ; then
POSTGRES_REQ_USE+=" postgres_targets_postgres${slot/\./_}"
done
POSTGRES_REQ_USE+=" )"
else
POSTGRES_DEP="dev-db/postgresql:="
declare -p POSTGRES_USEDEP &>/dev/null && \
POSTGRES_DEP+="[${POSTGRES_USEDEP}]"
fi
@ -96,10 +116,16 @@ postgres_check_slot() {
}
# @FUNCTION: postgres_new_user
# @USAGE: [user [(uid|-1) [(shell|-1) [(homedir|-1) [groups]]]]]
# @DESCRIPTION:
# Creates the "postgres" system group and user -- which is separate from
# the database user -- in addition to the developer defined user. Takes
# the same arguments as "enewuser".
# the database user -- and, optionally, the developer defined user. There
# are no required parameters.
#
# When given a user to create, it'll be created with the next available
# uid, default shell set to /bin/false, default homedir is /dev/null,
# and added to the "postgres" system group. You can use "-1" to skip any
# parameter except user or groups.
postgres_new_user() {
enewgroup postgres 70
enewuser postgres 70 /bin/bash /var/lib/postgresql postgres
@ -116,7 +142,6 @@ postgres_new_user() {
}
# @FUNCTION: postgres_pkg_setup
# @USAGE: postgres_pkg_setup
# @DESCRIPTION:
# Initialize environment variable(s) according to the best
# installed version of PostgreSQL that is also in POSTGRES_COMPAT. This
@ -127,7 +152,7 @@ postgres_pkg_setup() {
local compat_slot
local best_slot
for compat_slot in "${POSTGRES_COMPAT[@]}"; do
for compat_slot in "${_POSTGRES_COMPAT[@]}"; do
if use "postgres_targets_postgres${compat_slot/\./_}"; then
best_slot="${compat_slot}"
break
@ -136,7 +161,7 @@ postgres_pkg_setup() {
if [[ -z "${best_slot}" ]]; then
local flags f
for f in "${POSTGRES_COMPAT[@]}"; do
for f in "${_POSTGRES_COMPAT[@]}"; do
flags+=" postgres${f/./_}"
done

View File

@ -48,7 +48,8 @@ eprefixify() {
}
# @FUNCTION: hprefixify
# @USAGE: [ -w <line match> ] [-e <extended regex> ] <list of files>
# @USAGE: [ -w <line match> ] [ -e <extended regex> ] [ -q <quotation char> ]
# <list of files>
# @DESCRIPTION:
# Tries a set of heuristics to prefixify the given files. Dies if no
# arguments are given, a file does not exist, or changing a file failed.
@ -56,7 +57,10 @@ eprefixify() {
# Additional extended regular expression can be passed by -e or
# environment variable PREFIX_EXTRA_REGEX. The default heuristics can
# be constrained to lines that match a sed expression passed by -w or
# environment variable PREFIX_LINE_MATCH.
# environment variable PREFIX_LINE_MATCH. Quotation characters can be
# specified by -q or environment variable PREFIX_QUOTE_CHAR, unless
# EPREFIX is empty.
#
# @EXAMPLE:
# Only prefixify the 30th line,
# hprefixify -w 30 configure
@ -64,18 +68,21 @@ eprefixify() {
# hprefixify -w "/PATH/" configure
# Also delete all the /opt/gnu search paths,
# hprefixify -e "/\/opt\/gnu/d" configure
# Quote the inserted EPREFIX
# hprefixify -q '"' etc/profile
hprefixify() {
use prefix || return 0
local PREFIX_EXTRA_REGEX PREFIX_LINE_MATCH xl=() x
local xl=() x
while [[ $# -gt 0 ]]; do
case $1 in
-e)
PREFIX_EXTRA_REGEX="$2"
-e) local PREFIX_EXTRA_REGEX="$2"
shift
;;
-w)
PREFIX_LINE_MATCH="$2"
-w) local PREFIX_LINE_MATCH="$2"
shift
;;
-q) local PREFIX_QUOTE_CHAR="${EPREFIX:+$2}"
shift
;;
*)
@ -84,6 +91,8 @@ hprefixify() {
esac
shift
done
local dirs="/(usr|lib(|[onx]?32|n?64)|etc|bin|sbin|var|opt|run)" \
eprefix="${PREFIX_QUOTE_CHAR}${EPREFIX}${PREFIX_QUOTE_CHAR}"
[[ ${#xl[@]} -lt 1 ]] && die "at least one file operand is required"
einfo "Adjusting to prefix ${EPREFIX:-/}"
@ -91,7 +100,8 @@ hprefixify() {
if [[ -e ${x} ]] ; then
ebegin " ${x##*/}"
sed -r \
-e "${PREFIX_LINE_MATCH}s,([^[:alnum:]}\)\.])/(usr|lib(|[onx]?32|n?64)|etc|bin|sbin|var|opt|run),\1${EPREFIX}/\2,g" \
-e "${PREFIX_LINE_MATCH}s,([^[:alnum:]}\)\.])${dirs},\1${eprefix}/\2,g" \
-e "${PREFIX_LINE_MATCH}s,^${dirs},${eprefix}/\1," \
-e "${PREFIX_EXTRA_REGEX}" \
-i "${x}"
eend $? || die "failed to prefixify ${x}"

View File

@ -69,7 +69,7 @@ case ${PV} in
QT5_BUILD_TYPE="live"
EGIT_BRANCH="dev"
;;
5.?.9999)
5.?.9999|5.??.9999|5.???.9999)
# git stable branch
QT5_BUILD_TYPE="live"
EGIT_BRANCH=${PV%.9999}
@ -92,9 +92,8 @@ esac
readonly QT5_BUILD_TYPE
EGIT_REPO_URI=(
"git://code.qt.io/qt/${QT5_MODULE}.git"
"https://code.qt.io/git/qt/${QT5_MODULE}.git"
"https://github.com/qtproject/${QT5_MODULE}.git"
"https://code.qt.io/qt/${QT5_MODULE}.git"
"https://github.com/qt/${QT5_MODULE}.git"
)
[[ ${QT5_BUILD_TYPE} == live ]] && inherit git-r3
@ -115,7 +114,7 @@ DEPEND="
dev-lang/perl
virtual/pkgconfig
"
if [[ ${PN} != qttest ]]; then
if [[ (${PN} != qttest && ${PN} != qtwebkit) || (${PN} == qtwebkit && ${QT5_MINOR_VERSION} -lt 9) ]]; then
DEPEND+=" test? ( ~dev-qt/qttest-${PV} )"
fi
RDEPEND="
@ -172,8 +171,14 @@ qt5-build_src_prepare() {
qt5_symlink_tools_to_build_dir
# Avoid unnecessary qmake recompilations
if [[ ${QT5_MINOR_VERSION} -ge 8 ]]; then
sed -i -e "/Creating qmake/i if [ '!' -e \"\$outpath/bin/qmake\" ]; then" \
-e '/echo "Done."/a fi' \
configure || die "sed failed (skip qmake bootstrap)"
else
sed -i -re "s|^if true;.*(\[ '\!').*(\"\\\$outpath/bin/qmake\".*)|if \1 -e \2 then|" \
configure || die "sed failed (skip qmake bootstrap)"
fi
# Respect CC, CXX, *FLAGS, MAKEOPTS and EXTRA_EMAKE when bootstrapping qmake
sed -i -e "/outpath\/qmake\".*\"\$MAKE\")/ s:): \
@ -188,9 +193,11 @@ qt5-build_src_prepare() {
sed -i -e "/^QMAKE_CONF_COMPILER=/ s:=.*:=\"$(tc-getCXX)\":" \
configure || die "sed failed (QMAKE_CONF_COMPILER)"
if [[ ${QT5_MINOR_VERSION} -le 7 ]]; then
# Respect toolchain and flags in config.tests
find config.tests/unix -name '*.test' -type f -execdir \
sed -i -e 's/-nocache //' '{}' + || die
fi
# Don't inject -msse/-mavx/... into CXXFLAGS when detecting
# compiler support for extended instruction sets (bug 552942)
@ -370,6 +377,29 @@ qt_use_compile_test() {
fi
}
# @FUNCTION: qt_use_disable_config
# @USAGE: <flag> <config> <files...>
# @DESCRIPTION:
# <flag> is the name of a flag in IUSE.
# <config> is the (lowercase) name of a Qt5 config entry.
# <files...> is a list of one or more qmake project files.
#
# This function patches <files> to treat <config> as disabled
# when <flag> is disabled, otherwise it does nothing.
# This can be useful to avoid an automagic dependency when the config entry
# is enabled on the system but the corresponding USE flag is disabled.
qt_use_disable_config() {
[[ $# -ge 3 ]] || die "${FUNCNAME}() requires at least three arguments"
local flag=$1
local config=$2
shift 2
if ! use "${flag}"; then
echo "$@" | xargs sed -i -e "s/qtConfig(${config})/false/g" || die
fi
}
# @FUNCTION: qt_use_disable_mod
# @USAGE: <flag> <module> <files...>
# @DESCRIPTION:
@ -489,6 +519,11 @@ qt5_base_configure() {
tc-export AR CC CXX OBJDUMP RANLIB STRIP
export LD="$(tc-getCXX)"
# bug 633838
if [[ ${QT5_MINOR_VERSION} -ge 9 ]]; then
unset QMAKESPEC XQMAKESPEC QMAKEPATH QMAKEFEATURES
fi
# configure arguments
local conf=(
# installation paths
@ -568,8 +603,8 @@ qt5_base_configure() {
-glib
# disable everything to prevent automagic deps (part 2)
-no-pulseaudio -no-alsa
$([[ ${QT5_MINOR_VERSION} -ge 7 ]] && echo -no-gtk || echo -no-gtkstyle)
$([[ ${QT5_MINOR_VERSION} -lt 8 ]] && echo -no-pulseaudio -no-alsa)
# exclude examples and tests from default build
-nomake examples
@ -583,7 +618,8 @@ qt5_base_configure() {
-verbose
# always enable iconv support
-iconv
# since 5.8 this is handled in qtcore
$([[ ${QT5_MINOR_VERSION} -lt 8 ]] && echo -iconv)
# disable everything to prevent automagic deps (part 3)
-no-cups -no-evdev -no-tslib -no-icu -no-fontconfig -no-dbus
@ -610,7 +646,8 @@ qt5_base_configure() {
# disable undocumented X11-related flags, override in qtgui
# (not shown in ./configure -help output)
-no-xkb -no-xrender
-no-xkb
$([[ ${QT5_MINOR_VERSION} -lt 8 ]] && echo -no-xrender)
# disable obsolete/unused X11-related flags
$([[ ${QT5_MINOR_VERSION} -lt 8 ]] && echo -no-mitshm -no-xcursor -no-xfixes -no-xrandr -no-xshape -no-xsync)
@ -630,7 +667,7 @@ qt5_base_configure() {
-no-libinput
# disable gstreamer by default, override in qtmultimedia
-no-gstreamer
$([[ ${QT5_MINOR_VERSION} -lt 8 ]] && echo -no-gstreamer)
# respect system proxies by default: it's the most natural
# setting, and it'll become the new upstream default in 5.8
@ -648,7 +685,14 @@ qt5_base_configure() {
einfo "Configuring with: ${conf[@]}"
"${S}"/configure "${conf[@]}" || die "configure failed"
if [[ ${QT5_MINOR_VERSION} -ge 8 ]]; then
# a forwarding header is no longer created since 5.8, causing the system
# config to always be used. bug 599636
cp src/corelib/global/qconfig.h include/QtCore/ || die
fi
popd >/dev/null || die
}
# @FUNCTION: qt5_qmake

View File

@ -116,7 +116,7 @@ _ruby_get_all_impls() {
for i in ${USE_RUBY}; do
case ${i} in
# removed implementations
ruby19|ruby20|jruby)
ruby19|ruby20|ruby21|jruby)
;;
*)
echo ${i};;

View File

@ -62,7 +62,7 @@
# using a single variable, rather than having to set the packagename_LIVE_REPO
# variable for each and every SELinux policy module package they want to install.
# The default value is Gentoo's hardened-refpolicy repository.
: ${SELINUX_GIT_REPO:="git://anongit.gentoo.org/proj/hardened-refpolicy.git https://anongit.gentoo.org/git/proj/hardened-refpolicy.git"};
: ${SELINUX_GIT_REPO:="https://anongit.gentoo.org/git/proj/hardened-refpolicy.git"};
# @ECLASS-VARIABLE: SELINUX_GIT_BRANCH
# @DESCRIPTION:

View File

@ -1,4 +1,4 @@
# Copyright 1999-2014 Gentoo Foundation
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: systemd.eclass
@ -273,7 +273,7 @@ systemd_enable_service() {
# Uses doins, thus it is fatal in EAPI 4 and non-fatal in earlier
# EAPIs.
#
# Doc: http://www.freedesktop.org/wiki/Software/systemd/timedated/
# Doc: https://www.freedesktop.org/wiki/Software/systemd/timedated/
systemd_enable_ntpunit() {
debug-print-function ${FUNCNAME} "${@}"
if [[ ${#} -lt 2 ]]; then
@ -357,7 +357,7 @@ systemd_with_utildir() {
# If systemd is not installed, no operation will be done. The catalog
# will be (re)built once systemd is installed.
#
# See: http://www.freedesktop.org/wiki/Software/systemd/catalog
# See: https://www.freedesktop.org/wiki/Software/systemd/catalog
systemd_update_catalog() {
debug-print-function ${FUNCNAME} "${@}"
@ -418,3 +418,24 @@ systemd_tmpfiles_create() {
type systemd-tmpfiles &> /dev/null || return 0
systemd-tmpfiles --create "${@}"
}
# @FUNCTION: systemd_reenable
# @USAGE: <unit> ...
# @DESCRIPTION:
# Re-enables units if they are currently enabled. This resets symlinks to the
# defaults specified in the [Install] section.
#
# This function is intended to fix broken symlinks that result from moving
# the systemd system unit directory. It should be called from pkg_postinst
# for system units that define the 'Alias' option in their [Install] section.
# It is not necessary to call this function to fix dependency symlinks
# generated by the 'WantedBy' and 'RequiredBy' options.
systemd_reenable() {
type systemctl &>/dev/null || return 0
local x
for x; do
if systemctl --quiet --root="${ROOT}" is-enabled "${x}"; then
systemctl --root="${ROOT}" reenable "${x}"
fi
done
}

View File

@ -0,0 +1,177 @@
#!/bin/bash
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
source tests-common.sh
inherit eapi7-ver
teq() {
local expected=${1}; shift
tbegin "${*} -> ${expected}"
local got=$("${@}")
[[ ${got} == ${expected} ]]
tend ${?} "returned: ${got}"
}
teqr() {
local expected=$1; shift
tbegin "$* -> ${expected}"
"$@"
local ret=$?
[[ ${ret} -eq ${expected} ]]
tend $? "returned: ${ret}"
}
txf() {
tbegin "XFAIL: ${*}"
local got=$("${@}" 2>&1)
[[ ${got} == die:* ]]
tend ${?} "function did not die"
}
teq 1 ver_cut 1 1.2.3
teq 1 ver_cut 1-1 1.2.3
teq 1.2 ver_cut 1-2 1.2.3
teq 2.3 ver_cut 2- 1.2.3
teq 1.2.3 ver_cut 1- 1.2.3
teq 3b ver_cut 3-4 1.2.3b_alpha4
teq alpha ver_cut 5 1.2.3b_alpha4
teq 1.2 ver_cut 1-2 .1.2.3
teq .1.2 ver_cut 0-2 .1.2.3
teq 2.3 ver_cut 2-3 1.2.3.
teq 2.3. ver_cut 2- 1.2.3.
teq 2.3. ver_cut 2-4 1.2.3.
teq 1-2.3 ver_rs 1 - 1.2.3
teq 1.2-3 ver_rs 2 - 1.2.3
teq 1-2-3.4 ver_rs 1-2 - 1.2.3.4
teq 1.2-3-4 ver_rs 2- - 1.2.3.4
teq 1.2.3 ver_rs 2 . 1.2-3
teq 1.2.3.a ver_rs 3 . 1.2.3a
teq 1.2-alpha-4 ver_rs 2-3 - 1.2_alpha4
teq 1.23-b_alpha4 ver_rs 3 - 2 "" 1.2.3b_alpha4
teq a1b_2-c-3-d4e5 ver_rs 3-5 _ 4-6 - a1b2c3d4e5
teq .1-2.3 ver_rs 1 - .1.2.3
teq -1.2.3 ver_rs 0 - .1.2.3
# truncating range
teq 1.2 ver_cut 0-2 1.2.3
teq 2.3 ver_cut 2-5 1.2.3
teq "" ver_cut 4 1.2.3
teq "" ver_cut 0 1.2.3
teq "" ver_cut 4- 1.2.3
teq 1.2.3 ver_rs 0 - 1.2.3
teq 1.2.3 ver_rs 3 . 1.2.3
teq 1.2.3 ver_rs 3- . 1.2.3
teq 1.2.3 ver_rs 3-5 . 1.2.3
txf ver_cut foo 1.2.3
txf ver_rs -3 _ a1b2c3d4e5
txf ver_rs 5-3 _ a1b2c3d4e5
# Tests from Portage's test_vercmp.py
teqr 0 ver_test 6.0 -gt 5.0
teqr 0 ver_test 5.0 -gt 5
teqr 0 ver_test 1.0-r1 -gt 1.0-r0
teqr 0 ver_test 999999999999999999 -gt 999999999999999998 # 18 digits
teqr 0 ver_test 1.0.0 -gt 1.0
teqr 0 ver_test 1.0.0 -gt 1.0b
teqr 0 ver_test 1b -gt 1
teqr 0 ver_test 1b_p1 -gt 1_p1
teqr 0 ver_test 1.1b -gt 1.1
teqr 0 ver_test 12.2.5 -gt 12.2b
teqr 0 ver_test 4.0 -lt 5.0
teqr 0 ver_test 5 -lt 5.0
teqr 0 ver_test 1.0_pre2 -lt 1.0_p2
teqr 0 ver_test 1.0_alpha2 -lt 1.0_p2
teqr 0 ver_test 1.0_alpha1 -lt 1.0_beta1
teqr 0 ver_test 1.0_beta3 -lt 1.0_rc3
teqr 0 ver_test 1.001000000000000001 -lt 1.001000000000000002
teqr 0 ver_test 1.00100000000 -lt 1.001000000000000001
teqr 0 ver_test 999999999999999998 -lt 999999999999999999
teqr 0 ver_test 1.01 -lt 1.1
teqr 0 ver_test 1.0-r0 -lt 1.0-r1
teqr 0 ver_test 1.0 -lt 1.0-r1
teqr 0 ver_test 1.0 -lt 1.0.0
teqr 0 ver_test 1.0b -lt 1.0.0
teqr 0 ver_test 1_p1 -lt 1b_p1
teqr 0 ver_test 1 -lt 1b
teqr 0 ver_test 1.1 -lt 1.1b
teqr 0 ver_test 12.2b -lt 12.2.5
teqr 0 ver_test 4.0 -eq 4.0
teqr 0 ver_test 1.0 -eq 1.0
teqr 0 ver_test 1.0-r0 -eq 1.0
teqr 0 ver_test 1.0 -eq 1.0-r0
teqr 0 ver_test 1.0-r0 -eq 1.0-r0
teqr 0 ver_test 1.0-r1 -eq 1.0-r1
teqr 1 ver_test 1 -eq 2
teqr 1 ver_test 1.0_alpha -eq 1.0_pre
teqr 1 ver_test 1.0_beta -eq 1.0_alpha
teqr 1 ver_test 1 -eq 0.0
teqr 1 ver_test 1.0-r0 -eq 1.0-r1
teqr 1 ver_test 1.0-r1 -eq 1.0-r0
teqr 1 ver_test 1.0 -eq 1.0-r1
teqr 1 ver_test 1.0-r1 -eq 1.0
teqr 1 ver_test 1.0 -eq 1.0.0
teqr 1 ver_test 1_p1 -eq 1b_p1
teqr 1 ver_test 1b -eq 1
teqr 1 ver_test 1.1b -eq 1.1
teqr 1 ver_test 12.2b -eq 12.2
# A subset of tests from Paludis
teqr 0 ver_test 1.0_alpha -gt 1_alpha
teqr 0 ver_test 1.0_alpha -gt 1
teqr 0 ver_test 1.0_alpha -lt 1.0
teqr 0 ver_test 1.2.0.0_alpha7-r4 -gt 1.2_alpha7-r4
teqr 0 ver_test 0001 -eq 1
teqr 0 ver_test 01 -eq 001
teqr 0 ver_test 0001.1 -eq 1.1
teqr 0 ver_test 01.01 -eq 1.01
teqr 0 ver_test 1.010 -eq 1.01
teqr 0 ver_test 1.00 -eq 1.0
teqr 0 ver_test 1.0100 -eq 1.010
teqr 0 ver_test 1-r00 -eq 1-r0
# Additional tests
teqr 0 ver_test 0_rc99 -lt 0
teqr 0 ver_test 011 -eq 11
teqr 0 ver_test 019 -eq 19
teqr 0 ver_test 1.2 -eq 001.2
teqr 0 ver_test 1.2 -gt 1.02
teqr 0 ver_test 1.2a -lt 1.2b
teqr 0 ver_test 1.2_pre1 -gt 1.2_pre1_beta2
teqr 0 ver_test 1.2_pre1 -lt 1.2_pre1_p2
teqr 0 ver_test 1.00 -lt 1.0.0
teqr 0 ver_test 1.010 -eq 1.01
teqr 0 ver_test 1.01 -lt 1.1
teqr 0 ver_test 1.2_pre08-r09 -eq 1.2_pre8-r9
teqr 0 ver_test 0 -lt 576460752303423488 # 2**59
teqr 0 ver_test 0 -lt 9223372036854775808 # 2**63
# Bad number or ordering of arguments
txf ver_test 1
txf ver_test 1 -lt 2 3
txf ver_test -lt 1 2
# Bad operators
txf ver_test 1 "<" 2
txf ver_test 1 lt 2
txf ver_test 1 -foo 2
# Malformed versions
txf ver_test "" -ne 1
txf ver_test 1. -ne 1
txf ver_test 1ab -ne 1
txf ver_test b -ne 1
txf ver_test 1-r1_pre -ne 1
txf ver_test 1-pre1 -ne 1
txf ver_test 1_foo -ne 1
txf ver_test 1_pre1.1 -ne 1
txf ver_test 1-r1.0 -ne 1
txf ver_test cvs.9999 -ne 9999
texit

View File

@ -0,0 +1,147 @@
#!/bin/bash
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
source tests-common.sh
inherit eapi7-ver versionator
cutting() {
local x
for x in {1..1000}; do
ver_cut 1 1.2.3
ver_cut 1-2 1.2.3
ver_cut 2- 1.2.3
ver_cut 1- 1.2.3
ver_cut 3-4 1.2.3b_alpha4
ver_cut 5 1.2.3b_alpha4
ver_cut 1-2 .1.2.3
ver_cut 0-2 .1.2.3
ver_cut 2-3 1.2.3.
ver_cut 2- 1.2.3.
ver_cut 2-4 1.2.3.
done >/dev/null
}
cutting_versionator() {
local x
for x in {1..100}; do
get_version_component_range 1 1.2.3
get_version_component_range 1-2 1.2.3
get_version_component_range 2- 1.2.3
get_version_component_range 1- 1.2.3
get_version_component_range 3-4 1.2.3b_alpha4
get_version_component_range 5 1.2.3b_alpha4
get_version_component_range 1-2 .1.2.3
get_version_component_range 0-2 .1.2.3
get_version_component_range 2-3 1.2.3.
get_version_component_range 2- 1.2.3.
get_version_component_range 2-4 1.2.3.
done >/dev/null
}
replacing() {
local x
for x in {1..1000}; do
ver_rs 1 - 1.2.3
ver_rs 2 - 1.2.3
ver_rs 1-2 - 1.2.3.4
ver_rs 2- - 1.2.3.4
ver_rs 2 . 1.2-3
ver_rs 3 . 1.2.3a
ver_rs 2-3 - 1.2_alpha4
#ver_rs 3 - 2 "" 1.2.3b_alpha4
#ver_rs 3-5 _ 4-6 - a1b2c3d4e5
ver_rs 1 - .1.2.3
ver_rs 0 - .1.2.3
done >/dev/null
}
replacing_versionator() {
local x
for x in {1..100}; do
replace_version_separator 1 - 1.2.3
replace_version_separator 2 - 1.2.3
replace_version_separator 1-2 - 1.2.3.4
replace_version_separator 2- - 1.2.3.4
replace_version_separator 2 . 1.2-3
replace_version_separator 3 . 1.2.3a
replace_version_separator 2-3 - 1.2_alpha4
#replace_version_separator 3 - 2 "" 1.2.3b_alpha4
#replace_version_separator 3-5 _ 4-6 - a1b2c3d4e5
replace_version_separator 1 - .1.2.3
replace_version_separator 0 - .1.2.3
done >/dev/null
}
comparing() {
local x
for x in {1..1000}; do
ver_test 1b_p1 -le 1_p1
ver_test 1.1b -le 1.1
ver_test 12.2.5 -le 12.2b
ver_test 4.0 -le 5.0
ver_test 5 -le 5.0
ver_test 1.0_pre2 -le 1.0_p2
ver_test 1.0_alpha2 -le 1.0_p2
ver_test 1.0_alpha1 -le 1.0_beta1
ver_test 1.0_beta3 -le 1.0_rc3
ver_test 1.001000000000000001 -le 1.001000000000000002
done
}
comparing_versionator() {
local x
for x in {1..100}; do
version_is_at_least 1b_p1 1_p1
version_is_at_least 1.1b 1.1
version_is_at_least 12.2.5 12.2b
version_is_at_least 4.0 5.0
version_is_at_least 5 5.0
version_is_at_least 1.0_pre2 1.0_p2
version_is_at_least 1.0_alpha2 1.0_p2
version_is_at_least 1.0_alpha1 1.0_beta1
version_is_at_least 1.0_beta3 1.0_rc3
version_is_at_least 1.001000000000000001 1.001000000000000002
done
}
get_times() {
local factor=${1}; shift
echo "${*}"
local real=()
local user=()
for x in {1..5}; do
while read tt tv; do
case ${tt} in
real) real+=( $(dc -e "${tv} ${factor} * p") );;
user) user+=( $(dc -e "${tv} ${factor} * p") );;
esac
done < <( ( time -p "${@}" ) 2>&1 )
done
[[ ${#real[@]} == 5 ]] || die "Did not get 5 real times"
[[ ${#user[@]} == 5 ]] || die "Did not get 5 user times"
local sum
for v in real user; do
vr="${v}[*]"
sum=$(dc -e "${!vr} + + + + 3 k 5 / p")
vr="${v}[@]"
printf '%s %4.2f %4.2f %4.2f %4.2f %4.2f => %4.2f avg\n' \
"${v}" "${!vr}" "${sum}"
done
}
export LC_ALL=C
get_times 1 cutting
get_times 10 cutting_versionator
get_times 1 replacing
get_times 10 replacing_versionator
get_times 1 comparing
get_times 10 comparing_versionator

View File

@ -55,7 +55,7 @@ done <<<"
tbegin "strip-unsupported-flags"
strip-unsupported-flags
[[ ${CFLAGS} == "" ]] && [[ ${CXXFLAGS} == "-z=2" ]]
[[ ${CFLAGS} == "" ]] && [[ ${CXXFLAGS} == "-z=2" ]] && [[ ${LDFLAGS} == "" ]]
ftend
for var in $(all-flag-vars) ; do
@ -143,6 +143,11 @@ tbegin "test-flags-CC (gcc-valid but clang-invalid flags)"
out=$(CC=clang test-flags-CC -finline-limit=1200)
[[ $? -ne 0 && -z ${out} ]]
ftend
tbegin "test-flags-CC (unused flags w/clang)"
out=$(CC=clang test-flags-CC -Wl,-O1)
[[ $? -eq 0 && ${out} == "-Wl,-O1" ]]
ftend
fi
texit

View File

@ -15,7 +15,7 @@ test-makeopts_loadavg() {
tend 1 "Mismatch between MAKEOPTS/cli: '${indirect}' != '${direct}'"
else
[[ ${direct} == "${exp}" ]]
tend $? "Got back: ${act}"
tend $? "Got back: ${direct}"
fi
}
@ -35,6 +35,8 @@ tests=(
999 "-kl"
4 "-kl4"
5 "-kl 5"
2.3 "-l 2.3"
999 "-l 2.3.4"
)
for (( i = 0; i < ${#tests[@]}; i += 2 )) ; do
test-makeopts_loadavg "${tests[i]}" "${tests[i+1]}"

View File

@ -17,11 +17,11 @@ inherit() {
local eclass=${path}/${e}.eclass
if [[ -e "${eclass}" ]] ; then
source "${eclass}"
return 0
continue 2
fi
done
die "could not find ${e}.eclass"
done
die "could not find ${eclass}"
}
EXPORT_FUNCTIONS() { :; }

View File

@ -75,11 +75,12 @@ add_src_uri() {
else
a+=".bz2"
fi
set -- mirror://gentoo https://dev.gentoo.org/~vapier/dist https://dev.gentoo.org/~tamiko/distfiles
set -- mirror://gentoo https://dev.gentoo.org/~vapier/dist https://dev.gentoo.org/~tamiko/distfiles https://dev.gentoo.org/~dilfridge/distfiles
SRC_URI="${SRC_URI} ${@/%//${a}}"
}
add_src_uri binutils-${BVER}-patches-${PATCHVER}.tar ${PATCHVER}
add_src_uri binutils-${BVER}-uclibc-patches-${UCLIBC_PATCHVER}.tar ${UCLIBC_PATCHVER}
PATCH_BINUTILS_VER=${PATCH_BINUTILS_VER:-${BVER}}
add_src_uri binutils-${PATCH_BINUTILS_VER}-patches-${PATCHVER}.tar ${PATCHVER}
add_src_uri binutils-${PATCH_BINUTILS_VER}-uclibc-patches-${UCLIBC_PATCHVER}.tar ${UCLIBC_PATCHVER}
add_src_uri elf2flt-${ELF2FLT_VER}.tar ${ELF2FLT_VER}
if version_is_at_least 2.18 ; then

View File

@ -798,7 +798,7 @@ gcc-specs-stack-check() {
# Return truth if the current compiler generates position-independent code (PIC)
# which can be linked into executables.
tc-enables-pie() {
local ret="$($(tc-getCC) ${CPPFLAGS} ${CFLAGS} -E -P - <<-EOF 2> /dev/null
local ret="$($(tc-getCC) ${CPPFLAGS} ${CFLAGS} -E -P - <<-EOF 2> /dev/null | grep '^true$'
#if defined(__PIE__)
true
#endif
@ -816,7 +816,7 @@ tc-enables-pie() {
# -fstack-protector-strong
# -fstack-protector-all
tc-enables-ssp() {
local ret="$($(tc-getCC) ${CPPFLAGS} ${CFLAGS} -E -P - <<-EOF 2> /dev/null
local ret="$($(tc-getCC) ${CPPFLAGS} ${CFLAGS} -E -P - <<-EOF 2> /dev/null | grep '^true$'
#if defined(__SSP__) || defined(__SSP_STRONG__) || defined(__SSP_ALL__)
true
#endif
@ -833,7 +833,7 @@ tc-enables-ssp() {
# -fstack-protector-strong
# -fstack-protector-all
tc-enables-ssp-strong() {
local ret="$($(tc-getCC) ${CPPFLAGS} ${CFLAGS} -E -P - <<-EOF 2> /dev/null
local ret="$($(tc-getCC) ${CPPFLAGS} ${CFLAGS} -E -P - <<-EOF 2> /dev/null | grep '^true$'
#if defined(__SSP_STRONG__) || defined(__SSP_ALL__)
true
#endif
@ -849,7 +849,7 @@ tc-enables-ssp-strong() {
# on level corresponding to any of the following options:
# -fstack-protector-all
tc-enables-ssp-all() {
local ret="$($(tc-getCC) ${CPPFLAGS} ${CFLAGS} -E -P - <<-EOF 2> /dev/null
local ret="$($(tc-getCC) ${CPPFLAGS} ${CFLAGS} -E -P - <<-EOF 2> /dev/null | grep '^true$'
#if defined(__SSP_ALL__)
true
#endif

View File

@ -19,9 +19,10 @@ case ${EAPI:-0} in
src_install pkg_preinst pkg_postinst;;
2|3) EXPORT_FUNCTIONS pkg_setup src_unpack src_prepare src_configure \
src_compile src_test src_install pkg_preinst pkg_postinst;;
4|5|6) EXPORT_FUNCTIONS pkg_pretend pkg_setup src_unpack src_prepare \
4|5) EXPORT_FUNCTIONS pkg_pretend pkg_setup src_unpack src_prepare \
src_configure src_compile src_test src_install \
pkg_preinst pkg_postinst;;
6) EXPORT_FUNCTIONS pkg_pretend;;
*) die "Unsupported EAPI=${EAPI}";;
esac
@ -120,9 +121,6 @@ setup_target_flags() {
# The mips abi cannot support the GNU style hashes. #233233
filter-ldflags -Wl,--hash-style=gnu -Wl,--hash-style=both
;;
ppc)
append-flags "-freorder-blocks"
;;
sparc)
# Both sparc and sparc64 can use -fcall-used-g6. -g7 is bad, though.
filter-flags "-fcall-used-g7"
@ -484,6 +482,12 @@ check_devpts() {
}
toolchain-glibc_pkg_pretend() {
if [[ ${EAPI:-0} == 6 ]]; then
eerror "We're moving code back to the ebuilds to get away from the ancient EAPI cruft."
eerror "From EAPI=6 on you'll have to define the phases in the glibc ebuilds."
die "Silly overlay authors..."
fi
# For older EAPIs, this is run in pkg_preinst.
if [[ ${EAPI:-0} != [0123] ]] ; then
check_devpts
@ -791,7 +795,19 @@ glibc_do_configure() {
fi
if version_is_at_least 2.25 ; then
case ${CTARGET} in
powerpc-*)
# Currently gcc on powerpc32 generates invalid code for
# __builtin_return_address(0) calls. Normally programs
# don't do that but malloc hooks in glibc do:
# https://gcc.gnu.org/PR81996
# https://bugs.gentoo.org/629054
myconf+=( --enable-stack-protector=no )
;;
*)
myconf+=( --enable-stack-protector=all )
;;
esac
fi
if version_is_at_least 2.25 ; then
@ -1138,10 +1154,14 @@ toolchain-glibc_do_src_install() {
cp -a elf/ld.so "${ED}"$(alt_libdir)/$(scanelf -qSF'%S#F' elf/ld.so) || die "copying nptl interp"
fi
# Normally real_pv is ${PV}. Live ebuilds are exception, there we need
# to infer upstream version:
# '#define VERSION "2.26.90"' -> '2.26.90'
local upstream_pv=$(sed -n -r 's/#define VERSION "(.*)"/\1/p' "${S}"/version.h)
# Newer versions get fancy with libm linkage to include vectorized support.
# While we don't really need a ldscript here, portage QA checks get upset.
if [[ -e ${ED}$(alt_usrlibdir)/libm-${PV}.a ]] ; then
dosym ../../$(get_libdir)/libm-${PV}.so $(alt_usrlibdir)/libm-${PV}.so
if [[ -e ${ED}$(alt_usrlibdir)/libm-${upstream_pv}.a ]] ; then
dosym ../../$(get_libdir)/libm-${upstream_pv}.so $(alt_usrlibdir)/libm-${upstream_pv}.so
fi
# We'll take care of the cache ourselves
@ -1258,7 +1278,7 @@ toolchain-glibc_do_src_install() {
doins "${WORKDIR}"/extra/etc/*.conf || die
if ! in_iuse nscd || use nscd ; then
doinitd "${WORKDIR}"/extra/etc/nscd || die
doinitd "$(prefixify_ro "${WORKDIR}"/extra/etc/nscd)" || die
local nscd_args=(
-e "s:@PIDFILE@:$(strings "${ED}"/usr/sbin/nscd | grep nscd.pid):"

View File

@ -90,8 +90,6 @@ if [[ ${SNAPSHOT} == [56789].0-* ]] ; then
SNAPSHOT=${SNAPSHOT/.0}
fi
export GCC_FILESDIR=${GCC_FILESDIR:-${FILESDIR}}
PREFIX=${TOOLCHAIN_PREFIX:-${EPREFIX}/usr}
if tc_version_is_at_least 3.4.0 ; then
@ -141,6 +139,7 @@ if [[ ${PN} != "kgcc64" && ${PN} != gcc-* ]] ; then
[[ -n ${D_VER} ]] && IUSE+=" d"
[[ -n ${SPECS_VER} ]] && IUSE+=" nossp"
tc_version_is_at_least 3 && IUSE+=" doc gcj awt hardened multilib objc"
tc_version_is_at_least 3.3 && IUSE+=" pgo"
tc_version_is_at_least 4.0 && IUSE+=" objc-gc"
tc_version_is_between 4.0 4.9 && IUSE+=" mudflap"
tc_version_is_at_least 4.1 && IUSE+=" libssp objc++"
@ -240,7 +239,7 @@ S=$(
gentoo_urls() {
local devspace="HTTP~vapier/dist/URI HTTP~rhill/dist/URI
HTTP~zorry/patches/gcc/URI HTTP~blueness/dist/URI
HTTP~tamiko/distfiles/URI"
HTTP~tamiko/distfiles/URI HTTP~slyfox/distfiles/URI"
devspace=${devspace//HTTP/https:\/\/dev.gentoo.org\/}
echo mirror://gentoo/$1 ${devspace//URI/$1}
}
@ -319,8 +318,12 @@ get_gcc_src_uri() {
GCC_SRC_URI="ftp://gcc.gnu.org/pub/gcc/prerelease-${PRERELEASE}/gcc-${PRERELEASE}.tar.bz2"
elif [[ -n ${SNAPSHOT} ]] ; then
GCC_SRC_URI="ftp://gcc.gnu.org/pub/gcc/snapshots/${SNAPSHOT}/gcc-${SNAPSHOT}.tar.bz2"
else
if tc_version_is_between 5.5 6 || tc_version_is_between 6.4 7 || tc_version_is_at_least 7.2 ; then
GCC_SRC_URI="mirror://gnu/gcc/gcc-${GCC_PV}/gcc-${GCC_RELEASE_VER}.tar.xz"
else
GCC_SRC_URI="mirror://gnu/gcc/gcc-${GCC_PV}/gcc-${GCC_RELEASE_VER}.tar.bz2"
fi
# we want all branch updates to be against the main release
[[ -n ${BRANCH_UPDATE} ]] && \
GCC_SRC_URI+=" $(gentoo_urls gcc-${GCC_RELEASE_VER}-branch-update-${BRANCH_UPDATE}.patch.bz2)"
@ -424,7 +427,11 @@ gcc_quick_unpack() {
elif [[ -n ${SNAPSHOT} ]] ; then
unpack gcc-${SNAPSHOT}.tar.bz2
elif [[ ${PV} != *9999* ]] ; then
if tc_version_is_between 5.5 6 || tc_version_is_between 6.4 7 || tc_version_is_at_least 7.2 ; then
unpack gcc-${GCC_RELEASE_VER}.tar.xz
else
unpack gcc-${GCC_RELEASE_VER}.tar.bz2
fi
# We want branch updates to be against a release tarball
if [[ -n ${BRANCH_UPDATE} ]] ; then
pushd "${S}" > /dev/null
@ -573,14 +580,14 @@ toolchain_src_prepare() {
einfo "Fixing misc issues in configure files"
for f in $(grep -l 'autoconf version 2.13' $(find "${S}" -name configure)) ; do
ebegin " Updating ${f/${S}\/} [LANG]"
patch "${f}" "${GCC_FILESDIR}"/gcc-configure-LANG.patch >& "${T}"/configure-patch.log \
patch "${f}" "${FILESDIR}"/gcc-configure-LANG.patch >& "${T}"/configure-patch.log \
|| eerror "Please file a bug about this"
eend $?
done
sed -i 's|A-Za-z0-9|[:alnum:]|g' "${S}"/gcc/*.awk #215828
# Prevent new texinfo from breaking old versions (see #198182, #464008)
tc_version_is_at_least 4.1 && epatch "${GCC_FILESDIR}"/gcc-configure-texinfo.patch
tc_version_is_at_least 4.1 && epatch "${FILESDIR}"/gcc-configure-texinfo.patch
if [[ -x contrib/gcc_update ]] ; then
einfo "Touching generated files"
@ -1470,7 +1477,8 @@ gcc_do_filter_flags() {
FFLAGS=${CFLAGS}
FCFLAGS=${CFLAGS}
local VAR="CFLAGS_"${CTARGET//-/_}
# "hppa2.0-unknown-linux-gnu" -> hppa2_0_unknown_linux_gnu
local VAR="CFLAGS_"${CTARGET//[-.]/_}
CXXFLAGS=${!VAR}
fi
@ -1561,9 +1569,13 @@ gcc_do_make() {
# 3 stage bootstrapping doesnt quite work when you cant run the
# resulting binaries natively ^^;
GCC_MAKE_TARGET=${GCC_MAKE_TARGET-all}
else
if tc_version_is_at_least 3.3 && use pgo; then
GCC_MAKE_TARGET=${GCC_MAKE_TARGET-profiledbootstrap}
else
GCC_MAKE_TARGET=${GCC_MAKE_TARGET-bootstrap-lean}
fi
fi
# Older versions of GCC could not do profiledbootstrap in parallel due to
# collisions with profiling info.
@ -1771,10 +1783,10 @@ toolchain_src_install() {
# between binary and source package borks things ....
if ! is_crosscompile ; then
insinto "${DATAPATH#${EPREFIX}}"
newins "$(prefixify_ro "${GCC_FILESDIR}"/awk/fixlafiles.awk-no_gcc_la)" fixlafiles.awk || die
newins "$(prefixify_ro "${FILESDIR}"/awk/fixlafiles.awk-no_gcc_la)" fixlafiles.awk || die
exeinto "${DATAPATH#${EPREFIX}}"
doexe "$(prefixify_ro "${GCC_FILESDIR}"/fix_libtool_files.sh)" || die
doexe "${GCC_FILESDIR}"/c{89,99} || die
doexe "$(prefixify_ro "${FILESDIR}"/fix_libtool_files.sh)" || die
doexe "${FILESDIR}"/c{89,99} || die
fi
# libstdc++.la: Delete as it doesn't add anything useful: g++ itself
@ -2059,6 +2071,9 @@ gcc_slot_java() {
toolchain_pkg_postinst() {
do_gcc_config
if [[ ${ROOT} == / && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then
eselect compiler-shadow update all
fi
if ! is_crosscompile ; then
echo
@ -2097,6 +2112,10 @@ toolchain_pkg_postinst() {
}
toolchain_pkg_postrm() {
if [[ ${ROOT} == / && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then
eselect compiler-shadow clean all
fi
# to make our lives easier (and saner), we do the fix_libtool stuff here.
# rather than checking SLOT's and trying in upgrade paths, we just see if
# the common libstdc++.la exists in the ${LIBPATH} of the gcc that we are

View File

@ -31,7 +31,7 @@ VALA_MIN_API_VERSION=${VALA_MIN_API_VERSION:-0.32}
# @ECLASS-VARIABLE: VALA_MAX_API_VERSION
# @DESCRIPTION:
# Maximum vala API version (e.g. 0.32).
VALA_MAX_API_VERSION=${VALA_MAX_API_VERSION:-0.34}
VALA_MAX_API_VERSION=${VALA_MAX_API_VERSION:-0.36}
# @ECLASS-VARIABLE: VALA_USE_DEPEND
# @DEFAULT_UNSET

View File

@ -25,6 +25,12 @@ if [[ ${PV} != 9999* ]] ; then
fi
SLOT="0"
# @FUNCTION: vim-plugin_src_install
# @DESCRIPTION:
# Overrides the default src_install phase. In order, this function:
# * fixes file permission across all files in ${S}.
# * installs help and documentation files.
# * installs all files in "${ED}"/usr/share/vim/vimfiles.
vim-plugin_src_install() {
has "${EAPI:-0}" 0 1 2 && ! use prefix && ED="${D}"
local f
@ -43,10 +49,13 @@ vim-plugin_src_install() {
fi
# Remove unwanted files that may exist
rm -rf .[^.] .??* Makefile*
ebegin "Clean up unwanted files"
rm -f .[^.] .??* Makefile* || die "unwanted files cleanup failed"
eend $?
# Install non-vim-help-docs
cd "${S}"
cd "${S}" || die "couldn't cd in ${S}"
local f
for f in *; do
[[ -f "${f}" ]] || continue
if [[ "${f}" = *.html ]]; then
@ -54,24 +63,37 @@ vim-plugin_src_install() {
else
dodoc "${f}"
fi
rm -f "${f}"
rm "${f}" || die
done
# Install remainder of plugin
cd "${WORKDIR}"
cd "${WORKDIR}" || die "couldn't cd in ${WORKDIR}"
dodir /usr/share/vim
mv "${S}" "${ED}"/usr/share/vim/vimfiles
mv "${S}" "${ED}"/usr/share/vim/vimfiles || die \
"couldn't move ${S} to ${ED}/usr/share/vim/vimfiles"
# Fix remaining bad permissions
chmod -R -x+X "${ED}"/usr/share/vim/vimfiles/ || die "chmod failed"
}
# @FUNCTION: vim-plugin_pkg_postinst
# @DESCRIPTION:
# Overrides the pkg_postinst phase for this eclass.
# The following functions are called:
# * update_vim_helptags
# * update_vim_afterscripts
# * display_vim_plugin_help
vim-plugin_pkg_postinst() {
update_vim_helptags # from vim-doc
update_vim_afterscripts # see below
display_vim_plugin_help # see below
}
# @FUNCTION: vim-plugin_pkg_postrm
# @DESCRIPTION:
# Overrides the pkg_postrm phase for this eclass.
# This function calls the update_vim_helptags and update_vim_afterscripts
# functions and enventually removes a bunch of empty directories.
vim-plugin_pkg_postrm() {
has "${EAPI:-0}" 0 1 2 && ! use prefix && EPREFIX=
update_vim_helptags # from vim-doc
@ -79,12 +101,14 @@ vim-plugin_pkg_postrm() {
# Remove empty dirs; this allows
# /usr/share/vim to be removed if vim-core is unmerged
find "${EPREFIX}/usr/share/vim/vimfiles" -depth -type d -exec rmdir {} \; 2>/dev/null
find "${EPREFIX}/usr/share/vim/vimfiles" -depth -type d -exec rmdir {} \; 2>/dev/null || \
die "rmdir failed"
}
# update_vim_afterscripts: create scripts in
# /usr/share/vim/vimfiles/after/* comprised of the snippets in
# /usr/share/vim/vimfiles/after/*/*.d
# @FUNCTION: update_vim_afterscripts
# @DESCRIPTION:
# Creates scripts in /usr/share/vim/vimfiles/after/*
# comprised of the snippets in /usr/share/vim/vimfiles/after/*/*.d
update_vim_afterscripts() {
has "${EAPI:-0}" 0 1 2 && ! use prefix && EROOT="${ROOT}"
has "${EAPI:-0}" 0 1 2 && ! use prefix && EPREFIX=
@ -94,11 +118,10 @@ update_vim_afterscripts() {
[ -d "${afterdir}" ] || return 0
einfo "Updating scripts in ${EPREFIX}/usr/share/vim/vimfiles/after"
find "${afterdir}" -type d -name \*.vim.d | \
while read d; do
echo '" Generated by update_vim_afterscripts' > "${d%.d}"
find "${d}" -name \*.vim -type f -maxdepth 1 -print0 | \
sort -z | xargs -0 cat >> "${d%.d}"
find "${afterdir}" -type d -name \*.vim.d | while read d; do
echo '" Generated by update_vim_afterscripts' > "${d%.d}" || die
find "${d}" -name \*.vim -type f -maxdepth 1 -print0 | sort -z | \
xargs -0 cat >> "${d%.d}" || die "update_vim_afterscripts failed"
done
einfo "Removing dead scripts in ${EPREFIX}/usr/share/vim/vimfiles/after"
@ -110,18 +133,20 @@ update_vim_afterscripts() {
# if there's no corresponding .d directory, or if the
# file's effectively empty
if [[ ! -d "${f}.d" || -z "$(grep -v '^"' "${f}")" ]]; then
rm -f "${f}"
rm "${f}" || die
fi
done
}
# Display a message with the plugin's help file if one is available. Uses the
# @FUNCTION: display_vim_plugin_help
# @DESCRIPTION:
# Displays a message with the plugin's help file if one is available. Uses the
# VIM_PLUGIN_HELPFILES env var. If multiple help files are available, they
# should be separated by spaces. If no help files are available, but the env
# var VIM_PLUGIN_HELPTEXT is set, that is displayed instead. Finally, if we
# have nothing else, display a link to VIM_PLUGIN_HELPURI. An extra message
# regarding enabling filetype plugins is displayed if VIM_PLUGIN_MESSAGES
# includes the word "filetype".
# have nothing else, this functions displays a link to VIM_PLUGIN_HELPURI. An
# extra message regarding enabling filetype plugins is displayed if
# VIM_PLUGIN_MESSAGES includes the word "filetype".
display_vim_plugin_help() {
local h

View File

@ -1,12 +1,13 @@
# Copyright 1999-2011 Gentoo Foundation
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
#
# Original Author: Ciaran McCreesh <ciaranm@gentoo.org>
# Maintainers: Vim Herd <vim@gentoo.org>
# Purpose: Simplify installing spell files for vim7
#
# @ECLASS: vim-spell.eclass
# @MAINTAINER:
# Vim Maintainers <vim@gentoo.org>
# @AUTHOR:
# Ciaran McCreesh <ciaranm@gentoo.org>
# @BLURB: Eclass for managing Vim spell files.
# @DESCRIPTION:
# How to make a vim spell file package using prebuilt spell lists
# from upstream (${CODE} is the language's two letter code):
#
@ -21,26 +22,31 @@
#
# * Upload the tarball to the Gentoo mirrors.
#
# * (for now) Add your spell file to package.mask next to the other vim7
# things. The vim herd will handle unmasking your spell packages when vim7
# comes out of package.mask.
# * Add your spell file to package.mask next to the other vim things. Vim
# Project members will handle unmasking your spell packages when vim comes out
# of package.mask.
#
# * Create the app-vim/vim-spell-${CODE} package. You should base your ebuild
# upon app-vim/vim-spell-en. You will need to change VIM_SPELL_LANGUAGE,
# KEYWORDS and LICENSE. Check the license carefully! The README will tell
# you what it is.
#
# * Don't forget metadata.xml. You should list vim as the herd, and yourself
# as the maintainer (there is no need to join the vim herd just for spell
# files):
# * Don't forget metadata.xml. You should list the Vim project and yourself
# as maintainers. There is no need to join the Vim project just for spell
# files. Here's an example of a metadata.xml file:
#
# <?xml version="1.0" encoding="UTF-8"?>
# <!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
# <pkgmetadata>
# <herd>vim</herd>
# <maintainer>
# <email>your-name@gentoo.org</email>
# <maintainer type="person">
# <email>your@email.tld</email>
# <name>Your Name</name>
# </maintainer>
# <maintainer type="project">
# <email>vim@gentoo.org</email>
# <name>Vim Maintainers</name>
# </maintainer>
#
# <longdescription lang="en">
# Vim spell files for French (fr). Supported character sets are
# UTF-8 and latin1.
@ -52,7 +58,7 @@
# Don't forget to update your package as necessary.
#
# If there isn't an upstream-provided pregenerated spell file for your language
# yet, read :help spell.txt from inside vim7 for instructions on how to create
# yet, read :help spell.txt from inside vim for instructions on how to create
# spell files. It's best to let upstream know if you've generated spell files
# for another language rather than keeping them Gentoo-specific.
@ -60,29 +66,48 @@ inherit eutils
EXPORT_FUNCTIONS src_install pkg_postinst
IUSE=""
DEPEND="|| ( >=app-editors/vim-7_alpha
>=app-editors/gvim-7_alpha )"
RDEPEND="${DEPEND}"
SRC_URI="mirror://gentoo/${P}.tar.bz2"
SLOT="0"
if [[ -z "${VIM_SPELL_CODE}" ]] ; then
VIM_SPELL_CODE="${PN/vim-spell-/}"
fi
# @ECLASS-VARIABLE: VIM_SPELL_LANGUAGE
# @DESCRIPTION:
# This variable defines the language for the spell package being
# installed.
# The default value is "English".
: ${VIM_SPELL_LANGUAGE:="English"}
DESCRIPTION="vim spell files: ${VIM_SPELL_LANGUAGE} (${VIM_SPELL_CODE})"
# @ECLASS-VARIABLE: VIM_SPELL_LOCALE
# @INTERNAL
# @DESCRIPTION:
# This variable defines the locale for the current ebuild.
# The default value is ${PN} stripped of the "vim-spell-" string.
: ${VIM_SPELL_LOCALE:="${PN/vim-spell-/}"}
if [[ -z "${HOMEPAGE}" ]] ; then
HOMEPAGE="http://www.vim.org/"
fi
# @ECLASS-VARIABLE: VIM_SPELL_DIRECTORY
# @INTERNAL
# @DESCRIPTION:
# This variable defines the path to Vim spell files.
: ${VIM_SPELL_DIRECTORY:="${EPREFIX}/usr/share/vim/vimfiles/spell/"}
# @ECLASS-VARIABLE: DESCRIPTION
# @DESCRIPTION:
# This variable defines the DESCRIPTION for Vim spell ebuilds.
: ${DESCRIPTION:="vim spell files: ${VIM_SPELL_LANGUAGE} (${VIM_SPELL_LOCALE})"}
# @ECLASS-VARIABLE: HOMEPAGE
# @DESCRIPTION:
# This variable defines the HOMEPAGE for Vim spell ebuilds.
: ${HOMEPAGE:="https://www.vim.org"}
# @FUNCTION: vim-spell_src_install
# @DESCRIPTION:
# This function installs Vim spell files.
vim-spell_src_install() {
target="/usr/share/vim/vimfiles/spell/"
dodir "${target}"
insinto "${target}"
dodir "${VIM_SPELL_DIRECTORY}"
insinto "${VIM_SPELL_DIRECTORY}"
had_spell_file=
local had_spell_file=
local f
for f in *.spl; do
if [[ -f "${f}" ]]; then
doins "${f}"
@ -103,17 +128,20 @@ vim-spell_src_install() {
[[ -z "${had_spell_file}" ]] && die "Didn't install any spell files?"
}
# @FUNCTION: vim-spell_pkg_postinst
# @DESCRIPTION:
# This function displays installed Vim spell files.
vim-spell_pkg_postinst() {
has "${EAPI:-0}" 0 1 2 && ! use prefix && EROOT="${ROOT}"
target="/usr/share/vim/vimfiles/spell/"
echo
elog "To enable ${VIM_SPELL_LANGUAGE} spell checking, use"
elog " :setlocal spell spelllang=${VIM_SPELL_CODE}"
elog " :setlocal spell spelllang=${VIM_SPELL_LOCALE}"
echo
elog "The following (Vim internal, not file) encodings are supported for"
elog "this language:"
for f in "${EROOT}/${target}/${VIM_SPELL_CODE}".*.spl ; do
enc="${f##*/${VIM_SPELL_CODE}.}"
local f enc
for f in "${EROOT}${VIM_SPELL_DIRECTORY}/${VIM_SPELL_LOCALE}".*.spl; do
enc="${f##*/${VIM_SPELL_LOCALE}.}"
enc="${enc%.spl}"
[[ -z "${enc}" ]] && continue
elog " ${enc}"

View File

@ -1,4 +1,4 @@
# Copyright 1999-2012 Gentoo Foundation
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
#
# DEPRECATED
@ -97,7 +97,7 @@ if [[ -z ${MODULE} ]]; then
fi
if [[ -n ${GIT_ECLASS} ]]; then
EGIT_REPO_URI="git://anongit.freedesktop.org/git/xorg/${MODULE}/${PN}"
EGIT_REPO_URI="https://anongit.freedesktop.org/git/xorg/${MODULE}/${PN}.git"
else
SRC_URI="${SRC_URI} ${BASE_INDIVIDUAL_URI}/${MODULE}/${P}.tar.bz2"
fi

View File

@ -55,13 +55,13 @@ xdg_environment_reset() {
mkdir -p "${XDG_DATA_HOME}" "${XDG_CONFIG_HOME}" "${XDG_CACHE_HOME}" \
"${XDG_RUNTIME_DIR}" || die
# This directory needs to be owned by the user, and chmod 0700
# http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html
# https://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html
chmod 0700 "${XDG_RUNTIME_DIR}" || die
unset DBUS_SESSION_BUS_ADDRESS
}
# @FUNCTION: fdo-xdg_desktop_database_update
# @FUNCTION: xdg_desktop_database_update
# @DESCRIPTION:
# Updates the .desktop files database.
# Generates a list of mimetypes linked to applications that can handle them

View File

@ -151,5 +151,7 @@ xfconf_pkg_postrm() {
debug-print-function ${FUNCNAME} "$@"
fdo-mime_desktop_database_update
fdo-mime_mime_database_update
if [[ -n ${GNOME2_ECLASS_ICONS} ]]; then
gnome2_icon_cache_update
fi
}

View File

@ -1,4 +1,4 @@
# Copyright 1999-2015 Gentoo Foundation
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: xorg-2.eclass
@ -100,7 +100,7 @@ fi
: ${XORG_PACKAGE_NAME:=${PN}}
if [[ -n ${GIT_ECLASS} ]]; then
: ${EGIT_REPO_URI:="git://anongit.freedesktop.org/xorg/${XORG_MODULE}${XORG_PACKAGE_NAME} http://anongit.freedesktop.org/git/xorg/${XORG_MODULE}${XORG_PACKAGE_NAME}"}
: ${EGIT_REPO_URI:="https://anongit.freedesktop.org/git/xorg/${XORG_MODULE}${XORG_PACKAGE_NAME}.git"}
elif [[ -n ${XORG_BASE_INDIVIDUAL_URI} ]]; then
SRC_URI="${XORG_BASE_INDIVIDUAL_URI}/${XORG_MODULE}${P}.tar.bz2"
fi

View File

@ -0,0 +1,228 @@
Creative Commons Legal Code
Attribution-ShareAlike 1.0
CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
LEGAL SERVICES. DISTRIBUTION OF THIS DRAFT LICENSE DOES NOT CREATE AN
ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR
DAMAGES RESULTING FROM ITS USE.
License
THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE
COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY
COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS
AUTHORIZED UNDER THIS LICENSE IS PROHIBITED.
BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE
TO BE BOUND BY THE TERMS OF THIS LICENSE. THE LICENSOR GRANTS YOU THE
RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS
AND CONDITIONS.
1. Definitions
a. "Collective Work" means a work, such as a periodical issue, anthology
or encyclopedia, in which the Work in its entirety in unmodified form,
along with a number of other contributions, constituting separate and
independent works in themselves, are assembled into a collective
whole. A work that constitutes a Collective Work will not be
considered a Derivative Work (as defined below) for the purposes of
this License.
b. "Derivative Work" means a work based upon the Work or upon the Work
and other pre-existing works, such as a translation, musical
arrangement, dramatization, fictionalization, motion picture version,
sound recording, art reproduction, abridgment, condensation, or any
other form in which the Work may be recast, transformed, or adapted,
except that a work that constitutes a Collective Work will not be
considered a Derivative Work for the purpose of this License.
c. "Licensor" means the individual or entity that offers the Work under
the terms of this License.
d. "Original Author" means the individual or entity who created the Work.
e. "Work" means the copyrightable work of authorship offered under the
terms of this License.
f. "You" means an individual or entity exercising rights under this
License who has not previously violated the terms of this License with
respect to the Work, or who has received express permission from the
Licensor to exercise rights under this License despite a previous
violation.
2. Fair Use Rights. Nothing in this license is intended to reduce, limit,
or restrict any rights arising from fair use, first sale or other
limitations on the exclusive rights of the copyright owner under copyright
law or other applicable laws.
3. License Grant. Subject to the terms and conditions of this License,
Licensor hereby grants You a worldwide, royalty-free, non-exclusive,
perpetual (for the duration of the applicable copyright) license to
exercise the rights in the Work as stated below:
a. to reproduce the Work, to incorporate the Work into one or more
Collective Works, and to reproduce the Work as incorporated in the
Collective Works;
b. to create and reproduce Derivative Works;
c. to distribute copies or phonorecords of, display publicly, perform
publicly, and perform publicly by means of a digital audio
transmission the Work including as incorporated in Collective Works;
d. to distribute copies or phonorecords of, display publicly, perform
publicly, and perform publicly by means of a digital audio
transmission Derivative Works;
The above rights may be exercised in all media and formats whether now
known or hereafter devised. The above rights include the right to make
such modifications as are technically necessary to exercise the rights in
other media and formats. All rights not expressly granted by Licensor are
hereby reserved.
4. Restrictions. The license granted in Section 3 above is expressly made
subject to and limited by the following restrictions:
a. You may distribute, publicly display, publicly perform, or publicly
digitally perform the Work only under the terms of this License, and
You must include a copy of, or the Uniform Resource Identifier for,
this License with every copy or phonorecord of the Work You
distribute, publicly display, publicly perform, or publicly digitally
perform. You may not offer or impose any terms on the Work that alter
or restrict the terms of this License or the recipients' exercise of
the rights granted hereunder. You may not sublicense the Work. You
must keep intact all notices that refer to this License and to the
disclaimer of warranties. You may not distribute, publicly display,
publicly perform, or publicly digitally perform the Work with any
technological measures that control access or use of the Work in a
manner inconsistent with the terms of this License Agreement. The
above applies to the Work as incorporated in a Collective Work, but
this does not require the Collective Work apart from the Work itself
to be made subject to the terms of this License. If You create a
Collective Work, upon notice from any Licensor You must, to the extent
practicable, remove from the Collective Work any reference to such
Licensor or the Original Author, as requested. If You create a
Derivative Work, upon notice from any Licensor You must, to the extent
practicable, remove from the Derivative Work any reference to such
Licensor or the Original Author, as requested.
b. You may distribute, publicly display, publicly perform, or publicly
digitally perform a Derivative Work only under the terms of this
License, and You must include a copy of, or the Uniform Resource
Identifier for, this License with every copy or phonorecord of each
Derivative Work You distribute, publicly display, publicly perform, or
publicly digitally perform. You may not offer or impose any terms on
the Derivative Works that alter or restrict the terms of this License
or the recipients' exercise of the rights granted hereunder, and You
must keep intact all notices that refer to this License and to the
disclaimer of warranties. You may not distribute, publicly display,
publicly perform, or publicly digitally perform the Derivative Work
with any technological measures that control access or use of the Work
in a manner inconsistent with the terms of this License Agreement. The
above applies to the Derivative Work as incorporated in a Collective
Work, but this does not require the Collective Work apart from the
Derivative Work itself to be made subject to the terms of this
License.
c. If you distribute, publicly display, publicly perform, or publicly
digitally perform the Work or any Derivative Works or Collective
Works, You must keep intact all copyright notices for the Work and
give the Original Author credit reasonable to the medium or means You
are utilizing by conveying the name (or pseudonym if applicable) of
the Original Author if supplied; the title of the Work if supplied; in
the case of a Derivative Work, a credit identifying the use of the
Work in the Derivative Work (e.g., "French translation of the Work by
Original Author," or "Screenplay based on original Work by Original
Author"). Such credit may be implemented in any reasonable manner;
provided, however, that in the case of a Derivative Work or Collective
Work, at a minimum such credit will appear where any other comparable
authorship credit appears and in a manner at least as prominent as
such other comparable authorship credit.
5. Representations, Warranties and Disclaimer
a. By offering the Work for public release under this License, Licensor
represents and warrants that, to the best of Licensor's knowledge
after reasonable inquiry:
i. Licensor has secured all rights in the Work necessary to grant the
license rights hereunder and to permit the lawful exercise of the
rights granted hereunder without You having any obligation to pay
any royalties, compulsory license fees, residuals or any other
payments;
ii. The Work does not infringe the copyright, trademark, publicity
rights, common law rights or any other right of any third party or
constitute defamation, invasion of privacy or other tortious
injury to any third party.
b. EXCEPT AS EXPRESSLY STATED IN THIS LICENSE OR OTHERWISE AGREED IN
WRITING OR REQUIRED BY APPLICABLE LAW, THE WORK IS LICENSED ON AN "AS
IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED
INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES REGARDING THE CONTENTS
OR ACCURACY OF THE WORK.
6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE
LAW, AND EXCEPT FOR DAMAGES ARISING FROM LIABILITY TO A THIRD PARTY
RESULTING FROM BREACH OF THE WARRANTIES IN SECTION 5, IN NO EVENT WILL
LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL,
CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE
OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
7. Termination
a. This License and the rights granted hereunder will terminate
automatically upon any breach by You of the terms of this License.
Individuals or entities who have received Derivative Works or
Collective Works from You under this License, however, will not have
their licenses terminated provided such individuals or entities remain
in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8
will survive any termination of this License.
b. Subject to the above terms and conditions, the license granted here is
perpetual (for the duration of the applicable copyright in the Work).
Notwithstanding the above, Licensor reserves the right to release the
Work under different license terms or to stop distributing the Work at
any time; provided, however that any such election will not serve to
withdraw this License (or any other license that has been, or is
required to be, granted under the terms of this License), and this
License will continue in full force and effect unless terminated as
stated above.
8. Miscellaneous
a. Each time You distribute or publicly digitally perform the Work or a
Collective Work, the Licensor offers to the recipient a license to the
Work on the same terms and conditions as the license granted to You
under this License.
b. Each time You distribute or publicly digitally perform a Derivative
Work, Licensor offers to the recipient a license to the original Work
on the same terms and conditions as the license granted to You under
this License.
c. If any provision of this License is invalid or unenforceable under
applicable law, it shall not affect the validity or enforceability of
the remainder of the terms of this License, and without further action
by the parties to this agreement, such provision shall be reformed to
the minimum extent necessary to make such provision valid and
enforceable.
d. No term or provision of this License shall be deemed waived and no
breach consented to unless such waiver or consent shall be in writing
and signed by the party to be charged with such waiver or consent.
e. This License constitutes the entire agreement between the parties with
respect to the Work licensed here. There are no understandings,
agreements or representations with respect to the Work not specified
here. Licensor shall not be bound by any additional provisions that
may appear in any communication from You. This License may not be
modified without the mutual written agreement of the Licensor and You.
Creative Commons is not a party to this License, and makes no warranty
whatsoever in connection with the Work. Creative Commons will not be
liable to You or any party on any legal theory for any damages
whatsoever, including without limitation any general, special,
incidental or consequential damages arising in connection to this
license. Notwithstanding the foregoing two (2) sentences, if Creative
Commons has expressly identified itself as the Licensor hereunder, it
shall have all rights and obligations of Licensor.
Except for the limited purpose of indicating to the public that the
Work is licensed under the CCPL, neither party will use the trademark
"Creative Commons" or any related trademark or logo of Creative
Commons without the prior written consent of Creative Commons. Any
permitted use will be in compliance with Creative Commons'
then-current trademark usage guidelines, as may be published on its
website or otherwise made available upon request from time to time.
Creative Commons may be contacted at http://creativecommons.org/.

View File

@ -0,0 +1,514 @@
CeCILL-B FREE SOFTWARE LICENSE AGREEMENT
Notice
This Agreement is a Free Software license agreement that is the result
of discussions between its authors in order to ensure compliance with
the two main principles guiding its drafting:
* firstly, compliance with the principles governing the distribution
of Free Software: access to source code, broad rights granted to
users,
* secondly, the election of a governing law, French law, with which
it is conformant, both as regards the law of torts and
intellectual property law, and the protection that it offers to
both authors and holders of the economic rights over software.
The authors of the CeCILL-B (for Ce[a] C[nrs] I[nria] L[ogiciel] L[ibre])
license are:
Commissariat à l'Energie Atomique - CEA, a public scientific, technical
and industrial research establishment, having its principal place of
business at 25 rue Leblanc, immeuble Le Ponant D, 75015 Paris, France.
Centre National de la Recherche Scientifique - CNRS, a public scientific
and technological establishment, having its principal place of business
at 3 rue Michel-Ange, 75794 Paris cedex 16, France.
Institut National de Recherche en Informatique et en Automatique -
INRIA, a public scientific and technological establishment, having its
principal place of business at Domaine de Voluceau, Rocquencourt, BP
105, 78153 Le Chesnay cedex, France.
Preamble
This Agreement is an open source software license intended to give users
significant freedom to modify and redistribute the software licensed
hereunder.
The exercising of this freedom is conditional upon a strong obligation
of giving credits for everybody that distributes a software
incorporating a software ruled by the current license so as all
contributions to be properly identified and acknowledged.
In consideration of access to the source code and the rights to copy,
modify and redistribute granted by the license, users are provided only
with a limited warranty and the software's author, the holder of the
economic rights, and the successive licensors only have limited liability.
In this respect, the risks associated with loading, using, modifying
and/or developing or reproducing the software by the user are brought to
the user's attention, given its Free Software status, which may make it
complicated to use, with the result that its use is reserved for
developers and experienced professionals having in-depth computer
knowledge. Users are therefore encouraged to load and test the
suitability of the software as regards their requirements in conditions
enabling the security of their systems and/or data to be ensured and,
more generally, to use and operate it in the same conditions of
security. This Agreement may be freely reproduced and published,
provided it is not altered, and that no provisions are either added or
removed herefrom.
This Agreement may apply to any or all software for which the holder of
the economic rights decides to submit the use thereof to its provisions.
Article 1 - DEFINITIONS
For the purpose of this Agreement, when the following expressions
commence with a capital letter, they shall have the following meaning:
Agreement: means this license agreement, and its possible subsequent
versions and annexes.
Software: means the software in its Object Code and/or Source Code form
and, where applicable, its documentation, "as is" when the Licensee
accepts the Agreement.
Initial Software: means the Software in its Source Code and possibly its
Object Code form and, where applicable, its documentation, "as is" when
it is first distributed under the terms and conditions of the Agreement.
Modified Software: means the Software modified by at least one
Contribution.
Source Code: means all the Software's instructions and program lines to
which access is required so as to modify the Software.
Object Code: means the binary files originating from the compilation of
the Source Code.
Holder: means the holder(s) of the economic rights over the Initial
Software.
Licensee: means the Software user(s) having accepted the Agreement.
Contributor: means a Licensee having made at least one Contribution.
Licensor: means the Holder, or any other individual or legal entity, who
distributes the Software under the Agreement.
Contribution: means any or all modifications, corrections, translations,
adaptations and/or new functions integrated into the Software by any or
all Contributors, as well as any or all Internal Modules.
Module: means a set of sources files including their documentation that
enables supplementary functions or services in addition to those offered
by the Software.
External Module: means any or all Modules, not derived from the
Software, so that this Module and the Software run in separate address
spaces, with one calling the other when they are run.
Internal Module: means any or all Module, connected to the Software so
that they both execute in the same address space.
Parties: mean both the Licensee and the Licensor.
These expressions may be used both in singular and plural form.
Article 2 - PURPOSE
The purpose of the Agreement is the grant by the Licensor to the
Licensee of a non-exclusive, transferable and worldwide license for the
Software as set forth in Article 5 hereinafter for the whole term of the
protection granted by the rights over said Software.
Article 3 - ACCEPTANCE
3.1 The Licensee shall be deemed as having accepted the terms and
conditions of this Agreement upon the occurrence of the first of the
following events:
* (i) loading the Software by any or all means, notably, by
downloading from a remote server, or by loading from a physical
medium;
* (ii) the first time the Licensee exercises any of the rights
granted hereunder.
3.2 One copy of the Agreement, containing a notice relating to the
characteristics of the Software, to the limited warranty, and to the
fact that its use is restricted to experienced users has been provided
to the Licensee prior to its acceptance as set forth in Article 3.1
hereinabove, and the Licensee hereby acknowledges that it has read and
understood it.
Article 4 - EFFECTIVE DATE AND TERM
4.1 EFFECTIVE DATE
The Agreement shall become effective on the date when it is accepted by
the Licensee as set forth in Article 3.1.
4.2 TERM
The Agreement shall remain in force for the entire legal term of
protection of the economic rights over the Software.
Article 5 - SCOPE OF RIGHTS GRANTED
The Licensor hereby grants to the Licensee, who accepts, the following
rights over the Software for any or all use, and for the term of the
Agreement, on the basis of the terms and conditions set forth hereinafter.
Besides, if the Licensor owns or comes to own one or more patents
protecting all or part of the functions of the Software or of its
components, the Licensor undertakes not to enforce the rights granted by
these patents against successive Licensees using, exploiting or
modifying the Software. If these patents are transferred, the Licensor
undertakes to have the transferees subscribe to the obligations set
forth in this paragraph.
5.1 RIGHT OF USE
The Licensee is authorized to use the Software, without any limitation
as to its fields of application, with it being hereinafter specified
that this comprises:
1. permanent or temporary reproduction of all or part of the Software
by any or all means and in any or all form.
2. loading, displaying, running, or storing the Software on any or
all medium.
3. entitlement to observe, study or test its operation so as to
determine the ideas and principles behind any or all constituent
elements of said Software. This shall apply when the Licensee
carries out any or all loading, displaying, running, transmission
or storage operation as regards the Software, that it is entitled
to carry out hereunder.
5.2 ENTITLEMENT TO MAKE CONTRIBUTIONS
The right to make Contributions includes the right to translate, adapt,
arrange, or make any or all modifications to the Software, and the right
to reproduce the resulting software.
The Licensee is authorized to make any or all Contributions to the
Software provided that it includes an explicit notice that it is the
author of said Contribution and indicates the date of the creation thereof.
5.3 RIGHT OF DISTRIBUTION
In particular, the right of distribution includes the right to publish,
transmit and communicate the Software to the general public on any or
all medium, and by any or all means, and the right to market, either in
consideration of a fee, or free of charge, one or more copies of the
Software by any means.
The Licensee is further authorized to distribute copies of the modified
or unmodified Software to third parties according to the terms and
conditions set forth hereinafter.
5.3.1 DISTRIBUTION OF SOFTWARE WITHOUT MODIFICATION
The Licensee is authorized to distribute true copies of the Software in
Source Code or Object Code form, provided that said distribution
complies with all the provisions of the Agreement and is accompanied by:
1. a copy of the Agreement,
2. a notice relating to the limitation of both the Licensor's
warranty and liability as set forth in Articles 8 and 9,
and that, in the event that only the Object Code of the Software is
redistributed, the Licensee allows effective access to the full Source
Code of the Software at a minimum during the entire period of its
distribution of the Software, it being understood that the additional
cost of acquiring the Source Code shall not exceed the cost of
transferring the data.
5.3.2 DISTRIBUTION OF MODIFIED SOFTWARE
If the Licensee makes any Contribution to the Software, the resulting
Modified Software may be distributed under a license agreement other
than this Agreement subject to compliance with the provisions of Article
5.3.4.
5.3.3 DISTRIBUTION OF EXTERNAL MODULES
When the Licensee has developed an External Module, the terms and
conditions of this Agreement do not apply to said External Module, that
may be distributed under a separate license agreement.
5.3.4 CREDITS
Any Licensee who may distribute a Modified Software hereby expressly
agrees to:
1. indicate in the related documentation that it is based on the
Software licensed hereunder, and reproduce the intellectual
property notice for the Software,
2. ensure that written indications of the Software intended use,
intellectual property notice and license hereunder are included in
easily accessible format from the Modified Software interface,
3. mention, on a freely accessible website describing the Modified
Software, at least throughout the distribution term thereof, that
it is based on the Software licensed hereunder, and reproduce the
Software intellectual property notice,
4. where it is distributed to a third party that may distribute a
Modified Software without having to make its source code
available, make its best efforts to ensure that said third party
agrees to comply with the obligations set forth in this Article .
If the Software, whether or not modified, is distributed with an
External Module designed for use in connection with the Software, the
Licensee shall submit said External Module to the foregoing obligations.
5.3.5 COMPATIBILITY WITH THE CeCILL AND CeCILL-C LICENSES
Where a Modified Software contains a Contribution subject to the CeCILL
license, the provisions set forth in Article 5.3.4 shall be optional.
A Modified Software may be distributed under the CeCILL-C license. In
such a case the provisions set forth in Article 5.3.4 shall be optional.
Article 6 - INTELLECTUAL PROPERTY
6.1 OVER THE INITIAL SOFTWARE
The Holder owns the economic rights over the Initial Software. Any or
all use of the Initial Software is subject to compliance with the terms
and conditions under which the Holder has elected to distribute its work
and no one shall be entitled to modify the terms and conditions for the
distribution of said Initial Software.
The Holder undertakes that the Initial Software will remain ruled at
least by this Agreement, for the duration set forth in Article 4.2.
6.2 OVER THE CONTRIBUTIONS
The Licensee who develops a Contribution is the owner of the
intellectual property rights over this Contribution as defined by
applicable law.
6.3 OVER THE EXTERNAL MODULES
The Licensee who develops an External Module is the owner of the
intellectual property rights over this External Module as defined by
applicable law and is free to choose the type of agreement that shall
govern its distribution.
6.4 JOINT PROVISIONS
The Licensee expressly undertakes:
1. not to remove, or modify, in any manner, the intellectual property
notices attached to the Software;
2. to reproduce said notices, in an identical manner, in the copies
of the Software modified or not.
The Licensee undertakes not to directly or indirectly infringe the
intellectual property rights of the Holder and/or Contributors on the
Software and to take, where applicable, vis-à-vis its staff, any and all
measures required to ensure respect of said intellectual property rights
of the Holder and/or Contributors.
Article 7 - RELATED SERVICES
7.1 Under no circumstances shall the Agreement oblige the Licensor to
provide technical assistance or maintenance services for the Software.
However, the Licensor is entitled to offer this type of services. The
terms and conditions of such technical assistance, and/or such
maintenance, shall be set forth in a separate instrument. Only the
Licensor offering said maintenance and/or technical assistance services
shall incur liability therefor.
7.2 Similarly, any Licensor is entitled to offer to its licensees, under
its sole responsibility, a warranty, that shall only be binding upon
itself, for the redistribution of the Software and/or the Modified
Software, under terms and conditions that it is free to decide. Said
warranty, and the financial terms and conditions of its application,
shall be subject of a separate instrument executed between the Licensor
and the Licensee.
Article 8 - LIABILITY
8.1 Subject to the provisions of Article 8.2, the Licensee shall be
entitled to claim compensation for any direct loss it may have suffered
from the Software as a result of a fault on the part of the relevant
Licensor, subject to providing evidence thereof.
8.2 The Licensor's liability is limited to the commitments made under
this Agreement and shall not be incurred as a result of in particular:
(i) loss due the Licensee's total or partial failure to fulfill its
obligations, (ii) direct or consequential loss that is suffered by the
Licensee due to the use or performance of the Software, and (iii) more
generally, any consequential loss. In particular the Parties expressly
agree that any or all pecuniary or business loss (i.e. loss of data,
loss of profits, operating loss, loss of customers or orders,
opportunity cost, any disturbance to business activities) or any or all
legal proceedings instituted against the Licensee by a third party,
shall constitute consequential loss and shall not provide entitlement to
any or all compensation from the Licensor.
Article 9 - WARRANTY
9.1 The Licensee acknowledges that the scientific and technical
state-of-the-art when the Software was distributed did not enable all
possible uses to be tested and verified, nor for the presence of
possible defects to be detected. In this respect, the Licensee's
attention has been drawn to the risks associated with loading, using,
modifying and/or developing and reproducing the Software which are
reserved for experienced users.
The Licensee shall be responsible for verifying, by any or all means,
the suitability of the product for its requirements, its good working
order, and for ensuring that it shall not cause damage to either persons
or properties.
9.2 The Licensor hereby represents, in good faith, that it is entitled
to grant all the rights over the Software (including in particular the
rights set forth in Article 5).
9.3 The Licensee acknowledges that the Software is supplied "as is" by
the Licensor without any other express or tacit warranty, other than
that provided for in Article 9.2 and, in particular, without any warranty
as to its commercial value, its secured, safe, innovative or relevant
nature.
Specifically, the Licensor does not warrant that the Software is free
from any error, that it will operate without interruption, that it will
be compatible with the Licensee's own equipment and software
configuration, nor that it will meet the Licensee's requirements.
9.4 The Licensor does not either expressly or tacitly warrant that the
Software does not infringe any third party intellectual property right
relating to a patent, software or any other property right. Therefore,
the Licensor disclaims any and all liability towards the Licensee
arising out of any or all proceedings for infringement that may be
instituted in respect of the use, modification and redistribution of the
Software. Nevertheless, should such proceedings be instituted against
the Licensee, the Licensor shall provide it with technical and legal
assistance for its defense. Such technical and legal assistance shall be
decided on a case-by-case basis between the relevant Licensor and the
Licensee pursuant to a memorandum of understanding. The Licensor
disclaims any and all liability as regards the Licensee's use of the
name of the Software. No warranty is given as regards the existence of
prior rights over the name of the Software or as regards the existence
of a trademark.
Article 10 - TERMINATION
10.1 In the event of a breach by the Licensee of its obligations
hereunder, the Licensor may automatically terminate this Agreement
thirty (30) days after notice has been sent to the Licensee and has
remained ineffective.
10.2 A Licensee whose Agreement is terminated shall no longer be
authorized to use, modify or distribute the Software. However, any
licenses that it may have granted prior to termination of the Agreement
shall remain valid subject to their having been granted in compliance
with the terms and conditions hereof.
Article 11 - MISCELLANEOUS
11.1 EXCUSABLE EVENTS
Neither Party shall be liable for any or all delay, or failure to
perform the Agreement, that may be attributable to an event of force
majeure, an act of God or an outside cause, such as defective
functioning or interruptions of the electricity or telecommunications
networks, network paralysis following a virus attack, intervention by
government authorities, natural disasters, water damage, earthquakes,
fire, explosions, strikes and labor unrest, war, etc.
11.2 Any failure by either Party, on one or more occasions, to invoke
one or more of the provisions hereof, shall under no circumstances be
interpreted as being a waiver by the interested Party of its right to
invoke said provision(s) subsequently.
11.3 The Agreement cancels and replaces any or all previous agreements,
whether written or oral, between the Parties and having the same
purpose, and constitutes the entirety of the agreement between said
Parties concerning said purpose. No supplement or modification to the
terms and conditions hereof shall be effective as between the Parties
unless it is made in writing and signed by their duly authorized
representatives.
11.4 In the event that one or more of the provisions hereof were to
conflict with a current or future applicable act or legislative text,
said act or legislative text shall prevail, and the Parties shall make
the necessary amendments so as to comply with said act or legislative
text. All other provisions shall remain effective. Similarly, invalidity
of a provision of the Agreement, for any reason whatsoever, shall not
cause the Agreement as a whole to be invalid.
11.5 LANGUAGE
The Agreement is drafted in both French and English and both versions
are deemed authentic.
Article 12 - NEW VERSIONS OF THE AGREEMENT
12.1 Any person is authorized to duplicate and distribute copies of this
Agreement.
12.2 So as to ensure coherence, the wording of this Agreement is
protected and may only be modified by the authors of the License, who
reserve the right to periodically publish updates or new versions of the
Agreement, each with a separate number. These subsequent versions may
address new issues encountered by Free Software.
12.3 Any Software distributed under a given version of the Agreement may
only be subsequently distributed under the same version of the Agreement
or a subsequent version.
Article 13 - GOVERNING LAW AND JURISDICTION
13.1 The Agreement is governed by French law. The Parties agree to
endeavor to seek an amicable solution to any disagreements or disputes
that may arise during the performance of the Agreement.
13.2 Failing an amicable solution within two (2) months as from their
occurrence, and unless emergency proceedings are necessary, the
disagreements or disputes shall be referred to the Paris Courts having
jurisdiction, by the more diligent Party.
Version 1.0 dated 2006-09-05.

View File

@ -1,21 +0,0 @@
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
02111-1307, USA.
As a special exception, if other files instantiate generics from
this unit, or you link this unit with other files to produce an
executable, this unit does not by itself cause the resulting
executable to be covered by the GNU General Public License. This
exception does not however invalidate any other reasons why the
executable file might be covered by the GNU Public License.

View File

@ -1,110 +0,0 @@
Molsoft LLC
License Agreement Applicable to the Molsoft ICM Software Downloaded from the
MolSoft Web Site at www.molsoft.com
IMPORTANT - READ CAREFULLY BEFORE INSTALLING SOFTWARE THE SOFTWARE YOU ARE ABOUT TO ACCESS CONTAINS PROGRAMS, DOCUMENTATION, AND OTHER PROPRIETARY MATERIAL ("SOFTWARE") THAT BELONGS TO MOLSOFT LLC. POSSESSION AND USE OF THE SOFTWARE IS SUBJECT TO THIS SOFTWARE LICENSE AGREEMENT (THE "LICENSE"). BY CLICKING THE ACCEPT BUTTON YOU AND YOUR EMPLOYER (IF THE SOFTWARE IS BEING USED IN THE COURSE OF YOUR DUTIES OF EMPLOYMENT) REPRESENT AND WARRANT THAT:(A) YOU HAVE READ AND AGREE TO BE FULLY BOUND BY AND BECOME A PARTY TO THIS LICENSE; AND (B) YOU ARE NOT (1) A NATIONAL OR RESIDENT OF CUBA, LIBYA, IRAQ, IRAN, SUDAN, SYRIA, OR NORTH KOREA; (2) YOU ARE NOT THE U.S. TREASURY DEPARTMENT'S LIST OF SPECIALLY DESIGNATED NATIONALS, TERRORISTS, AND NARCOTICS TRAFFICKERS OR THE U.S. COMMERC DEPARTMENT'S TABLE OF DENY ORDERS OR THE U.S. STATE DEPARTMENT'S PROLIFERATION ENTITY LIST. (C) IN THE EVENT THAT YOU DO NOT AGREE TO ALL THE TERMS AND CONDITIONS OF THIS LICENSE, OR, IF YOU CANNOT WARRANT THAT YOU ARE NOT IN VIOLATION OF (B) ABOVE, YOU ARE NOT AUTHORIZED TO INSTALL, USE OR POSSESS THE SOFTWARE AND MUST IMMEDIATELY CEASE TO INSTALL THE SOFTWARE.
This Agreement has three parts. Part I applies if you have NOT purchased a license to the accompanying software (the "Software"). Part II applies if you have purchased a license to the Software. Part III applies to all license grants. If you initially acquired a copy of the Software without purchasing a license and you wish to purchase a license, contact MolSoft L.L.C. ("Molsoft LLC") on the Internet at http://www.MolSoft.com or by email to info@molsoft.com.
PART I -- TERMS APPLICABLE WHEN LICENSE FEES NOT (YET) PAID (LIMITED TO EVALUATION, EDUCATIONAL AND NON-PROFIT USES).
Molsoft LLC grants you a non-exclusive license to use the Software free of charge if (a) you are a student, faculty member or staff member of an educational institution (K-12, junior college, college or library), a staff member of a religious organization, or an employee of an organization which meets Molsoft LLC's criteria for a charitable non-profit organization; or (b) your use of the Software is for the purpose of evaluating whether to purchase an ongoing license to the Software. The evaluation period for use by or on behalf of a commercial entity is limited to 14 days unless Molsoft's written consent is obtained. Evaluation use by others is not subject to the 14 day limit. Government agencies (other than public libraries) are not considered educational, religious, or charitable non-profit organizations for purposes of this Agreement. If you are using the Software free of charge, you are not entitled to hard-copy documentation, support or telephone assistance. If you fit within the description above, you may use the Software in the manner described in Part III below under "Scope of Grant."
DISCLAIMER OF WARRANTY.
Free of charge Software is provided on an "AS IS" basis, without warranty of any kind, including without limitation the warranties of merchantability, fitness for a particular purpose and non-infringement. The entire risk as to the quality and performance of the Software is borne by you. Should the Software prove defective, you and not Molsoft LLC assume the entire cost of any service and repair. You must determine that the Software sufficiently meets your requirements. This disclaimer of warranty constitutes an essential part of the agreement. SOME JURISDICTIONS DO NOT ALLOW EXCLUSIONS OF AN IMPLIED WARRANTY, SO THIS DISCLAIMER MAY NOT APPLY TO YOU AND YOU MAY HAVE OTHER LEGAL RIGHTS THAT VARY BY JURISDICTION.
PART II -- TERMS APPLICABLE WHEN LICENSE FEES PAID.
GRANT. Subject to payment of applicable license fees, Molsoft LLC grants to you a limited, non-exclusive, non-transferable license to use the Software and accompanying documentation ("Documentation") in the manner described in Part III below under "Scope of Grant."
LIMITED WARRANTY.
Molsoft LLC warrants that for a period of ninety (90) days from the date of acquisition, the Software, if operated as directed, will substantially achieve the functionality described in the Documentation. Molsoft LLC does not warrant, however, that your use of the Software will be uninterrupted or that the operation of the Software will be error-free or secure. You must determine that the Software sufficiently meets your requirements. Molsoft LLC also warrants that the media containing the Software, if provided by Molsoft LLC, is free from defects in material and workmanship and will so remain for ninety (90) days from the date you acquired the Software. Molsoft LLC's sole liability for any breach of this warranty shall be, in Molsoft LLC's sole discretion: (i) to replace your defective media; or (ii) to advise you how to achieve substantially the same functionality with the Software as described in the Documentation through a procedure different from that set forth in the Documentation; or (iii) if the above remedies are impracticable, to refund the license fee you paid for the Software. Repaired, corrected, or replaced Software and Documentation shall be covered by this limited warranty for the period remaining under the warranty that covered the original Software, or if longer, for thirty (30) days after the date (a) of shipment to you of the repaired or replaced Software, or (b) Molsoft LLC advised you how to operate the Software so as to achieve the functionality described in the Documentation. Only if you inform Molsoft LLC of your problem with the Software during the applicable warranty period and provide evidence of the date you purchased a license to the Software will Molsoft LLC be obligated to honor this warranty. Molsoft LLC will use reasonable commercial efforts to repair, replace, advise, or, for individual consumers, refund pursuant to the foregoing warranty within 30 days of being so notified.
THIS IS A LIMITED WARRANTY, AND IT IS THE ONLY WARRANTY MADE BY MOLSOFT LLC. MOLSOFT LLC MAKES NO OTHER EXPRESS WARRANTY AND NO WARRANTY OF NONINFRINGEMENT OF THIRD PARTIES' RIGHTS. THE DURATION OF IMPLIED WARRANTIES, INCLUDING WITHOUT LIMITATION, WARRANTIES OF MERCHANTABILITY AND OF FITNESS FOR A PARTICULAR PURPOSE, IS LIMITED TO THE ABOVE LIMITED WARRANTY PERIOD; SOME JURISDICTIONS DO NOT ALLOW LIMITATIONS ON HOW LONG AN IMPLIED WARRANTY LASTS, SO LIMITATIONS MAY NOT APPLY TO YOU. NO MOLSOFT LLC DEALER, AGENT, OR EMPLOYEE IS AUTHORIZED TO MAKE ANY MODIFICATIONS, EXTENSIONS, OR ADDITIONS TO THIS WARRANTY.
If any modifications are made to the Software by you during the warranty period; if the media is subjected to accident, abuse, or improper use; or if you violate the terms of this Agreement, then this warranty shall immediately be terminated. This warranty shall not apply if the Software is used on or in conjunction with hardware or software other than the unmodified version of hardware and software with which the software was designed to be used as described in the Documentation. THIS WARRANTY GIVES YOU SPECIFIC LEGAL RIGHTS, AND YOU MAY HAVE OTHER LEGAL RIGHTS THAT VARY BY JURISDICTION.
PART III -- TERMS APPLICABLE TO ALL LICENSE GRANTS.
SCOPE OF GRANT.
You may:
* use the Software on any single computer;
* use the Software on a network, provided that each person accessing the Software through the network has a copy of the Software licensed to that person;
* use the Software on a second computer so long as only one copy is used at a time;
* copy the Software for archival purposes, provided any copy must contain all of
the original Software's proprietary notices; or
* if you have purchased a Pack of licenses for the Software (but not the Documentation), provided any copy must contain all of the original Software's proprietary notices. The number of copies is the total number of copies that may be made for all platforms. Additional copies of Documentation may be purchased.
You may not:
* permit other individuals to use the Software except under the terms listed above;
* permit concurrent use of the Software;
* modify, translate, reverse engineer, decompile, disassemble (except to the extent applicable laws specifically prohibit such restriction), or create derivative works based on the Software;
* copy the Software other than as specified above;
* rent, lease, grant a security interest in, or otherwise transfer rights to the Software;
or
* remove any proprietary notices or labels on the Software.
TITLE.
Title, ownership rights, and intellectual property rights in the Software and Documentation shall remain in Molsoft LLC. The Software and Documentation are protected by copyright and other intellectual property laws and by international treaties. Title and related rights in the content accessed through the Software is the property of the applicable content owner and may be protected by applicable law. This License gives you no rights to such content.
TERMINATION.
The license will terminate automatically if you fail to comply with the limitations described herein. On termination, you must destroy all copies of the Software and Documentation.
USE OF FREE LIBRARY.
Molsoft ICM Version 3.0 uses a free library called Qwt for building its executable. The Qwt library is found in the ICM 3.0 file "qwt.dll" in the distribution and is available under the GNU Lesser General Public License, which is available at http://www.gnu.org/copyleft/lesser.html. According to the terms of the GNU Lesser General Public License for the use of Qwt, Licensees are free to modify the source code for Qwt, which can be found at:
http://sourceforge.net/projects/qwt.
You are free to modify the content of the Qwt library and recompile the library, but you are prohibited from changing the content of the definition file. The following disclaimer applies to the Qwt library:
This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Molsoft LLC hereby disclaims all copyright interest in the library "Qwt" (a library containing GUI components and utility classes) written by Josef Wilgen. However, the remainder of ICM Version 3.0 is protected by Copyright (c) 1989-2002 Molsoft LLC.
LICENSES INCLUDING THE MINI-XPDB OR THE XPDB DATABASE.
Molsoft LLC's XPDB and the Mini-XPDB databases contain all known proteins annotated in a form designed for rapid and accurate use with Molsoft ICM Software. Molsoft XPDB and Mini-XPDB are derived from data freely available from the Protein Data Bank and found at www.rcsb.org/pdb. Molsoft wishes to acknowledge the source of the PBD data files: H.M. Berman, J. Westbrook, Z. Feng, G. Gilliland, T.N. Bhat, H. Weissig, I.N. Shindyalov, P.E. Bourne: The Protein Data Bank. Nucleic Acids Research, 28 pp. 235-242 (2000). Users of Molsoft XPDB and Mini-XPDB should note that users assume all responsibility for insuring that intellectual property claims associated with any data set appearing in the Molosft XPDB are honored. Molsoft's XPDB and Mini-XPDB data files do not contain any information on intellectual property claims with the exception in some cases of a reference for a patent involving the structure. Molsoft XPDB and Mini-XPDB files are provided on an "as is" basis, and Molsoft cannot be held liable to any party for direct, indirect, special, incidental, or consequential damages, including lost profits, arising from the use of the materials. The resources provided by Molsoft XPDB and Mini-XPDB are provided WITHOUT
WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED. THIS INCLUDES BUT IS NOT LIMITED TO MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. MOLSOFT LLC MAKES NO REPRESENTATION THAT ITS XPDB RESOURCES WILL NOT INFRINGE ANY PATENT OR OTHER PROPRIETARY RIGHT.
EXPORT CONTROLS.
None of the Software or underlying information or technology may be downloaded or otherwise exported or reexported (i) into (or to a national or resident of) Cuba, Iraq, Libya, Yugoslavia, North Korea, Iran, Syria or any other country to which the U.S. has embargoed goods; or (ii) to anyone on the U.S. Treasury Department's list of Specially Designated Nationals or the U.S. Commerce Department's Table of Denial Orders. By downloading or using the Software, you are agreeing to the foregoing and you are representing and warranting that you are not located in, under the control of, or a national or resident of any such country or on any such list.
In addition, if the licensed Software is identified as a not-for-export product (for example, on the box, media or in the installation process), then the following applies:
EXCEPT FOR EXPORT TO CANADA FOR USE IN CANADA BY CANADIAN CITIZENS, THE SOFTWARE AND ANY UNDERLYING TECHNOLOGY MAY NOT BE EXPORTED OUTSIDE THE UNITED STATES OR TO ANY FOREIGN ENTITY OR "FOREIGN PERSON" AS DEFINED BY U.S. GOVERNMENT EGULATIONS, INCLUDING WITHOUT LIMITATION, ANYONE WHO IS NOT A CITIZEN, NATIONAL OR LAWFUL PERMANENT RESIDENT OF THE UNITED STATES. BY DOWNLOADING OR USING THE SOFTWARE, YOU ARE AGREEING TO THE FOREGOING AND YOU ARE WARRANTING THAT YOU ARE NOT A "FOREIGN PERSON" OR UNDER THE CONTROL OF A FOREIGN PERSON.
LIMITATION OF LIABILITY.
UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, TORT, CONTRACT, OR OTHERWISE, SHALL MOLSOFT LLC OR ITS SUPPLIERS OR RESELLERS BE LIABLE TO YOU OR ANY OTHER PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES. IN NO EVENT WILL MOLSOFT LLC BE LIABLE FOR ANY DAMAGES IN EXCESS OF THE AMOUNT MOLSOFT LLC RECEIVED FROM YOU FOR A LICENSE TO THE SOFTWARE, EVEN IF MOLSOFT LLC SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES, OR FOR ANY CLAIM BY ANY OTHER PARTY. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. FURTHERMORE, SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS LIMITATION AND EXCLUSION MAY NOT APPLY TO YOU.
HIGH RISK ACTIVITIES.
The Software is not fault-tolerant and is not designed, manufactured or intended for use or resale as on-line control equipment in hazardous environments requiring fail-safe performance, such as in the operation of nuclear facilities, aircraft navigation or communication systems, air traffic control, direct life support machines, or weapons systems, in which the failure of the Software could lead directly to death, personal injury, or severe physical or environmental damage ("High Risk Activities"). Molsoft LLC specifically disclaims any express or implied warranty of fitness for High Risk Activities.
MISCELLANEOUS.
If the copy of the Software you received was accompanied by a printed or other form of a "hard-copy" Software License Agreement whose terms vary from this Agreement, then the hard-copy Software License Agreement governs your use of the Software. This Agreement represents the complete agreement concerning this license and may be amended only by a writing executed by both parties. THE ACCEPTANCE OF ANY PURCHASE ORDER PLACED BY YOU IS EXPRESSLY MADE CONDITIONAL ON YOUR ASSENT TO THE TERMS SET FORTH HEREIN AND NOT THOSE IN YOUR PURCHASE ORDER. If any provision of this Agreement is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. This Agreement shall be governed by California law (except for conflict of law provisions). The application the United Nations Convention of Contracts for the International Sale of Goods is expressly excluded.
U.S. GOVERNMENT RESTRICTED RIGHTS.
Use, duplication or disclosure by the Government is subject to restrictions set forth in subparagraphs(a) through (d) of the Commercial Computer-Restricted Rights clause at FAR 52.227-19 when applicable, or in subparagraph (c)(1)(ii) of the Rights in Technical Data and Computer Software clause at DFARS 252.227-7013, or at 252.211-7015, or to Molsoft LLC's standard commercial license, as applicable, and in similar clauses in the NASA FAR Supplement. Contractor/manufacturer is Molsoft, L.L.C., 3366 No. Torrey Pines Ct., Ste. 300, La Jolla, CA 92037 USA.

View File

@ -0,0 +1,378 @@
NVIDIA cuDNN License Agreement
This Software License Agreement ("SLA”), made and entered into as of the time and date of click through action (“Effective Date”), is
a legal agreement between you and NVIDIA Corporation ("NVIDIA") and governs the use of the NVIDIA computer software and the
documentation made available for use with such NVIDIA software. By downloading, installing, copying, or otherwise using the NVIDIA
software and/or documentation, you agree to be bound by the terms of this SLA. If you do not agree to the terms of this SLA, do not
download, install, copy or use the NVIDIA software or documentation. IF YOU ARE ENTERING INTO THIS SLA ON BEHALF OF A
COMPANY OR OTHER LEGAL ENTITY, YOU REPRESENT THAT YOU HAVE THE LEGAL AUTHORITY TO BIND THE ENTITY TO THIS SLA, IN
WHICH CASE “YOU” WILL MEAN THE ENTITY YOU REPRESENT. IF YOU DONT HAVE SUCH AUTHORITY, OR IF YOU DONT ACCEPT ALL
THE TERMS AND CONDITIONS OF THIS SLA, THEN NVIDIA DOES NOT AGREE TO LICENSE THE LICENSED SOFTWARE TO YOU, AND YOU
MAY NOT DOWNLOAD, INSTALL, COPY OR USE IT.
1. LICENSE.
1.1
License Grant. Subject to the terms of the AGREEMENT, NVIDIA hereby grants you a non-exclusive, non-transferable
license, without the right to sublicense (except as expressly set forth in a Supplement), during the applicable license term unless
earlier terminated as provided below, to have Authorized Users install and use the Software, including modifications (if expressly
permitted in a Supplement), in accordance with the Documentation. You are only licensed to activate and use Licensed Software for
which you a have a valid license, even if during the download or installation you are presented with other product options. No
Orders are binding on NVIDIA until accepted by NVIDIA. Your Orders are subject to the AGREEMENT.
SLA Supplements: Certain Licensed Software licensed under this SLA may be subject to additional terms and conditions that will be
presented to you in a Supplement for acceptance prior to the delivery of such Licensed Software under this SLA and the applicable
Supplement. Licensed Software will only be delivered to you upon your acceptance of all applicable terms.
1.2
Limited Purpose Licenses. If your license is provided for one of the purposes indicated below, then notwithstanding
contrary terms in Section 1.1 or in a Supplement, such licenses are for internal use and do not include any right or license to sublicense and distribute the Licensed Software or its output in any way in any public release, however limited, and/or in any manner
that provides third parties with use of or access to the Licensed Software or its functionality or output, including (but not limited to)
external alpha or beta testing or development phases. Further:
(i) Evaluation License. You may use evaluation licenses solely for your internal evaluation of the Licensed Software for broader
adoption within your Enterprise or in connection with a NVIDIA product purchase decision, and such licenses have an expiration date
as indicated by NVIDIA in its sole discretion (or ninety days from the date of download if no other duration is indicated).
(ii) Educational/Academic License. You may use educational/academic licenses solely for educational purposes and all users must be
enrolled or employed by an academic institution. If you do not meet NVIDIAs academic program requirements for educational
institutions, you have no rights under this license.
(iii) Test/Development License. You may use test/development licenses solely for your internal development, testing and/or
debugging of your software applications or for interoperability testing with the Licensed Software, and such licenses have an
expiration date as indicated by NVIDIA in its sole discretion (or one year from the date of download if no other duration is indicated).
NVIDIA Confidential Information under the AGREEMENT includes output from Licensed Software developer tools identified as “Pro”
versions, where the output reveals functionality or performance data pertinent to NVIDIA hardware or software products.
1.3
Pre-Release Licenses. With respect to alpha, beta, preview, and other pre-release Software and Documentation (“PreRelease Licensed Software”) delivered to you under the AGREEMENT you acknowledge and agree that such Pre-Release Licensed
Software (i) may not be fully functional, may contain errors or design flaws, and may have reduced or different security, privacy,
accessibility, availability, and reliability standards relative to commercially provided NVIDIA software and documentation, and (ii) use
of such Pre-Release Licensed Software may result in unexpected results, loss of data, project delays or other unpredictable damage
or loss. THEREFORE, PRE-RELEASE LICENSED SOFTWARE IS NOT INTENDED FOR USE, AND SHOULD NOT BE USED, IN PRODUCTION
OR BUSINESS-CRITICAL SYSTEMS. NVIDIA has no obligation to make available a commercial version of any Pre-Release Licensed
Software and NVIDIA has the right to abandon development of Pre-Release Licensed Software at any time without liability.
NVIDIA SOFTWARE LICENSE AGREEMENT (V. 10.20.2016)
1
1.4
Enterprise and Contractor Usage. You may allow your Enterprise employees and Contractors to access and use the Licensed
Software pursuant to the terms of the AGREEMENT solely to perform work on your behalf, provided further that with respect to
Contractors: (i) you obtain a written agreement from each Contractor which contains terms and obligations with respect to access to
and use of Licensed Software no less protective of NVIDIA than those set forth in the AGREEMENT, and (ii) such Contractors access
and use expressly excludes any sublicensing or distribution rights for the Licensed Software. You are responsible for the compliance
with the terms and conditions of the AGREEMENT by your Enterprise and Contractors. Any act or omission that, if committed by you,
would constitute a breach of the AGREEMENT shall be deemed to constitute a breach of the AGREEMENT if committed by your
Enterprise or Contractors.
1.5
Services. Except as expressly indicated in an Order, NVIDIA is under no obligation to provide support for the Licensed
Software or to provide any patches, maintenance, updates or upgrades under the AGREEMENT. Unless patches, maintenance,
updates or upgrades are provided with their separate governing terms and conditions, they constitute Licensed Software licensed to
you under the AGREEMENT.
2.
LIMITATIONS.
2.1
License Restrictions. Except as expressly authorized in the AGREEMENT, you agree that you will not (nor authorize third
parties to): (i) copy and use Software that was licensed to you for use in one or more NVIDIA hardware products in other unlicensed
products (provided that copies solely for backup purposes are allowed); (ii) reverse engineer, decompile, disassemble (except to the
extent applicable laws specifically require that such activities be permitted) or attempt to derive the source code, underlying ideas,
algorithm or structure of Software provided to you in object code form; (iii) sell, transfer, assign, distribute, rent, loan, lease,
sublicense or otherwise make available the Licensed Software or its functionality to third parties (a) as an application services
provider or service bureau, (b) by operating hosted/virtual system environments, (c) by hosting, time sharing or providing any other
type of services, or (d) otherwise by means of the internet; (iv) modify, translate or otherwise create any derivative works of any
Licensed Software; (v) remove, alter, cover or obscure any proprietary notice that appears on or with the Licensed Software or any
copies thereof; (vi) use the Licensed Software, or allow its use, transfer, transmission or export in violation of any applicable export
control laws, rules or regulations; (vii) distribute, permit access to, or sublicense the Licensed Software as a stand-alone product;
(viii) bypass, disable, circumvent or remove any form of copy protection, encryption, security or digital rights management or
authentication mechanism used by NVIDIA in connection with the Licensed Software, or use the Licensed Software together with
any authorization code, serial number, or other copy protection device not supplied by NVIDIA directly or through an authorized
reseller; (ix) use the Licensed Software for the purpose of developing competing products or technologies or assisting a third party in
such activities; (x) use the Licensed Software with any system or application where the use or failure of such system or application
can reasonably be expected to threaten or result in personal injury, death, or catastrophic loss including, without limitation, use in
connection with any nuclear, avionics, navigation, military, medical, life support or other life critical application (“Critical
Applications”), unless the parties have entered into a Critical Applications agreement; (xi) distribute any modification or derivative
work you make to the Licensed Software under or by reference to the same name as used by NVIDIA; or (xii) use the Licensed
Software in any manner that would cause the Licensed Software to become subject to an Open Source License. Nothing in the
AGREEMENT shall be construed to give you a right to use, or otherwise obtain access to, any source code from which the Software
or any portion thereof is compiled or interpreted. You acknowledge that NVIDIA does not design, test, manufacture or certify the
Licensed Software for use in the context of a Critical Application and NVIDIA shall not be liable to you or any third party, in whole or
in part, for any claims or damages arising from such use. You agree to defend, indemnify and hold harmless NVIDIA and its Affiliates,
and their respective employees, contractors, agents, officers and directors, from and against any and all claims, damages, obligations,
losses, liabilities, costs or debt, fines, restitutions and expenses (including but not limited to attorneys fees and costs incident to
establishing the right of indemnification) arising out of or related to you and your Enterprise, and their respective employees,
contractors, agents, distributors, resellers, end users, officers and directors use of Licensed Software outside of the scope of the
AGREEMENT or any other breach of the terms of the AGREEMENT.
2.2
Third Party License Obligations. You acknowledge and agree that the Licensed Software may include or incorporate third
party technology (collectively “Third Party Components”), which is provided for use in or with the Software and not otherwise used
separately. If the Licensed Software includes or incorporates Third Party Components, then the third-party pass-through terms and
conditions (“Third Party Terms”) for the particular Third Party Component will be bundled with the Software or otherwise made
available online as indicated by NVIDIA and will be incorporated by reference into the AGREEMENT. In the event of any conflict
between the terms in the AGREEMENT and the Third Party Terms, the Third Party Terms shall govern. Copyright to Third Party
Components are held by the copyright holders indicated in the copyright notices indicated in the Third Party Terms.
Audio/Video Encoders and Decoders. You acknowledge and agree that it is your sole responsibility to obtain any additional third
NVIDIA SOFTWARE LICENSE AGREEMENT (V. 10.20.2016)
2
party licenses required to make, have made, use, have used, sell, import, and offer for sale your products or services that include or
incorporate any Third Party Components and content relating to audio and/or video encoders and decoders from, including but not
limited to, Microsoft, Thomson, Fraunhofer IIS, Sisvel S.p.A., MPEG-LA, and Coding Technologies as NVIDIA does not grant to you
under the AGREEMENT any necessary patent or other rights with respect to audio and/or video encoders and decoders.
2.3
Limited Rights. Your rights in the Licensed Software are limited to those expressly granted under the AGREEMENT and no
other licenses are granted whether by implication, estoppel or otherwise. NVIDIA reserves all rights, title and interest in and to the
Licensed Software not expressly granted under the AGREEMENT.
3. CONFIDENTIALITY. Neither party will use the other partys Confidential Information, except as necessary for the performance of
the AGREEMENT, nor will either party disclose such Confidential Information to any third party, except to personnel of NVIDIA and
its Affiliates, you, your Enterprise, your Enterprise Contractors, and each partys legal and financial advisors that have a need to
know such Confidential Information for the performance of the AGREEMENT, provided that each such personnel, employee and
Contractor is subject to a written agreement that includes confidentiality obligations consistent with those set forth herein. Each
party will use all reasonable efforts to maintain the confidentiality of all of the other partys Confidential Information in its
possession or control, but in no event less than the efforts that it ordinarily uses with respect to its own Confidential Information of
similar nature and importance. The foregoing obligations will not restrict either party from disclosing the other partys Confidential
Information or the terms and conditions of the AGREEMENT as required under applicable securities regulations or pursuant to the
order or requirement of a court, administrative agency, or other governmental body, provided that the party required to make such
disclosure (i) gives reasonable notice to the other party to enable it to contest such order or requirement prior to its disclosure
(whether through protective orders or otherwise), (ii) uses reasonable effort to obtain confidential treatment or similar protection
to the fullest extent possible to avoid such public disclosure, and (iii) discloses only the minimum amount of information necessary
to comply with such requirements.
4. OWNERSHIP. You are not obligated to disclose to NVIDIA any modifications that you, your Enterprise or your Contractors make
to the Licensed Software as permitted under the AGREEMENT. As between the parties, all modifications are owned by NVIDIA and
licensed to you under the AGREEMENT unless otherwise expressly provided in a Supplement. The Licensed Software and all
modifications owned by NVIDIA, and the respective Intellectual Property Rights therein, are and will remain the sole and exclusive
property of NVIDIA or its licensors, whether the Licensed Software is separate from or combined with any other products or
materials. You shall not engage in any act or omission that would impair NVIDIAs and/or its licensors Intellectual Property
Rights in the Licensed Software or any other materials, information, processes or subject matter proprietary to NVIDIA. NVIDIAs
licensors are intended third party beneficiaries with the right to enforce provisions of the AGREEMENT with respect to their
Confidential Information and/or Intellectual Property Rights.
5. FEEDBACK. You have no obligation to provide Feedback to NVIDIA. However, NVIDIA and/or its Affiliates may use and include
any Feedback that you provide to improve the Licensed Software or other NVIDIA products, technologies or materials. Accordingly, if
you provide Feedback, you agree that NVIDIA and/or its Affiliates, at their option, may, and may permit their licensees, to make,
have made, use, have used, reproduce, license, distribute and otherwise commercialize the Feedback in the Licensed Software or in
other NVIDIA products, technologies or materials without the payment of any royalties or fees to you. All Feedback becomes the
sole property of NVIDIA and may be used in any manner NVIDIA sees fit, and you hereby assign to NVIDIA all of your right, title and
interest in and to any Feedback. NVIDIA has no obligation to respond to Feedback or to incorporate Feedback into the Licensed
Software.
6. NO WARRANTIES. THE LICENSED SOFTWARE AND ANY OTHER CONFIDENTIAL INFORMATION AND/OR SERVICES ARE
PROVIDED BY NVIDIA “AS IS” AND “WITH ALL FAULTS,” AND NVIDIA EXPRESSLY DISCLAIMS ALL OTHER WARRANTIES OF ANY KIND
OR NATURE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, ANY WARRANTIES OF OPERABILITY,
CONDITION, VALUE, ACCURACY OF DATA, OR QUALITY, AS WELL AS ANY WARRANTIES OF MERCHANTABILITY, SYSTEM
INTEGRATION, WORKMANSHIP, SUITABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON -IN FRIN GE ME N T, OR THE ABSENCE OF
ANY DEFECTS THEREIN, WHETHER LATENT OR PATENT. NO WARRANTY IS MADE BY NVIDIA ON THE BASIS OF TRADE USAGE,
COURSE OF DEALING OR COURSE OF TRADE. NVIDIA DOES NOT WARRANT THAT THE LICENSED SOFTWARE OR ANY OTHER
CONFIDENTIAL INFORMATION AND/OR SERVICES PROVIDED BY NVIDIA UNDER THE AGREEMENT WILL MEET YOUR
REQUIREMENTS OR THAT THE OPERATION THEREOF WILL BE UNINTERRUPTED OR ERROR-FREE, OR THAT ALL ERRORS WILL BE
CORRECTED. YOU ACKNOWLEDGE THAT NVIDIAS OBLIGATIONS UNDER THE AGREEMENT ARE FOR THE BENEFIT OF YOU ONLY.
Nothing in this warranty section affects any statutory rights of consumers or other recipients to the extent that they cannot be
waived or limited by contract under applicable law.
NVIDIA SOFTWARE LICENSE AGREEMENT (V. 10.20.2016)
3
7. LIMITATION OF LIABILITY. TO THE MAXIMUM EXTENT PERMITTED BY LAW, NVIDIA OR ITS LICENSORS SHALL NOT BE LIABLE FOR
ANY SPECIAL, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL DAMAGES, OR ANY LOST PROFITS, LOSS OF USE, LOSS OF DATA OR LOSS
OF GOODWILL, OR THE COSTS OF PROCURING SUBSTITUTE PRODUCTS, ARISING OUT OF OR IN CONNECTION WITH THE AGREEMENT
OR THE USE OR PERFORMANCE OF THE LICENSED SOFTWARE AND ANY OTHER CONFIDENTIAL INFORMATION AND/OR SERVICES
PROVIDED BY NVIDIA UNDER THE AGREEMENT, WHETHER SUCH LIABILITY ARISES FROM ANY CLAIM BASED UPON BREACH OF
CONTRACT, BREACH OF WARRANTY, TORT (INCLUDING NEGLIGENCE), PRODUCT LIABILITY OR ANY OTHER CAUSE OF ACTION OR
THEORY OF LIABILITY. IN NO EVENT WILL NVIDIAS TOTAL CUMULATIVE LIABILITY UNDER OR ARISING OUT OF THE AGREEMENT
EXCEED THE NET AMOUNTS RECEIVED BY NVIDIA FOR YOUR USE OF THE PARTICULAR LICENSED SOFTWARE DURING THE TWELVE
(12) MONTHS BEFORE THE LIABILITY AROSE (or up to US$10.00 if you acquired the Licensed Software for no charge). THE NATURE OF
THE LIABILITY, THE NUMBER OF CLAIMS OR SUITS OR THE NUMBER OF PARTIES WITHIN YOUR ENTERPRISE THAT ACCEPTED THE
TERMS OF THE AGREEMENT SHALL NOT ENLARGE OR EXTEND THIS LIMIT. THE FOREGOING LIMITATIONS SHALL APPLY REGARDLESS
OF WHETHER NVIDIA OR ITS LICENSORS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES AND REGARDLESS OF
WHETHER ANY REMEDY FAILS ITS ESSENTIAL PURPOSE. The disclaimers, exclusions and limitations of liability set forth in the
AGREEMENT form an essential basis of the bargain between the parties, and, absent any such disclaimers, exclusions or limitations of
liability, the provisions of the AGREEMENT, including, without limitation, the economic terms, would be substantially different.
8.
TERM AND TERMINATION.
8.1
AGREEMENT, Licenses and Services. This SLA shall become effective upon the Effective Date, each Supplement upon their
acceptance, and both this SLA and Supplements shall continue in effect until your last access or use of the Licensed Software and/or
services hereunder, unless earlier terminated as provided in this “Term and Termination” section. Each Licensed Software license ends
at the earlier of (a) the expiration of the applicable license term, or (b) termination of such license or the AGREEMENT. Each service
ends at the earlier of (x) the expiration of the applicable service term, (y) termination of such service or the AGREEMENT, or (z)
expiration or termination of the associated license and no credit or refund will be provided upon the expiration or termination of the
associated license for any service fees paid.
8.2
Termination and Effect of Expiration or Termination. NVIDIA may terminate the AGREEMENT in whole or in part: (i) if you
breach any term of the AGREEMENT and fail to cure such breach within thirty (30) days following notice thereof from NVIDIA (or
immediately if you violate NVIDIAs Intellectual Property Rights); (ii) if you become the subject of a voluntary or involuntary petition in
bankruptcy or any proceeding relating to insolvency, receivership, liquidation or composition for the benefit of creditors, if that petition
or proceeding is not dismissed with prejudice within sixty (60) days after filing, or if you cease to do business; or (iii) if you commence or
participate in any legal proceeding against NVIDIA, with respect to the Licensed Software that is the subject of the proceeding during
the pendency of such legal proceeding. If you or your authorized NVIDIA reseller fail to pay license fees or service fees when due then
NVIDIA may, in its sole discretion, suspend or terminate your license grants, services and any other rights provided under the
AGREEMENT for the affected Licensed Software, in addition to any other remedies NVIDIA may have at law or equity. Upon any
expiration or termination of the AGREEMENT, a license or a service provided hereunder, (a) any amounts owed to NVIDIA become
immediately due and payable, (b) you must promptly discontinue use of the affected Licensed Software and/or service, and (c) you
must promptly destroy or return to NVIDIA all copies of the affected Licensed Software and all portions thereof in your possession or
control, and each party will promptly destroy or return to the other all of the other partys Confidential Information within its
possession or control. Upon written request, you will certify in writing that you have complied with your obligations under this
section. Upon expiration or termination of the AGREEMENT all provisions survive except for the license grant provisions.
9.
CONSENT TO COLLECTION AND USE OF INFORMATION.
You hereby agree and acknowledge that the Software may access, collect non-personally identifiable information about your
Enterprise computer systems in order to properly optimize such systems for use with the Software. To the extent that you use the
Software, you hereby consent to all of the foregoing, and represent and warrant that you have the right to grant such consent. In
addition, you agree that you are solely responsible for maintaining appropriate data backups and system restore points for your
Enterprise systems, and that NVIDIA will have no responsibility for any damage or loss to such systems (including loss of data or
access) arising from or relating to (a) any changes to the configuration, application settings, environment variables, registry, drivers,
BIOS, or other attributes of the systems (or any part of such systems) initiated through the Software; or (b) installation of any
Software or third party software patches initiated through the Software. In certain systems you may change your system update
preferences by unchecking "Automatically check for updates" in the "Preferences" tab of the control panel for the Software.
NVIDIA SOFTWARE LICENSE AGREEMENT (V. 10.20.2016)
4
In connection with the receipt of the Licensed Software or services you may receive access to links to third party websites and
services and the availability of those links does not imply any endorsement by NVIDIA. NVIDIA encourages you to review the privacy
statements on those sites and services that you choose to visit so that you can understand how they may collect, use and share
personal information of individuals. NVIDIA is not responsible or liable for: (i) the availability or accuracy of such links; or (ii) the
products, services or information available on or through such links; or (iii) the privacy statements or practices of sites and services
controlled by other companies or organizations.
To the extent that you or members of your Enterprise provide to NVIDIA during registration or otherwise personal information, you
acknowledge that such information will be collected, used and disclosed by NVIDIA in accordance with NVIDIA's privacy policy,
available at URL http://www.nvidia.com/object/privacy_policy.html.
10. GENERAL.
This SLA, any Supplements incorporated hereto, and Orders constitute the entire agreement of the parties with respect to the
subject matter hereto and supersede all prior negotiations, conversations, or discussions between the parties relating to the subject
matter hereto, oral or written, and all past dealings or industry custom. Any additional and/or conflicting terms and conditions on
purchase order(s) or any other documents issued by you are null, void, and invalid. Any amendment or waiver under the
AGREEMENT must be in writing and signed by representatives of both parties.
The AGREEMENT and the rights and obligations thereunder may not be assigned by you, in whole or in part, including by merger,
consolidation, dissolution, operation of law, or any other manner, without written consent of NVIDIA, and any purported assignment
in violation of this provision shall be void and of no effect. NVIDIA may assign, delegate or transfer the AGREEMENT and its rights and
obligations hereunder, and if to a non-Affiliate you will be notified.
Each party acknowledges and agrees that the other is an independent contractor in the performance of the AGREEMENT, and each
party is solely responsible for all of its employees, agents, contractors, and labor costs and expenses arising in connection therewith.
The parties are not partners, joint ventures or otherwise affiliated, and neither has any authority to make any statements,
representations or commitments of any kind to bind the other party without prior written consent.
Neither party will be responsible for any failure or delay in its performance under the AGREEMENT (except for any payment
obligations) to the extent due to causes beyond its reasonable control for so long as such force majeure event continues in effect.
The AGREEMENT will be governed by and construed under the laws of the State of Delaware and the United States without regard
to the conflicts of law provisions thereof and without regard to the United Nations Convention on Contracts for the International
Sale of Goods. The parties consent to the personal jurisdiction of the federal and state courts located in Santa Clara County,
California. You acknowledge and agree that a breach of any of your promises or agreements contained in the AGREEMENT may
result in irreparable and continuing injury to NVIDIA for which monetary damages may not be an adequate remedy and therefore
NVIDIA is entitled to seek injunctive relief as well as such other and further relief as may be appropriate. If any court of competent
jurisdiction determines that any provision of the AGREEMENT is illegal, invalid or unenforceable, the remaining provisions will
remain in full force and effect. Unless otherwise specified, remedies are cumulative.
The Licensed Software has been developed entirely at private expense and is “commercial items” consisting of “commercial
computer software” and “commercial computer software documentation” provided with RESTRICTED RIGHTS. Use, duplication or
disclosure by the U.S. Government or a U.S. Government subcontractor is subject to the restrictions set forth in the AGREEMENT
pursuant to DFARS 227.7202-3(a) or as set forth in subparagraphs (c)(1) and (2) of the Commercial Computer Software - Restricted
Rights clause at FAR 52.227-19, as applicable. Contractor/manufacturer is NVIDIA, 2701 San Tomas Expressway, Santa Clara, CA
95050.
You acknowledge that the Licensed Software described under the AGREEMENT is subject to export control under the U.S. Export
Administration Regulations (EAR) and economic sanctions regulations administered by the U.S. Department of Treasurys Office of
Foreign Assets Control (OFAC). Therefore, you may not export, reexport or transfer in-country the Licensed Software without first
obtaining any license or other approval that may be required by BIS and/or OFAC. You are responsible for any violation of the U.S. or
other applicable export control or economic sanctions laws, regulations and requirements related to the Licensed Software. By
accepting this SLA, you confirm that you are not a resident or citizen of any country currently embargoed by the U.S. and that you
are not otherwise prohibited from receiving the Licensed Software.
NVIDIA SOFTWARE LICENSE AGREEMENT (V. 10.20.2016)
5
Any notice delivered by NVIDIA to you under the AGREEMENT will be delivered via mail, email or fax. Please direct your legal notices
or other correspondence to NVIDIA Corporation, 2701 San Tomas Expressway, Santa Clara, California 95050, United States of
America, Attention: Legal Department.
GLOSSARY OF TERMS
Certain capitalized terms, if not otherwise defined elsewhere in this SLA, shall have the meanings set forth below:
a. “Affiliate” means any legal entity that Owns, is Owned by, or is commonly Owned with a party. “Own” means having more than
50% ownership or the right to direct the management of the entity.
b. “AGREEMENT” means this SLA and all associated Supplements entered by the parties referencing this SLA.
c. “Authorized Users” means your Enterprise individual employees and any of your Enterprises Contractors, subject to the terms
of the “Enterprise and Contractors Usage” section.
d. “Confidential Information” means the Licensed Software (unless made publicly available by NVIDIA without confidentiality
obligations), and any NVIDIA business, marketing, pricing, research and development, know-how, technical, scientific, financial
status, proposed new products or other information disclosed by NVIDIA to you which, at the time of disclosure, is designated in
writing as confidential or proprietary (or like written designation), or orally identified as confidential or proprietary or is otherwise
reasonably identifiable by parties exercising reasonable business judgment, as confidential. Confidential Information does not and
will not include information that: (i) is or becomes generally known to the public through no fault of or breach of the AGREEMENT by
the receiving party; (ii) is rightfully known by the receiving party at the time of disclosure without an obligation of confidentiality;
(iii) is independently developed by the receiving party without use of the disclosing partys Confidential Information; or (iv) is
rightfully obtained by the receiving party from a third party without restriction on use or disclosure.
e. “Contractor” means an individual who works primarily for your Enterprise on a contractor basis from your secure network.
f. “Documentation” means the NVIDIA documentation made available for use with the Software, including (without limitation)
user manuals, datasheets, operations instructions, installation guides, release notes and other materials provided to you under the
AGREEMENT.
g. “Enterprise” means you or any company or legal entity for which you accepted the terms of this SLA, and their subsidiaries of
which your company or legal entity owns more than fifty percent (50%) of the issued and outstanding equity.
h. “Feedback” means any and all suggestions, feature requests, comments or other feedback regarding the Licensed Software,
including possible enhancements or modifications thereto.
i.
“Intellectual Property Rights” means all patent, copyright, trademark, trade secret, trade dress, trade names, utility models,
mask work, moral rights, rights of attribution or integrity service marks, master recording and music publishing rights, performance
rights, authors rights, database rights, registered design rights and any applications for the protection or registration of these rights,
or other intellectual or industrial property rights or proprietary rights, howsoever arising and in whatever media, whether now
known or hereafter devised, whether or not registered, (including all claims and causes of action for infringement, misappropriation
or violation and all rights in any registrations and renewals), worldwide and whether existing now or in the future.
j. “Licensed Software” means Software, Documentation and all modifications owned by NVIDIA.
k. “Open Source License” includes, without limitation, a software license that requires as a condition of use, modification, and/or
distribution of such software that the Software be (i) disclosed or distributed in source code form; (ii) be licensed for the purpose of
making derivative works; or (iii) be redistributable at no charge.
l. “Order” means a purchase order issued by you, a signed purchase agreement with you, or other ordering document issued by
you to NVIDIA or a NVIDIA authorized reseller (including any on-line acceptance process) that references and incorporates the
AGREEMENT and is accepted by NVIDIA.
m. “Software” means the NVIDIA software programs licensed to you under the AGREEMENT including, without limitation, libraries,
sample code, utility programs and programming code.
n. “Supplement” means the additional terms and conditions beyond those stated in this SLA that apply to certain Licensed
Software licensed hereunder.
NVIDIA SOFTWARE LICENSE AGREEMENT (V. 10.20.2016)
6
cuDNN SUPPLEMENT TO SOFTWARE LICENSE AGREEMENT
Release date: January 5, 2017
The terms set forth in this cuDNN Supplement (“Supplement”) govern your use of the CUDA Deep Neural Network library (cuDNN)
(the “cuDNN Licensed Software”) under the terms of your software license agreement (“SLA”) as modified by this Supplement. This
Supplement is an exhibit to the SLA and is hereby incorporated as an integral part thereto. Capitalized terms used but not defined
herein shall have the meaning assigned to them in the SLA. In the event of conflict between the terms in this Supplement and the
terms in the SLA, this Supplement shall control.
1. CUDNN DISTRIBUTION. Subject to the terms of the SLA and this Supplement, NVIDIA hereby grants you a non-exclusive, nontransferable license during the applicable license term unless earlier terminated pursuant to the SLA, to distribute the runtime files
(.so, .h) when delivered to you as part of the cuDNN Licensed Software in source code form or binary form (but not when provided to
you as part of a hardware product), subject to such distribution being solely in binary form to your licensees (“Customers”) only as a
component of your own software products having additional material functionality beyond the redistributable cuDNN Licensed
Software (each, a “Licensee Application"). Subject to the terms and conditions of the SLA and this Supplement, you may further
authorize Customers to redistribute the cuDNN Licensed Software as incorporated into a Licensee Application, solely in binary form,
provided, however, that you shall require in your agreements with your Customers that their distributions be on terms at least as
restrictive as those applicable for your use of the cuDNN Licensed Software within a Licensee Application. The expiration or
termination of your licenses to the cuDNN Licensed Software under the SLA and this Supplement will not affect your previous cuDNN
distributions in compliance with the SLA and this Supplement.
The above distributions are subject to the following: (a) all distributions by you or your distribution channels must be consistent with
the terms of the AGREEMENT; (b) the distributed cuDNN License Software must include valid copyright notices indicating NVIDIAs
ownership of the Licensed Software and (if permitted) modifications; and (c) you must enter into enforceable agreements that pass
down terms consistent with the terms set forth in the AGREEMENT for use of the distributable cuDNN License Software, including
(without limitation) terms relating to the license grant and license restrictions, confidentiality and protection of NVIDIAs Intellectual
Property Rights in and to the cuDNN Licensed Software. You are liable for the distribution and use of cuDNN Licensed Software if you
failed to comply with the distribution requirements of this Supplement. You agree to notify NVIDIA in writing of any known or
suspected distribution or use of the cuDNN Licensed Software not in compliance with the terms of the AGREEMENT, and to enforce
the terms of your agreements with respect to cuDNN Licensed Software you distributed.
2. LICENSE DURATION. Each cuDNN Licensed Software is licensed to you for an initial duration of one year starting from the date of
delivery or download. The licenses granted will automatically renew for successive one year periods, provided that NVIDIA reserves
the right to terminate licenses upon ninety days (90) days written notice to you prior to the commencement of a renewal year in
addition to the termination rights set forth in the SLA.
3. AUDIT. During the term of the AGREEMENT and for three (3) years thereafter, you will maintain all usual and proper books and
records of account relating to the cuDNN Licensed Software and services provided under the AGREEMENT. During such period and
upon written notice to you, NVIDIA or its authorized third party auditors subject to confidentiality obligations will have the right to
inspect and audit your Enterprise books and records for the purpose of confirming compliance with the terms of the AGREEMENT.
Any such inspection and audit will be conducted during regular business hours and no more frequently than annually unless noncompliance was previously found. If such an inspection and audit reveals an underpayment of any amounts payable to NVIDIA, then
you will promptly remit the full amount of such underpayment to NVIDIA, including interest accruing (without the requirement of a
notice) from the time underpayment began at the lower of 1.5% per month or the highest rate permissible by law. If the underpaid
amount exceeds five percent (5%) of the amounts payable to NVIDIA for the period audited and/or such an inspection and audit
reveals a material non-conformance with the terms of the AGREEMENT, then you will also pay NVIDIAs reasonable costs of
conducting the inspection and audit. Further, you agree that the party delivering the cuDNN Licensed Software to you may collect
and disclose to NVIDIA information for NVIDIA to verify your compliance with the terms of the AGREEMENT including (without
limitation) information regarding your use of the cuDNN Licensed Software.
4. EXPIRATION OF TERMINATION OF THIS SUPPLEMENT. Your failure to comply with the terms of this Supplement is ground for
termination for breach by NVIDIA under the SLA. This Supplement will automatically expire or terminate upon the expiration or
termination of your rights to cuDNN Licensed Software under the SLA or this Supplement.
NVIDIA SOFTWARE LICENSE AGREEMENT (V. 10.20.2016)
7

View File

@ -1,7 +0,0 @@
------------------------------------------------------------------
"THE PIZZA-WARE LICENSE" (Revision 42):
Peter Hofmann <pcode@uninformativ.de> wrote these files. As long as you
retain this notice you can do whatever you want with this stuff. If we
meet some day, and you think this stuff is worth it, you can buy me a
pizza in return.
------------------------------------------------------------------

View File

@ -1,161 +0,0 @@
# file generated using the following command (open the link in browser for up-to-date version with html links)
# lynx -dump http://www.google.com/intl/en/help/terms_maps_earth.html
Google Maps/Earth Terms of Service
By downloading, installing, or using the Google Earth software,
accessing or using the Google Maps service (together, the "Products" or
"Services"), or accessing or using any of the content available within
the Products, you agree to be bound by the following: (1) the [1]Google
Terms of Service (the "Universal Terms"); (2) the terms found on our
[2]Legal Notices page (the "Legal Notices"); and (3) the additional
terms and conditions set forth below (the "Additional Terms"). Before
you continue, you should read each of these three documents, as
together they form a binding agreement between you and Google regarding
your use of the Products. Collectively, the Universal Terms, the Legal
Notices, and the Additional Terms are referred to as the "Terms".
As a condition of downloading, accessing, or using the Products, you
also agree to the terms of the [3]Google Privacy Policy.
1. Use of the Products. Google grants you a non-exclusive,
non-transferable license to access the Google Maps service, to download
and use the Google Earth software and service, and to access the
Content (as defined below) within the Products and according to the
Terms.
2. Restrictions on Use. Unless you have received prior written
authorization from Google (or, as applicable, from the provider of
particular Content), you must not:
(a) access or use the Products or any Content through any technology or
means other than those provided in the Products, or through other
explicitly authorized means Google may designate (such as through the
[4]Google Maps/Google Earth APIs);
(b) copy, translate, modify, or make derivative works of the Content or
any part thereof;
(c) redistribute, sublicense, rent, publish, sell, assign, lease,
market, transfer, or otherwise make the Products or Content available
to third parties;
(d) reverse engineer, decompile or otherwise attempt to extract the
source code of the Service or any part thereof, unless this is
expressly permitted or required by applicable law;
(e) use the Products in a manner that gives you or any other person
access to mass downloads or bulk feeds of any Content, including but
not limited to numerical latitude or longitude coordinates, imagery,
and visible map data;
(f) delete, obscure, or in any manner alter any warning, notice
(including but not limited to any copyright or other proprietary rights
notice), or link that appears in the Products or the Content; or
(g) use the Service or Content with any products, systems, or
applications for or in connection with (i) real time navigation or
route guidance, including but not limited to turn-by-turn route
guidance that is synchronized to the position of a user's
sensor-enabled device; or (ii) any systems or functions for automatic
or autonomous control of vehicle behavior.
3. Appropriate Conduct; Compliance with Law and Google Policies. You
agree that you are responsible for your own conduct and content while
using the Products, and for any consequences thereof. You agree to use
the Products only for purposes that are legal, proper and in accordance
with the Terms and any applicable policies or guidelines Google may
make available. By way of example, and not as a limitation, you agree
that when using the Products or the Content, you will not:
(a) defame, abuse, harass, stalk, threaten or otherwise violate the
legal rights (such as rights of privacy and publicity) of others;
(b) upload, post, email, transmit or otherwise make available any
inappropriate, defamatory, obscene, or unlawful content;
(c) upload, post, transmit or otherwise make available any content that
infringes any patent, trademark, copyright, trade secret or other
proprietary right of any party, unless you are the owner of the rights,
or have the permission of the owner or other legal justification to use
such content;
(d) upload, post, email, transmit or otherwise make available messages
that promote pyramid schemes, chain letters, or disruptive commercial
messages or advertisements;
(e) upload, post, email, transmit or otherwise make available any other
content, message, or communication prohibited by applicable law, the
Terms or any applicable Product policies or guidelines;
(f) download any file posted by another that you know, or reasonably
should know, cannot be legally distributed in such manner;
(g) impersonate another person or entity, or falsify or delete any
author attributions or proprietary designations or labels of the origin
or source of Content, software or other material;
(h) restrict or inhibit any other user from using and enjoying the
Products or Google services;
(i) interfere with or disrupt Google services or servers or networks
connected to Google services, or disobey any requirements, procedures,
policies or regulations of networks connected to Google services;
(j) use any robot, spider, site search/retrieval application, or other
device to retrieve or index any portion of the Google services or
Content, or collect information about users for any unauthorized
purpose;
(k) submit content that falsely expresses or implies that such content
is sponsored or endorsed by Google;
(l) create user accounts by automated means or under false or
fraudulent pretenses;
(m) promote or provide instructional information about illegal
activities;
(n) promote physical harm or injury against any group or individual; or
(o) transmit any viruses, worms, defects, Trojan horses, or any items
of a destructive nature.
4. Content in the Products. Google Maps and Google Earth allow you to
access and view a variety of content, including but not limited to
photographic imagery, map and terrain data, business listings, reviews,
traffic, and other related information provided by Google, its
licensors, and its users (the "Content"). Additionally, you may choose
to access other third party content made available in the Products
through Google services such as Google Gadgets. You understand and
agree to the following:
(a) Map data, traffic, directions, and related Content are provided for
planning purposes only. You may find that weather conditions,
construction projects, closures, or other events may cause road
conditions or directions to differ from the map results. You should
exercise judgment in your use of this Content.
(b) By using the Products, you do not receive any, and Google and/or
its licensors and users retain all ownership rights in the Content. You
may not use, access or allow others to use or access the Content in any
manner not permitted under the Terms, unless you have been specifically
permitted to do so by Google or by the owner of that Content, in a
separate agreement.
(c) Certain Content is provided under [5]license from third parties,
including but not limited to Tele Atlas B.V. ("Tele Atlas"), and is
subject to copyright and other intellectual property rights owned by or
licensed to Tele Atlas and/or such third parties. You may be held
liable for any unauthorized copying or disclosure of this Content. Your
use of Tele Atlas Content, including but not limited to printing or use
in marketing or promotional materials, is subject to additional
restrictions located in the [6]Legal Notices page.
5. Additional Terms for Google Earth.
(a) Export Restrictions. The Google Earth software is subject to United
States export controls. By using the Google Earth software, you agree
to use the software only for purposes that are legal, proper and in
accordance with these Terms. Specifically, you agree to comply with all
applicable export and reexport control laws and regulations, including
the Export Administration Regulations ("EAR") maintained by the U.S.
Department of Commerce, and trade and economic sanctions maintained by
the Treasury Department's Office of Foreign Assets Control.
(b) Automatic Updates. The Google Earth software may communicate with
Google servers from time to time to check for available updates to the
software, such as bug fixes, patches, enhanced functions, missing
plug-ins and new versions (collectively, "Updates"). By installing the
Google Earth software, you agree to automatically request and receive
Updates.
6. DISCLAIMER OF WARRANTIES AND LIMITATIONS ON LIABILITY.
(a) GOOGLE AND ITS LICENSORS (INCLUDING BUT NOT LIMITED TO TELE ATLAS
AND ITS SUPPLIERS) MAKE NO REPRESENTATIONS OR WARRANTIES REGARDING THE
ACCURACY OR COMPLETENESS OF ANY CONTENT OR THE PRODUCTS.
(b) SUBJECT TO SECTION 14.1 OF THE GOOGLE UNIVERSAL TERMS, GOOGLE AND
ITS LICENSORS (INCLUDING BUT NOT LIMITED TO TELE ATLAS AND ITS
SUPPLIERS) DISCLAIM ALL WARRANTIES IN CONNECTION WITH THE CONTENT AND
THE PRODUCTS, AND WILL NOT BE LIABLE FOR ANY DAMAGE OR LOSS RESULTING
FROM YOUR USE OF THE CONTENT OR THE PRODUCTS.
7. U.S. Government Restricted Rights. If the Products are being used or
accessed by or on behalf of the United States government, such use is
subject to additional terms located in the "Government End Users"
section of our [7]Legal Notices page.
References
1. http://www.google.com/terms_of_service.html
2. http://www.google.com/intl/en-us/help/legalnotices_maps.html
3. http://www.google.com/privacypolicy.html
4. http://code.google.com/apis/maps/terms.html
5. http://www.google.com/intl/en-us/help/legalnotices_maps.html
6. http://www.google.com/intl/en-us/help/legalnotices_maps.html
7. http://www.google.com/intl/en-us/help/legalnotices_maps.html

View File

@ -0,0 +1,25 @@
Rdisc (this program) was developed by Sun Microsystems, Inc. and is
provided for unrestricted use provided that this legend is included on
all tape media and as a part of the software program in whole or part.
Users may copy or modify Rdisc without charge, and they may freely
distribute it.
RDISC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
Rdisc is provided with no support and without any obligation on the
part of Sun Microsystems, Inc. to assist in its use, correction,
modification or enhancement.
SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY RDISC
OR ANY PART THEREOF.
In no event will Sun Microsystems, Inc. be liable for any lost revenue
or profits or other special, indirect and consequential damages, even if
Sun has been advised of the possibility of such damages.
Sun Microsystems, Inc.
2550 Garcia Avenue
Mountain View, California 94043

View File

@ -1,26 +0,0 @@
Warsow Content License
Assets that are property of Chasseur de bots, use the following Warsow Content License.
TERMS AND CONDITIONS FOR USAGE, COPYING, DISTRIBUTION AND MODIFICATION
1. This License applies to any material or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this Warsow Content License.
2. Terms defined in this Article, and parenthetically elsewhere, shall throughout this License have the meanings here and there provided. Defined terms may be used in the singular or plural. Definitions:
The "Material", below, refers to any such material or work, and a "work based on the Material" means either the Material or any Derivative Work under copyright law.
"Derivative Work" shall mean a work containing the Material or a portion of it, such as a revision, modification, enhancement, adaptation, translation (including compilation or recompilation by computer), abridgement, condensation, expansion, or any other form in which such preexisting works may be recast, transformed, or adapted, and that, if prepared without authorization of the owner of the copyright in such preexisting work, would constitute a copyright infringement.
Each licensee is addressed as "you".
3. You may not copy, modify, publish, transmit, sell, participate in the transfer or sale or reproduce, create Derivative Works from, distribute, perform, display or in any way exploit any of the Material released under this License unless expressly permitted by the Chasseur de bots team.
4. You may freely distribute the Warsow archive/installer unmodified on any media. You may re-compress using different archival formats suitable for your OS (i.e. zip/tgz/rpm/deb/dmg), any changes beyond that require explicit permission of the Chasseur de bots association.
5. THERE IS NO WARRANTY FOR THE MATERIAL PROVIDED, TO THE EXTENT PERMITTED BY APPLICABLE LAW. THE MATERIAL IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE MATERIAL IS WITH YOU.
6. IN NO EVENT SHALL Chasseur de bots BE LIABLE FOR ANY DAMAGES WHATSOEVER, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE MATERIAL.
END OF TERMS AND CONDITIONS

View File

@ -1,51 +0,0 @@
COPYRIGHT
Certain rules apply to the distribution of the Zoo archiver.
The following rules apply only to the zoo archiver itself.
Currently, all extract-only programs, and all supporting utili-
ties, are fully in the public domain and are expected to remain so
for the forseeable future.
"This program" refers to version 1.50 and separately to each sub-
sequent version of the Zoo archiver and to all derivative works
thereof. "Distribution right" refers to any copyright, compila-
tion copyright, license, or other right to control distribution or
copying. "Compiled code" refers to software that can be executed
by a computer system.
This program is copyrighted but its distribution for noncommercial
purposes is permitted, with the following restrictions.
- You are prohibited from distributing this program as part of
any package over which you claim a distribution right. This
restriction does not apply if any distribution right is
claimed only over individual items that you own or for which
the distribution right has been explicitly assigned to you,
and not over the package as a collection.
- You are prohibited from making this program available for
downloading via telecommunications if you charge a total of
more than $7.00 per hour at 1200 bps.
- You are prohibited from distributing this program as compiled
code unless you also distribute the source code from which
the compiled code was derived. This restriction does not
apply if the compiled code was created by me.
- You are prohibited from creating, from this program, any
derivative work over which you claim a distribution right.
The above restrictions may be relaxed by special agreement;
please contact me for details.
-- Rahul Dhesi 1987/07/12
UUCP: iuvax!bsu-cs!dhesi or
pur-ee!bsu-cs!dhesi
GEnie: DHESI
Plink: OLS806
Phone: +1 317 285 8641 daytime EST
US mail: 720 W. Centennial Ave #15,
Muncie, Indiana 47303

View File

@ -10,5 +10,5 @@ PDEPEND=emacs? ( app-emacs/eselect-mode ) vim-syntax? ( app-vim/eselect-syntax )
RDEPEND=sys-apps/sed || ( sys-apps/coreutils sys-freebsd/freebsd-bin app-misc/realpath ) sys-apps/file sys-libs/ncurses
SLOT=0
SRC_URI=https://dev.gentoo.org/~ulm/eselect/eselect-1.3.8.tar.xz
_eclasses_=bash-completion-r1 8e447753aaf658afa609fbf961d80ab7 epatch 8233751dc5105a6ae8fcd86ce2bb0247 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 9c113d6a64826c40154cad7be15d95ea ltprune 2770eed66a9b8ef944714cd0e968182e multilib 97f470f374f2e94ccab04a2fb21d811e toolchain-funcs 8fec6b1eb195836560e70b66d98fb163
_eclasses_=bash-completion-r1 8e447753aaf658afa609fbf961d80ab7 epatch 8233751dc5105a6ae8fcd86ce2bb0247 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 227b041a120d309fdefbebb3b8c1dfa9 ltprune 2770eed66a9b8ef944714cd0e968182e multilib 97f470f374f2e94ccab04a2fb21d811e toolchain-funcs 185a06792159ca143528e7010368e8af
_md5_=0f652b84e060a23f2576a46c4a1ba51f

View File

@ -10,5 +10,5 @@ PDEPEND=emacs? ( app-emacs/eselect-mode ) vim-syntax? ( app-vim/eselect-syntax )
RDEPEND=sys-apps/sed || ( sys-apps/coreutils sys-freebsd/freebsd-bin app-misc/realpath ) sys-apps/file sys-libs/ncurses
SLOT=0
SRC_URI=https://dev.gentoo.org/~ulm/eselect/eselect-1.4.4.tar.xz
_eclasses_=bash-completion-r1 8e447753aaf658afa609fbf961d80ab7 epatch 8233751dc5105a6ae8fcd86ce2bb0247 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 9c113d6a64826c40154cad7be15d95ea ltprune 2770eed66a9b8ef944714cd0e968182e multilib 97f470f374f2e94ccab04a2fb21d811e toolchain-funcs 8fec6b1eb195836560e70b66d98fb163
_eclasses_=bash-completion-r1 8e447753aaf658afa609fbf961d80ab7 epatch 8233751dc5105a6ae8fcd86ce2bb0247 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 227b041a120d309fdefbebb3b8c1dfa9 ltprune 2770eed66a9b8ef944714cd0e968182e multilib 97f470f374f2e94ccab04a2fb21d811e toolchain-funcs 185a06792159ca143528e7010368e8af
_md5_=120afef333f05fda0c636c439058d2d7

View File

@ -10,5 +10,5 @@ PDEPEND=emacs? ( app-emacs/eselect-mode ) vim-syntax? ( app-vim/eselect-syntax )
RDEPEND=sys-apps/sed || ( sys-apps/coreutils sys-freebsd/freebsd-bin app-misc/realpath ) sys-apps/file sys-libs/ncurses
SLOT=0
SRC_URI=https://dev.gentoo.org/~ulm/eselect/eselect-1.4.5.tar.xz
_eclasses_=bash-completion-r1 8e447753aaf658afa609fbf961d80ab7 epatch 8233751dc5105a6ae8fcd86ce2bb0247 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 9c113d6a64826c40154cad7be15d95ea ltprune 2770eed66a9b8ef944714cd0e968182e multilib 97f470f374f2e94ccab04a2fb21d811e toolchain-funcs 8fec6b1eb195836560e70b66d98fb163
_eclasses_=bash-completion-r1 8e447753aaf658afa609fbf961d80ab7 epatch 8233751dc5105a6ae8fcd86ce2bb0247 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 227b041a120d309fdefbebb3b8c1dfa9 ltprune 2770eed66a9b8ef944714cd0e968182e multilib 97f470f374f2e94ccab04a2fb21d811e toolchain-funcs 185a06792159ca143528e7010368e8af
_md5_=4ef24568fa8ebda7edc80d5e46e69cb7

View File

@ -10,5 +10,5 @@ PDEPEND=emacs? ( app-emacs/eselect-mode ) vim-syntax? ( app-vim/eselect-syntax )
RDEPEND=sys-apps/sed || ( sys-apps/coreutils sys-freebsd/freebsd-bin app-misc/realpath ) sys-apps/file sys-libs/ncurses
SLOT=0
SRC_URI=https://dev.gentoo.org/~ulm/eselect/eselect-1.4.6.tar.xz
_eclasses_=bash-completion-r1 8e447753aaf658afa609fbf961d80ab7 epatch 8233751dc5105a6ae8fcd86ce2bb0247 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 9c113d6a64826c40154cad7be15d95ea ltprune 2770eed66a9b8ef944714cd0e968182e multilib 97f470f374f2e94ccab04a2fb21d811e toolchain-funcs 8fec6b1eb195836560e70b66d98fb163
_eclasses_=bash-completion-r1 8e447753aaf658afa609fbf961d80ab7 epatch 8233751dc5105a6ae8fcd86ce2bb0247 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 227b041a120d309fdefbebb3b8c1dfa9 ltprune 2770eed66a9b8ef944714cd0e968182e multilib 97f470f374f2e94ccab04a2fb21d811e toolchain-funcs 185a06792159ca143528e7010368e8af
_md5_=b3b62b403862040ee5e05f2c02cb3e4f

View File

@ -1,5 +1,5 @@
DEFINED_PHASES=compile install postinst prepare unpack
DEPEND=sys-apps/sed || ( sys-apps/coreutils sys-freebsd/freebsd-bin app-misc/realpath ) doc? ( dev-python/docutils ) >=app-portage/elt-patches-20170317 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.15:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 >=dev-vcs/git-1.8.2.1
DEPEND=sys-apps/sed || ( sys-apps/coreutils sys-freebsd/freebsd-bin app-misc/realpath ) doc? ( dev-python/docutils ) >=app-portage/elt-patches-20170422 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.15:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 >=dev-vcs/git-1.8.2.1
DESCRIPTION=Gentoo's multi-purpose configuration and management tool
EAPI=5
HOMEPAGE=https://wiki.gentoo.org/wiki/Project:Eselect
@ -8,5 +8,5 @@ LICENSE=GPL-2+ || ( GPL-2+ CC-BY-SA-2.5 )
PDEPEND=emacs? ( app-emacs/eselect-mode ) vim-syntax? ( app-vim/eselect-syntax )
RDEPEND=sys-apps/sed || ( sys-apps/coreutils sys-freebsd/freebsd-bin app-misc/realpath ) sys-apps/file sys-libs/ncurses
SLOT=0
_eclasses_=autotools 7027963e8e8cc12c91117bdb9225dc26 bash-completion-r1 8e447753aaf658afa609fbf961d80ab7 git-r3 cbafa3261c37c7e3af44bb16a34ea390 libtool e32ea84bf82cf8987965b574672dba93 multilib 97f470f374f2e94ccab04a2fb21d811e toolchain-funcs 8fec6b1eb195836560e70b66d98fb163
_eclasses_=autotools dc412f38566b91012efd58b9c203e6c3 bash-completion-r1 8e447753aaf658afa609fbf961d80ab7 git-r3 52a888802d25387c2c74cb845d1219bc libtool 0081a71a261724730ec4c248494f044d multilib 97f470f374f2e94ccab04a2fb21d811e toolchain-funcs 185a06792159ca143528e7010368e8af
_md5_=5b7feb326d10ea60e08f4a90cb501f04

View File

@ -1,5 +1,5 @@
DEFINED_PHASES=compile configure install postinst prepare test
DEPEND=>=dev-libs/popt-1.5 selinux? ( sys-libs/libselinux ) acl? ( virtual/acl ) >=sys-apps/sed-4 >=app-portage/elt-patches-20170317 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.15:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
DEPEND=>=dev-libs/popt-1.5 selinux? ( sys-libs/libselinux ) acl? ( virtual/acl ) >=sys-apps/sed-4 >=app-portage/elt-patches-20170422 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.15:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
DESCRIPTION=Rotates, compresses, and mails system logs
EAPI=5
HOMEPAGE=https://fedorahosted.org/logrotate/
@ -9,5 +9,5 @@ LICENSE=GPL-2
RDEPEND=>=dev-libs/popt-1.5 selinux? ( sys-libs/libselinux ) acl? ( virtual/acl ) selinux? ( sec-policy/selinux-logrotate ) cron? ( virtual/cron )
SLOT=0
SRC_URI=https://fedorahosted.org/releases/l/o/logrotate/logrotate-3.9.1.tar.gz
_eclasses_=autotools 7027963e8e8cc12c91117bdb9225dc26 epatch 8233751dc5105a6ae8fcd86ce2bb0247 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 9c113d6a64826c40154cad7be15d95ea flag-o-matic 61cad4fb5d800b29d484b27cb033f59b libtool e32ea84bf82cf8987965b574672dba93 ltprune 2770eed66a9b8ef944714cd0e968182e multilib 97f470f374f2e94ccab04a2fb21d811e toolchain-funcs 8fec6b1eb195836560e70b66d98fb163
_eclasses_=autotools dc412f38566b91012efd58b9c203e6c3 epatch 8233751dc5105a6ae8fcd86ce2bb0247 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 227b041a120d309fdefbebb3b8c1dfa9 flag-o-matic 2274fcc1e7ef6affaff5bcd636275417 libtool 0081a71a261724730ec4c248494f044d ltprune 2770eed66a9b8ef944714cd0e968182e multilib 97f470f374f2e94ccab04a2fb21d811e toolchain-funcs 185a06792159ca143528e7010368e8af
_md5_=91f33bf1e4fe628a346e70abc627a66e

View File

@ -1,5 +1,5 @@
DEFINED_PHASES=compile configure install postinst prepare test
DEPEND=>=dev-libs/popt-1.5 selinux? ( sys-libs/libselinux ) acl? ( virtual/acl ) >=sys-apps/sed-4 >=app-portage/elt-patches-20170317 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.15:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
DEPEND=>=dev-libs/popt-1.5 selinux? ( sys-libs/libselinux ) acl? ( virtual/acl ) >=sys-apps/sed-4 >=app-portage/elt-patches-20170422 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.15:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
DESCRIPTION=Rotates, compresses, and mails system logs
EAPI=5
HOMEPAGE=https://fedorahosted.org/logrotate/
@ -9,5 +9,5 @@ LICENSE=GPL-2
RDEPEND=>=dev-libs/popt-1.5 selinux? ( sys-libs/libselinux ) acl? ( virtual/acl ) selinux? ( sec-policy/selinux-logrotate ) cron? ( virtual/cron )
SLOT=0
SRC_URI=https://fedorahosted.org/releases/l/o/logrotate/logrotate-3.9.1.tar.gz
_eclasses_=autotools 7027963e8e8cc12c91117bdb9225dc26 epatch 8233751dc5105a6ae8fcd86ce2bb0247 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 9c113d6a64826c40154cad7be15d95ea flag-o-matic 61cad4fb5d800b29d484b27cb033f59b libtool e32ea84bf82cf8987965b574672dba93 ltprune 2770eed66a9b8ef944714cd0e968182e multilib 97f470f374f2e94ccab04a2fb21d811e toolchain-funcs 8fec6b1eb195836560e70b66d98fb163
_eclasses_=autotools dc412f38566b91012efd58b9c203e6c3 epatch 8233751dc5105a6ae8fcd86ce2bb0247 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 227b041a120d309fdefbebb3b8c1dfa9 flag-o-matic 2274fcc1e7ef6affaff5bcd636275417 libtool 0081a71a261724730ec4c248494f044d ltprune 2770eed66a9b8ef944714cd0e968182e multilib 97f470f374f2e94ccab04a2fb21d811e toolchain-funcs 185a06792159ca143528e7010368e8af
_md5_=68fa7793545ce4eb8d7d394fe6bcc700

View File

@ -1,5 +1,5 @@
DEFINED_PHASES=compile configure install postinst prepare test
DEPEND=>=dev-libs/popt-1.5 selinux? ( sys-libs/libselinux ) acl? ( virtual/acl ) >=sys-apps/sed-4 >=app-portage/elt-patches-20170317 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.15:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
DEPEND=>=dev-libs/popt-1.5 selinux? ( sys-libs/libselinux ) acl? ( virtual/acl ) >=sys-apps/sed-4 >=app-portage/elt-patches-20170422 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.15:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
DESCRIPTION=Rotates, compresses, and mails system logs
EAPI=5
HOMEPAGE=https://fedorahosted.org/logrotate/
@ -9,5 +9,5 @@ LICENSE=GPL-2
RDEPEND=>=dev-libs/popt-1.5 selinux? ( sys-libs/libselinux ) acl? ( virtual/acl ) selinux? ( sec-policy/selinux-logrotate ) cron? ( virtual/cron )
SLOT=0
SRC_URI=https://github.com/logrotate/logrotate/archive/3.9.2.tar.gz
_eclasses_=autotools 7027963e8e8cc12c91117bdb9225dc26 epatch 8233751dc5105a6ae8fcd86ce2bb0247 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 9c113d6a64826c40154cad7be15d95ea flag-o-matic 61cad4fb5d800b29d484b27cb033f59b libtool e32ea84bf82cf8987965b574672dba93 ltprune 2770eed66a9b8ef944714cd0e968182e multilib 97f470f374f2e94ccab04a2fb21d811e toolchain-funcs 8fec6b1eb195836560e70b66d98fb163
_eclasses_=autotools dc412f38566b91012efd58b9c203e6c3 epatch 8233751dc5105a6ae8fcd86ce2bb0247 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 227b041a120d309fdefbebb3b8c1dfa9 flag-o-matic 2274fcc1e7ef6affaff5bcd636275417 libtool 0081a71a261724730ec4c248494f044d ltprune 2770eed66a9b8ef944714cd0e968182e multilib 97f470f374f2e94ccab04a2fb21d811e toolchain-funcs 185a06792159ca143528e7010368e8af
_md5_=53a77dce87076d65e9bcd144ac612a10

View File

@ -7,5 +7,5 @@ LICENSE=GPL-2
RDEPEND=app-shells/bash dev-lang/perl || ( ( sys-apps/portage app-portage/portage-utils ) sys-apps/pkgcore sys-apps/paludis )
SLOT=0
SRC_URI=mirror://gentoo/perl-cleaner-2.20.tar.bz2 https://dev.gentoo.org/~dilfridge/distfiles/perl-cleaner-2.20.tar.bz2
_eclasses_=epatch 8233751dc5105a6ae8fcd86ce2bb0247 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 9c113d6a64826c40154cad7be15d95ea ltprune 2770eed66a9b8ef944714cd0e968182e multilib 97f470f374f2e94ccab04a2fb21d811e prefix df8265631f8bf5f5df387e9b987121f9 toolchain-funcs 8fec6b1eb195836560e70b66d98fb163
_eclasses_=epatch 8233751dc5105a6ae8fcd86ce2bb0247 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 227b041a120d309fdefbebb3b8c1dfa9 ltprune 2770eed66a9b8ef944714cd0e968182e multilib 97f470f374f2e94ccab04a2fb21d811e prefix 7b6fb2fc216b101b5d97d171925a847c toolchain-funcs 185a06792159ca143528e7010368e8af
_md5_=685f4aa57f02cccd0b41fe464d90e825

View File

@ -7,5 +7,5 @@ LICENSE=GPL-2
RDEPEND=app-shells/bash dev-lang/perl || ( ( sys-apps/portage app-portage/portage-utils ) sys-apps/pkgcore sys-apps/paludis )
SLOT=0
SRC_URI=mirror://gentoo/perl-cleaner-2.22.tar.bz2 https://dev.gentoo.org/~dilfridge/distfiles/perl-cleaner-2.22.tar.bz2
_eclasses_=prefix df8265631f8bf5f5df387e9b987121f9
_eclasses_=prefix 7b6fb2fc216b101b5d97d171925a847c
_md5_=875f2fe91f0b888bf934c8d016603337

View File

@ -7,5 +7,5 @@ LICENSE=GPL-2
RDEPEND=app-shells/bash dev-lang/perl || ( ( sys-apps/portage app-portage/portage-utils ) sys-apps/pkgcore sys-apps/paludis )
SLOT=0
SRC_URI=mirror://gentoo/perl-cleaner-2.23.tar.bz2 https://dev.gentoo.org/~dilfridge/distfiles/perl-cleaner-2.23.tar.bz2
_eclasses_=prefix df8265631f8bf5f5df387e9b987121f9
_eclasses_=prefix 7b6fb2fc216b101b5d97d171925a847c
_md5_=92e938e8b473a0fe766b98c4724ef07f

View File

@ -6,5 +6,5 @@ HOMEPAGE=https://www.gentoo.org/proj/en/perl/
LICENSE=GPL-2
RDEPEND=app-shells/bash dev-lang/perl || ( ( sys-apps/portage app-portage/portage-utils ) sys-apps/pkgcore sys-apps/paludis )
SLOT=0
_eclasses_=git-r3 cbafa3261c37c7e3af44bb16a34ea390 prefix df8265631f8bf5f5df387e9b987121f9
_eclasses_=git-r3 52a888802d25387c2c74cb845d1219bc prefix 7b6fb2fc216b101b5d97d171925a847c
_md5_=875f2fe91f0b888bf934c8d016603337

View File

@ -6,5 +6,5 @@ HOMEPAGE=https://www.gentoo.org/proj/en/Python/
LICENSE=GPL-2
RDEPEND=sys-apps/gentoo-functions || ( >=sys-apps/portage-2.1.6 >=sys-apps/paludis-0.56.0 sys-apps/pkgcore )
SLOT=0
_eclasses_=git-r3 cbafa3261c37c7e3af44bb16a34ea390
_eclasses_=git-r3 52a888802d25387c2c74cb845d1219bc
_md5_=a6a205591068dc77d35fa78ff5536806

View File

@ -1,5 +1,5 @@
DEFINED_PHASES=compile config configure install postinst prepare test unpack
DEPEND=>=dev-libs/json-c-0.11:= >=dev-libs/libestr-0.1.9 >=dev-libs/liblogging-1.0.1:=[stdlog] >=sys-libs/zlib-1.2.5 dbi? ( >=dev-db/libdbi-0.8.3 ) elasticsearch? ( >=net-misc/curl-7.35.0 ) gcrypt? ( >=dev-libs/libgcrypt-1.5.3:= ) jemalloc? ( >=dev-libs/jemalloc-3.3.1 ) kerberos? ( virtual/krb5 ) mongodb? ( >=dev-libs/libmongo-client-0.1.4 ) mysql? ( virtual/mysql ) normalize? ( >=dev-libs/libee-0.4.0 >=dev-libs/liblognorm-1.1.2:= ) omudpspoof? ( >=net-libs/libnet-1.1.6 ) postgres? ( >=dev-db/postgresql-8.4.20:= ) rabbitmq? ( >=net-libs/rabbitmq-c-0.3.0 ) redis? ( >=dev-libs/hiredis-0.11.0 ) relp? ( >=dev-libs/librelp-1.2.5 ) rfc3195? ( >=dev-libs/liblogging-1.0.1:=[rfc3195] ) rfc5424hmac? ( !libressl? ( dev-libs/openssl:0= ) libressl? ( dev-libs/libressl:0= ) ) snmp? ( >=net-analyzer/net-snmp-5.7.2 ) ssl? ( >=net-libs/gnutls-2.12.23 ) systemd? ( >=sys-apps/systemd-208 ) zeromq? ( >=net-libs/czmq-1.2.0 ) virtual/pkgconfig >=app-portage/elt-patches-20170317 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.15:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 virtual/pkgconfig
DEPEND=>=dev-libs/json-c-0.11:= >=dev-libs/libestr-0.1.9 >=dev-libs/liblogging-1.0.1:=[stdlog] >=sys-libs/zlib-1.2.5 dbi? ( >=dev-db/libdbi-0.8.3 ) elasticsearch? ( >=net-misc/curl-7.35.0 ) gcrypt? ( >=dev-libs/libgcrypt-1.5.3:= ) jemalloc? ( >=dev-libs/jemalloc-3.3.1 ) kerberos? ( virtual/krb5 ) mongodb? ( >=dev-libs/libmongo-client-0.1.4 ) mysql? ( virtual/mysql ) normalize? ( >=dev-libs/libee-0.4.0 >=dev-libs/liblognorm-1.1.2:= ) omudpspoof? ( >=net-libs/libnet-1.1.6 ) postgres? ( >=dev-db/postgresql-8.4.20:= ) rabbitmq? ( >=net-libs/rabbitmq-c-0.3.0 ) redis? ( >=dev-libs/hiredis-0.11.0 ) relp? ( >=dev-libs/librelp-1.2.5 ) rfc3195? ( >=dev-libs/liblogging-1.0.1:=[rfc3195] ) rfc5424hmac? ( !libressl? ( dev-libs/openssl:0= ) libressl? ( dev-libs/libressl:0= ) ) snmp? ( >=net-analyzer/net-snmp-5.7.2 ) ssl? ( >=net-libs/gnutls-2.12.23 ) systemd? ( >=sys-apps/systemd-208 ) zeromq? ( >=net-libs/czmq-1.2.0 ) virtual/pkgconfig >=app-portage/elt-patches-20170422 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.15:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 virtual/pkgconfig
DESCRIPTION=An enhanced multi-threaded syslogd with database support and more
EAPI=5
HOMEPAGE=http://www.rsyslog.com/
@ -9,5 +9,5 @@ LICENSE=GPL-3 LGPL-3 Apache-2.0
RDEPEND=>=dev-libs/json-c-0.11:= >=dev-libs/libestr-0.1.9 >=dev-libs/liblogging-1.0.1:=[stdlog] >=sys-libs/zlib-1.2.5 dbi? ( >=dev-db/libdbi-0.8.3 ) elasticsearch? ( >=net-misc/curl-7.35.0 ) gcrypt? ( >=dev-libs/libgcrypt-1.5.3:= ) jemalloc? ( >=dev-libs/jemalloc-3.3.1 ) kerberos? ( virtual/krb5 ) mongodb? ( >=dev-libs/libmongo-client-0.1.4 ) mysql? ( virtual/mysql ) normalize? ( >=dev-libs/libee-0.4.0 >=dev-libs/liblognorm-1.1.2:= ) omudpspoof? ( >=net-libs/libnet-1.1.6 ) postgres? ( >=dev-db/postgresql-8.4.20:= ) rabbitmq? ( >=net-libs/rabbitmq-c-0.3.0 ) redis? ( >=dev-libs/hiredis-0.11.0 ) relp? ( >=dev-libs/librelp-1.2.5 ) rfc3195? ( >=dev-libs/liblogging-1.0.1:=[rfc3195] ) rfc5424hmac? ( !libressl? ( dev-libs/openssl:0= ) libressl? ( dev-libs/libressl:0= ) ) snmp? ( >=net-analyzer/net-snmp-5.7.2 ) ssl? ( >=net-libs/gnutls-2.12.23 ) systemd? ( >=sys-apps/systemd-208 ) zeromq? ( >=net-libs/czmq-1.2.0 )
SLOT=0
SRC_URI=http://www.rsyslog.com/files/download/rsyslog/rsyslog-8.13.0.tar.gz doc? ( http://www.rsyslog.com/files/download/rsyslog/rsyslog-doc-8.13.0.tar.gz )
_eclasses_=autotools 7027963e8e8cc12c91117bdb9225dc26 autotools-utils 5a4611dfba155b1659528663fad4cd5e epatch 8233751dc5105a6ae8fcd86ce2bb0247 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 9c113d6a64826c40154cad7be15d95ea libtool e32ea84bf82cf8987965b574672dba93 ltprune 2770eed66a9b8ef944714cd0e968182e multilib 97f470f374f2e94ccab04a2fb21d811e systemd e12dd5e3cf1f359292cea2a70abeba5f toolchain-funcs 8fec6b1eb195836560e70b66d98fb163
_eclasses_=autotools dc412f38566b91012efd58b9c203e6c3 autotools-utils 5a4611dfba155b1659528663fad4cd5e epatch 8233751dc5105a6ae8fcd86ce2bb0247 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 227b041a120d309fdefbebb3b8c1dfa9 libtool 0081a71a261724730ec4c248494f044d ltprune 2770eed66a9b8ef944714cd0e968182e multilib 97f470f374f2e94ccab04a2fb21d811e systemd 34815d3b76e745c5ca33eec9f95074c2 toolchain-funcs 185a06792159ca143528e7010368e8af
_md5_=ad7430950157292d17d6558a007430ff

Some files were not shown because too many files have changed in this diff Show More