bump(profiles): sync with upstream

Packages updated:
  eclass
  licenses
  profiles
  scripts
This commit is contained in:
David Michael 2019-05-24 19:19:12 +00:00
parent 7d6d710a68
commit 737432ee1e
426 changed files with 3413 additions and 6818 deletions

View File

@ -1,4 +1,4 @@
# Copyright 1999-2018 Gentoo Foundation # Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License, v2 or later # Distributed under the terms of the GNU General Public License, v2 or later
# @ECLASS: ant-tasks.eclass # @ECLASS: ant-tasks.eclass
@ -11,27 +11,37 @@
# This eclass provides functionality and default ebuild variables for building # This eclass provides functionality and default ebuild variables for building
# dev-java/ant-* packages easily. # dev-java/ant-* packages easily.
case "${EAPI:-0}" in
0|1|2|3|4|5)
die "ant-tasks.eclass: EAPI ${EAPI} is too old."
;;
6|7)
;;
*)
die "ant-tasks.eclass: EAPI ${EAPI} is not supported yet."
;;
esac
# we set ant-core dep ourselves, restricted # we set ant-core dep ourselves, restricted
JAVA_ANT_DISABLE_ANT_CORE_DEP=true JAVA_ANT_DISABLE_ANT_CORE_DEP=true
# rewriting build.xml for are the testcases has no reason atm # rewriting build.xml for are the testcases has no reason atm
JAVA_PKG_BSFIX_ALL=no JAVA_PKG_BSFIX_ALL=no
inherit java-pkg-2 java-ant-2 inherit java-pkg-2 java-ant-2
[[ ${EAPI:-0} == [0123456] ]] && inherit eapi7-ver [[ ${EAPI:-0} -eq 6 ]] && inherit eapi7-ver
EXPORT_FUNCTIONS src_unpack src_compile src_install EXPORT_FUNCTIONS src_unpack src_compile src_install
# @ECLASS-VARIABLE: ANT_TASK_JDKVER # @ECLASS-VARIABLE: ANT_TASK_JDKVER
# @DESCRIPTION: # @DESCRIPTION:
# Affects the >=virtual/jdk version set in DEPEND string. Defaults to 1.5, can # Affects the >=virtual/jdk version set in DEPEND string. Defaults to 1.8, can
# be overridden from ebuild BEFORE inheriting this eclass. # be overridden from ebuild BEFORE inheriting this eclass.
ANT_TASK_JDKVER=${ANT_TASK_JDKVER-1.5} ANT_TASK_JDKVER=${ANT_TASK_JDKVER-1.8}
# @ECLASS-VARIABLE: ANT_TASK_JREVER # @ECLASS-VARIABLE: ANT_TASK_JREVER
# @DESCRIPTION: # @DESCRIPTION:
# Affects the >=virtual/jre version set in DEPEND string. Defaults to 1.5, can # Affects the >=virtual/jre version set in DEPEND string. Defaults to 1.8, can
# be overridden from ebuild BEFORE inheriting this eclass. # be overridden from ebuild BEFORE inheriting this eclass.
ANT_TASK_JREVER=${ANT_TASK_JREVER-1.5} ANT_TASK_JREVER=${ANT_TASK_JREVER-1.8}
# @ECLASS-VARIABLE: ANT_TASK_NAME # @ECLASS-VARIABLE: ANT_TASK_NAME
# @DESCRIPTION: # @DESCRIPTION:
@ -56,31 +66,11 @@ ANT_TASK_DEPNAME=${ANT_TASK_DEPNAME-${ANT_TASK_NAME}}
# Version of ant-core this task is intended to register and thus load with. # Version of ant-core this task is intended to register and thus load with.
ANT_TASK_PV="${PV}" ANT_TASK_PV="${PV}"
# special care for beta/RC releases # default for final releases
if [[ ${PV} == *beta2* ]]; then MY_PV=${PV}
MY_PV=${PV/_beta2/beta}
UPSTREAM_PREFIX="http://people.apache.org/dist/ant/v1.7.1beta2/src" UPSTREAM_PREFIX="mirror://apache/ant/source"
GENTOO_PREFIX="https://dev.gentoo.org/~caster/distfiles" GENTOO_PREFIX="https://dev.gentoo.org/~fordfrog/distfiles"
ANT_TASK_PV=$(ver_cut 1-3)
elif [[ ${PV} == *_rc* ]]; then
MY_PV=${PV/_rc/RC}
UPSTREAM_PREFIX="https://dev.gentoo.org/~caster/distfiles"
GENTOO_PREFIX="https://dev.gentoo.org/~caster/distfiles"
ANT_TASK_PV=$(ver_cut 1-3)
else
# default for final releases
MY_PV=${PV}
case ${PV} in
1.9.*)
UPSTREAM_PREFIX="https://archive.apache.org/dist/ant/source"
GENTOO_PREFIX="https://dev.gentoo.org/~tomwij/files/dist"
;;
*)
UPSTREAM_PREFIX="mirror://apache/ant/source"
GENTOO_PREFIX="https://dev.gentoo.org/~caster/distfiles"
;;
esac
fi
# source/workdir name # source/workdir name
MY_P="apache-ant-${MY_PV}" MY_P="apache-ant-${MY_PV}"
@ -101,11 +91,6 @@ if [[ -z "${ANT_TASK_DISABLE_VM_DEPS}" ]]; then
DEPEND+=" >=virtual/jdk-${ANT_TASK_JDKVER}" DEPEND+=" >=virtual/jdk-${ANT_TASK_JDKVER}"
fi fi
# we need direct blockers with old ant-tasks for file collisions - bug #252324
if ver_test -ge 1.7.1; then
DEPEND+=" !dev-java/ant-tasks"
fi
# Would run the full ant test suite for every ant task # Would run the full ant test suite for every ant task
RESTRICT="test" RESTRICT="test"
@ -130,7 +115,11 @@ ant-tasks_src_unpack() {
cd "${S}" cd "${S}"
# replace build.xml with our modified for split building # replace build.xml with our modified for split building
mv -f "${WORKDIR}"/build.xml . if [ -e "${WORKDIR}"/${PV}-build.patch ] ; then
eapply "${WORKDIR}"/${PV}-build.patch
else
mv -f "${WORKDIR}"/build.xml .
fi
cd lib cd lib
# remove bundled xerces # remove bundled xerces
@ -168,8 +157,6 @@ ant-tasks_src_install() {
java-pkg_register-ant-task --version "${ANT_TASK_PV}" java-pkg_register-ant-task --version "${ANT_TASK_PV}"
# create the compatibility symlink # create the compatibility symlink
if ver_test -ge 1.7.1_beta2; then dodir /usr/share/ant/lib
dodir /usr/share/ant/lib dosym /usr/share/${PN}/lib/${PN}.jar /usr/share/ant/lib/${PN}.jar
dosym /usr/share/${PN}/lib/${PN}.jar /usr/share/ant/lib/${PN}.jar
fi
} }

View File

@ -418,6 +418,9 @@ apache-2_pkg_setup() {
if use userland_BSD; then if use userland_BSD; then
elog "On BSD systems you need to add the following line to /boot/loader.conf:" elog "On BSD systems you need to add the following line to /boot/loader.conf:"
elog " accf_http_load=\"YES\"" elog " accf_http_load=\"YES\""
if use ssl ; then
elog " accf_data_load=\"YES\""
fi
elog elog
fi fi
} }

View File

@ -1,4 +1,4 @@
# Copyright 1999-2018 Gentoo Foundation # Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2 # Distributed under the terms of the GNU General Public License v2
# @ECLASS: cmake-utils.eclass # @ECLASS: cmake-utils.eclass
@ -419,13 +419,17 @@ _cmake_modify-cmakelists() {
grep -qs "<<< Gentoo configuration >>>" "${CMAKE_USE_DIR}"/CMakeLists.txt && return 0 grep -qs "<<< Gentoo configuration >>>" "${CMAKE_USE_DIR}"/CMakeLists.txt && return 0
# Comment out all set (<some_should_be_user_defined_variable> value) # Comment out all set (<some_should_be_user_defined_variable> value)
# TODO Add QA checker - inform when variable being checked for below is set in CMakeLists.txt find "${CMAKE_USE_DIR}" -name CMakeLists.txt -exec sed \
find "${CMAKE_USE_DIR}" -name CMakeLists.txt \ -e '/^[[:space:]]*set[[:space:]]*([[:space:]]*CMAKE_BUILD_TYPE[[:space:]].*)/I{s/^/#_cmake_modify_IGNORE /g}' \
-exec sed -i -e '/^[[:space:]]*[sS][eE][tT][[:space:]]*([[:space:]]*CMAKE_BUILD_TYPE.*)/{s/^/#IGNORE /g}' {} + \ -e '/^[[:space:]]*set[[:space:]]*([[:space:]]*CMAKE_COLOR_MAKEFILE[[:space:]].*)/I{s/^/#_cmake_modify_IGNORE /g}' \
-exec sed -i -e '/^[[:space:]]*[sS][eE][tT][[:space:]]*([[:space:]]*CMAKE_COLOR_MAKEFILE.*)/{s/^/#IGNORE /g}' {} + \ -e '/^[[:space:]]*set[[:space:]]*([[:space:]]*CMAKE_INSTALL_PREFIX[[:space:]].*)/I{s/^/#_cmake_modify_IGNORE /g}' \
-exec sed -i -e '/^[[:space:]]*[sS][eE][tT][[:space:]]*([[:space:]]*CMAKE_INSTALL_PREFIX.*)/{s/^/#IGNORE /g}' {} + \ -e '/^[[:space:]]*set[[:space:]]*([[:space:]]*CMAKE_VERBOSE_MAKEFILE[[:space:]].*)/I{s/^/#G_cmake_modify_IGNORE /g}' \
-exec sed -i -e '/^[[:space:]]*[sS][eE][tT][[:space:]]*([[:space:]]*CMAKE_VERBOSE_MAKEFILE.*)/{s/^/#IGNORE /g}' {} + \ -i {} + || die "${LINENO}: failed to disable hardcoded settings"
|| die "${LINENO}: failed to disable hardcoded settings" local x
for x in $(find "${CMAKE_USE_DIR}" -name CMakeLists.txt -exec grep -l "^#_cmake_modify_IGNORE" {} +;); do
einfo "Hardcoded definition(s) removed in $(echo "${x}" | cut -c $((${#CMAKE_USE_DIR}+2))-):"
einfo "$(grep -se '^#_cmake_modify_IGNORE' ${x} | cut -c 22-99)"
done
# NOTE Append some useful summary here # NOTE Append some useful summary here
cat >> "${CMAKE_USE_DIR}"/CMakeLists.txt <<- _EOF_ || die cat >> "${CMAKE_USE_DIR}"/CMakeLists.txt <<- _EOF_ || die

View File

@ -1,9 +1,9 @@
# Copyright 1999-2018 Gentoo Foundation # Copyright 1999-2019 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2 # Distributed under the terms of the GNU General Public License v2
# @ECLASS: cron.eclass # @ECLASS: cron.eclass
# @MAINTAINER: # @MAINTAINER:
# cron-bugs@gentoo.org # maintainer-needed@gentoo.org
# @AUTHOR: # @AUTHOR:
# Original Author: Aaron Walker <ka0ttic@gentoo.org> # Original Author: Aaron Walker <ka0ttic@gentoo.org>
# @BLURB: Some functions for cron # @BLURB: Some functions for cron

View File

@ -597,7 +597,16 @@ distutils-r1_python_install() {
die "Package installs '${p}' package which is forbidden and likely a bug in the build system." die "Package installs '${p}' package which is forbidden and likely a bug in the build system."
fi fi
done done
if [[ -d ${root}/usr/$(get_libdir)/pypy/share ]]; then
local shopt_save=$(shopt -p nullglob)
shopt -s nullglob
local pypy_dirs=(
"${root}/usr/$(get_libdir)"/pypy*/share
"${root}/usr/lib"/pypy*/share
)
${shopt_save}
if [[ -n ${pypy_dirs} ]]; then
local cmd=die local cmd=die
[[ ${EAPI} == [45] ]] && cmd=eqawarn [[ ${EAPI} == [45] ]] && cmd=eqawarn
"${cmd}" "Package installs 'share' in PyPy prefix, see bug #465546." "${cmd}" "Package installs 'share' in PyPy prefix, see bug #465546."

View File

@ -1,4 +1,4 @@
# Copyright 1999-2017 Gentoo Foundation # Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2 # Distributed under the terms of the GNU General Public License v2
# @ECLASS: emboss-r2.eclass # @ECLASS: emboss-r2.eclass
@ -58,7 +58,7 @@ RDEPEND="
dev-libs/libpcre:3 dev-libs/libpcre:3
sci-libs/plplot:= sci-libs/plplot:=
sys-libs/zlib sys-libs/zlib
mysql? ( virtual/mysql ) mysql? ( dev-db/mysql-connector-c:0= )
pdf? ( media-libs/libharu:= ) pdf? ( media-libs/libharu:= )
png? ( media-libs/gd:2=[png] ) png? ( media-libs/gd:2=[png] )
postgres? ( dev-db/postgresql:= ) postgres? ( dev-db/postgresql:= )

View File

@ -69,6 +69,13 @@ setup-allowed-flags() {
# gcc 4.9 # gcc 4.9
-mno-avx512cd -mno-avx512er -mno-avx512f -mno-avx512pf -mno-sha -mno-avx512cd -mno-avx512er -mno-avx512f -mno-avx512pf -mno-sha
) )
# Allow some safe individual flags. Should come along with the bug reference.
ALLOWED_FLAGS+=(
# Allow explicit stack realignment to run non-conformant
# binaries: bug #677852
-mstackrealign
)
} }
# inverted filters for hardened compiler. This is trying to unpick # inverted filters for hardened compiler. This is trying to unpick

View File

@ -55,7 +55,7 @@ DOCS=${DOCS:-}
IUSE="X" IUSE="X"
DEPEND="X? ( DEPEND="X? (
x11-apps/mkfontdir || ( >=x11-apps/mkfontscale-1.2.0 x11-apps/mkfontdir )
media-fonts/encodings media-fonts/encodings
)" )"
RDEPEND="" RDEPEND=""

View File

@ -1,4 +1,4 @@
# Copyright 1999-2011 Gentoo Foundation # Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2 # Distributed under the terms of the GNU General Public License v2
# @ECLASS: gnome.org.eclass # @ECLASS: gnome.org.eclass
@ -11,7 +11,8 @@
# @DESCRIPTION: # @DESCRIPTION:
# Provide a default SRC_URI for tarball hosted on gnome.org mirrors. # Provide a default SRC_URI for tarball hosted on gnome.org mirrors.
inherit versionator # versionator inherit kept for older EAPIs due to ebuilds (potentially) relying on it
[[ ${EAPI} == [0123456] ]] && inherit eapi7-ver versionator
# @ECLASS-VARIABLE: GNOME_TARBALL_SUFFIX # @ECLASS-VARIABLE: GNOME_TARBALL_SUFFIX
# @DESCRIPTION: # @DESCRIPTION:
@ -28,7 +29,11 @@ fi
# Even though xz-utils are in @system, they must still be added to DEPEND; see # Even though xz-utils are in @system, they must still be added to DEPEND; see
# https://archives.gentoo.org/gentoo-dev/msg_a0d4833eb314d1be5d5802a3b710e0a4.xml # https://archives.gentoo.org/gentoo-dev/msg_a0d4833eb314d1be5d5802a3b710e0a4.xml
if [[ ${GNOME_TARBALL_SUFFIX} == "xz" ]]; then if [[ ${GNOME_TARBALL_SUFFIX} == "xz" ]]; then
DEPEND="${DEPEND} app-arch/xz-utils" if [[ ${EAPI:-0} != [0123456] ]]; then
BDEPEND="app-arch/xz-utils"
else
DEPEND="app-arch/xz-utils"
fi
fi fi
# @ECLASS-VARIABLE: GNOME_ORG_MODULE # @ECLASS-VARIABLE: GNOME_ORG_MODULE
@ -41,7 +46,7 @@ fi
# @INTERNAL # @INTERNAL
# @DESCRIPTION: # @DESCRIPTION:
# Major and minor numbers of the version number. # Major and minor numbers of the version number.
: ${GNOME_ORG_PVP:=$(get_version_component_range 1-2)} : ${GNOME_ORG_PVP:=$(ver_cut 1-2)}
SRC_URI="mirror://gnome/sources/${GNOME_ORG_MODULE}/${GNOME_ORG_PVP}/${GNOME_ORG_MODULE}-${PV}.tar.${GNOME_TARBALL_SUFFIX}" SRC_URI="mirror://gnome/sources/${GNOME_ORG_MODULE}/${GNOME_ORG_PVP}/${GNOME_ORG_MODULE}-${PV}.tar.${GNOME_TARBALL_SUFFIX}"

View File

@ -1,25 +1,25 @@
# Copyright 1999-2015 Gentoo Foundation # Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2 # Distributed under the terms of the GNU General Public License v2
# @ECLASS: gnome2-utils.eclass # @ECLASS: gnome2-utils.eclass
# @MAINTAINER: # @MAINTAINER:
# gnome@gentoo.org # gnome@gentoo.org
# @SUPPORTED_EAPIS: 0 1 2 3 4 5 6 # @SUPPORTED_EAPIS: 0 1 2 3 4 5 6 7
# @BLURB: Auxiliary functions commonly used by Gnome packages. # @BLURB: Auxiliary functions commonly used by Gnome packages.
# @DESCRIPTION: # @DESCRIPTION:
# This eclass provides a set of auxiliary functions needed by most Gnome # This eclass provides a set of auxiliary functions needed by most Gnome
# packages. It may be used by non-Gnome packages as needed for handling various # packages. It may be used by non-Gnome packages as needed for handling various
# Gnome stack related functions such as: # Gnome stack related functions such as:
# * Gtk+ icon cache management
# * GSettings schemas management # * GSettings schemas management
# * GConf schemas management # * GConf schemas management
# * scrollkeeper (old Gnome help system) management # * scrollkeeper (old Gnome help system) management
[[ ${EAPI:-0} == [012345] ]] && inherit multilib [[ ${EAPI:-0} == [012345] ]] && inherit multilib
inherit eutils xdg-utils [[ ${EAPI:-0} == [0123456] ]] && inherit eutils
inherit xdg-utils
case "${EAPI:-0}" in case "${EAPI:-0}" in
0|1|2|3|4|5|6) ;; 0|1|2|3|4|5|6|7) ;;
*) die "EAPI=${EAPI} is not supported" ;; *) die "EAPI=${EAPI} is not supported" ;;
esac esac
@ -41,12 +41,6 @@ esac
# Path to scrollkeeper-update # Path to scrollkeeper-update
: ${SCROLLKEEPER_UPDATE_BIN:="/usr/bin/scrollkeeper-update"} : ${SCROLLKEEPER_UPDATE_BIN:="/usr/bin/scrollkeeper-update"}
# @ECLASS-VARIABLE: GTK_UPDATE_ICON_CACHE
# @INTERNAL
# @DESCRIPTION:
# Path to gtk-update-icon-cache
: ${GTK_UPDATE_ICON_CACHE:="/usr/bin/gtk-update-icon-cache"}
# @ECLASS-VARIABLE: GLIB_COMPILE_SCHEMAS # @ECLASS-VARIABLE: GLIB_COMPILE_SCHEMAS
# @INTERNAL # @INTERNAL
# @DESCRIPTION: # @DESCRIPTION:
@ -83,8 +77,6 @@ esac
# @DESCRIPTION: # @DESCRIPTION:
# List of gdk-pixbuf loaders provided by the package # List of gdk-pixbuf loaders provided by the package
DEPEND=">=sys-apps/sed-4"
# @FUNCTION: gnome2_environment_reset # @FUNCTION: gnome2_environment_reset
# @DESCRIPTION: # @DESCRIPTION:
@ -102,7 +94,7 @@ gnome2_environment_reset() {
# Ensure we don't rely on dconf/gconf while building, bug #511946 # Ensure we don't rely on dconf/gconf while building, bug #511946
export GSETTINGS_BACKEND="memory" export GSETTINGS_BACKEND="memory"
if has ${EAPI:-0} 6; then if has ${EAPI:-0} 6 7; then
# Try to cover the packages honoring this variable, bug #508124 # Try to cover the packages honoring this variable, bug #508124
export GST_INSPECT="$(type -P true)" export GST_INSPECT="$(type -P true)"
@ -205,72 +197,6 @@ gnome2_gconf_uninstall() {
fi fi
} }
# @FUNCTION: gnome2_icon_savelist
# @DESCRIPTION:
# Find the icons that are about to be installed and save their location
# in the GNOME2_ECLASS_ICONS environment variable. This is only
# necessary for eclass implementations that call
# gnome2_icon_cache_update conditionally.
# This function should be called from pkg_preinst.
gnome2_icon_savelist() {
has ${EAPI:-0} 0 1 2 && ! use prefix && ED="${D}"
pushd "${ED}" > /dev/null || die
export GNOME2_ECLASS_ICONS=$(find 'usr/share/icons' -maxdepth 1 -mindepth 1 -type d 2> /dev/null)
popd > /dev/null || die
}
# @FUNCTION: gnome2_icon_cache_update
# @DESCRIPTION:
# Updates Gtk+ icon cache files under /usr/share/icons.
# This function should be called from pkg_postinst and pkg_postrm.
gnome2_icon_cache_update() {
has ${EAPI:-0} 0 1 2 && ! use prefix && EROOT="${ROOT}"
local updater="${EROOT}${GTK_UPDATE_ICON_CACHE}"
if [[ ! -x "${updater}" ]] ; then
debug-print "${updater} is not executable"
return
fi
ebegin "Updating icons cache"
local retval=0
local fails=( )
for dir in "${EROOT%/}"/usr/share/icons/*
do
if [[ -f "${dir}/index.theme" ]] ; then
local rv=0
"${updater}" -qf "${dir}"
rv=$?
if [[ ! $rv -eq 0 ]] ; then
debug-print "Updating cache failed on ${dir}"
# Add to the list of failures
fails+=( "${dir}" )
retval=2
fi
elif [[ $(ls "${dir}") = "icon-theme.cache" ]]; then
# Clear stale cache files after theme uninstallation
rm "${dir}/icon-theme.cache"
fi
if [[ -z $(ls "${dir}") ]]; then
# Clear empty theme directories after theme uninstallation
rmdir "${dir}"
fi
done
eend ${retval}
for f in "${fails[@]}" ; do
eerror "Failed to update cache with icon $f"
done
}
# @FUNCTION: gnome2_omf_fix # @FUNCTION: gnome2_omf_fix
# @DESCRIPTION: # @DESCRIPTION:
# Workaround applied to Makefile rules in order to remove redundant # Workaround applied to Makefile rules in order to remove redundant
@ -523,3 +449,31 @@ gnome2_disable_deprecation_warning() {
ewarn "Failed to disable deprecation warnings in ${makefile}" ewarn "Failed to disable deprecation warnings in ${makefile}"
done done
} }
case ${EAPI:-0} in
0|1|2|3|4|5|6)
# @FUNCTION: gnome2_icon_savelist
# @DESCRIPTION:
# Find the icons that are about to be installed and save their location
# in the GNOME2_ECLASS_ICONS environment variable. This is only
# necessary for eclass implementations that call
# gnome2_icon_cache_update conditionally.
# This function should be called from pkg_preinst.
gnome2_icon_savelist() {
has ${EAPI:-0} 0 1 2 && ! use prefix && ED="${D}"
pushd "${ED}" > /dev/null || die
export GNOME2_ECLASS_ICONS=$(find 'usr/share/icons' -maxdepth 1 -mindepth 1 -type d 2> /dev/null)
popd > /dev/null || die
}
# @FUNCTION: gnome2_icon_cache_update
# @DESCRIPTION:
# Updates Gtk+ icon cache files under /usr/share/icons.
# Deprecated. Please use xdg_icon_cache_update from xdg-utils.eclass
gnome2_icon_cache_update() {
xdg_icon_cache_update
}
;;
esac

View File

@ -1,4 +1,4 @@
# Copyright 1999-2015 Gentoo Foundation # Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2 # Distributed under the terms of the GNU General Public License v2
# @ECLASS: gnome2.eclass # @ECLASS: gnome2.eclass
@ -316,7 +316,6 @@ gnome2_src_install() {
gnome2_pkg_preinst() { gnome2_pkg_preinst() {
xdg_pkg_preinst xdg_pkg_preinst
gnome2_gconf_savelist gnome2_gconf_savelist
gnome2_icon_savelist
gnome2_schemas_savelist gnome2_schemas_savelist
gnome2_scrollkeeper_savelist gnome2_scrollkeeper_savelist
gnome2_gdk_pixbuf_savelist gnome2_gdk_pixbuf_savelist
@ -338,9 +337,6 @@ gnome2_pkg_preinst() {
gnome2_pkg_postinst() { gnome2_pkg_postinst() {
xdg_pkg_postinst xdg_pkg_postinst
gnome2_gconf_install gnome2_gconf_install
if [[ -n ${GNOME2_ECLASS_ICONS} ]]; then
gnome2_icon_cache_update
fi
if [[ -n ${GNOME2_ECLASS_GLIB_SCHEMAS} ]]; then if [[ -n ${GNOME2_ECLASS_GLIB_SCHEMAS} ]]; then
gnome2_schemas_update gnome2_schemas_update
fi fi
@ -362,9 +358,6 @@ gnome2_pkg_postinst() {
# Handle scrollkeeper, GSettings, Icons, desktop and mime database updates. # Handle scrollkeeper, GSettings, Icons, desktop and mime database updates.
gnome2_pkg_postrm() { gnome2_pkg_postrm() {
xdg_pkg_postrm xdg_pkg_postrm
if [[ -n ${GNOME2_ECLASS_ICONS} ]]; then
gnome2_icon_cache_update
fi
if [[ -n ${GNOME2_ECLASS_GLIB_SCHEMAS} ]]; then if [[ -n ${GNOME2_ECLASS_GLIB_SCHEMAS} ]]; then
gnome2_schemas_update gnome2_schemas_update
fi fi

View File

@ -4,7 +4,7 @@
# @ECLASS: golang-base.eclass # @ECLASS: golang-base.eclass
# @MAINTAINER: # @MAINTAINER:
# William Hubbs <williamh@gentoo.org> # William Hubbs <williamh@gentoo.org>
# @SUPPORTED_EAPIS: 5 6 # @SUPPORTED_EAPIS: 5 6 7
# @BLURB: Eclass that provides base functions for Go packages. # @BLURB: Eclass that provides base functions for Go packages.
# @DESCRIPTION: # @DESCRIPTION:
# This eclass provides base functions for software written in the Go # This eclass provides base functions for software written in the Go
@ -12,7 +12,7 @@
# dev-lang/go. # dev-lang/go.
case "${EAPI:-0}" in case "${EAPI:-0}" in
5|6) 5|6|7)
;; ;;
*) *)
die "${ECLASS}: Unsupported eapi (EAPI=${EAPI})" die "${ECLASS}: Unsupported eapi (EAPI=${EAPI})"
@ -23,12 +23,18 @@ if [[ -z ${_GOLANG_BASE} ]]; then
_GOLANG_BASE=1 _GOLANG_BASE=1
DEPEND=">=dev-lang/go-1.9" GO_DEPEND=">=dev-lang/go-1.10"
if [[ ${EAPI:-0} == [56] ]]; then
DEPEND="${GO_DEPEND}"
else
BDEPEND="${GO_DEPEND}"
fi
# Do not complain about CFLAGS etc since go projects do not use them. # Do not complain about CFLAGS etc since go projects do not use them.
QA_FLAGS_IGNORED='.*' QA_FLAGS_IGNORED='.*'
STRIP_MASK="*.a" # Upstream does not support stripping go packages
RESTRICT="strip"
# @ECLASS-VARIABLE: EGO_PN # @ECLASS-VARIABLE: EGO_PN
# @REQUIRED # @REQUIRED

View File

@ -4,7 +4,7 @@
# @ECLASS: golang-build.eclass # @ECLASS: golang-build.eclass
# @MAINTAINER: # @MAINTAINER:
# William Hubbs <williamh@gentoo.org> # William Hubbs <williamh@gentoo.org>
# @SUPPORTED_EAPIS: 5 6 # @SUPPORTED_EAPIS: 5 6 7
# @BLURB: Eclass for compiling go packages. # @BLURB: Eclass for compiling go packages.
# @DESCRIPTION: # @DESCRIPTION:
# This eclass provides default src_compile, src_test and src_install # This eclass provides default src_compile, src_test and src_install
@ -13,7 +13,7 @@
inherit golang-base inherit golang-base
case "${EAPI:-0}" in case "${EAPI:-0}" in
5|6) 5|6|7)
;; ;;
*) *)
die "${ECLASS}: Unsupported eapi (EAPI=${EAPI})" die "${ECLASS}: Unsupported eapi (EAPI=${EAPI})"

View File

@ -4,7 +4,7 @@
# @ECLASS: golang-vcs-snapshot.eclass # @ECLASS: golang-vcs-snapshot.eclass
# @MAINTAINER: # @MAINTAINER:
# William Hubbs <williamh@gentoo.org> # William Hubbs <williamh@gentoo.org>
# @SUPPORTED_EAPIS: 5 6 # @SUPPORTED_EAPIS: 5 6 7
# @BLURB: support eclass for unpacking VCS snapshot tarballs for # @BLURB: support eclass for unpacking VCS snapshot tarballs for
# software written in the Go programming language # software written in the Go programming language
# @DESCRIPTION: # @DESCRIPTION:
@ -46,7 +46,7 @@
inherit golang-base inherit golang-base
case ${EAPI:-0} in case ${EAPI:-0} in
5|6) ;; 5|6|7) ;;
*) die "${ECLASS} API in EAPI ${EAPI} not yet established." *) die "${ECLASS} API in EAPI ${EAPI} not yet established."
esac esac

View File

@ -4,7 +4,7 @@
# @ECLASS: golang-vcs.eclass # @ECLASS: golang-vcs.eclass
# @MAINTAINER: # @MAINTAINER:
# William Hubbs <williamh@gentoo.org> # William Hubbs <williamh@gentoo.org>
# @SUPPORTED_EAPIS: 5 6 # @SUPPORTED_EAPIS: 5 6 7
# @BLURB: Eclass for fetching and unpacking go repositories. # @BLURB: Eclass for fetching and unpacking go repositories.
# @DESCRIPTION: # @DESCRIPTION:
# This eclass is written to ease the maintenance of live ebuilds # This eclass is written to ease the maintenance of live ebuilds
@ -13,7 +13,7 @@
inherit eutils golang-base inherit eutils golang-base
case "${EAPI:-0}" in case "${EAPI:-0}" in
5|6) 5|6|7)
;; ;;
*) *)
die "${ECLASS}: Unsupported eapi (EAPI=${EAPI})" die "${ECLASS}: Unsupported eapi (EAPI=${EAPI})"

View File

@ -1,4 +1,4 @@
# Copyright 2004-2018 Gentoo Foundation # Copyright 2004-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2 # Distributed under the terms of the GNU General Public License v2
# @ECLASS: java-utils-2.eclass # @ECLASS: java-utils-2.eclass
@ -15,7 +15,10 @@
# you should inherit java-pkg-2 for Java packages or java-pkg-opt-2 for packages # you should inherit java-pkg-2 for Java packages or java-pkg-opt-2 for packages
# that have optional Java support. In addition you can inherit java-ant-2 for # that have optional Java support. In addition you can inherit java-ant-2 for
# Ant-based packages. # Ant-based packages.
inherit eutils versionator multilib
# EAPI 7 has version functions built-in. Use eapi7-ver for all earlier eclasses.
# Keep versionator inheritance in case consumers are using it implicitly.
[[ ${EAPI} == [0123456] ]] && inherit eapi7-ver eutils multilib versionator
IUSE="elibc_FreeBSD" IUSE="elibc_FreeBSD"
@ -1518,8 +1521,8 @@ java-pkg_is-vm-version-eq() {
local vm_version="$(java-pkg_get-vm-version)" local vm_version="$(java-pkg_get-vm-version)"
vm_version="$(get_version_component_range 1-2 "${vm_version}")" vm_version="$(ver_cut 1-2 "${vm_version}")"
needed_version="$(get_version_component_range 1-2 "${needed_version}")" needed_version="$(ver_cut 1-2 "${needed_version}")"
if [[ -z "${vm_version}" ]]; then if [[ -z "${vm_version}" ]]; then
debug-print "Could not get JDK version from DEPEND" debug-print "Could not get JDK version from DEPEND"
@ -1570,7 +1573,7 @@ java-pkg_is-vm-version-ge() {
debug-print "Could not get JDK version from DEPEND" debug-print "Could not get JDK version from DEPEND"
return 1 return 1
else else
if version_is_at_least "${needed_version}" "${vm_version}"; then if ver_test "${vm_version}" -ge "${needed_version}"; then
debug-print "Detected a JDK(${vm_version}) >= ${needed_version}" debug-print "Detected a JDK(${vm_version}) >= ${needed_version}"
return 0 return 0
else else
@ -2029,7 +2032,9 @@ eant() {
if [[ ${cp#:} ]]; then if [[ ${cp#:} ]]; then
# It seems ant does not like single quotes around ${cp} # It seems ant does not like single quotes around ${cp}
antflags="${antflags} -Dgentoo.classpath=\"${cp#:}\"" # And ant 1.9.13+ also does not like double quotes around ${cp}
# https://bz.apache.org/bugzilla/show_bug.cgi?id=58898
antflags="${antflags} -Dgentoo.classpath=${cp#:}"
fi fi
[[ -n ${JAVA_PKG_DEBUG} ]] && echo ant ${antflags} "${@}" [[ -n ${JAVA_PKG_DEBUG} ]] && echo ant ${antflags} "${@}"

View File

@ -123,7 +123,7 @@ get_system_arch() {
case $(get_abi_CHOST ${abi}) in case $(get_abi_CHOST ${abi}) in
mips*l*) echo mipsel ;; mips*l*) echo mipsel ;;
mips*) echo mips ;; mips*) echo mips ;;
ppc64le*) echo ppc64le ;; powerpc64le*) echo ppc64le ;;
*) *)
case ${abi} in case ${abi} in
*_fbsd) get_system_arch ${abi%_fbsd} ;; *_fbsd) get_system_arch ${abi%_fbsd} ;;

View File

@ -36,15 +36,12 @@ export KDE_BUILD_TYPE
case ${CATEGORY} in case ${CATEGORY} in
kde-frameworks) kde-frameworks)
[[ ${KDE_BUILD_TYPE} = live ]] && : ${FRAMEWORKS_MINIMAL:=9999} [[ ${KDE_BUILD_TYPE} = live ]] && : ${FRAMEWORKS_MINIMAL:=9999}
[[ ${PV} = 5.52.0* ]] && : ${QT_MINIMAL:=5.9.4}
;; ;;
kde-plasma) kde-plasma)
if [[ ${KDE_BUILD_TYPE} = live && ${PV} != 5.??.49* ]]; then [[ ${PV} = 5.15.5 ]] && : ${QT_MINIMAL:=5.11.1}
: ${FRAMEWORKS_MINIMAL:=9999} [[ ${PV} = 5.16* ]] && : ${FRAMEWORKS_MINIMAL:=5.58.0}
fi [[ ${KDE_BUILD_TYPE} = live ]] && : ${FRAMEWORKS_MINIMAL:=9999}
;; : ${QT_MINIMAL:=5.12.3}
kde-apps)
[[ ${PV} = 18.08.3* ]] && : ${QT_MINIMAL:=5.9.4}
;; ;;
esac esac
@ -56,17 +53,17 @@ esac
# @ECLASS-VARIABLE: FRAMEWORKS_MINIMAL # @ECLASS-VARIABLE: FRAMEWORKS_MINIMAL
# @DESCRIPTION: # @DESCRIPTION:
# Minimum version of Frameworks to require. This affects add_frameworks_dep. # Minimum version of Frameworks to require. This affects add_frameworks_dep.
: ${FRAMEWORKS_MINIMAL:=5.52.0} : ${FRAMEWORKS_MINIMAL:=5.57.0}
# @ECLASS-VARIABLE: PLASMA_MINIMAL # @ECLASS-VARIABLE: PLASMA_MINIMAL
# @DESCRIPTION: # @DESCRIPTION:
# Minimum version of Plasma to require. This affects add_plasma_dep. # Minimum version of Plasma to require. This affects add_plasma_dep.
: ${PLASMA_MINIMAL:=5.12.5} : ${PLASMA_MINIMAL:=5.14.5}
# @ECLASS-VARIABLE: KDE_APPS_MINIMAL # @ECLASS-VARIABLE: KDE_APPS_MINIMAL
# @DESCRIPTION: # @DESCRIPTION:
# Minimum version of KDE Applications to require. This affects add_kdeapps_dep. # Minimum version of KDE Applications to require. This affects add_kdeapps_dep.
: ${KDE_APPS_MINIMAL:=18.08.3} : ${KDE_APPS_MINIMAL:=18.12.3}
# @ECLASS-VARIABLE: KDE_GCC_MINIMAL # @ECLASS-VARIABLE: KDE_GCC_MINIMAL
# @DEFAULT_UNSET # @DEFAULT_UNSET
@ -74,17 +71,6 @@ esac
# Minimum version of active GCC to require. This is checked in kde5.eclass in # Minimum version of active GCC to require. This is checked in kde5.eclass in
# kde5_pkg_pretend and kde5_pkg_setup. # kde5_pkg_pretend and kde5_pkg_setup.
# @ECLASS-VARIABLE: KDEBASE
# @DEFAULT_UNSET
# @DESCRIPTION:
# This gets set to a non-zero value when a package is considered a
# kdevelop ebuild.
if [[ ${KMNAME-${PN}} = kdevelop ]]; then
KDEBASE=kdevelop
fi
debug-print "${ECLASS}: ${KDEBASE} ebuild recognized"
# @FUNCTION: _check_gcc_version # @FUNCTION: _check_gcc_version
# @INTERNAL # @INTERNAL
# @DESCRIPTION: # @DESCRIPTION:
@ -138,7 +124,7 @@ _add_category_dep() {
if [[ -n ${slot} ]] ; then if [[ -n ${slot} ]] ; then
slot=":${slot}" slot=":${slot}"
elif [[ ${SLOT%\/*} = 4 || ${SLOT%\/*} = 5 ]] && ! has kde5-meta-pkg ${INHERITED} ; then elif [[ ${SLOT%\/*} = 5 ]] ; then
slot=":${SLOT%\/*}" slot=":${SLOT%\/*}"
fi fi
@ -264,10 +250,10 @@ add_qt_dep() {
local slot=${4} local slot=${4}
if [[ -z ${version} ]]; then if [[ -z ${version} ]]; then
if [[ ${1} = qtwebkit && $(ver_cut 2 ${QT_MINIMAL}) -ge 9 ]]; then version=${QT_MINIMAL}
version=5.9.1 # no more upstream release, need bug #624404 if [[ ${1} = qtwebkit ]]; then
else version=5.9.1
version=${QT_MINIMAL} [[ ${EAPI} != 6 ]] && die "${FUNCNAME} is disallowed for 'qtwebkit' in EAPI 7 and later"
fi fi
fi fi
if [[ -z ${slot} ]]; then if [[ -z ${slot} ]]; then

View File

@ -1,25 +0,0 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: kde5-meta-pkg.eclass
# @MAINTAINER:
# kde@gentoo.org
# @BLURB: This eclass contains boilerplate for KDE meta packages.
# @DESCRIPTION:
# This eclass should only be used for defining meta packages bundling
# software produced by the KDE community.
if [[ -z ${_KDE5_META_PKG_ECLASS} ]]; then
_KDE5_META_PKG_ECLASS=1
inherit kde5-functions
HOMEPAGE="https://www.kde.org/"
LICENSE="metapackage"
SLOT="5"
if [[ ${CATEGORY} = kde-apps ]]; then
RDEPEND+=" !kde-apps/${PN}:4"
fi
fi

View File

@ -31,10 +31,10 @@ _KDE5_ECLASS=1
# for tests you should proceed with setting VIRTUALX_REQUIRED=test. # for tests you should proceed with setting VIRTUALX_REQUIRED=test.
: ${VIRTUALX_REQUIRED:=manual} : ${VIRTUALX_REQUIRED:=manual}
inherit cmake-utils flag-o-matic gnome2-utils kde5-functions virtualx xdg inherit cmake-utils flag-o-matic kde5-functions virtualx xdg
case ${EAPI} in case ${EAPI} in
6) inherit eapi7-ver eutils ;; 6) inherit eapi7-ver eutils gnome2-utils ;;
esac esac
if [[ ${KDE_BUILD_TYPE} = live ]]; then if [[ ${KDE_BUILD_TYPE} = live ]]; then
@ -159,14 +159,7 @@ fi
# a proper error message via pkg_nofetch. # a proper error message via pkg_nofetch.
KDE_UNRELEASED=( ) KDE_UNRELEASED=( )
if [[ ${KDEBASE} = kdevelop ]]; then HOMEPAGE="https://kde.org/"
HOMEPAGE="https://www.kdevelop.org/"
elif [[ ${KMNAME} = kdepim ]]; then
HOMEPAGE="https://www.kde.org/applications/office/kontact/"
else
HOMEPAGE="https://www.kde.org/"
fi
LICENSE="GPL-2" LICENSE="GPL-2"
SLOT=5 SLOT=5
@ -197,7 +190,7 @@ esac
case ${KDE_AUTODEPS} in case ${KDE_AUTODEPS} in
false) ;; false) ;;
*) *)
DEPEND+=" $(add_frameworks_dep extra-cmake-modules)" BDEPEND+=" $(add_frameworks_dep extra-cmake-modules)"
RDEPEND+=" >=kde-frameworks/kf-env-4" RDEPEND+=" >=kde-frameworks/kf-env-4"
COMMONDEPEND+=" $(add_qt_dep qtcore)" COMMONDEPEND+=" $(add_qt_dep qtcore)"
@ -205,11 +198,6 @@ case ${KDE_AUTODEPS} in
if [[ ${PN} != breeze-icons && ${PN} != oxygen-icons ]]; then if [[ ${PN} != breeze-icons && ${PN} != oxygen-icons ]]; then
RDEPEND+=" || ( $(add_frameworks_dep breeze-icons) kde-frameworks/oxygen-icons:* )" RDEPEND+=" || ( $(add_frameworks_dep breeze-icons) kde-frameworks/oxygen-icons:* )"
fi fi
if [[ ${CATEGORY} = kde-apps && ${PV} = 18.08.3 ]]; then
[[ ${KDE_BLOCK_SLOT4} = true ]] && RDEPEND+=" !kde-apps/${PN}:4"
RDEPEND+=" !kde-apps/kde-l10n"
fi
;; ;;
esac esac
@ -224,7 +212,7 @@ case ${KDE_DESIGNERPLUGIN} in
false) ;; false) ;;
*) *)
IUSE+=" designer" IUSE+=" designer"
DEPEND+=" designer? ( $(add_frameworks_dep kdesignerplugin) )" BDEPEND+=" designer? ( $(add_frameworks_dep kdesignerplugin) )"
esac esac
case ${KDE_EXAMPLES} in case ${KDE_EXAMPLES} in
@ -238,7 +226,7 @@ case ${KDE_HANDBOOK} in
false) ;; false) ;;
*) *)
IUSE+=" +handbook" IUSE+=" +handbook"
DEPEND+=" handbook? ( $(add_frameworks_dep kdoctools) )" BDEPEND+=" handbook? ( $(add_frameworks_dep kdoctools) )"
;; ;;
esac esac
@ -247,7 +235,7 @@ case ${KDE_QTHELP} in
*) *)
IUSE+=" doc" IUSE+=" doc"
COMMONDEPEND+=" doc? ( $(add_qt_dep qt-docs) )" COMMONDEPEND+=" doc? ( $(add_qt_dep qt-docs) )"
DEPEND+=" doc? ( BDEPEND+=" doc? (
$(add_qt_dep qthelp) $(add_qt_dep qthelp)
>=app-doc/doxygen-1.8.13-r1 >=app-doc/doxygen-1.8.13-r1
)" )"
@ -270,6 +258,10 @@ case ${KDE_SELINUX_MODULE} in
;; ;;
esac esac
case ${EAPI} in
6) DEPEND+=" ${BDEPEND}" ;;
esac
DEPEND+=" ${COMMONDEPEND} dev-util/desktop-file-utils" DEPEND+=" ${COMMONDEPEND} dev-util/desktop-file-utils"
RDEPEND+=" ${COMMONDEPEND}" RDEPEND+=" ${COMMONDEPEND}"
unset COMMONDEPEND unset COMMONDEPEND
@ -278,14 +270,6 @@ if [[ -n ${KMNAME} && ${KMNAME} != ${PN} && ${KDE_BUILD_TYPE} = release ]]; then
S=${WORKDIR}/${KMNAME}-${PV} S=${WORKDIR}/${KMNAME}-${PV}
fi fi
if [[ -n ${KDEBASE} && ${KDEBASE} = kdevelop && ${KDE_BUILD_TYPE} = release ]]; then
if [[ -n ${KMNAME} ]]; then
S=${WORKDIR}/${KMNAME}-${PV}
else
S=${WORKDIR}/${P}
fi
fi
_kde_is_unreleased() { _kde_is_unreleased() {
local pair local pair
for pair in "${KDE_UNRELEASED[@]}" ; do for pair in "${KDE_UNRELEASED[@]}" ; do
@ -320,8 +304,6 @@ _calculate_src_uri() {
;; ;;
esac esac
DEPEND+=" app-arch/xz-utils"
case ${CATEGORY} in case ${CATEGORY} in
kde-apps) kde-apps)
case ${PV} in case ${PV} in
@ -351,23 +333,15 @@ _calculate_src_uri() {
;; ;;
esac esac
if [[ -z ${SRC_URI} && -n ${KDEBASE} ]] ; then if [[ ${PN} = kdevelop* ]]; then
local _kdebase
case ${PN} in
kdevelop-pg-qt)
_kdebase=${PN} ;;
*)
_kdebase=${KDEBASE} ;;
esac
case ${PV} in case ${PV} in
*.*.[6-9]? ) *.*.[6-9]? )
SRC_URI="mirror://kde/unstable/${_kdebase}/${PV}/src/${_kmname}-${PV}.tar.xz" SRC_URI="mirror://kde/unstable/kdevelop/${PV}/src/${_kmname}-${PV}.tar.xz"
RESTRICT+=" mirror" RESTRICT+=" mirror"
;; ;;
*) *)
SRC_URI="mirror://kde/stable/${_kdebase}/${PV}/src/${_kmname}-${PV}.tar.xz" ;; SRC_URI="mirror://kde/stable/kdevelop/${PV}/src/${_kmname}-${PV}.tar.xz" ;;
esac esac
unset _kdebase
fi fi
if _kde_is_unreleased ; then if _kde_is_unreleased ; then
@ -410,6 +384,10 @@ _calculate_live_repo() {
EGIT_BRANCH="Plasma/$(ver_cut 1-2)" EGIT_BRANCH="Plasma/$(ver_cut 1-2)"
fi fi
if [[ ${PV} != 9999 && ${PN} = kdevelop* ]]; then
EGIT_BRANCH="$(ver_cut 1-2)"
fi
EGIT_REPO_URI="${EGIT_MIRROR}/${_kmname}" EGIT_REPO_URI="${EGIT_MIRROR}/${_kmname}"
} }
@ -632,6 +610,8 @@ kde5_src_configure() {
# install mkspecs in the same directory as qt stuff # install mkspecs in the same directory as qt stuff
-DKDE_INSTALL_USE_QT_SYS_PATHS=ON -DKDE_INSTALL_USE_QT_SYS_PATHS=ON
) )
# move handbook outside of doc dir for at least two QA warnings, bug 667138
[[ ${EAPI} != 6 ]] && cmakeargs+=( -DKDE_INSTALL_DOCBUNDLEDIR="${EPREFIX}/usr/share/help" )
fi fi
# allow the ebuild to override what we set here # allow the ebuild to override what we set here
@ -696,14 +676,20 @@ kde5_src_install() {
# cmake can't find the tags and qthelp viewers can't find the docs # cmake can't find the tags and qthelp viewers can't find the docs
local p=$(best_version dev-qt/qtcore:5) local p=$(best_version dev-qt/qtcore:5)
local pv=$(echo ${p/%-r[0-9]*/} | rev | cut -d - -f 1 | rev) local pv=$(echo ${p/%-r[0-9]*/} | rev | cut -d - -f 1 | rev)
if [[ -d ${ED%/}/usr/share/doc/qt-${pv} ]]; then if [[ ${pv} = 5.11* ]]; then
docompress -x /usr/share/doc/qt-${pv} #todo: clean up trailing slash check when EAPI <7 is removed
if [[ -d ${ED%/}/usr/share/doc/qt-${pv} ]]; then
docompress -x /usr/share/doc/qt-${pv}
fi
fi fi
# We don't want /usr/share/doc/HTML to be compressed, if [[ ${EAPI} = 6 ]]; then
# because then khelpcenter can't find the docs # We don't want /usr/share/doc/HTML to be compressed,
if [[ -d ${ED%/}/usr/share/doc/HTML ]]; then # because then khelpcenter can't find the docs
docompress -x /usr/share/doc/HTML #todo: clean up trailing slash check when EAPI <7 is removed
if [[ -d ${ED%/}/usr/share/doc/HTML ]]; then
docompress -x /usr/share/doc/HTML
fi
fi fi
} }
@ -713,7 +699,6 @@ kde5_src_install() {
kde5_pkg_preinst() { kde5_pkg_preinst() {
debug-print-function ${FUNCNAME} "$@" debug-print-function ${FUNCNAME} "$@"
gnome2_icon_savelist
xdg_pkg_preinst xdg_pkg_preinst
} }
@ -723,9 +708,6 @@ kde5_pkg_preinst() {
kde5_pkg_postinst() { kde5_pkg_postinst() {
debug-print-function ${FUNCNAME} "$@" debug-print-function ${FUNCNAME} "$@"
if [[ -n ${GNOME2_ECLASS_ICONS} ]]; then
gnome2_icon_cache_update
fi
xdg_pkg_postinst xdg_pkg_postinst
if [[ -z ${I_KNOW_WHAT_I_AM_DOING} ]]; then if [[ -z ${I_KNOW_WHAT_I_AM_DOING} ]]; then
@ -744,9 +726,6 @@ kde5_pkg_postinst() {
kde5_pkg_postrm() { kde5_pkg_postrm() {
debug-print-function ${FUNCNAME} "$@" debug-print-function ${FUNCNAME} "$@"
if [[ -n ${GNOME2_ECLASS_ICONS} ]]; then
gnome2_icon_cache_update
fi
xdg_pkg_postrm xdg_pkg_postrm
} }

View File

@ -1,4 +1,4 @@
# Copyright 1999-2018 Gentoo Foundation # Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2 # Distributed under the terms of the GNU General Public License v2
# @ECLASS: kernel-2.eclass # @ECLASS: kernel-2.eclass
@ -624,8 +624,9 @@ if [[ ${ETYPE} == sources ]]; then
IUSE="${IUSE} deblob" IUSE="${IUSE} deblob"
# Reflect that kernels contain firmware blobs unless otherwise # Reflect that kernels contain firmware blobs unless otherwise
# stripped # stripped. Starting with version 4.14, the whole firmware
LICENSE="${LICENSE} !deblob? ( linux-firmware )" # tree has been dropped from the kernel.
kernel_is lt 4 14 && LICENSE+=" !deblob? ( linux-firmware )"
DEPEND+=" deblob? ( ${PYTHON_DEPS} )" DEPEND+=" deblob? ( ${PYTHON_DEPS} )"
@ -654,10 +655,10 @@ if [[ ${ETYPE} == sources ]]; then
${DEBLOB_URI} ${DEBLOB_URI}
${DEBLOB_CHECK_URI} ${DEBLOB_CHECK_URI}
)" )"
else elif kernel_is lt 4 14; then
# We have no way to deblob older kernels, so just mark them as # We have no way to deblob older kernels, so just mark them as
# tainted with non-libre materials. # tainted with non-libre materials.
LICENSE="${LICENSE} linux-firmware" LICENSE+=" linux-firmware"
fi fi
fi fi
@ -1226,16 +1227,20 @@ unipatch() {
UNIPATCH_LIST_GENPATCHES+=" ${DISTDIR}/${tarball}" UNIPATCH_LIST_GENPATCHES+=" ${DISTDIR}/${tarball}"
debug-print "genpatches tarball: $tarball" debug-print "genpatches tarball: $tarball"
# check gcc version < 4.9.X uses patch 5000 and = 4.9.X uses patch 5010 local GCC_MAJOR_VER=$(gcc-major-version)
if [[ $(gcc-major-version) -eq 4 ]] && [[ $(gcc-minor-version) -ne 9 ]]; then local GCC_MINOR_VER=$(gcc-minor-version)
# drop 5000_enable-additional-cpu-optimizations-for-gcc-4.9.patch
if [[ $UNIPATCH_DROP != *"5010_enable-additional-cpu-optimizations-for-gcc-4.9.patch"* ]]; then # optimization patch for gcc < 8.X and kernel > 4.13
UNIPATCH_DROP+=" 5010_enable-additional-cpu-optimizations-for-gcc-4.9.patch" if [[ ${GCC_MAJOR_VER} -lt 8 ]] && [[ ${GCC_MAJOR_VER} -gt 4 ]]; then
if kernel_is ge 4 13 ; then
UNIPATCH_DROP+=" 5011_enable-cpu-optimizations-for-gcc8.patch"
fi fi
else # optimization patch for gcc >= 8 and kernel ge 4.13
if [[ $UNIPATCH_DROP != *"5000_enable-additional-cpu-optimizations-for-gcc.patch"* ]]; then elif [[ "${GCC_MAJOR_VER}" -ge 8 ]]; then
#drop 5000_enable-additional-cpu-optimizations-for-gcc.patch if kernel_is ge 4 13; then
UNIPATCH_DROP+=" 5000_enable-additional-cpu-optimizations-for-gcc.patch" # support old kernels for a period. For now, remove as all gcc versions required are masked
UNIPATCH_DROP+=" 5010_enable-additional-cpu-optimizations-for-gcc.patch"
UNIPATCH_DROP+=" 5010_enable-additional-cpu-optimizations-for-gcc-4.9.patch"
fi fi
fi fi
fi fi

View File

@ -7,7 +7,7 @@
# @AUTHOR: # @AUTHOR:
# 0xd34df00d@gmail.com # 0xd34df00d@gmail.com
# NightNord@niifaq.ru # NightNord@niifaq.ru
# @SUPPORTED_EAPIS: 6 # @SUPPORTED_EAPIS: 6 7
# @BLURB: Common functions and setup utilities for the LeechCraft app # @BLURB: Common functions and setup utilities for the LeechCraft app
# @DESCRIPTION: # @DESCRIPTION:
# The leechcraft eclass contains a common set of functions and steps # The leechcraft eclass contains a common set of functions and steps
@ -22,7 +22,7 @@
# Only EAPI >=6 is supported # Only EAPI >=6 is supported
case ${EAPI:-0} in case ${EAPI:-0} in
6) ;; 6|7) ;;
*) die "EAPI not supported, bug ebuild mantainer" ;; *) die "EAPI not supported, bug ebuild mantainer" ;;
esac esac

View File

@ -638,6 +638,8 @@ linux-mod_src_compile() {
set_arch_to_kernel set_arch_to_kernel
ABI="${KERNEL_ABI}" ABI="${KERNEL_ABI}"
[[ -n ${KERNEL_DIR} ]] && addpredict "${KERNEL_DIR}/null.dwo"
BUILD_TARGETS=${BUILD_TARGETS:-clean module} BUILD_TARGETS=${BUILD_TARGETS:-clean module}
strip_modulenames; strip_modulenames;
cd "${S}" cd "${S}"
@ -702,6 +704,8 @@ linux-mod_src_install() {
local modulename libdir srcdir objdir i n local modulename libdir srcdir objdir i n
[[ -n ${KERNEL_DIR} ]] && addpredict "${KERNEL_DIR}/null.dwo"
strip_modulenames; strip_modulenames;
for i in ${MODULE_NAMES} for i in ${MODULE_NAMES}
do do

View File

@ -1,4 +1,4 @@
# Copyright 1999-2018 Gentoo Foundation # Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2 # Distributed under the terms of the GNU General Public License v2
# @ECLASS: llvm.eclass # @ECLASS: llvm.eclass
@ -6,7 +6,7 @@
# Michał Górny <mgorny@gentoo.org> # Michał Górny <mgorny@gentoo.org>
# @AUTHOR: # @AUTHOR:
# Michał Górny <mgorny@gentoo.org> # Michał Górny <mgorny@gentoo.org>
# @SUPPORTED_EAPIS: 6 # @SUPPORTED_EAPIS: 6 7
# @BLURB: Utility functions to build against slotted LLVM # @BLURB: Utility functions to build against slotted LLVM
# @DESCRIPTION: # @DESCRIPTION:
# The llvm.eclass provides utility functions that can be used to build # The llvm.eclass provides utility functions that can be used to build
@ -17,20 +17,21 @@
# a proper dependency string yourself to guarantee that appropriate # a proper dependency string yourself to guarantee that appropriate
# version of LLVM is installed. # version of LLVM is installed.
# #
# Example use for a package supporting LLVM 3.8 to 5: # Example use for a package supporting LLVM 5 to 7:
# @CODE # @CODE
# inherit cmake-utils llvm # inherit cmake-utils llvm
# #
# RDEPEND=" # RDEPEND="
# <sys-devel/llvm-6_rc:= # <sys-devel/llvm-8:=
# || ( # || (
# sys-devel/llvm:7
# sys-devel/llvm:6
# sys-devel/llvm:5 # sys-devel/llvm:5
# sys-devel/llvm:4
# >=sys-devel/llvm-3.8:0
# ) # )
# " # "
# DEPEND=${RDEPEND}
# #
# LLVM_MAX_SLOT=5 # LLVM_MAX_SLOT=7
# #
# # only if you need to define one explicitly # # only if you need to define one explicitly
# pkg_setup() { # pkg_setup() {
@ -46,11 +47,12 @@
# # note: do not use := on both clang and llvm, it can match different # # 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. # # slots then. clang pulls llvm in, so we can skip the latter.
# RDEPEND=" # RDEPEND="
# >=sys-devel/clang-4:=[llvm_targets_AMDGPU(+)] # >=sys-devel/clang-6:=[llvm_targets_AMDGPU(+)]
# " # "
# DEPEND=${RDEPEND}
# #
# llvm_check_deps() { # llvm_check_deps() {
# has_version "sys-devel/clang:${LLVM_SLOT}[llvm_targets_AMDGPU(+)]" # has_version -d "sys-devel/clang:${LLVM_SLOT}[llvm_targets_AMDGPU(+)]"
# } # }
# @CODE # @CODE
@ -58,7 +60,7 @@ case "${EAPI:-0}" in
0|1|2|3|4|5) 0|1|2|3|4|5)
die "Unsupported EAPI=${EAPI:-0} (too old) for ${ECLASS}" die "Unsupported EAPI=${EAPI:-0} (too old) for ${ECLASS}"
;; ;;
6) 6|7)
;; ;;
*) *)
die "Unsupported EAPI=${EAPI} (unknown) for ${ECLASS}" die "Unsupported EAPI=${EAPI} (unknown) for ${ECLASS}"
@ -79,14 +81,22 @@ if [[ ! ${_LLVM_ECLASS} ]]; then
# @INTERNAL # @INTERNAL
# @DESCRIPTION: # @DESCRIPTION:
# Correct values of LLVM slots, newest first. # Correct values of LLVM slots, newest first.
declare -g -r _LLVM_KNOWN_SLOTS=( 8 7 6 5 4 ) declare -g -r _LLVM_KNOWN_SLOTS=( 9 8 7 6 5 4 )
# @FUNCTION: get_llvm_prefix # @FUNCTION: get_llvm_prefix
# @USAGE: [<max_slot>] # @USAGE: [-b|-d] [<max_slot>]
# @DESCRIPTION: # @DESCRIPTION:
# Find the newest LLVM install that is acceptable for the package, # Find the newest LLVM install that is acceptable for the package,
# and print an absolute path to it. # and print an absolute path to it.
# #
# If -b is specified, the checks are performed relative to BROOT,
# and BROOT-path is returned. This is appropriate when your package
# calls llvm-config executable. -b is supported since EAPI 7.
#
# If -d is specified, the checks are performed relative to ESYSROOT,
# and ESYSROOT-path is returned. This is appropriate when your package
# uses CMake find_package(LLVM). -d is the default.
#
# If <max_slot> is specified, then only LLVM versions that are not newer # If <max_slot> is specified, then only LLVM versions that are not newer
# than <max_slot> will be considered. Otherwise, all LLVM versions would # than <max_slot> will be considered. Otherwise, all LLVM versions would
# be considered acceptable. The function does not support specifying # be considered acceptable. The function does not support specifying
@ -103,6 +113,37 @@ declare -g -r _LLVM_KNOWN_SLOTS=( 8 7 6 5 4 )
get_llvm_prefix() { get_llvm_prefix() {
debug-print-function ${FUNCNAME} "${@}" debug-print-function ${FUNCNAME} "${@}"
local hv_switch=-d
while [[ ${1} == -* ]]; do
case ${1} in
-b|-d) hv_switch=${1};;
*) break;;
esac
shift
done
local prefix=
if [[ ${EAPI} != 6 ]]; then
case ${hv_switch} in
-b)
prefix=${BROOT}
;;
-d)
prefix=${ESYSROOT}
;;
esac
else
case ${hv_switch} in
-b)
die "${FUNCNAME} -b is not supported in EAPI ${EAPI}"
;;
-d)
prefix=${EPREFIX}
hv_switch=
;;
esac
fi
local max_slot=${1} local max_slot=${1}
local slot local slot
for slot in "${_LLVM_KNOWN_SLOTS[@]}"; do for slot in "${_LLVM_KNOWN_SLOTS[@]}"; do
@ -120,10 +161,10 @@ get_llvm_prefix() {
llvm_check_deps || continue llvm_check_deps || continue
else else
# check if LLVM package is installed # check if LLVM package is installed
has_version "sys-devel/llvm:${slot}" || continue has_version ${hv_switch} "sys-devel/llvm:${slot}" || continue
fi fi
echo "${EPREFIX}/usr/lib/llvm/${slot}" echo "${prefix}/usr/lib/llvm/${slot}"
return return
done done
@ -134,8 +175,8 @@ get_llvm_prefix() {
# fallback to :0 # fallback to :0
# assume it's always <= 4 (the lower max_slot allowed) # assume it's always <= 4 (the lower max_slot allowed)
if has_version "sys-devel/llvm:0"; then if has_version ${hv_switch} "sys-devel/llvm:0"; then
echo "${EPREFIX}/usr" echo "${prefix}/usr"
return return
fi fi

View File

@ -1,4 +1,4 @@
# Copyright 1999-2017 Gentoo Foundation # Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2 # Distributed under the terms of the GNU General Public License v2
# @ECLASS: ltprune.eclass # @ECLASS: ltprune.eclass
@ -11,7 +11,7 @@
# #
# Discouraged. Whenever possible, please use much simpler: # Discouraged. Whenever possible, please use much simpler:
# @CODE # @CODE
# find "${D}" -name '*.la' -delete || die # find "${D}" -name '*.la' -type f -delete || die
# @CODE # @CODE
if [[ -z ${_LTPRUNE_ECLASS} ]]; then if [[ -z ${_LTPRUNE_ECLASS} ]]; then

View File

@ -39,16 +39,6 @@ case ${EAPI:-0} in
*) die "EAPI=${EAPI} is not supported" ;; *) die "EAPI=${EAPI} is not supported" ;;
esac 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 if [[ -z ${_MESON_ECLASS} ]]; then
inherit ninja-utils python-utils-r1 toolchain-funcs inherit ninja-utils python-utils-r1 toolchain-funcs
@ -60,23 +50,14 @@ EXPORT_FUNCTIONS src_configure src_compile src_test src_install
if [[ -z ${_MESON_ECLASS} ]]; then if [[ -z ${_MESON_ECLASS} ]]; then
_MESON_ECLASS=1 _MESON_ECLASS=1
MESON_DEPEND=">=dev-util/meson-0.45.1 MESON_DEPEND=">=dev-util/meson-0.48.2
>=dev-util/ninja-1.7.2" >=dev-util/ninja-1.7.2"
# @ECLASS-VARIABLE: MESON_AUTO_DEPEND if [[ ${EAPI:-0} == [6] ]]; then
# @DESCRIPTION: DEPEND=${MESON_DEPEND}
# Set to 'no' to disable automatically adding to DEPEND. This lets else
# ebuilds form conditional depends by using ${MESON_DEPEND} in BDEPEND=${MESON_DEPEND}
# their own DEPEND string.
: ${MESON_AUTO_DEPEND:=yes}
if [[ ${MESON_AUTO_DEPEND} != "no" ]] ; then
if [[ ${EAPI:-0} == [0123456] ]]; then
DEPEND=${MESON_DEPEND}
else
BDEPEND=${MESON_DEPEND}
fi
fi fi
__MESON_AUTO_DEPEND=${MESON_AUTO_DEPEND} # See top of eclass
# @ECLASS-VARIABLE: BUILD_DIR # @ECLASS-VARIABLE: BUILD_DIR
# @DEFAULT_UNSET # @DEFAULT_UNSET
@ -207,6 +188,19 @@ meson_use() {
usex "$1" "-D${2-$1}=true" "-D${2-$1}=false" usex "$1" "-D${2-$1}=true" "-D${2-$1}=false"
} }
# @FUNCTION: meson_feature
# @USAGE: <USE flag> [option name]
# @DESCRIPTION:
# Given a USE flag and meson project option, outputs a string like:
#
# -Doption=enabled
# -Doption=disabled
#
# If the project option is unspecified, it defaults to the USE flag.
meson_feature() {
usex "$1" "-D${2-$1}=enabled" "-D${2-$1}=disabled"
}
# @FUNCTION: meson_src_configure # @FUNCTION: meson_src_configure
# @USAGE: [extra meson arguments] # @USAGE: [extra meson arguments]
# @DESCRIPTION: # @DESCRIPTION:

View File

@ -129,7 +129,7 @@ RDEPEND=">=app-text/hunspell-1.2:=
system-cairo? ( >=x11-libs/cairo-1.12[X,xcb] >=x11-libs/pixman-0.19.2 ) system-cairo? ( >=x11-libs/cairo-1.12[X,xcb] >=x11-libs/pixman-0.19.2 )
system-icu? ( >=dev-libs/icu-58.1:= ) system-icu? ( >=dev-libs/icu-58.1:= )
system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 ) system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
system-libevent? ( >=dev-libs/libevent-2.0:0= ) system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] )
system-sqlite? ( >=dev-db/sqlite-3.17.0:3[secure-delete,debug=] ) system-sqlite? ( >=dev-db/sqlite-3.17.0:3[secure-delete,debug=] )
system-libvpx? ( >=media-libs/libvpx-1.5.0:0=[postproc] ) system-libvpx? ( >=media-libs/libvpx-1.5.0:0=[postproc] )
system-harfbuzz? ( >=media-libs/harfbuzz-1.3.3:0= >=media-gfx/graphite2-1.3.8 ) system-harfbuzz? ( >=media-libs/harfbuzz-1.3.3:0= >=media-gfx/graphite2-1.3.8 )

View File

@ -112,9 +112,12 @@ RDEPEND=">=app-text/hunspell-1.5.4:=
x11-libs/libXt x11-libs/libXt
system-icu? ( >=dev-libs/icu-59.1:= ) system-icu? ( >=dev-libs/icu-59.1:= )
system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 ) system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
system-libevent? ( >=dev-libs/libevent-2.0:0= ) system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] )
system-sqlite? ( >=dev-db/sqlite-3.23.1:3[secure-delete,debug=] ) system-sqlite? ( >=dev-db/sqlite-3.23.1:3[secure-delete,debug=] )
system-libvpx? ( >=media-libs/libvpx-1.5.0:0=[postproc] ) system-libvpx? (
>=media-libs/libvpx-1.5.0:0=[postproc]
<media-libs/libvpx-1.8:0=[postproc]
)
system-harfbuzz? ( >=media-libs/harfbuzz-1.4.2:0= >=media-gfx/graphite2-1.3.9-r1 ) system-harfbuzz? ( >=media-libs/harfbuzz-1.4.2:0= >=media-gfx/graphite2-1.3.9-r1 )
" "
@ -155,9 +158,31 @@ DEPEND="app-arch/zip
app-arch/unzip app-arch/unzip
>=sys-devel/binutils-2.30 >=sys-devel/binutils-2.30
sys-apps/findutils sys-apps/findutils
clang? ( || (
>=sys-devel/llvm-4.0.1[gold] (
>=sys-devel/lld-4.0.1 sys-devel/clang:8
!clang? ( sys-devel/llvm:8 )
clang? (
=sys-devel/lld-8*
sys-devel/llvm:8[gold]
)
)
(
sys-devel/clang:7
!clang? ( sys-devel/llvm:7 )
clang? (
=sys-devel/lld-7*
sys-devel/llvm:7[gold]
)
)
(
sys-devel/clang:6
!clang? ( sys-devel/llvm:6 )
clang? (
=sys-devel/lld-6*
sys-devel/llvm:6[gold]
)
)
) )
pulseaudio? ( media-sound/pulseaudio ) pulseaudio? ( media-sound/pulseaudio )
elibc_glibc? ( elibc_glibc? (
@ -218,6 +243,11 @@ mozconfig_config() {
# Must pass release in order to properly select linker # Must pass release in order to properly select linker
mozconfig_annotate 'Enable by Gentoo' --enable-release mozconfig_annotate 'Enable by Gentoo' --enable-release
# Set correct update channel, bug 677722
if [[ -n "${MOZ_ESR}" ]] ; then
mozconfig_annotate 'set update channel to ESR' --enable-update-channel=esr
fi
# Avoid auto-magic on linker # Avoid auto-magic on linker
if use clang ; then if use clang ; then
# This is upstream's default # This is upstream's default
@ -331,8 +361,6 @@ mozconfig_config() {
if use clang ; then if use clang ; then
# https://bugzilla.mozilla.org/show_bug.cgi?id=1423822 # https://bugzilla.mozilla.org/show_bug.cgi?id=1423822
mozconfig_annotate 'elf-hack is broken when using Clang' --disable-elf-hack mozconfig_annotate 'elf-hack is broken when using Clang' --disable-elf-hack
elif use arm ; then
mozconfig_annotate 'elf-hack is broken on arm' --disable-elf-hack
fi fi
# Modifications to better support ARM, bug 553364 # Modifications to better support ARM, bug 553364

View File

@ -21,6 +21,7 @@ inherit multilib toolchain-funcs flag-o-matic python-any-r1 versionator
IUSE="${IUSE} custom-cflags custom-optimization" IUSE="${IUSE} custom-cflags custom-optimization"
DEPEND="virtual/pkgconfig DEPEND="virtual/pkgconfig
dev-lang/python:2.7[ncurses,sqlite,ssl,threads(+)]
${PYTHON_DEPS}" ${PYTHON_DEPS}"
# @FUNCTION: mozconfig_annotate # @FUNCTION: mozconfig_annotate
@ -239,7 +240,7 @@ mozconfig_init() {
# We need to append flags for gcc-6 support # We need to append flags for gcc-6 support
if [[ $(gcc-major-version) -ge 6 ]]; then if [[ $(gcc-major-version) -ge 6 ]]; then
append-cxxflags -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns -fno-schedule-insns2 append-cxxflags -flifetime-dse=1
fi fi
# Use the MOZILLA_FIVE_HOME for the rpath # Use the MOZILLA_FIVE_HOME for the rpath

View File

@ -1,4 +1,4 @@
# Copyright 1999-2018 Gentoo Foundation # Copyright 2013-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2 # Distributed under the terms of the GNU General Public License v2
# @ECLASS: multilib-build.eclass # @ECLASS: multilib-build.eclass
@ -45,8 +45,10 @@ _MULTILIB_FLAGS=(
abi_mips_n32:n32 abi_mips_n32:n32
abi_mips_n64:n64 abi_mips_n64:n64
abi_mips_o32:o32 abi_mips_o32:o32
abi_ppc_32:ppc,ppc_aix,ppc_macos # abi_ppc_32:ppc,ppc_aix,ppc_macos
abi_ppc_64:ppc64 # abi_ppc_64:ppc64
abi_riscv_lp64d:lp64d
abi_riscv_lp64:lp64
abi_s390_32:s390 abi_s390_32:s390
abi_s390_64:s390x abi_s390_64:s390x
) )
@ -479,30 +481,38 @@ multilib_prepare_wrappers() {
#elif defined(__i386__) /* plain x86 */ #elif defined(__i386__) /* plain x86 */
# error "abi_x86_32 not supported by the package." # error "abi_x86_32 not supported by the package."
#elif defined(__mips__) #elif defined(__mips__)
# if(_MIPS_SIM == _ABIN32) /* n32 */ # if(_MIPS_SIM == _ABIN32) /* n32 */
# error "abi_mips_n32 not supported by the package." # error "abi_mips_n32 not supported by the package."
# elif(_MIPS_SIM == _ABI64) /* n64 */ # elif(_MIPS_SIM == _ABI64) /* n64 */
# error "abi_mips_n64 not supported by the package." # error "abi_mips_n64 not supported by the package."
# elif(_MIPS_SIM == _ABIO32) /* o32 */ # elif(_MIPS_SIM == _ABIO32) /* o32 */
# error "abi_mips_o32 not supported by the package." # error "abi_mips_o32 not supported by the package."
# endif # endif
#elif defined(__riscv)
# if defined(__riscv_float_abi_double)
# error "abi_riscv_lp64d not supported by the package."
# elif defined(__riscv_float_abi_single)
# error "abi_riscv_lp64f not supported by the package."
# else
# error "abi_riscv_lp64 not supported by the package."
# endif
#elif defined(__sparc__) #elif defined(__sparc__)
# if defined(__arch64__) # if defined(__arch64__)
# error "abi_sparc_64 not supported by the package." # error "abi_sparc_64 not supported by the package."
# else # else
# error "abi_sparc_32 not supported by the package." # error "abi_sparc_32 not supported by the package."
# endif # endif
#elif defined(__s390__) #elif defined(__s390__)
# if defined(__s390x__) # if defined(__s390x__)
# error "abi_s390_64 not supported by the package." # error "abi_s390_64 not supported by the package."
# else # else
# error "abi_s390_32 not supported by the package." # error "abi_s390_32 not supported by the package."
# endif # endif
#elif defined(__powerpc__) || defined(__ppc__) #elif defined(__powerpc__) || defined(__ppc__)
# if defined(__powerpc64__) || defined(__ppc64__) # if defined(__powerpc64__) || defined(__ppc64__)
# error "abi_ppc_64 not supported by the package." # error "abi_ppc_64 not supported by the package."
# else # else
# error "abi_ppc_32 not supported by the package." # error "abi_ppc_32 not supported by the package."
# endif # endif
#elif defined(SWIG) /* https://sourceforge.net/p/swig/bugs/799/ */ #elif defined(SWIG) /* https://sourceforge.net/p/swig/bugs/799/ */
# error "Native ABI not supported by the package." # error "Native ABI not supported by the package."

View File

@ -385,6 +385,20 @@ multilib_env() {
: ${MULTILIB_ABIS=ppc64 ppc} : ${MULTILIB_ABIS=ppc64 ppc}
: ${DEFAULT_ABI=ppc64} : ${DEFAULT_ABI=ppc64}
;; ;;
riscv64*)
export CFLAGS_lp64d=${CFLAGS_lp64d--mabi=lp64d}
export CHOST_lp64d=${CTARGET}
export CTARGET_lp64d=${CTARGET}
export LIBDIR_lp64d="lib64/lp64d"
export CFLAGS_lp64=${CFLAGS_lp64--mabi=lp64}
export CHOST_lp64=${CTARGET}
export CTARGET_lp64=${CTARGET}
export LIBDIR_lp64="lib64/lp64"
: ${MULTILIB_ABIS=lp64d lp64}
: ${DEFAULT_ABI=lp64d}
;;
s390x*) s390x*)
export CFLAGS_s390=${CFLAGS_s390--m31} # the 31 is not a typo export CFLAGS_s390=${CFLAGS_s390--m31} # the 31 is not a typo
export CHOST_s390=${CTARGET/s390x/s390} export CHOST_s390=${CTARGET/s390x/s390}

View File

@ -1,540 +0,0 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: mysql-cmake.eclass
# @MAINTAINER:
# Maintainers:
# - MySQL Team <mysql-bugs@gentoo.org>
# - Robin H. Johnson <robbat2@gentoo.org>
# - Jorge Manuel B. S. Vicetto <jmbsvicetto@gentoo.org>
# - Brian Evans <grknight@gentoo.org>
# @BLURB: This eclass provides the support for cmake based mysql releases
# @DESCRIPTION:
# The mysql-cmake.eclass provides the support to build the mysql
# ebuilds using the cmake build system. This eclass provides
# the src_prepare, src_configure, src_compile, and src_install
# phase hooks.
inherit cmake-utils flag-o-matic multilib prefix eutils toolchain-funcs versionator
#
# HELPER FUNCTIONS:
#
# @FUNCTION: mysql_cmake_disable_test
# @DESCRIPTION:
# Helper function to disable specific tests.
mysql-cmake_disable_test() {
local rawtestname testname testsuite reason mysql_disabled_file mysql_disabled_dir
rawtestname="${1}" ; shift
reason="${@}"
ewarn "test '${rawtestname}' disabled: '${reason}'"
testsuite="${rawtestname/.*}"
testname="${rawtestname/*.}"
for mysql_disabled_file in \
${S}/mysql-test/disabled.def \
${S}/mysql-test/t/disabled.def ; do
[[ -f ${mysql_disabled_file} ]] && break
done
#mysql_disabled_file="${S}/mysql-test/t/disabled.def"
#einfo "rawtestname=${rawtestname} testname=${testname} testsuite=${testsuite}"
echo ${testname} : ${reason} >> "${mysql_disabled_file}"
if [[ ( -n ${testsuite} ) && ( ${testsuite} != "main" ) ]]; then
for mysql_disabled_file in \
${S}/mysql-test/suite/${testsuite}/disabled.def \
${S}/mysql-test/suite/${testsuite}/t/disabled.def \
FAILED ; do
[[ -f ${mysql_disabled_file} ]] && break
done
if [[ ${mysql_disabled_file} != "FAILED" ]]; then
echo "${testname} : ${reason}" >> "${mysql_disabled_file}"
else
for mysql_disabled_dir in \
${S}/mysql-test/suite/${testsuite} \
${S}/mysql-test/suite/${testsuite}/t \
FAILED ; do
[[ -d ${mysql_disabled_dir} ]] && break
done
if [[ ${mysql_disabled_dir} != "FAILED" ]]; then
echo "${testname} : ${reason}" >> "${mysql_disabled_dir}/disabled.def"
else
ewarn "Could not find testsuite disabled.def location for ${rawtestname}"
fi
fi
fi
}
# @FUNCTION: mysql-cmake_use_plugin
# @DESCRIPTION:
# Helper function to enable/disable plugins by use flags
# cmake-utils_use_with is not enough as some references check WITH_ (0|1)
# and some check WITHOUT_. Also, this can easily extend to non-storage plugins.
mysql-cmake_use_plugin() {
[[ -z $2 ]] && die "mysql-cmake_use_plugin <USE flag> <flag name>"
if use_if_iuse $1 ; then
echo "-DWITH_$2=1 -DPLUGIN_$2=YES"
else
echo "-DWITHOUT_$2=1 -DWITH_$2=0 -DPLUGIN_$2=NO"
fi
}
# @FUNCTION: configure_cmake_locale
# @DESCRIPTION:
# Helper function to configure locale cmake options
configure_cmake_locale() {
if use_if_iuse minimal ; then
:
elif ! in_iuse server || use_if_iuse server ; then
if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then
ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}"
ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}."
ewarn "You MUST file bugs without these variables set."
mycmakeargs+=(
-DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET}
-DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION}
)
elif ! use latin1 ; then
mycmakeargs+=(
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
)
else
mycmakeargs+=(
-DDEFAULT_CHARSET=latin1
-DDEFAULT_COLLATION=latin1_swedish_ci
)
fi
fi
}
# @FUNCTION: configure_cmake_minimal
# @DESCRIPTION:
# Helper function to configure minimal build
configure_cmake_minimal() {
mycmakeargs+=(
-DWITHOUT_SERVER=1
-DWITHOUT_EMBEDDED_SERVER=1
-DEXTRA_CHARSETS=none
-DINSTALL_SQLBENCHDIR=
-DWITHOUT_ARCHIVE_STORAGE_ENGINE=1
-DWITHOUT_BLACKHOLE_STORAGE_ENGINE=1
-DWITHOUT_CSV_STORAGE_ENGINE=1
-DWITHOUT_FEDERATED_STORAGE_ENGINE=1
-DWITHOUT_HEAP_STORAGE_ENGINE=1
-DWITHOUT_INNOBASE_STORAGE_ENGINE=1
-DWITHOUT_MYISAMMRG_STORAGE_ENGINE=1
-DWITHOUT_MYISAM_STORAGE_ENGINE=1
-DWITHOUT_PARTITION_STORAGE_ENGINE=1
-DPLUGIN_ARCHIVE=NO
-DPLUGIN_BLACKHOLE=NO
-DPLUGIN_CSV=NO
-DPLUGIN_FEDERATED=NO
-DPLUGIN_HEAP=NO
-DPLUGIN_INNOBASE=NO
-DPLUGIN_MYISAMMRG=NO
-DPLUGIN_MYISAM=NO
-DPLUGIN_PARTITION=NO
)
}
# @FUNCTION: configure_cmake_standard
# @DESCRIPTION:
# Helper function to configure standard build
configure_cmake_standard() {
mycmakeargs+=(
-DEXTRA_CHARSETS=all
-DMYSQL_USER=mysql
-DMYSQL_UNIX_ADDR=${EPREFIX}/var/run/mysqld/mysqld.sock
$(cmake-utils_use_disable !static SHARED)
$(cmake-utils_use_with debug)
$(cmake-utils_use_with embedded EMBEDDED_SERVER)
$(cmake-utils_use_with profiling)
$(cmake-utils_use_enable systemtap DTRACE)
)
if use static; then
mycmakeargs+=( -DWITH_PIC=1 )
fi
if use jemalloc; then
mycmakeargs+=( -DWITH_SAFEMALLOC=OFF )
fi
if use tcmalloc; then
mycmakeargs+=( -DWITH_SAFEMALLOC=OFF )
fi
# Storage engines
mycmakeargs+=(
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_CSV_STORAGE_ENGINE=1
-DWITH_HEAP_STORAGE_ENGINE=1
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_MYISAMMRG_STORAGE_ENGINE=1
-DWITH_MYISAM_STORAGE_ENGINE=1
-DWITH_PARTITION_STORAGE_ENGINE=1
)
if in_iuse pbxt ; then
mycmakeargs+=( $(cmake-utils_use_with pbxt PBXT_STORAGE_ENGINE) )
fi
if [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]]; then
# Federated{,X} must be treated special otherwise they will not be built as plugins
if ! use extraengine ; then
mycmakeargs+=(
-DWITHOUT_FEDERATED_STORAGE_ENGINE=1
-DPLUGIN_FEDERATED=NO
-DWITHOUT_FEDERATEDX_STORAGE_ENGINE=1
-DPLUGIN_FEDERATEDX=NO )
fi
mycmakeargs+=(
$(mysql-cmake_use_plugin oqgraph OQGRAPH)
$(mysql-cmake_use_plugin sphinx SPHINX)
$(mysql-cmake_use_plugin tokudb TOKUDB)
$(mysql-cmake_use_plugin pam AUTH_PAM)
)
if mysql_version_is_at_least 10.0.5 ; then
# CassandraSE needs Apache Thrift which is not in portage
mycmakeargs+=(
-DWITHOUT_CASSANDRA=1 -DWITH_CASSANDRA=0
-DPLUGIN_CASSANDRA=NO
$(mysql-cmake_use_plugin extraengine SEQUENCE)
$(mysql-cmake_use_plugin extraengine SPIDER)
$(mysql-cmake_use_plugin extraengine CONNECT)
-DCONNECT_WITH_MYSQL=1
$(cmake-utils_use xml CONNECT_WITH_LIBXML2)
$(cmake-utils_use odbc CONNECT_WITH_ODBC)
)
fi
if in_iuse mroonga ; then
use mroonga || mycmakeargs+=( -DWITHOUT_MROONGA=1 )
else
mycmakeargs+=( -DWITHOUT_MROONGA=1 )
fi
if in_iuse galera ; then
mycmakeargs+=( $(cmake-utils_use_with galera WSREP) )
fi
if mysql_version_is_at_least "10.1.1" ; then
mycmakeargs+=( $(cmake-utils_use_with innodb-lz4 INNODB_LZ4)
$(cmake-utils_use_with innodb-lzo INNODB_LZO) )
fi
if in_iuse innodb-snappy ; then
mycmakeargs+=( $(cmake-utils_use_with innodb-snappy INNODB_SNAPPY) )
fi
if mysql_version_is_at_least "10.1.2" ; then
mycmakeargs+=( $(mysql-cmake_use_plugin cracklib CRACKLIB_PASSWORD_CHECK ) )
fi
# The build forces this to be defined when cross-compiling. We pass it
# all the time for simplicity and to make sure it is actually correct.
mycmakeargs+=( -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1) )
else
mycmakeargs+=( $(cmake-utils_use_with extraengine FEDERATED_STORAGE_ENGINE) )
fi
if [[ ${PN} == "percona-server" ]]; then
mycmakeargs+=(
$(cmake-utils_use_with pam PAM)
)
if in_iuse tokudb ; then
# TokuDB Backup plugin requires valgrind unconditionally
mycmakeargs+=(
$(mysql-cmake_use_plugin tokudb TOKUDB)
$(usex tokudb-backup-plugin "" -DTOKUDB_BACKUP_DISABLED=1)
)
fi
fi
if [[ ${PN} == "mysql-cluster" ]]; then
# TODO: This really should include the following options,
# but the memcached package doesn't install the files it seeks.
# -DWITH_BUNDLED_MEMCACHED=OFF
# -DMEMCACHED_HOME=${EPREFIX}/usr
mycmakeargs+=(
-DWITH_BUNDLED_LIBEVENT=OFF
$(cmake-utils_use_with java NDB_JAVA)
)
fi
}
#
# EBUILD FUNCTIONS
#
# @FUNCTION: mysql-cmake_src_prepare
# @DESCRIPTION:
# Apply patches to the source code and remove unneeded bundled libs.
mysql-cmake_src_prepare() {
debug-print-function ${FUNCNAME} "$@"
cd "${S}"
if [[ ${MY_EXTRAS_VER} != none ]]; then
# Apply the patches for this MySQL version
EPATCH_SUFFIX="patch"
mkdir -p "${EPATCH_SOURCE}" || die "Unable to create epatch directory"
# Clean out old items
rm -f "${EPATCH_SOURCE}"/*
# Now link in right patches
mysql_mv_patches
# And apply
epatch
fi
# last -fPIC fixup, per bug #305873
i="${S}"/storage/innodb_plugin/plug.in
[[ -f ${i} ]] && sed -i -e '/CFLAGS/s,-prefer-non-pic,,g' "${i}"
rm -f "scripts/mysqlbug"
if use jemalloc && ! ( [[ ${PN} == "mariadb" ]] && mysql_version_is_at_least "5.5.33" ); then
echo "TARGET_LINK_LIBRARIES(mysqld jemalloc)" >> "${S}/sql/CMakeLists.txt" || die
fi
if use tcmalloc; then
echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S}/sql/CMakeLists.txt"
fi
if in_iuse tokudb ; then
# Don't build bundled xz-utils
if [[ -d "${S}/storage/tokudb/ft-index" ]] ; then
rm -f "${S}/storage/tokudb/ft-index/cmake_modules/TokuThirdParty.cmake" || die
touch "${S}/storage/tokudb/ft-index/cmake_modules/TokuThirdParty.cmake" || die
sed -i 's/ build_lzma//' "${S}/storage/tokudb/ft-index/ft/CMakeLists.txt" || die
elif [[ -d "${S}/storage/tokudb/PerconaFT" ]] ; then
rm "${S}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die
touch "${S}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die
sed -i -e 's/ build_lzma//' -e 's/ build_snappy//' "${S}/storage/tokudb/PerconaFT/ft/CMakeLists.txt" || die
sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S}/storage/tokudb/PerconaFT/portability/CMakeLists.txt" || die
fi
if [[ -d "${S}/plugin/tokudb-backup-plugin" ]] && ! use tokudb-backup-plugin ; then
rm -r "${S}/plugin/tokudb-backup-plugin/Percona-TokuBackup" || die
fi
fi
# Remove the bundled groonga if it exists
# There is no CMake flag, it simply checks for existance
if [[ -d "${S}"/storage/mroonga/vendor/groonga ]] ; then
rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga"
fi
cmake-utils_src_prepare
}
# @FUNCTION: mysql-cmake_src_configure
# @DESCRIPTION:
# Configure mysql to build the code for Gentoo respecting the use flags.
mysql-cmake_src_configure() {
debug-print-function ${FUNCNAME} "$@"
CMAKE_BUILD_TYPE="RelWithDebInfo"
# debug hack wrt #497532
mycmakeargs=(
-DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug "" "-DNDEBUG")"
-DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug "" "-DNDEBUG")"
-DCMAKE_INSTALL_PREFIX=${EPREFIX}/usr
-DMYSQL_DATADIR=${EPREFIX}/var/lib/mysql
-DSYSCONFDIR=${EPREFIX}/etc/mysql
-DINSTALL_BINDIR=bin
-DINSTALL_DOCDIR=share/doc/${P}
-DINSTALL_DOCREADMEDIR=share/doc/${P}
-DINSTALL_INCLUDEDIR=include/mysql
-DINSTALL_INFODIR=share/info
-DINSTALL_LIBDIR=$(get_libdir)
-DINSTALL_ELIBDIR=$(get_libdir)/mysql
-DINSTALL_MANDIR=share/man
-DINSTALL_MYSQLDATADIR=${EPREFIX}/var/lib/mysql
-DINSTALL_MYSQLSHAREDIR=share/mysql
-DINSTALL_MYSQLTESTDIR=share/mysql/mysql-test
-DINSTALL_PLUGINDIR=$(get_libdir)/mysql/plugin
-DINSTALL_SBINDIR=sbin
-DINSTALL_SCRIPTDIR=share/mysql/scripts
-DINSTALL_SQLBENCHDIR=share/mysql
-DINSTALL_SUPPORTFILESDIR=${EPREFIX}/usr/share/mysql
-DWITH_COMMENT="Gentoo Linux ${PF}"
$(cmake-utils_use_with test UNIT_TESTS)
-DWITH_LIBEDIT=0
-DWITH_ZLIB=system
-DWITHOUT_LIBWRAP=1
-DENABLED_LOCAL_INFILE=1
$(cmake-utils_use_enable static-libs STATIC_LIBS)
-DWITH_SSL=$(usex ssl system bundled)
-DWITH_DEFAULT_COMPILER_OPTIONS=0
-DWITH_DEFAULT_FEATURE_SET=0
)
if in_iuse bindist ; then
mycmakeargs+=(
-DWITH_READLINE=$(usex bindist 1 0)
-DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1)
$(usex bindist -DHAVE_BFD_H=0 '')
)
fi
mycmakeargs+=( -DWITH_EDITLINE=system )
if [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]] ; then
mycmakeargs+=(
-DWITH_JEMALLOC=$(usex jemalloc system)
)
mysql_version_is_at_least "10.0.9" && mycmakeargs+=( -DWITH_PCRE=system )
fi
configure_cmake_locale
if use_if_iuse minimal ; then
configure_cmake_minimal
else
configure_cmake_standard
fi
# Bug #114895, bug #110149
filter-flags "-O" "-O[01]"
CXXFLAGS="${CXXFLAGS} -fno-strict-aliasing"
CXXFLAGS="${CXXFLAGS} -felide-constructors"
# Causes linkage failures. Upstream bug #59607 removes it
if ! mysql_version_is_at_least "5.6" ; then
CXXFLAGS="${CXXFLAGS} -fno-implicit-templates"
fi
# As of 5.7, exceptions and rtti are used!
if [[ ${PN} -eq 'percona-server' ]] && mysql_version_is_at_least "5.6.26" ; then
CXXFLAGS="${CXXFLAGS} -fno-rtti"
elif ! mysql_version_is_at_least "5.7" ; then
CXXFLAGS="${CXXFLAGS} -fno-exceptions -fno-rtti"
fi
export CXXFLAGS
# bug #283926, with GCC4.4, this is required to get correct behavior.
append-flags -fno-strict-aliasing
cmake-utils_src_configure
}
# @FUNCTION: mysql-cmake_src_compile
# @DESCRIPTION:
# Compile the mysql code.
mysql-cmake_src_compile() {
debug-print-function ${FUNCNAME} "$@"
cmake-utils_src_compile
}
# @FUNCTION: mysql-cmake_src_install
# @DESCRIPTION:
# Install mysql.
mysql-cmake_src_install() {
debug-print-function ${FUNCNAME} "$@"
# Make sure the vars are correctly initialized
mysql_init_vars
cmake-utils_src_install
if ! in_iuse tools || use_if_iuse tools ; then
# Convenience links
einfo "Making Convenience links for mysqlcheck multi-call binary"
dosym "/usr/bin/mysqlcheck" "/usr/bin/mysqlanalyze"
dosym "/usr/bin/mysqlcheck" "/usr/bin/mysqlrepair"
dosym "/usr/bin/mysqlcheck" "/usr/bin/mysqloptimize"
fi
# Create a mariadb_config symlink
[[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]] && dosym "/usr/bin/mysql_config" "/usr/bin/mariadb_config"
# INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
rm -Rf "${ED}/usr/data"
# Various junk (my-*.cnf moved elsewhere)
einfo "Removing duplicate /usr/share/mysql files"
# Unless they explicitly specific USE=test, then do not install the
# testsuite. It DOES have a use to be installed, esp. when you want to do a
# validation of your database configuration after tuning it.
if ! use test ; then
rm -rf "${D}"/${MY_SHAREDSTATEDIR}/mysql-test
fi
# Configuration stuff
case ${MYSQL_PV_MAJOR} in
5.[1-4]*) mysql_mycnf_version="5.1" ;;
5.5) mysql_mycnf_version="5.5" ;;
5.[6-9]|6*|7*|8*|9*|10*) mysql_mycnf_version="5.6" ;;
esac
einfo "Building default my.cnf (${mysql_mycnf_version})"
insinto "${MY_SYSCONFDIR#${EPREFIX}}"
[[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf
mycnf_src="my.cnf-${mysql_mycnf_version}"
sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
"${FILESDIR}/${mycnf_src}" \
> "${TMPDIR}/my.cnf.ok" || die
use prefix && sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' "${TMPDIR}/my.cnf.ok"
if use latin1 ; then
sed -i \
-e "/character-set/s|utf8|latin1|g" \
"${TMPDIR}/my.cnf.ok" || die
fi
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 "Including support files and sample configurations"
docinto "support-files"
for script in \
"${S}"/support-files/my-*.cnf.sh \
"${S}"/support-files/magic \
"${S}"/support-files/ndb-config-2-node.ini.sh
do
[[ -f $script ]] && dodoc "${script}"
done
docinto "scripts"
for script in "${S}"/scripts/mysql* ; do
[[ ( -f $script ) && ( ${script%.sh} == ${script} ) ]] && dodoc "${script}"
done
fi
#Remove mytop if perl is not selected
[[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]] && ! use perl \
&& rm -f "${ED}/usr/bin/mytop"
in_iuse client-libs && ! use client-libs && return
# Percona has decided to rename libmysqlclient to libperconaserverclient
# Use a symlink to preserve linkages for those who don't use mysql_config
if [[ ${PN} == "percona-server" ]] && mysql_version_is_at_least "5.5.36" ; then
dosym libperconaserverclient.so /usr/$(get_libdir)/libmysqlclient.so
dosym libperconaserverclient.so /usr/$(get_libdir)/libmysqlclient_r.so
if use static-libs ; then
dosym libperconaserverclient.a /usr/$(get_libdir)/libmysqlclient.a
dosym libperconaserverclient.a /usr/$(get_libdir)/libmysqlclient_r.a
fi
fi
}

File diff suppressed because it is too large Load Diff

View File

@ -1,914 +0,0 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: mysql-v2.eclass
# @MAINTAINER:
# Maintainers:
# - MySQL Team <mysql-bugs@gentoo.org>
# - Robin H. Johnson <robbat2@gentoo.org>
# - Jorge Manuel B. S. Vicetto <jmbsvicetto@gentoo.org>
# - Brian Evans <grknight@gentoo.org>
# @SUPPORTED_EAPIS: 4 5
# @BLURB: This eclass provides most of the functions for mysql ebuilds
# @DESCRIPTION:
# The mysql-v2.eclass is the base eclass to build the mysql and
# alternative projects (mariadb and percona) ebuilds.
# This eclass uses the mysql-autotools and mysql-cmake eclasses for the
# specific bits related to the build system.
# It provides the src_unpack, src_prepare, src_configure, src_compile,
# src_install, pkg_preinst, pkg_postinst, pkg_config and pkg_postrm
# phase hooks.
# @ECLASS-VARIABLE: BUILD
# @DESCRIPTION:
# Build type of the mysql version
: ${BUILD:=autotools}
case ${BUILD} in
"cmake")
BUILD_INHERIT="mysql-cmake"
;;
"autotools")
BUILD_INHERIT="mysql-autotools"
WANT_AUTOCONF="latest"
WANT_AUTOMAKE="latest"
;;
*)
die "${BUILD} is not a valid build system for mysql"
;;
esac
MYSQL_EXTRAS=""
# @ECLASS-VARIABLE: MYSQL_EXTRAS_VER
# @DEFAULT_UNSET
# @DESCRIPTION:
# The version of the MYSQL_EXTRAS repo to use to build mysql
# Use "none" to disable it's use
[[ ${MY_EXTRAS_VER} == "live" ]] && MYSQL_EXTRAS="git-r3"
inherit eutils flag-o-matic ${MYSQL_EXTRAS} ${BUILD_INHERIT} mysql_fx versionator toolchain-funcs user
#
# Supported EAPI versions and export functions
#
case "${EAPI:-0}" in
4|5) ;;
*) die "Unsupported EAPI: ${EAPI}" ;;
esac
EXPORT_FUNCTIONS pkg_setup src_unpack src_prepare src_configure src_compile src_install pkg_preinst pkg_postinst pkg_config pkg_postrm
#
# VARIABLES:
#
# Shorten the path because the socket path length must be shorter than 107 chars
# and we will run a mysql server during test phase
S="${WORKDIR}/mysql"
[[ ${MY_EXTRAS_VER} == "latest" ]] && MY_EXTRAS_VER="20090228-0714Z"
if [[ ${MY_EXTRAS_VER} == "live" ]]; then
EGIT_REPO_URI="git://anongit.gentoo.org/proj/mysql-extras.git"
EGIT_CHECKOUT_DIR=${WORKDIR}/mysql-extras
EGIT_CLONE_TYPE=shallow
fi
# @ECLASS-VARIABLE: MYSQL_PV_MAJOR
# @DESCRIPTION:
# Upstream MySQL considers the first two parts of the version number to be the
# major version. Upgrades that change major version should always run
# mysql_upgrade.
MYSQL_PV_MAJOR="$(get_version_component_range 1-2 ${PV})"
# Cluster is a special case...
if [[ ${PN} == "mysql-cluster" ]]; then
case ${PV} in
6.1*|7.0*|7.1*) MYSQL_PV_MAJOR=5.1 ;;
7.2*) MYSQL_PV_MAJOR=5.5 ;;
7.3*) MYSQL_PV_MAJOR=5.6 ;;
esac
fi
# MariaDB has left the numbering schema but keeping compatibility
if [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]]; then
case ${PV} in
10.0*|10.1*) MYSQL_PV_MAJOR="5.6" ;;
esac
fi
# @ECLASS-VARIABLE: MYSQL_VERSION_ID
# @DESCRIPTION:
# MYSQL_VERSION_ID will be:
# major * 10e6 + minor * 10e4 + micro * 10e2 + gentoo revision number, all [0..99]
# This is an important part, because many of the choices the MySQL ebuild will do
# depend on this variable.
# In particular, the code below transforms a $PVR like "5.0.18-r3" in "5001803"
# We also strip off upstream's trailing letter that they use to respin tarballs
MYSQL_VERSION_ID=""
tpv="${PV%[a-z]}"
tpv=( ${tpv//[-._]/ } ) ; tpv[3]="${PVR:${#PV}}" ; tpv[3]="${tpv[3]##*-r}"
for vatom in 0 1 2 3 ; do
# pad to length 2
tpv[${vatom}]="00${tpv[${vatom}]}"
MYSQL_VERSION_ID="${MYSQL_VERSION_ID}${tpv[${vatom}]:0-2}"
done
# strip leading "0" (otherwise it's considered an octal number by BASH)
MYSQL_VERSION_ID=${MYSQL_VERSION_ID##"0"}
# This eclass should only be used with at least mysql-5.1.50
mysql_version_is_at_least "5.1.50" || die "This eclass should only be used with >=mysql-5.1.50"
# @ECLASS-VARIABLE: XTRADB_VER
# @DEFAULT_UNSET
# @DESCRIPTION:
# Version of the XTRADB storage engine
# @ECLASS-VARIABLE: PERCONA_VER
# @DEFAULT_UNSET
# @DESCRIPTION:
# Designation by PERCONA for a MySQL version to apply an XTRADB release
# Work out the default SERVER_URI correctly
if [[ -z ${SERVER_URI} ]]; then
[[ -z ${MY_PV} ]] && MY_PV="${PV//_/-}"
if [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]]; then
# Beginning with 5.5, MariaDB stopped putting beta, alpha or rc on their tarball names
mysql_version_is_at_least "5.5" && MARIA_FULL_PV=$(get_version_component_range 1-3) || \
MARIA_FULL_PV=$(replace_version_separator 3 '-' ${MY_PV})
MARIA_FULL_P="${PN}-${MARIA_FULL_PV}"
SERVER_URI="
http://ftp.osuosl.org/pub/mariadb/${MARIA_FULL_P}/kvm-tarbake-jaunty-x86/${MARIA_FULL_P}.tar.gz
http://ftp.osuosl.org/pub/mariadb/${MARIA_FULL_P}/source/${MARIA_FULL_P}.tar.gz
http://mirror.jmu.edu/pub/mariadb/${MARIA_FULL_P}/kvm-tarbake-jaunty-x86/${MARIA_FULL_P}.tar.gz
http://mirrors.coreix.net/mariadb/${MARIA_FULL_P}/kvm-tarbake-jaunty-x86/${MARIA_FULL_P}.tar.gz
http://mirrors.syringanetworks.net/mariadb/${MARIA_FULL_P}/kvm-tarbake-jaunty-x86/${MARIA_FULL_P}.tar.gz
http://mirrors.fe.up.pt/pub/mariadb/${MARIA_FULL_P}/kvm-tarbake-jaunty-x86/${MARIA_FULL_P}.tar.gz
http://mirror2.hs-esslingen.de/mariadb/${MARIA_FULL_P}/kvm-tarbake-jaunty-x86/${MARIA_FULL_P}.tar.gz
"
if [[ ${PN} == "mariadb-galera" ]]; then
MY_SOURCEDIR="${PN%%-galera}-${MARIA_FULL_PV}"
fi
elif [[ ${PN} == "percona-server" ]]; then
PERCONA_PN="Percona-Server"
MIRROR_PV=$(get_version_component_range 1-2 ${PV})
MY_PV=$(get_version_component_range 1-3 ${PV})
PERCONA_RELEASE=$(get_version_component_range 4-5 ${PV})
PERCONA_RC=$(get_version_component_range 6 ${PV})
SERVER_URI="http://www.percona.com/redir/downloads/${PERCONA_PN}-${MIRROR_PV}/${PERCONA_PN}-${MY_PV}-${PERCONA_RC}${PERCONA_RELEASE}/source/tarball/${PN}-${MY_PV}-${PERCONA_RC}${PERCONA_RELEASE}.tar.gz"
# http://www.percona.com/redir/downloads/Percona-Server-5.5/LATEST/source/tarball/Percona-Server-5.5.30-30.2.tar.gz
# http://www.percona.com/redir/downloads/Percona-Server-5.6/Percona-Server-5.6.13-rc60.5/source/tarball/Percona-Server-5.6.13-rc60.5.tar.gz
else
if [[ "${PN}" == "mysql-cluster" ]] ; then
URI_DIR="MySQL-Cluster"
URI_FILE="mysql-cluster-gpl"
else
URI_DIR="MySQL"
URI_FILE="mysql"
fi
URI_A="${URI_FILE}-${MY_PV}.tar.gz"
MIRROR_PV=$(get_version_component_range 1-2 ${PV})
# Recently upstream switched to an archive site, and not on mirrors
SERVER_URI="http://downloads.mysql.com/archives/${URI_FILE}-${MIRROR_PV}/${URI_A}
https://downloads.skysql.com/files/${URI_FILE}-${MIRROR_PV}/${URI_A}
mirror://mysql/Downloads/${URI_DIR}-${PV%.*}/${URI_A}"
fi
fi
# Define correct SRC_URIs
SRC_URI="${SERVER_URI}"
# Gentoo patches to MySQL
if [[ ${MY_EXTRAS_VER} != "live" && ${MY_EXTRAS_VER} != "none" ]]; then
SRC_URI="${SRC_URI}
mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
https://dev.gentoo.org/~robbat2/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
https://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
https://dev.gentoo.org/~grknight/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2"
fi
DESCRIPTION="A fast, multi-threaded, multi-user SQL database server"
HOMEPAGE="https://www.mysql.com/"
if [[ ${PN} == "mariadb" ]]; then
HOMEPAGE="https://mariadb.org/"
DESCRIPTION="An enhanced, drop-in replacement for MySQL"
fi
if [[ ${PN} == "mariadb-galera" ]]; then
HOMEPAGE="https://mariadb.org/"
DESCRIPTION="An enhanced, drop-in replacement for MySQL with Galera Replication"
fi
if [[ ${PN} == "percona-server" ]]; then
HOMEPAGE="https://www.percona.com/software/mysql-database/percona-server"
DESCRIPTION="An enhanced, drop-in replacement for MySQL from the Percona team"
fi
LICENSE="GPL-2"
SLOT="0"
case "${BUILD}" in
"autotools")
IUSE="big-tables debug embedded minimal +perl selinux ssl static test"
;;
"cmake")
IUSE="debug embedded minimal +perl selinux ssl static static-libs test"
;;
esac
# Common IUSE
IUSE="${IUSE} latin1 extraengine cluster max-idx-128 +community profiling"
# This probably could be simplified, but the syntax would have to be just right
if [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]] && \
mysql_version_is_at_least "5.5" ; then
IUSE="bindist ${IUSE}"
RESTRICT="${RESTRICT} !bindist? ( bindist )"
elif [[ ${PN} == "mysql" || ${PN} == "percona-server" ]] && \
mysql_check_version_range "5.5.37 to 5.6.11.99" ; then
IUSE="bindist ${IUSE}"
RESTRICT="${RESTRICT} !bindist? ( bindist )"
elif [[ ${PN} == "mysql-cluster" ]] && \
mysql_check_version_range "7.2 to 7.2.99.99" ; then
IUSE="bindist ${IUSE}"
RESTRICT="${RESTRICT} !bindist? ( bindist )"
fi
if [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]]; then
mysql_check_version_range "5.1.38 to 5.3.99" && IUSE="${IUSE} libevent"
mysql_version_is_at_least "5.2" && IUSE="${IUSE} oqgraph" && \
REQUIRED_USE="${REQUIRED_USE} minimal? ( !oqgraph )"
mysql_version_is_at_least "5.2.5" && IUSE="${IUSE} sphinx" && \
REQUIRED_USE="${REQUIRED_USE} minimal? ( !sphinx )"
mysql_version_is_at_least "5.2.10" && IUSE="${IUSE} pam"
# 5.5.33 and 10.0.5 add TokuDB. Authors strongly recommend jemalloc or perfomance suffers
mysql_version_is_at_least "10.0.5" && IUSE="${IUSE} tokudb odbc xml" && \
REQUIRED_USE="${REQUIRED_USE} odbc? ( extraengine ) xml? ( extraengine ) tokudb? ( jemalloc !tcmalloc )"
mysql_check_version_range "5.5.33 to 5.5.99" && IUSE="${IUSE} tokudb" && \
REQUIRED_USE="${REQUIRED_USE} tokudb? ( jemalloc !tcmalloc )"
fi
if mysql_version_is_at_least "5.5"; then
REQUIRED_USE="${REQUIRED_USE} tcmalloc? ( !jemalloc ) jemalloc? ( !tcmalloc )"
IUSE="${IUSE} jemalloc tcmalloc"
fi
if mysql_version_is_at_least "5.5.7"; then
IUSE="${IUSE} systemtap"
fi
if [[ ${PN} == "percona-server" ]]; then
mysql_version_is_at_least "5.5.10" && IUSE="${IUSE} pam"
fi
REQUIRED_USE="${REQUIRED_USE} minimal? ( !cluster !extraengine !embedded ) static? ( !ssl )"
#
# DEPENDENCIES:
#
# Be warned, *DEPEND are version-dependant
# These are used for both runtime and compiletime
DEPEND="
ssl? ( >=dev-libs/openssl-0.9.6d:0 )
kernel_linux? ( sys-process/procps )
>=sys-apps/sed-4
>=sys-apps/texinfo-4.7-r1
>=sys-libs/zlib-1.2.3
"
# TODO: add this as a dep if it is moved from the overlay
# !dev-db/mariadb-native-client[mysqlcompat]
# dev-db/mysql-5.6.12+ only works with dev-libs/libedit
# This probably could be simplified
if [[ ${PN} == "mysql" || ${PN} == "percona-server" ]] && \
mysql_version_is_at_least "5.6.12" ; then
DEPEND="${DEPEND} dev-libs/libedit"
elif [[ ${PN} == "mysql-cluster" ]] && mysql_version_is_at_least "7.3"; then
DEPEND="${DEPEND} dev-libs/libedit"
else
if mysql_version_is_at_least "5.5" ; then
DEPEND="${DEPEND} !bindist? ( >=sys-libs/readline-4.1:0 )"
else
DEPEND="${DEPEND} >=sys-libs/readline-4.1:0"
fi
fi
if [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]] ; then
mysql_check_version_range "5.1.38 to 5.3.99" && DEPEND="${DEPEND} libevent? ( >=dev-libs/libevent-1.4 )"
mysql_version_is_at_least "5.2" && DEPEND="${DEPEND} oqgraph? ( >=dev-libs/boost-1.40.0 )"
mysql_version_is_at_least "5.2.10" && DEPEND="${DEPEND} !minimal? ( pam? ( virtual/pam ) )"
# Bug 441700 MariaDB >=5.3 include custom mytop
mysql_version_is_at_least "5.3" && DEPEND="${DEPEND} perl? ( !dev-db/mytop )"
if mysql_version_is_at_least "10.0.5" ; then
DEPEND="${DEPEND}
odbc? ( dev-db/unixODBC )
xml? ( dev-libs/libxml2 )
"
fi
mysql_version_is_at_least "10.0.7" && DEPEND="${DEPEND} oqgraph? ( dev-libs/judy )"
if mysql_version_is_at_least "10.0.9" ; then
DEPEND="${DEPEND} >=dev-libs/libpcre-8.35"
fi
fi
# Having different flavours at the same time is not a good idea
for i in "mysql" "mariadb" "mariadb-galera" "percona-server" "mysql-cluster" ; do
[[ ${i} == ${PN} ]] ||
DEPEND="${DEPEND} !dev-db/${i}"
done
if mysql_version_is_at_least "5.5.7" ; then
DEPEND="${DEPEND}
jemalloc? ( dev-libs/jemalloc[static-libs?] )
tcmalloc? ( dev-util/google-perftools )
>=sys-libs/zlib-1.2.3[static-libs?]
ssl? ( >=dev-libs/openssl-0.9.6d[static-libs?] )
systemtap? ( >=dev-util/systemtap-1.3 )
kernel_linux? ( dev-libs/libaio )
"
fi
if [[ ${PN} == "mysql-cluster" ]] ; then
# TODO: This really should include net-misc/memcached
# but the package does not install the files it seeks.
mysql_version_is_at_least "7.2.3" && \
DEPEND="${DEPEND} dev-libs/libevent"
fi
# prefix: first need to implement something for #196294
RDEPEND="${DEPEND}
!minimal? ( !prefix? ( dev-db/mysql-init-scripts ) )
selinux? ( sec-policy/selinux-mysql )
"
if [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]] ; then
# Bug 455016 Add dependencies of mytop
if mysql_version_is_at_least "5.3" ; then
RDEPEND="${RDEPEND}
perl? (
virtual/perl-Getopt-Long
dev-perl/TermReadKey
virtual/perl-Term-ANSIColor
virtual/perl-Time-HiRes
)
"
fi
fi
if [[ ${PN} == "mariadb-galera" ]] ; then
# The wsrep API version must match between the ebuild and sys-cluster/galera.
# This will be indicated by WSREP_REVISION in the ebuild and the first number
# in the version of sys-cluster/galera
RDEPEND="${RDEPEND}
=sys-cluster/galera-${WSREP_REVISION}*
"
fi
if [[ ${PN} == "mysql-cluster" ]] ; then
mysql_version_is_at_least "7.2.9" && RDEPEND="${RDEPEND} java? ( >=virtual/jre-1.6 )" && \
DEPEND="${DEPEND} java? ( >=virtual/jdk-1.6 )"
fi
DEPEND="${DEPEND}
virtual/yacc
"
DEPEND="${DEPEND} static? ( sys-libs/ncurses[static-libs] )"
# compile-time-only
DEPEND="${DEPEND} >=dev-util/cmake-2.4.3"
# compile-time-only
if mysql_version_is_at_least "5.5.8" ; then
DEPEND="${DEPEND} >=dev-util/cmake-2.6.3"
fi
# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
# For other stuff to bring us in
PDEPEND="${PDEPEND} ~virtual/mysql-${MYSQL_PV_MAJOR}"
#
# External patches
#
# MariaDB has integrated PBXT until it was dropped in version 5.5.33
# PBXT_VERSION means that we have a PBXT patch for this PV
# PBXT was only introduced after 5.1.12
pbxt_patch_available() {
[[ ${PN} != "mariadb" && ${PN} != "mariadb-galera" && ( -n "${PBXT_VERSION}" ) ]]
return $?
}
pbxt_available() {
pbxt_patch_available || [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]] && mysql_check_version_range "5.1 to 5.5.32"
return $?
}
# Get the percona tarball if XTRADB_VER and PERCONA_VER are both set
# MariaDB has integrated XtraDB
# XTRADB_VERS means that we have a XTRADB patch for this PV
# XTRADB was only introduced after 5.1.26
xtradb_patch_available() {
[[ ${PN} != "mariadb" && ${PN} != "mariadb-galera"
&& ( -n "${XTRADB_VER}" ) && ( -n "${PERCONA_VER}" ) ]]
return $?
}
if pbxt_patch_available; then
PBXT_P="pbxt-${PBXT_VERSION}"
PBXT_SRC_URI="http://www.primebase.org/download/${PBXT_P}.tar.gz mirror://sourceforge/pbxt/${PBXT_P}.tar.gz"
SRC_URI="${SRC_URI} pbxt? ( ${PBXT_SRC_URI} )"
fi
# PBXT_NEWSTYLE means pbxt is in storage/ and gets enabled as other plugins
# vs. built outside the dir
if pbxt_available; then
IUSE="${IUSE} pbxt"
PBXT_NEWSTYLE=1
REQUIRED_USE="${REQUIRED_USE} pbxt? ( !embedded ) "
fi
if xtradb_patch_available; then
XTRADB_P="percona-xtradb-${XTRADB_VER}"
XTRADB_SRC_URI_COMMON="${PERCONA_VER}/source/${XTRADB_P}.tar.gz"
XTRADB_SRC_B1="http://www.percona.com/"
XTRADB_SRC_B2="${XTRADB_SRC_B1}/percona-builds/"
XTRADB_SRC_URI1="${XTRADB_SRC_B2}/Percona-Server/Percona-Server-${XTRADB_SRC_URI_COMMON}"
XTRADB_SRC_URI2="${XTRADB_SRC_B2}/xtradb/${XTRADB_SRC_URI_COMMON}"
XTRADB_SRC_URI3="${XTRADB_SRC_B1}/${PN}/xtradb/${XTRADB_SRC_URI_COMMON}"
SRC_URI="${SRC_URI} xtradb? ( ${XTRADB_SRC_URI1} ${XTRADB_SRC_URI2} ${XTRADB_SRC_URI3} )"
IUSE="${IUSE} xtradb"
REQUIRED_USE="${REQUIRED_USE} xtradb? ( !embedded ) "
fi
#
# HELPER FUNCTIONS:
#
# @FUNCTION: mysql-v2_disable_test
# @DESCRIPTION:
# Helper function to disable specific tests.
mysql-v2_disable_test() {
${BUILD_INHERIT}_disable_test "$@"
}
# @FUNCTION: mysql-v2_configure_minimal
# @DESCRIPTION:
# Helper function to configure minimal build
configure_minimal() {
${BUILD_INHERIT}_configure_minimal "$@"
}
# @FUNCTION: mysql-v2_configure_common
# @DESCRIPTION:
# Helper function to configure common builds
configure_common() {
${BUILD_INHERIT}_configure_common "$@"
}
#
# EBUILD FUNCTIONS
#
# @FUNCTION: mysql-v2_pkg_setup
# @DESCRIPTION:
# Perform some basic tests and tasks during pkg_setup phase:
# die if FEATURES="test", USE="-minimal" and not using FEATURES="userpriv"
# check for conflicting use flags
# create new user and group for mysql
# warn about deprecated features
mysql-v2_pkg_setup() {
if has test ${FEATURES} ; then
if ! use minimal ; then
if ! has userpriv ${FEATURES} ; then
eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
fi
fi
fi
# Check for USE flag problems in pkg_setup
if ! mysql_version_is_at_least "5.2" && use debug ; then
# Also in package.use.mask
die "Bug #344885: Upstream has broken USE=debug for 5.1 series >=5.1.51"
fi
# This should come after all of the die statements
enewgroup mysql 60 || die "problem adding 'mysql' group"
enewuser mysql 60 -1 /dev/null mysql || die "problem adding 'mysql' user"
if use cluster && [[ "${PN}" != "mysql-cluster" ]]; then
ewarn "Upstream has noted that the NDB cluster support in the 5.0 and"
ewarn "5.1 series should NOT be put into production. In the near"
ewarn "future, it will be disabled from building."
fi
if [[ ${PN} == "mysql-cluster" ]] ; then
mysql_version_is_at_least "7.2.9" && java-pkg-opt-2_pkg_setup
fi
if use_if_iuse tokudb && [[ $(gcc-major-version) -lt 4 || $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 7 ]] ; then
eerror "${PN} with tokudb needs to be built with gcc-4.7 or later."
eerror "Please use gcc-config to switch to gcc-4.7 or later version."
die
fi
}
# @FUNCTION: mysql-v2_src_unpack
# @DESCRIPTION:
# Unpack the source code
mysql-v2_src_unpack() {
# Initialize the proper variables first
mysql_init_vars
unpack ${A}
# Grab the patches
[[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR}/mysql-extras" git-r3_src_unpack
mv -f "${WORKDIR}/${MY_SOURCEDIR}" "${S}"
}
# @FUNCTION: mysql-v2_src_prepare
# @DESCRIPTION:
# Apply patches to the source code and remove unneeded bundled libs.
mysql-v2_src_prepare() {
${BUILD_INHERIT}_src_prepare "$@"
if [[ ${PN} == "mysql-cluster" ]] ; then
mysql_version_is_at_least "7.2.9" && java-pkg-opt-2_src_prepare
fi
}
# @FUNCTION: mysql-v2_src_configure
# @DESCRIPTION:
# Configure mysql to build the code for Gentoo respecting the use flags.
mysql-v2_src_configure() {
${BUILD_INHERIT}_src_configure "$@"
}
# @FUNCTION: mysql-v2_src_compile
# @DESCRIPTION:
# Compile the mysql code.
mysql-v2_src_compile() {
${BUILD_INHERIT}_src_compile "$@"
}
# @FUNCTION: mysql-v2_src_install
# @DESCRIPTION:
# Install mysql.
mysql-v2_src_install() {
${BUILD_INHERIT}_src_install "$@"
}
# @FUNCTION: mysql-v2_pkg_preinst
# @DESCRIPTION:
# Create the user and groups for mysql - die if that fails.
mysql-v2_pkg_preinst() {
if [[ ${PN} == "mysql-cluster" ]] ; then
mysql_version_is_at_least "7.2.9" && java-pkg-opt-2_pkg_preinst
fi
enewgroup mysql 60 || die "problem adding 'mysql' group"
enewuser mysql 60 -1 /dev/null mysql || die "problem adding 'mysql' user"
}
# @FUNCTION: mysql-v2_pkg_postinst
# @DESCRIPTION:
# Run post-installation tasks:
# create the dir for logfiles if non-existant
# touch the logfiles and secure them
# install scripts
# issue required steps for optional features
# issue deprecation warnings
mysql-v2_pkg_postinst() {
# Make sure the vars are correctly initialized
mysql_init_vars
# Create log directory securely if it does not exist
[[ -d "${ROOT}${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}"
# Minimal builds don't have the MySQL server
if ! use minimal ; then
docinto "support-files"
for script in \
support-files/my-*.cnf \
support-files/magic \
support-files/ndb-config-2-node.ini
do
[[ -f "${script}" ]] \
&& dodoc "${script}"
done
docinto "scripts"
for script in scripts/mysql* ; do
if [[ -f "${script}" && "${script%.sh}" == "${script}" ]]; then
dodoc "${script}"
fi
done
if [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]] ; then
if use_if_iuse pam ; then
einfo
elog "This install includes the PAM authentication plugin."
elog "To activate and configure the PAM plugin, please read:"
elog "https://kb.askmonty.org/en/pam-authentication-plugin/"
einfo
fi
fi
einfo
elog "You might want to run:"
elog "\"emerge --config =${CATEGORY}/${PF}\""
elog "if this is a new install."
einfo
einfo
elog "If you are upgrading major versions, you should run the"
elog "mysql_upgrade tool."
einfo
if [[ ${PN} == "mariadb-galera" ]] ; then
einfo
elog "Be sure to edit the my.cnf file to activate your cluster settings."
elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\""
elog "The first time the cluster is activated, you should add"
elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node."
elog "This option should then be removed for subsequent starts."
einfo
fi
fi
if use_if_iuse pbxt ; then
elog "Note: PBXT is now statically built when enabled."
elog ""
elog "If, you previously installed as a plugin and "
elog "you cannot start the MySQL server,"
elog "remove the ${MY_DATADIR}/mysql/plugin.* files, then"
elog "use the MySQL upgrade script to restore the table"
elog "or execute the following SQL command:"
elog " CREATE TABLE IF NOT EXISTS plugin ("
elog " name char(64) binary DEFAULT '' NOT NULL,"
elog " dl char(128) DEFAULT '' NOT NULL,"
elog " PRIMARY KEY (name)"
elog " ) CHARACTER SET utf8 COLLATE utf8_bin;"
fi
}
# @FUNCTION: mysql-v2_getopt
# @DESCRIPTION:
# Use my_print_defaults to extract specific config options
mysql-v2_getopt() {
local mypd="${EROOT}"/usr/bin/my_print_defaults
section="$1"
flag="--${2}="
"${mypd}" $section | sed -n "/^${flag}/p"
}
# @FUNCTION: mysql-v2_getoptval
# @DESCRIPTION:
# Use my_print_defaults to extract specific config options
mysql-v2_getoptval() {
local mypd="${EROOT}"/usr/bin/my_print_defaults
section="$1"
flag="--${2}="
"${mypd}" $section | sed -n "/^${flag}/s,${flag},,gp"
}
# @FUNCTION: mysql-v2_pkg_config
# @DESCRIPTION:
# Configure mysql environment.
mysql-v2_pkg_config() {
local old_MY_DATADIR="${MY_DATADIR}"
local old_HOME="${HOME}"
# my_print_defaults needs to read stuff in $HOME/.my.cnf
export HOME=${EPREFIX}/root
# Make sure the vars are correctly initialized
mysql_init_vars
[[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR"
if [[ ! -x "${EROOT}/usr/sbin/mysqld" ]] ; then
die "Minimal builds do NOT include the MySQL server"
fi
if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]]; then
local MY_DATADIR_s="${ROOT}/${MY_DATADIR}"
MY_DATADIR_s="${MY_DATADIR_s%%/}"
local old_MY_DATADIR_s="${ROOT}/${old_MY_DATADIR}"
old_MY_DATADIR_s="${old_MY_DATADIR_s%%/}"
if [[ ( -d "${old_MY_DATADIR_s}" ) && ( "${old_MY_DATADIR_s}" != / ) ]]; then
if [[ -d "${MY_DATADIR_s}" ]]; then
ewarn "Both ${old_MY_DATADIR_s} and ${MY_DATADIR_s} exist"
ewarn "Attempting to use ${MY_DATADIR_s} and preserving ${old_MY_DATADIR_s}"
else
elog "Moving MY_DATADIR from ${old_MY_DATADIR_s} to ${MY_DATADIR_s}"
mv --strip-trailing-slashes -T "${old_MY_DATADIR_s}" "${MY_DATADIR_s}" \
|| die "Moving MY_DATADIR failed"
fi
else
ewarn "Previous MY_DATADIR (${old_MY_DATADIR_s}) does not exist"
if [[ -d "${MY_DATADIR_s}" ]]; then
ewarn "Attempting to use ${MY_DATADIR_s}"
else
eerror "New MY_DATADIR (${MY_DATADIR_s}) does not exist"
die "Configuration Failed! Please reinstall ${CATEGORY}/${PN}"
fi
fi
fi
local pwd1="a"
local pwd2="b"
local maxtry=15
if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then
MYSQL_ROOT_PASSWORD="$(mysql-v2_getoptval 'client mysql' password)"
fi
MYSQL_TMPDIR="$(mysql-v2_getoptval mysqld tmpdir)"
# These are dir+prefix
MYSQL_RELAY_LOG="$(mysql-v2_getoptval mysqld relay-log)"
MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
MYSQL_LOG_BIN="$(mysql-v2_getoptval mysqld log-bin)"
MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*}
if [[ ! -d "${ROOT}"/$MYSQL_TMPDIR ]]; then
einfo "Creating MySQL tmpdir $MYSQL_TMPDIR"
install -d -m 770 -o mysql -g mysql "${ROOT}"/$MYSQL_TMPDIR
fi
if [[ ! -d "${ROOT}"/$MYSQL_LOG_BIN ]]; then
einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN"
install -d -m 770 -o mysql -g mysql "${ROOT}"/$MYSQL_LOG_BIN
fi
if [[ ! -d "${EROOT}"/$MYSQL_RELAY_LOG ]]; then
einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG"
install -d -m 770 -o mysql -g mysql "${EROOT}"/$MYSQL_RELAY_LOG
fi
if [[ -d "${ROOT}/${MY_DATADIR}/mysql" ]] ; then
ewarn "You have already a MySQL database in place."
ewarn "(${ROOT}/${MY_DATADIR}/*)"
ewarn "Please rename or delete it if you wish to replace it."
die "MySQL database already exists!"
fi
# Bug #213475 - MySQL _will_ object strenously if your machine is named
# localhost. Also causes weird failures.
[[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then
einfo "Please provide a password for the mysql 'root' user now, in the"
einfo "MYSQL_ROOT_PASSWORD env var or through the ${HOME}/.my.cnf file."
ewarn "Avoid [\"'\\_%] characters in the password"
read -rsp " >" pwd1 ; echo
einfo "Retype the password"
read -rsp " >" pwd2 ; echo
if [[ "x$pwd1" != "x$pwd2" ]] ; then
die "Passwords are not the same"
fi
MYSQL_ROOT_PASSWORD="${pwd1}"
unset pwd1 pwd2
fi
local options
local sqltmp="$(emktemp)"
# Fix bug 446200. Don't reference host my.cnf, needs to come first,
# see http://bugs.mysql.com/bug.php?id=31312
use prefix && options="${options} --defaults-file=${MY_SYSCONFDIR}/my.cnf"
local help_tables="${ROOT}${MY_SHAREDSTATEDIR}/fill_help_tables.sql"
[[ -r "${help_tables}" ]] \
&& cp "${help_tables}" "${TMPDIR}/fill_help_tables.sql" \
|| touch "${TMPDIR}/fill_help_tables.sql"
help_tables="${TMPDIR}/fill_help_tables.sql"
# Figure out which options we need to disable to do the setup
helpfile="${TMPDIR}/mysqld-help"
${EROOT}/usr/sbin/mysqld --verbose --help >"${helpfile}" 2>/dev/null
for opt in grant-tables host-cache name-resolve networking slave-start \
federated ssl log-bin relay-log slow-query-log external-locking \
ndbcluster log-slave-updates wsrep-on \
; do
optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}"
egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}"
done
# But some options changed names
egrep -sq external-locking "${helpfile}" && \
options="${options/skip-locking/skip-external-locking}"
# MySQL 5.6+ needs InnoDB
if [[ ${PN} == "mysql" || ${PN} == "percona-server" ]] ; then
mysql_version_is_at_least "5.6" || options="${options} --loose-skip-innodb"
fi
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
install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory"
fi
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"
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 || die
[[ -f "${ROOT}/${MY_DATADIR}/mysql/user.frm" ]] \
|| die "MySQL databases not installed"
# Filling timezones, see
# http://dev.mysql.com/doc/mysql/en/time-zone-support.html
"${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" > "${sqltmp}" 2>/dev/null
if [[ -r "${help_tables}" ]] ; then
cat "${help_tables}" >> "${sqltmp}"
fi
local socket="${EROOT}/var/run/mysqld/mysqld${RANDOM}.sock"
local pidfile="${EROOT}/var/run/mysqld/mysqld${RANDOM}.pid"
local mysqld="${EROOT}/usr/sbin/mysqld \
${options} \
$(use prefix || echo --user=mysql) \
--log-warnings=0 \
--basedir=${EROOT}/usr \
--datadir=${ROOT}/${MY_DATADIR} \
--max_allowed_packet=8M \
--net_buffer_length=16K \
--default-storage-engine=MyISAM \
--socket=${socket} \
--pid-file=${pidfile}
--tmpdir=${ROOT}/${MYSQL_TMPDIR}"
#einfo "About to start mysqld: ${mysqld}"
ebegin "Starting mysqld"
einfo "Command ${mysqld}"
${mysqld} &
rc=$?
while ! [[ -S "${socket}" || "${maxtry}" -lt 1 ]] ; do
maxtry=$((${maxtry}-1))
echo -n "."
sleep 1
done
eend $rc
if ! [[ -S "${socket}" ]]; then
die "Completely failed to start up mysqld with: ${mysqld}"
fi
ebegin "Setting root password"
# Do this from memory, as we don't want clear text passwords in temp files
local sql="UPDATE mysql.user SET Password = PASSWORD('${MYSQL_ROOT_PASSWORD}') WHERE USER='root'; FLUSH PRIVILEGES"
"${EROOT}/usr/bin/mysql" \
--socket=${socket} \
-hlocalhost \
-e "${sql}"
eend $?
ebegin "Loading \"zoneinfo\", this step may require a few seconds"
"${EROOT}/usr/bin/mysql" \
--socket=${socket} \
-hlocalhost \
-uroot \
--password="${MYSQL_ROOT_PASSWORD}" \
mysql < "${sqltmp}"
rc=$?
eend $?
[[ $rc -ne 0 ]] && ewarn "Failed to load zoneinfo!"
# Stop the server and cleanup
einfo "Stopping the server ..."
kill $(< "${pidfile}" )
rm -f "${sqltmp}"
wait %1
einfo "Done"
}
# @FUNCTION: mysql-v2_pkg_postrm
# @DESCRIPTION:
# Remove mysql symlinks.
mysql-v2_pkg_postrm() {
: # mysql_lib_symlinks "${ED}"
}

View File

@ -1,320 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# DEPRECATED
# Recent versions have begun deprecating this eclass.
# Do not use it in new series.
# @ECLASS: mysql_fx.eclass
# @MAINTAINER:
# - MySQL Team <mysql-bugs@gentoo.org>
# - Luca Longinotti <chtekk@gentoo.org>
# @AUTHOR: Francesco Riosa (Retired) <vivo@gentoo.org>
# @BLURB: This eclass provides some helper functions for mysql ebuilds
# @DESCRIPTION:
# This eclass providers helpers to build mysql servers including patching
# from an index and initializing certain variables as part of the build.
inherit multilib
# @FUNCTION: stripdots
# @DESCRIPTION:
# Helper function, version (integer) may have sections separated by dots
# for readability.
stripdots() {
local dotver=${1:-"0"}
local v=""
local ret=0
if [[ "${dotver/./}" != "${dotver}" ]] ; then
# dotted version number
for i in 1000000 10000 100 1 ; do
v=${dotver%%\.*}
# remove leading zeroes
while [[ ${#v} -gt 1 ]] && [[ ${v:0:1} == "0" ]] ; do v=${v#0} ; done
# increment integer version number
ret=$(( ${v} * ${i} + ${ret} ))
if [[ "${dotver}" == "${dotver/\.}" ]] ; then
dotver=0
else
dotver=${dotver#*\.}
fi
done
echo "${ret}"
else
# already an integer
v=${dotver}
while [[ ${#v} -gt 1 ]] && [[ ${v:0:1} == "0" ]] ; do v=${v#0} ; done
echo "${v}"
fi
}
# @FUNCTION: mysql_check_version_range
# @DESCRIPTION:
# Check if a version number falls inside a given range.
# The range includes the extremes and must be specified as
# "low_version to high_version" i.e. "4.1.2 to 5.1.99.99".
# Returns true if inside the range.
mysql_check_version_range() {
local lbound="${1%% to *}" ; lbound=$(stripdots "${lbound}")
local rbound="${1#* to }" ; rbound=$(stripdots "${rbound}")
local my_ver="${2:-"${MYSQL_VERSION_ID}"}"
[[ ${lbound} -le ${my_ver} ]] && [[ ${my_ver} -le ${rbound} ]] && return 0
return 1
}
# @FUNCTION: _mysql_test_patch_ver_pn
# @INTERNAL
# @DESCRIPTION:
# True if at least one applicable range is found for the patch.
_mysql_test_patch_ver_pn() {
local allelements=", version, package name"
# So that it fails the directory test if none of them exist
local filesdir="/dev/null"
for d in "${WORKDIR}/mysql-extras-${MY_EXTRAS_VER}" \
"${WORKDIR}/mysql-extras" ; do
if [ -d "${d}" ]; then
filesdir="${d}"
break
fi
done
[[ -d "${filesdir}" ]] || die "Source dir must be a directory"
local flags=$1 pname=$2
if [[ $(( $flags & $(( 1 + 4 + 16 )) )) -eq 21 ]] ; then
einfo "using '${pname}'"
ln -sf "${filesdir}/${pname}" "${EPATCH_SOURCE}" || die "Couldn't move ${pname}"
return 0
fi
[[ $(( $flags & $(( 2 + 4 )) )) -gt 0 ]] \
&& allelements="${allelements//", version"}"
[[ $(( $flags & $(( 8 + 16 )) )) -gt 0 ]] \
&& allelements="${allelements//", package name"}"
[[ -n "${allelements}" ]] && [[ "${flags}" -gt 0 ]] \
&& ewarn "QA notice: ${allelements} missing in ${pname} patch"
return 1
}
# @FUNCTION: mysql_mv_patches
# @DESCRIPTION:
# Parse a "index_file" looking for patches to apply to the
# current MySQL version.
# If the patch applies, print its description.
#
mysql_mv_patches() {
# So that it fails the directory test if none of them exist
local filesdir="/dev/null"
if [[ -z "${1}" ]]; then
for d in "${WORKDIR}/mysql-extras-${MY_EXTRAS_VER}" \
"${WORKDIR}/mysql-extras" ; do
if [ -d "${d}" ]; then
filesdir="${d}"
break
fi
done
[[ -d "${filesdir}" ]] || die "No patches directory found!"
fi
for i in "$1" "${filesdir}/0000_index.txt" "${filesdir}/000_index.txt" ; do
if [ -n "$i" -a -f "$i" ]; then
local index_file="$i"
break
fi
done
local my_ver="${2:-"${MYSQL_VERSION_ID}"}"
local my_test_fx=${3:-"_mysql_test_patch_ver_pn"}
_mysql_mv_patches "${index_file}" "${my_ver}" "${my_test_fx}"
}
# @FUNCTION: _mysql_mv_patches
# @INTERNAL
_mysql_mv_patches() {
local index_file="${1}"
local my_ver="${2}"
local my_test_fx="${3}"
local dsc ndsc=0 i
dsc=( )
# Values for flags are (2^x):
# 1 - one patch found
# 2 - at least one version range is wrong
# 4 - at least one version range is ok
# 8 - at least one ${PN} did not match
# 16 - at least one ${PN} has been matched
local flags=0 pname=""
while read row ; do
case "${row}" in
@patch\ *)
[[ -n "${pname}" ]] \
&& ${my_test_fx} ${flags} "${pname}" \
&& for (( i=0 ; $i < $ndsc ; i++ )) ; do einfo "> ${dsc[$i]}" ; done
flags=1 ; ndsc=0 ; dsc=( )
pname=${row#"@patch "}
;;
@ver\ *)
if mysql_check_version_range "${row#"@ver "}" "${my_ver}" ; then
flags=$(( ${flags} | 4 ))
else
flags=$(( ${flags} | 2 ))
fi
;;
@pn\ *)
if [[ ${row#"@pn "} == "${PN}" ]] ; then
flags=$(( ${flags} | 16 ))
else
flags=$(( ${flags} | 8 ))
fi
;;
# @use\ *) ;;
@@\ *)
dsc[$ndsc]="${row#"@@ "}"
(( ++ndsc ))
;;
esac
done < "${index_file}"
${my_test_fx} ${flags} "${pname}" \
&& for (( i=0 ; $i < $ndsc ; i++ )) ; do einfo "> ${dsc[$i]}" ; done
}
# @FUNCTION: mysql_version_is_at_least
# @DESCRIPTION:
# Is $2 (defaults to $MYSQL_VERSION_ID) at least version $1?
# (nice) idea from versionator.eclass
#
mysql_version_is_at_least() {
local want_s=$(stripdots "$1") have_s=$(stripdots "${2:-${MYSQL_VERSION_ID}}")
[[ -z "${want_s}" ]] && die "mysql_version_is_at_least missing value to check"
[[ ${want_s} -le ${have_s} ]] && return 0 || return 1
}
# @FUNCTION: mysql_lib_symlinks
# @DESCRIPTION:
# To be called on the live filesystem, reassigning symlinks of each MySQL
# library to the best version available. (Obsolete)
#
mysql_lib_symlinks() {
local d dirlist maxdots libname libnameln libsuffix reldir
libsuffix=$(get_libname)
einfo "libsuffix = ${libsuffix}"
einfo "Updating MySQL libraries symlinks"
reldir="${1}"
pushd "${reldir}/usr/$(get_libdir)" &> /dev/null
# dirlist must contain the less significative directory left
dirlist="mysql"
# waste some time in removing and recreating symlinks
for d in $dirlist ; do
for libname in $( find "${d}" -mindepth 1 -maxdepth 1 -name "*${libsuffix}*" -and -not -type "l" 2>/dev/null ) ; do
# maxdot is a limit versus infinite loop
maxdots=0
libnameln=${libname##*/}
# loop in version of the library to link it, similar to how
# libtool works
if [[ ${CHOST} == *-darwin* ]] ; then
# macho: libname.x.y.z.dylib
local libbasename=${libnameln%%.*} # libname
local libver=${libnameln#${libbasename}} # .x.y.z.dylib
libver=${libver%${libsuffix}} # .x.y.z
while [[ -n ${libver} ]] && [[ ${maxdots} -lt 6 ]] ; do
libnameln="${libbasename}${libver}${libsuffix}"
rm -f "${libnameln}"
ln -s "${libname}" "${libnameln}"
(( ++maxdots ))
libver=${libver%.*}
done
libnameln="${libbasename}${libsuffix}"
rm -f "${libnameln}"
ln -s "${libname}" "${libnameln}"
else
# elf: libname.so.x.y.z
while [[ ${libnameln:0-3} != '${libsuffix}' ]] && [[ ${maxdots} -lt 6 ]] ; do
rm -f "${libnameln}"
ln -s "${libname}" "${libnameln}"
(( ++maxdots ))
libnameln="${libnameln%.*}"
done
rm -f "${libnameln}"
ln -s "${libname}" "${libnameln}"
fi
done
done
popd &> /dev/null
}
# @FUNCTION: mysql_init_vars
# @DESCRIPTION:
# void mysql_init_vars()
# Initialize global variables
# 2005-11-19 <vivo@gentoo.org>
mysql_init_vars() {
MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mysql"}
MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"}
MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"}
MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"}
MY_INCLUDEDIR=${MY_INCLUDEDIR="${EPREFIX}/usr/include/mysql"}
MY_LIBDIR=${MY_LIBDIR="${EPREFIX}/usr/$(get_libdir)/mysql"}
if [[ -z "${MY_DATADIR}" ]] ; then
MY_DATADIR=""
if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then
MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
| sed -ne '/datadir/s|^--datadir=||p' \
| tail -n1`
if [[ -z "${MY_DATADIR}" ]] ; then
MY_DATADIR=`grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \
| sed -e 's/.*=\s*//' \
| tail -n1`
fi
fi
if [[ -z "${MY_DATADIR}" ]] ; then
MY_DATADIR="${MY_LOCALSTATEDIR}"
einfo "Using default MY_DATADIR"
fi
elog "MySQL MY_DATADIR is ${MY_DATADIR}"
if [[ -z "${PREVIOUS_DATADIR}" ]] ; then
if [[ -e "${MY_DATADIR}" ]] ; then
# If you get this and you're wondering about it, see bug #207636
elog "MySQL datadir found in ${MY_DATADIR}"
elog "A new one will not be created."
PREVIOUS_DATADIR="yes"
else
PREVIOUS_DATADIR="no"
fi
export PREVIOUS_DATADIR
fi
else
if [[ ${EBUILD_PHASE} == "config" ]]; then
local new_MY_DATADIR
new_MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
| sed -ne '/datadir/s|^--datadir=||p' \
| tail -n1`
if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then
ewarn "MySQL MY_DATADIR has changed"
ewarn "from ${MY_DATADIR}"
ewarn "to ${new_MY_DATADIR}"
MY_DATADIR="${new_MY_DATADIR}"
fi
fi
fi
if [ "${MY_SOURCEDIR:-unset}" == "unset" ]; then
MY_SOURCEDIR=${SERVER_URI##*/}
MY_SOURCEDIR=${MY_SOURCEDIR%.tar*}
fi
export MY_SHAREDSTATEDIR MY_SYSCONFDIR
export MY_LIBDIR MY_LOCALSTATEDIR MY_LOGDIR
export MY_INCLUDEDIR MY_DATADIR MY_SOURCEDIR
}

View File

@ -1,22 +1,23 @@
# Copyright 1999-2013 Gentoo Foundation # Copyright 1999-2019 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2 # Distributed under the terms of the GNU General Public License v2
# @ECLASS: office-ext-r1.eclass # @ECLASS: office-ext-r1.eclass
# @MAINTAINER: # @MAINTAINER:
# The office team <openoffice@gentoo.org> # The office team <office@gentoo.org>
# @AUTHOR: # @AUTHOR:
# Tomáš Chvátal <scarabeus@gentoo.org> # Tomáš Chvátal <scarabeus@gentoo.org>
# @SUPPORTED_EAPIS: 5 6 # @SUPPORTED_EAPIS: 5 6 7
# @BLURB: Eclass for installing libreoffice/openoffice extensions # @BLURB: Eclass for installing libreoffice/openoffice extensions
# @DESCRIPTION: # @DESCRIPTION:
# Eclass for easing maintenance of libreoffice/openoffice extensions. # Eclass for easing maintenance of libreoffice/openoffice extensions.
case "${EAPI:-0}" in case "${EAPI:-0}" in
5|6) OEXT_EXPORTED_FUNCTIONS="src_unpack src_install pkg_postinst pkg_prerm" ;; 5|6) inherit eutils multilib ;;
7) ;;
*) die "EAPI=${EAPI} is not supported" ;; *) die "EAPI=${EAPI} is not supported" ;;
esac esac
inherit eutils multilib OEXT_EXPORTED_FUNCTIONS="src_unpack src_install pkg_postinst pkg_prerm"
# @ECLASS-VARIABLE: OFFICE_REQ_USE # @ECLASS-VARIABLE: OFFICE_REQ_USE
# @DESCRIPTION: # @DESCRIPTION:
@ -183,7 +184,7 @@ office-ext-r1_add_extension() {
"-env:JFW_PLUGIN_DO_NOT_CHECK_ACCESSIBILITY=1" "-env:JFW_PLUGIN_DO_NOT_CHECK_ACCESSIBILITY=1"
eend $? eend $?
${UNOPKG_BINARY} list --shared > /dev/null ${UNOPKG_BINARY} list --shared > /dev/null
rm -rf "${tmpdir}" rm -r "${tmpdir}" || dir "failed to clean up"
} }
# @FUNCTION: office-ext-r1_remove_extension # @FUNCTION: office-ext-r1_remove_extension
@ -202,7 +203,7 @@ office-ext-r1_remove_extension() {
"-env:JFW_PLUGIN_DO_NOT_CHECK_ACCESSIBILITY=1" "-env:JFW_PLUGIN_DO_NOT_CHECK_ACCESSIBILITY=1"
eend $? eend $?
${UNOPKG_BINARY} list --shared > /dev/null ${UNOPKG_BINARY} list --shared > /dev/null
rm -rf "${tmpdir}" rm -r "${tmpdir}" || dir "failed to clean up"
} }
# @FUNCTION: office-ext-r1_pkg_postinst # @FUNCTION: office-ext-r1_pkg_postinst

View File

@ -13,8 +13,8 @@
# src_install for opam-based packages. # src_install for opam-based packages.
case ${EAPI:-0} in case ${EAPI:-0} in
0|1|2|3|4) die "You need at least EAPI-5 to use opam.eclass";; 5|6|7) ;;
*) ;; *) die "${ECLASS}: EAPI ${EAPI} not supported" ;;
esac esac
RDEPEND=">=dev-lang/ocaml-4:=" RDEPEND=">=dev-lang/ocaml-4:="
@ -30,10 +30,10 @@ opam-install() {
local pkg local pkg
for pkg ; do for pkg ; do
opam-installer -i \ opam-installer -i \
--prefix="${ED}usr" \ --prefix="${ED%/}/usr" \
--libdir="${D}$(ocamlc -where)" \ --libdir="${D%/}/$(ocamlc -where)" \
--docdir="${ED}usr/share/doc/${PF}" \ --docdir="${ED%/}/usr/share/doc/${PF}" \
--mandir="${ED}usr/share/man" \ --mandir="${ED%/}/usr/share/man" \
"${pkg}.install" || die "${pkg}.install" || die
done done
} }
@ -42,9 +42,9 @@ opam_src_install() {
local pkg="${1:-${PN}}" local pkg="${1:-${PN}}"
opam-install "${pkg}" opam-install "${pkg}"
# Handle opam putting doc in a subdir # Handle opam putting doc in a subdir
if [ -d "${ED}usr/share/doc/${PF}/${pkg}" ] ; then if [ -d "${ED%/}/usr/share/doc/${PF}/${pkg}" ] ; then
mv "${ED}usr/share/doc/${PF}/${pkg}/"* "${ED}usr/share/doc/${PF}/" || die mv "${ED%/}/usr/share/doc/${PF}/${pkg}/"* "${ED%/}/usr/share/doc/${PF}/" || die
rmdir "${ED}usr/share/doc/${PF}/${pkg}" || die rmdir "${ED%/}/usr/share/doc/${PF}/${pkg}" || die
fi fi
} }

View File

@ -1,9 +1,9 @@
# Copyright 1999-2015 Gentoo Foundation # Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2 # Distributed under the terms of the GNU General Public License v2
# @ECLASS: pam.eclass # @ECLASS: pam.eclass
# @MAINTAINER: # @MAINTAINER:
# pam-bugs@gentoo.org # zlogene@gentoo.org
# @AUTHOR: # @AUTHOR:
# Diego Pettenò <flameeyes@gentoo.org> # Diego Pettenò <flameeyes@gentoo.org>
# @BLURB: Handles pam related tasks # @BLURB: Handles pam related tasks

View File

@ -1,4 +1,4 @@
# Copyright 1999-2018 Gentoo Foundation # Copyright 1999-2019 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2 # Distributed under the terms of the GNU General Public License v2
# @ECLASS: pax-utils.eclass # @ECLASS: pax-utils.eclass
@ -15,10 +15,10 @@
# The eclass wraps the use of paxctl-ng, paxctl, set/getattr and scanelf utilities, # The eclass wraps the use of paxctl-ng, paxctl, set/getattr and scanelf utilities,
# deciding which to use depending on what's installed on the build host, and # deciding which to use depending on what's installed on the build host, and
# whether we're working with PT_PAX, XATTR_PAX or both. # whether we're working with PT_PAX, XATTR_PAX or both.
# Legacy PT_PAX markings no longer supported.
# #
# To control what markings are made, set PAX_MARKINGS in /etc/portage/make.conf # To control what markings are made, set PAX_MARKINGS in /etc/portage/make.conf
# to contain either "PT", "XT" or "none". The default is to attempt both # to contain either "PT", "XT" or "none". The default is none
# PT_PAX and XATTR_PAX.
if [[ -z ${_PAX_UTILS_ECLASS} ]]; then if [[ -z ${_PAX_UTILS_ECLASS} ]]; then
_PAX_UTILS_ECLASS=1 _PAX_UTILS_ECLASS=1
@ -27,8 +27,8 @@ _PAX_UTILS_ECLASS=1
# @DESCRIPTION: # @DESCRIPTION:
# Control which markings are made: # Control which markings are made:
# PT = PT_PAX markings, XT = XATTR_PAX markings # PT = PT_PAX markings, XT = XATTR_PAX markings
# Default to PT markings. # Default to none markings.
PAX_MARKINGS=${PAX_MARKINGS:="PT XT"} PAX_MARKINGS=${PAX_MARKINGS:="none"}
# @FUNCTION: pax-mark # @FUNCTION: pax-mark
# @USAGE: <flags> <ELF files> # @USAGE: <flags> <ELF files>

View File

@ -1,10 +1,10 @@
# Copyright 1999-2018 Gentoo Foundation # Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2 # Distributed under the terms of the GNU General Public License v2
# @ECLASS: php-ext-source-r3.eclass # @ECLASS: php-ext-source-r3.eclass
# @MAINTAINER: # @MAINTAINER:
# Gentoo PHP team <php-bugs@gentoo.org> # Gentoo PHP team <php-bugs@gentoo.org>
# @SUPPORTED_EAPIS: 6 # @SUPPORTED_EAPIS: 6 7
# @BLURB: Compile and install standalone PHP extensions. # @BLURB: Compile and install standalone PHP extensions.
# @DESCRIPTION: # @DESCRIPTION:
# A unified interface for compiling and installing standalone PHP # A unified interface for compiling and installing standalone PHP
@ -14,8 +14,8 @@ inherit autotools
EXPORT_FUNCTIONS src_prepare src_configure src_compile src_install src_test EXPORT_FUNCTIONS src_prepare src_configure src_compile src_install src_test
case ${EAPI} in case ${EAPI:-0} in
6) ;; 6|7) ;;
*) *)
die "${ECLASS} is not compatible with EAPI=${EAPI}" die "${ECLASS} is not compatible with EAPI=${EAPI}"
esac esac
@ -106,6 +106,7 @@ esac
# conditional like "php?", but only when PHP_EXT_OPTIONAL_USE is # conditional like "php?", but only when PHP_EXT_OPTIONAL_USE is
# non-null. The option group "|| (..." is always started here. # non-null. The option group "|| (..." is always started here.
REQUIRED_USE="${PHP_EXT_OPTIONAL_USE}${PHP_EXT_OPTIONAL_USE:+? ( }|| ( " REQUIRED_USE="${PHP_EXT_OPTIONAL_USE}${PHP_EXT_OPTIONAL_USE:+? ( }|| ( "
PHPDEPEND="${PHP_EXT_OPTIONAL_USE}${PHP_EXT_OPTIONAL_USE:+? ( } "
for _php_target in ${USE_PHP}; do for _php_target in ${USE_PHP}; do
# Now loop through each USE_PHP target and add the corresponding # Now loop through each USE_PHP target and add the corresponding
# dev-lang/php slot to PHPDEPEND. # dev-lang/php slot to PHPDEPEND.
@ -125,19 +126,17 @@ unset _php_slot _php_target
# Finally, end the optional group that we started before the loop. Close # Finally, end the optional group that we started before the loop. Close
# the USE-conditional if PHP_EXT_OPTIONAL_USE is non-null. # the USE-conditional if PHP_EXT_OPTIONAL_USE is non-null.
REQUIRED_USE+=") ${PHP_EXT_OPTIONAL_USE:+ )}" REQUIRED_USE+=") ${PHP_EXT_OPTIONAL_USE:+ )}"
PHPDEPEND+=" ${PHP_EXT_OPTIONAL_USE:+ )}"
TOOLDEPS="sys-devel/m4 sys-devel/libtool"
RDEPEND="${RDEPEND} RDEPEND="${PHPDEPEND}"
${PHP_EXT_OPTIONAL_USE}${PHP_EXT_OPTIONAL_USE:+? ( }
${PHPDEPEND}
${PHP_EXT_OPTIONAL_USE:+ )}"
DEPEND="${DEPEND} case ${EAPI:-0} in
sys-devel/m4 6) DEPEND="${TOOLDEPS} ${PHPDEPEND}" ;;
sys-devel/libtool 7) DEPEND="${PHPDEPEND}" ; BDEPEND="${TOOLDEPS} ${PHPDEPEND}" ;;
${PHP_EXT_OPTIONAL_USE}${PHP_EXT_OPTIONAL_USE:+? ( } esac
${PHPDEPEND}
${PHP_EXT_OPTIONAL_USE:+ )} unset PHPDEPEND TOOLDEPS
"
# @ECLASS-VARIABLE: PHP_EXT_SKIP_PHPIZE # @ECLASS-VARIABLE: PHP_EXT_SKIP_PHPIZE
# @DEFAULT_UNSET # @DEFAULT_UNSET
@ -209,7 +208,7 @@ php-ext-source-r3_src_configure() {
# Support either a string or an array for PHP_EXT_ECONF_ARGS. # Support either a string or an array for PHP_EXT_ECONF_ARGS.
local econf_args local econf_args
if [[ $(declare -p PHP_EXT_ECONF_ARGS) == "declare -a"* ]]; then if [[ -n "${PHP_EXT_ECONF_ARGS}" && $(declare -p PHP_EXT_ECONF_ARGS) == "declare -a"* ]]; then
econf_args=( "${PHP_EXT_ECONF_ARGS[@]}" ) econf_args=( "${PHP_EXT_ECONF_ARGS[@]}" )
else else
econf_args=( ${PHP_EXT_ECONF_ARGS} ) econf_args=( ${PHP_EXT_ECONF_ARGS} )

View File

@ -44,7 +44,7 @@ _PYTHON_ALL_IMPLS=(
jython2_7 jython2_7
pypy pypy3 pypy pypy3
python2_7 python2_7
python3_4 python3_5 python3_6 python3_7 python3_5 python3_6 python3_7
) )
readonly _PYTHON_ALL_IMPLS readonly _PYTHON_ALL_IMPLS
@ -80,10 +80,10 @@ _python_impl_supported() {
# keep in sync with _PYTHON_ALL_IMPLS! # keep in sync with _PYTHON_ALL_IMPLS!
# (not using that list because inline patterns shall be faster) # (not using that list because inline patterns shall be faster)
case "${impl}" in case "${impl}" in
python2_7|python3_[4567]|jython2_7) python2_7|python3_[567]|jython2_7)
return 0 return 0
;; ;;
pypy1_[89]|pypy2_0|python2_[56]|python3_[123]) pypy1_[89]|pypy2_0|python2_[56]|python3_[1234])
return 1 return 1
;; ;;
pypy|pypy3) pypy|pypy3)

View File

@ -178,14 +178,11 @@ qt5-build_src_prepare() {
sed -i -e "/^QMAKE_CONF_COMPILER=/ s:=.*:=\"$(tc-getCXX)\":" \ sed -i -e "/^QMAKE_CONF_COMPILER=/ s:=.*:=\"$(tc-getCXX)\":" \
configure || die "sed failed (QMAKE_CONF_COMPILER)" configure || die "sed failed (QMAKE_CONF_COMPILER)"
# Don't inject -msse/-mavx/... into CXXFLAGS when detecting if [[ ${QT5_MINOR_VERSION} -lt 12 ]]; then
# compiler support for extended instruction sets (bug 552942) # Don't add -O3 to CXXFLAGS (bug 549140)
find config.tests/common -name '*.pro' -type f -execdir \ sed -i -e '/CONFIG\s*+=/ s/optimize_full//' \
sed -i -e '/QMAKE_CXXFLAGS\s*+=/ d' '{}' + || die src/{corelib/corelib,gui/gui}.pro || die "sed failed (optimize_full)"
fi
# Don't add -O3 to CXXFLAGS (bug 549140)
sed -i -e '/CONFIG\s*+=/ s/optimize_full//' \
src/{corelib/corelib,gui/gui}.pro || die "sed failed (optimize_full)"
# Respect build variables in configure tests (bug #639494) # Respect build variables in configure tests (bug #639494)
sed -i -e "s|\"\$outpath/bin/qmake\" \"\$relpathMangled\" -- \"\$@\"|& $(qt5_qmake_args) |" configure || die sed -i -e "s|\"\$outpath/bin/qmake\" \"\$relpathMangled\" -- \"\$@\"|& $(qt5_qmake_args) |" configure || die
@ -259,7 +256,9 @@ qt5-build_src_install() {
popd >/dev/null || die popd >/dev/null || die
docompress -x "${QT5_DOCDIR#${EPREFIX}}"/global if [[ ${QT5_MINOR_VERSION} -lt 12 ]]; then
docompress -x "${QT5_DOCDIR#${EPREFIX}}"/global
fi
# install an empty Gentoo/gentoo-qconfig.h in ${D} # install an empty Gentoo/gentoo-qconfig.h in ${D}
# so that it's placed under package manager control # so that it's placed under package manager control
@ -417,7 +416,11 @@ qt5_prepare_env() {
QT5_IMPORTDIR=${QT5_ARCHDATADIR}/imports QT5_IMPORTDIR=${QT5_ARCHDATADIR}/imports
QT5_QMLDIR=${QT5_ARCHDATADIR}/qml QT5_QMLDIR=${QT5_ARCHDATADIR}/qml
QT5_DATADIR=${QT5_PREFIX}/share/qt5 QT5_DATADIR=${QT5_PREFIX}/share/qt5
QT5_DOCDIR=${QT5_PREFIX}/share/doc/qt-${PV} if [[ ${QT5_MINOR_VERSION} -lt 12 ]]; then
QT5_DOCDIR=${QT5_PREFIX}/share/doc/qt-${PV}
else
QT5_DOCDIR=${QT5_PREFIX}/share/qt5-doc
fi
QT5_TRANSLATIONDIR=${QT5_DATADIR}/translations QT5_TRANSLATIONDIR=${QT5_DATADIR}/translations
QT5_EXAMPLESDIR=${QT5_DATADIR}/examples QT5_EXAMPLESDIR=${QT5_DATADIR}/examples
QT5_TESTSDIR=${QT5_DATADIR}/tests QT5_TESTSDIR=${QT5_DATADIR}/tests
@ -577,8 +580,7 @@ qt5_base_configure() {
-no-openssl -no-libproxy -no-openssl -no-libproxy
-no-xcb-xlib -no-xcb-xlib
$([[ ${QT5_MINOR_VERSION} -lt 12 ]] && echo -no-xinput2 -no-xkbcommon-x11 -no-xkbcommon-evdev) $([[ ${QT5_MINOR_VERSION} -lt 12 ]] && echo -no-xinput2 -no-xkbcommon-x11 -no-xkbcommon-evdev)
$([[ ${PV} = 5.12.0* ]] && echo -no-xcb-xinput -no-xkbcommon-x11 -no-xkbcommon-evdev) # bug 672340 $([[ ${QT5_MINOR_VERSION} -ge 12 ]] && echo -no-xcb-xinput -no-xkbcommon) # bug 672340
$([[ ${QT5_MINOR_VERSION} -ge 12 && ${PV} != 5.12.0* ]] && echo -no-xcb-xinput -no-xkbcommon) # bug 672340
# cannot use -no-gif because there is no way to override it later # cannot use -no-gif because there is no way to override it later
#-no-gif #-no-gif

View File

@ -1,4 +1,4 @@
# Copyright 1999-2018 Gentoo Foundation # Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2 # Distributed under the terms of the GNU General Public License v2
# @ECLASS: ruby-ng.eclass # @ECLASS: ruby-ng.eclass
@ -113,7 +113,7 @@ _ruby_get_all_impls() {
for i in ${USE_RUBY}; do for i in ${USE_RUBY}; do
case ${i} in case ${i} in
# removed implementations # removed implementations
ruby19|ruby20|ruby21|ruby22|jruby) ruby19|ruby20|ruby21|ruby22|ruby23|jruby)
;; ;;
*) *)
echo ${i};; echo ${i};;

View File

@ -1,10 +1,10 @@
# Copyright 1999-2018 Gentoo Foundation # Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2 # Distributed under the terms of the GNU General Public License v2
# @ECLASS: rust-toolchain.eclass # @ECLASS: rust-toolchain.eclass
# @MAINTAINER: # @MAINTAINER:
# Rust Project <rust@gentoo.org> # Rust Project <rust@gentoo.org>
# @SUPPORTED_EAPIS: 6 # @SUPPORTED_EAPIS: 6 7
# @BLURB: helps map gentoo arches to rust ABIs # @BLURB: helps map gentoo arches to rust ABIs
# @DESCRIPTION: # @DESCRIPTION:
# This eclass contains a src_unpack default phase function, and # This eclass contains a src_unpack default phase function, and
@ -91,7 +91,7 @@ rust_arch_uri() {
} }
# @FUNCTION: rust_all_arch_uris # @FUNCTION: rust_all_arch_uris
# @USAGE <base-uri> [alt-distfile-basename] # @USAGE: <base-uri> [alt-distfile-basename]
# @DESCRIPTION: # @DESCRIPTION:
# Outputs the URIs for SRC_URI to help fetch dependencies, using a base URI # Outputs the URIs for SRC_URI to help fetch dependencies, using a base URI
# provided as an argument. Optionally allows for distfile renaming via a specified # provided as an argument. Optionally allows for distfile renaming via a specified

View File

@ -96,7 +96,7 @@ IUSE=""
HOMEPAGE="https://wiki.gentoo.org/wiki/Project:SELinux" HOMEPAGE="https://wiki.gentoo.org/wiki/Project:SELinux"
if [[ -n ${BASEPOL} ]] && [[ "${BASEPOL}" != "9999" ]]; then if [[ -n ${BASEPOL} ]] && [[ "${BASEPOL}" != "9999" ]]; then
SRC_URI="https://github.com/SELinuxProject/refpolicy/releases/download/RELEASE_${PV/./_}/refpolicy-${PV}.tar.bz2 SRC_URI="https://github.com/SELinuxProject/refpolicy/releases/download/RELEASE_${PV/./_}/refpolicy-${PV}.tar.bz2
https://dev.gentoo.org/~swift/patches/selinux-base-policy/patchbundle-selinux-base-policy-${BASEPOL}.tar.bz2" https://dev.gentoo.org/~perfinion/patches/selinux-base-policy/patchbundle-selinux-base-policy-${BASEPOL}.tar.bz2"
elif [[ "${BASEPOL}" != "9999" ]]; then elif [[ "${BASEPOL}" != "9999" ]]; then
SRC_URI="https://github.com/SELinuxProject/refpolicy/releases/download/RELEASE_${PV/./_}/refpolicy-${PV}.tar.bz2" SRC_URI="https://github.com/SELinuxProject/refpolicy/releases/download/RELEASE_${PV/./_}/refpolicy-${PV}.tar.bz2"
else else

View File

@ -1,4 +1,4 @@
# Copyright 1999-2018 Gentoo Foundation # Copyright 2016-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2 # Distributed under the terms of the GNU General Public License v2
# @ECLASS: tmpfiles.eclass # @ECLASS: tmpfiles.eclass
@ -8,7 +8,7 @@
# @AUTHOR: # @AUTHOR:
# Mike Gilbert <floppym@gentoo.org> # Mike Gilbert <floppym@gentoo.org>
# William Hubbs <williamh@gentoo.org> # William Hubbs <williamh@gentoo.org>
# @SUPPORTED_EAPIS: 5 6 # @SUPPORTED_EAPIS: 5 6 7
# @BLURB: Functions related to tmpfiles.d files # @BLURB: Functions related to tmpfiles.d files
# @DESCRIPTION: # @DESCRIPTION:
# This eclass provides functionality related to installing and # This eclass provides functionality related to installing and
@ -56,7 +56,7 @@ if [[ -z ${TMPFILES_ECLASS} ]]; then
TMPFILES_ECLASS=1 TMPFILES_ECLASS=1
case "${EAPI}" in case "${EAPI}" in
5|6) ;; 5|6|7) ;;
*) die "API is undefined for EAPI ${EAPI}" ;; *) die "API is undefined for EAPI ${EAPI}" ;;
esac esac
@ -113,7 +113,7 @@ tmpfiles_process() {
[[ ${#} -gt 0 ]] || die "${FUNCNAME}: Must specify at least one filename" [[ ${#} -gt 0 ]] || die "${FUNCNAME}: Must specify at least one filename"
# Only process tmpfiles for the currently running system # Only process tmpfiles for the currently running system
if [[ ${ROOT} != / ]]; then if [[ ${ROOT:-/} != / ]]; then
ewarn "Warning: tmpfiles.d not processed on ROOT != /. If you do not use" ewarn "Warning: tmpfiles.d not processed on ROOT != /. If you do not use"
ewarn "a service manager supporting tmpfiles.d, you need to run" ewarn "a service manager supporting tmpfiles.d, you need to run"
ewarn "the following command after booting (or chroot-ing with all" ewarn "the following command after booting (or chroot-ing with all"

View File

@ -1,4 +1,4 @@
# Copyright 1999-2018 Gentoo Foundation # Copyright 2002-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2 # Distributed under the terms of the GNU General Public License v2
# @ECLASS: toolchain-funcs.eclass # @ECLASS: toolchain-funcs.eclass
@ -218,13 +218,11 @@ tc-cpp-is-true() {
} }
# @FUNCTION: tc-detect-is-softfloat # @FUNCTION: tc-detect-is-softfloat
# @RETURN: # @RETURN: Shell true if detection was possible, shell false otherwise
# Shell true if (positive or negative) detection was possible, shell
# false otherwise. Also outputs a string when detection succeeds, see
# tc-is-softfloat for the possible values.
# @DESCRIPTION: # @DESCRIPTION:
# Detect whether the CTARGET (or CHOST) toolchain is a softfloat based # Detect whether the CTARGET (or CHOST) toolchain is a softfloat based
# one by examining the toolchain's output, if possible. # one by examining the toolchain's output, if possible. Outputs a value
# alike tc-is-softfloat if detection was possible.
tc-detect-is-softfloat() { tc-detect-is-softfloat() {
# If fetching CPP falls back to the default (gcc -E) then fail # If fetching CPP falls back to the default (gcc -E) then fail
# detection as this may not be the correct toolchain. # detection as this may not be the correct toolchain.
@ -697,6 +695,7 @@ tc-endian() {
mips*) echo big;; mips*) echo big;;
powerpc*le) echo little;; powerpc*le) echo little;;
powerpc*) echo big;; powerpc*) echo big;;
riscv*) echo little;;
s390*) echo big;; s390*) echo big;;
sh*b*) echo big;; sh*b*) echo big;;
sh*) echo little;; sh*) echo little;;

View File

@ -371,7 +371,7 @@ setup_env() {
export ABI=${ABI:-${DEFAULT_ABI:-default}} export ABI=${ABI:-${DEFAULT_ABI:-default}}
if use headers-only ; then if just_headers ; then
# Avoid mixing host's CC and target's CFLAGS_${ABI}: # Avoid mixing host's CC and target's CFLAGS_${ABI}:
# At this bootstrap stage we have only binutils for # At this bootstrap stage we have only binutils for
# target but not compiler yet. # target but not compiler yet.
@ -586,7 +586,53 @@ toolchain-glibc_pkg_setup() {
[[ ${EAPI:-0} == [0123] ]] && toolchain-glibc_pkg_pretend [[ ${EAPI:-0} == [0123] ]] && toolchain-glibc_pkg_pretend
} }
int_to_KV() { # The following Kernel version handling functions are mostly copied from portage
# source. It's better not to use linux-info.eclass here since a) it adds too
# much magic, see bug 326693 for some of the arguments, and b) some of the
# functions are just not provided.
tc_glibc_get_KV() {
uname -r
return $?
}
tc_glibc_KV_major() {
[[ -z $1 ]] && return 1
local KV=$@
echo "${KV%%.*}"
}
tc_glibc_KV_minor() {
[[ -z $1 ]] && return 1
local KV=$@
KV=${KV#*.}
echo "${KV%%.*}"
}
tc_glibc_KV_micro() {
[[ -z $1 ]] && return 1
local KV=$@
KV=${KV#*.*.}
echo "${KV%%[^[:digit:]]*}"
}
tc_glibc_KV_to_int() {
[[ -z $1 ]] && return 1
local KV_MAJOR=$(tc_glibc_KV_major "$1")
local KV_MINOR=$(tc_glibc_KV_minor "$1")
local KV_MICRO=$(tc_glibc_KV_micro "$1")
local KV_int=$(( KV_MAJOR * 65536 + KV_MINOR * 256 + KV_MICRO ))
# We make version 2.2.0 the minimum version we will handle as
# a sanity check ... if its less, we fail ...
if [[ ${KV_int} -ge 131584 ]] ; then
echo "${KV_int}"
return 0
fi
return 1
}
tc_glibc_int_to_KV() {
local version=$1 major minor micro local version=$1 major minor micro
major=$((version / 65536)) major=$((version / 65536))
minor=$(((version % 65536) / 256)) minor=$(((version % 65536) / 256))
@ -595,7 +641,7 @@ int_to_KV() {
} }
eend_KV() { eend_KV() {
[[ $(KV_to_int $1) -ge $(KV_to_int $2) ]] [[ $(tc_glibc_KV_to_int $1) -ge $(tc_glibc_KV_to_int $2) ]]
eend $? eend $?
} }
@ -610,8 +656,8 @@ check_nptl_support() {
just_headers && return just_headers && return
local run_kv build_kv want_kv local run_kv build_kv want_kv
run_kv=$(int_to_KV $(get_KV)) run_kv=$(tc_glibc_get_KV)
build_kv=$(int_to_KV $(get_kheader_version)) build_kv=$(tc_glibc_int_to_KV $(get_kheader_version))
want_kv=${NPTL_KERN_VER} want_kv=${NPTL_KERN_VER}
ebegin "Checking gcc for __thread support" ebegin "Checking gcc for __thread support"
@ -796,6 +842,11 @@ glibc_do_configure() {
if version_is_at_least 2.25 ; then if version_is_at_least 2.25 ; then
case ${CTARGET} in case ${CTARGET} in
m68k*)
# setjmp() is not compatible with stack protection:
# https://sourceware.org/PR24202
myconf+=( --enable-stack-protector=no )
;;
mips*) mips*)
# dlopen() detects stack smash on mips n32 ABI. # dlopen() detects stack smash on mips n32 ABI.
# Cause is unknown: https://bugs.gentoo.org/640130 # Cause is unknown: https://bugs.gentoo.org/640130

View File

@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2 # Distributed under the terms of the GNU General Public License v2
# Maintainer: Toolchain Ninjas <toolchain@gentoo.org> # Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
# @SUPPORTED_EAPIS: 5 # @SUPPORTED_EAPIS: 5 6
DESCRIPTION="The GNU Compiler Collection" DESCRIPTION="The GNU Compiler Collection"
HOMEPAGE="https://gcc.gnu.org/" HOMEPAGE="https://gcc.gnu.org/"
@ -26,7 +26,7 @@ FEATURES=${FEATURES/multilib-strict/}
case ${EAPI:-0} in case ${EAPI:-0} in
0|1|2|3|4*) die "Need to upgrade to at least EAPI=5" ;; 0|1|2|3|4*) die "Need to upgrade to at least EAPI=5" ;;
5*) inherit eapi7-ver ;; 5*|6) inherit eapi7-ver ;;
*) die "I don't speak EAPI ${EAPI}." ;; *) die "I don't speak EAPI ${EAPI}." ;;
esac esac
EXPORT_FUNCTIONS pkg_pretend pkg_setup src_unpack src_prepare src_configure \ EXPORT_FUNCTIONS pkg_pretend pkg_setup src_unpack src_prepare src_configure \
@ -128,39 +128,55 @@ else
LICENSE="GPL-2+ LGPL-2.1+ FDL-1.1+" LICENSE="GPL-2+ LGPL-2.1+ FDL-1.1+"
fi fi
IUSE="regression-test vanilla" if tc_version_is_at_least 8.3; then
IUSE_DEF=( nls nptl ) GCC_EBUILD_TEST_FLAG='test'
else
# Don't force USE regression-test->test change on every
# gcc ebuild just yet. Let's do the change when >=gcc-8.3
# is commonly used as a main compiler.
GCC_EBUILD_TEST_FLAG='regression-test'
fi
IUSE="${GCC_EBUILD_TEST_FLAG} vanilla +nls +nptl"
TC_FEATURES=()
tc_has_feature() {
has "$1" "${TC_FEATURES[@]}"
}
if [[ ${PN} != "kgcc64" && ${PN} != gcc-* ]] ; then if [[ ${PN} != "kgcc64" && ${PN} != gcc-* ]] ; then
IUSE+=" altivec debug" IUSE+=" altivec debug +cxx +fortran" TC_FEATURES+=(fortran)
IUSE_DEF+=( cxx fortran )
[[ -n ${PIE_VER} ]] && IUSE+=" nopie" [[ -n ${PIE_VER} ]] && IUSE+=" nopie"
[[ -n ${HTB_VER} ]] && IUSE+=" boundschecking" [[ -n ${HTB_VER} ]] && IUSE+=" boundschecking"
[[ -n ${D_VER} ]] && IUSE+=" d" [[ -n ${D_VER} ]] && IUSE+=" d"
[[ -n ${SPECS_VER} ]] && IUSE+=" nossp" [[ -n ${SPECS_VER} ]] && IUSE+=" nossp"
tc_version_is_at_least 3 && IUSE+=" doc hardened multilib objc" tc_version_is_at_least 3 && IUSE+=" doc hardened multilib objc"
tc_version_is_between 3 7 && IUSE+=" awt gcj" tc_version_is_between 3 7 && IUSE+=" awt gcj" TC_FEATURES+=(gcj)
tc_version_is_at_least 3.3 && IUSE+=" pgo" tc_version_is_at_least 3.3 && IUSE+=" pgo"
tc_version_is_at_least 4.0 && IUSE+=" objc-gc" tc_version_is_at_least 4.0 &&
IUSE+=" objc-gc" TC_FEATURES+=(objc-gc)
tc_version_is_between 4.0 4.9 && IUSE+=" mudflap" tc_version_is_between 4.0 4.9 && IUSE+=" mudflap"
tc_version_is_at_least 4.1 && IUSE+=" libssp objc++" tc_version_is_at_least 4.1 && IUSE+=" libssp objc++"
tc_version_is_at_least 4.2 && IUSE_DEF+=( openmp ) tc_version_is_at_least 4.2 && IUSE+=" +openmp"
tc_version_is_at_least 4.3 && IUSE+=" fixed-point" tc_version_is_at_least 4.3 && IUSE+=" fixed-point"
tc_version_is_at_least 4.7 && IUSE+=" go" tc_version_is_at_least 4.7 && IUSE+=" go"
# Note: while <=gcc-4.7 also supported graphite, it required forked ppl # Note: while <=gcc-4.7 also supported graphite, it required forked ppl
# versions which we dropped. Since graphite was also experimental in # versions which we dropped. Since graphite was also experimental in
# the older versions, we don't want to bother supporting it. #448024 # the older versions, we don't want to bother supporting it. #448024
tc_version_is_at_least 4.8 && IUSE+=" graphite" IUSE_DEF+=( sanitize ) tc_version_is_at_least 4.8 &&
IUSE+=" graphite +sanitize" TC_FEATURES+=(graphite)
tc_version_is_between 4.9 8 && IUSE+=" cilk" tc_version_is_between 4.9 8 && IUSE+=" cilk"
tc_version_is_at_least 4.9 && IUSE+=" +vtv" tc_version_is_at_least 4.9 && IUSE+=" +vtv"
tc_version_is_at_least 5.0 && IUSE+=" jit mpx" tc_version_is_at_least 5.0 && IUSE+=" jit"
tc_version_is_between 5.0 9 && IUSE+=" mpx"
tc_version_is_at_least 6.0 && IUSE+=" +pie +ssp +pch" tc_version_is_at_least 6.0 && IUSE+=" +pie +ssp +pch"
# systemtap is a gentoo-specific switch: bug #654748 # systemtap is a gentoo-specific switch: bug #654748
tc_version_is_at_least 8.0 && IUSE+=" systemtap" tc_version_is_at_least 8.0 &&
IUSE+=" systemtap" TC_FEATURES+=(systemtap)
tc_version_is_at_least 9.0 && IUSE+=" d"
tc_version_is_at_least 9.1 && IUSE+=" lto"
fi fi
IUSE+=" ${IUSE_DEF[*]/#/+}"
SLOT="${GCC_CONFIG_VER}" SLOT="${GCC_CONFIG_VER}"
#---->> DEPEND <<---- #---->> DEPEND <<----
@ -174,20 +190,20 @@ if tc_version_is_at_least 4 ; then
GMP_MPFR_DEPS=">=dev-libs/gmp-4.3.2:0= >=dev-libs/mpfr-2.4.2:0=" GMP_MPFR_DEPS=">=dev-libs/gmp-4.3.2:0= >=dev-libs/mpfr-2.4.2:0="
if tc_version_is_at_least 4.3 ; then if tc_version_is_at_least 4.3 ; then
RDEPEND+=" ${GMP_MPFR_DEPS}" RDEPEND+=" ${GMP_MPFR_DEPS}"
elif in_iuse fortran ; then elif tc_has_feature fortran ; then
RDEPEND+=" fortran? ( ${GMP_MPFR_DEPS} )" RDEPEND+=" fortran? ( ${GMP_MPFR_DEPS} )"
fi fi
fi fi
tc_version_is_at_least 4.5 && RDEPEND+=" >=dev-libs/mpc-0.8.1:0=" tc_version_is_at_least 4.5 && RDEPEND+=" >=dev-libs/mpc-0.8.1:0="
if in_iuse objc-gc ; then if tc_has_feature objc-gc ; then
if tc_version_is_at_least 7 ; then if tc_version_is_at_least 7 ; then
RDEPEND+=" objc-gc? ( >=dev-libs/boehm-gc-7.4.2 )" RDEPEND+=" objc-gc? ( >=dev-libs/boehm-gc-7.4.2 )"
fi fi
fi fi
if in_iuse graphite ; then if tc_has_feature graphite ; then
if tc_version_is_at_least 5.0 ; then if tc_version_is_at_least 5.0 ; then
RDEPEND+=" graphite? ( >=dev-libs/isl-0.14:0= )" RDEPEND+=" graphite? ( >=dev-libs/isl-0.14:0= )"
elif tc_version_is_at_least 4.8 ; then elif tc_version_is_at_least 4.8 ; then
@ -203,12 +219,12 @@ DEPEND="${RDEPEND}
>=sys-devel/bison-1.875 >=sys-devel/bison-1.875
>=sys-devel/flex-2.5.4 >=sys-devel/flex-2.5.4
nls? ( sys-devel/gettext ) nls? ( sys-devel/gettext )
regression-test? ( ${GCC_EBUILD_TEST_FLAG}? (
>=dev-util/dejagnu-1.4.4 >=dev-util/dejagnu-1.4.4
>=sys-devel/autogen-5.5.4 >=sys-devel/autogen-5.5.4
)" )"
if in_iuse gcj ; then if tc_has_feature gcj ; then
GCJ_DEPS=">=media-libs/libart_lgpl-2.1" GCJ_DEPS=">=media-libs/libart_lgpl-2.1"
GCJ_GTK_DEPS=" GCJ_GTK_DEPS="
x11-base/xorg-proto x11-base/xorg-proto
@ -223,7 +239,7 @@ if in_iuse gcj ; then
DEPEND+=" gcj? ( awt? ( ${GCJ_GTK_DEPS} ) ${GCJ_DEPS} )" DEPEND+=" gcj? ( awt? ( ${GCJ_GTK_DEPS} ) ${GCJ_DEPS} )"
fi fi
if in_iuse systemtap ; then if tc_has_feature systemtap ; then
# gcc needs sys/sdt.h headers on target # gcc needs sys/sdt.h headers on target
DEPEND+=" systemtap? ( dev-util/systemtap )" DEPEND+=" systemtap? ( dev-util/systemtap )"
fi fi
@ -376,7 +392,7 @@ get_gcc_src_uri() {
[[ -n ${D_VER} ]] && \ [[ -n ${D_VER} ]] && \
GCC_SRC_URI+=" d? ( mirror://sourceforge/dgcc/gdc-${D_VER}-src.tar.bz2 )" GCC_SRC_URI+=" d? ( mirror://sourceforge/dgcc/gdc-${D_VER}-src.tar.bz2 )"
if in_iuse gcj ; then if tc_has_feature gcj ; then
if tc_version_is_at_least 4.5 ; then if tc_version_is_at_least 4.5 ; then
GCC_SRC_URI+=" gcj? ( ftp://sourceware.org/pub/java/ecj-4.5.jar )" GCC_SRC_URI+=" gcj? ( ftp://sourceware.org/pub/java/ecj-4.5.jar )"
elif tc_version_is_at_least 4.3 ; then elif tc_version_is_at_least 4.3 ; then
@ -522,7 +538,12 @@ toolchain_src_prepare() {
do_gcc_HTB_patches do_gcc_HTB_patches
do_gcc_PIE_patches do_gcc_PIE_patches
do_gcc_CYGWINPORTS_patches do_gcc_CYGWINPORTS_patches
epatch_user
case ${EAPI:-0} in
5*) epatch_user;;
6) eapply_user ;;
*) die "Update toolchain_src_prepare() for ${EAPI}." ;;
esac
if ( tc_version_is_at_least 4.8.2 || use_if_iuse hardened ) && ! use vanilla ; then if ( tc_version_is_at_least 4.8.2 || use_if_iuse hardened ) && ! use vanilla ; then
make_gcc_hard make_gcc_hard
@ -973,6 +994,11 @@ toolchain_src_configure() {
confgcc+=( --enable-libstdcxx-time ) confgcc+=( --enable-libstdcxx-time )
fi fi
# Build compiler using LTO
if tc_version_is_at_least 9.1 && use_if_iuse lto ; then
confgcc+=( --with-build-config=bootstrap-lto )
fi
# Support to disable pch when building libstdcxx # Support to disable pch when building libstdcxx
if tc_version_is_at_least 6.0 && ! use_if_iuse pch ; then if tc_version_is_at_least 6.0 && ! use_if_iuse pch ; then
confgcc+=( --disable-libstdcxx-pch ) confgcc+=( --disable-libstdcxx-pch )
@ -1086,6 +1112,9 @@ toolchain_src_configure() {
*-elf|*-eabi) *-elf|*-eabi)
confgcc+=( --with-newlib ) confgcc+=( --with-newlib )
;; ;;
*-musl*)
confgcc+=( --enable-__cxa_atexit )
;;
*-gnu*) *-gnu*)
confgcc+=( confgcc+=(
--enable-__cxa_atexit --enable-__cxa_atexit
@ -1274,7 +1303,8 @@ toolchain_src_configure() {
if in_iuse vtv ; then if in_iuse vtv ; then
confgcc+=( confgcc+=(
$(use_enable vtv vtable-verify) $(use_enable vtv vtable-verify)
$(use_enable vtv libvtv) # See Note [implicitly enabled flags]
$(usex vtv '' --disable-libvtv)
) )
fi fi
@ -1303,7 +1333,8 @@ toolchain_src_configure() {
fi fi
if tc_version_is_at_least 4.8 && in_iuse sanitize ; then if tc_version_is_at_least 4.8 && in_iuse sanitize ; then
confgcc+=( $(use_enable sanitize libsanitizer) ) # See Note [implicitly enabled flags]
confgcc+=( $(usex sanitize '' --disable-libsanitizer) )
fi fi
if tc_version_is_at_least 6.0 && in_iuse pie ; then if tc_version_is_at_least 6.0 && in_iuse pie ; then
@ -1723,9 +1754,10 @@ gcc_do_make() {
#---->> src_test <<---- #---->> src_test <<----
toolchain_src_test() { toolchain_src_test() {
if use regression-test ; then if use ${GCC_EBUILD_TEST_FLAG} ; then
cd "${WORKDIR}"/build cd "${WORKDIR}"/build
emake -k check # enable verbose test run and result logging
emake -k check RUNTESTFLAGS='-a -v'
fi fi
} }
@ -1863,7 +1895,7 @@ toolchain_src_install() {
find "${ED}" -depth -type d -delete 2>/dev/null find "${ED}" -depth -type d -delete 2>/dev/null
# install testsuite results # install testsuite results
if use regression-test; then if use ${GCC_EBUILD_TEST_FLAG}; then
docinto testsuite docinto testsuite
find "${WORKDIR}"/build -type f -name "*.sum" -exec dodoc {} + find "${WORKDIR}"/build -type f -name "*.sum" -exec dodoc {} +
find "${WORKDIR}"/build -type f -path "*/testsuite/*.log" -exec dodoc {} + find "${WORKDIR}"/build -type f -path "*/testsuite/*.log" -exec dodoc {} +
@ -2191,7 +2223,7 @@ toolchain_pkg_postinst() {
cp "${ROOT%/}${DATAPATH}"/c{89,99} "${EROOT%/}"/usr/bin/ 2>/dev/null cp "${ROOT%/}${DATAPATH}"/c{89,99} "${EROOT%/}"/usr/bin/ 2>/dev/null
fi fi
if use regression-test ; then if use ${GCC_EBUILD_TEST_FLAG} ; then
elog "Testsuite results have been installed into /usr/share/doc/${PF}/testsuite" elog "Testsuite results have been installed into /usr/share/doc/${PF}/testsuite"
echo echo
fi fi
@ -2373,6 +2405,10 @@ is_go() {
is_jit() { is_jit() {
gcc-lang-supported jit || return 1 gcc-lang-supported jit || return 1
# cross-compiler does not really support jit as it has
# to generate code for a target. On target like avr
# libgcclit.so can't link at all: bug #594572
is_crosscompile && return 1
use_if_iuse jit use_if_iuse jit
} }
@ -2498,3 +2534,21 @@ toolchain_death_notice() {
popd >/dev/null popd >/dev/null
fi fi
} }
# Note [implicitly enabled flags]
# -------------------------------
# Usually configure-based packages handle explicit feature requests
# like
# ./configure --enable-foo
# as explicit request to check for support of 'foo' and bail out at
# configure time.
#
# GCC does not follow this pattern and instead overrides autodetection
# of the feature and enables it unconditionally.
# See bugs:
# https://gcc.gnu.org/PR85663 (libsanitizer on mips)
# https://bugs.gentoo.org/661252 (libvtv on powerpc64)
#
# Thus safer way to enable/disable the feature is to rely on implicit
# enabled-by-default state:
# econf $(usex foo '' --disable-foo)

View File

@ -339,6 +339,7 @@ _unpacker() {
a=$(find_unpackable_file "${a}") a=$(find_unpackable_file "${a}")
# first figure out the decompression method # first figure out the decompression method
local comp=""
case ${m} in case ${m} in
*.bz2|*.tbz|*.tbz2) *.bz2|*.tbz|*.tbz2)
local bzcmd=${PORTAGE_BZIP2_COMMAND:-$(type -P pbzip2 || type -P bzip2)} local bzcmd=${PORTAGE_BZIP2_COMMAND:-$(type -P pbzip2 || type -P bzip2)}
@ -353,11 +354,10 @@ _unpacker() {
*.lz) *.lz)
: ${UNPACKER_LZIP:=$(type -P plzip || type -P pdlzip || type -P lzip)} : ${UNPACKER_LZIP:=$(type -P plzip || type -P pdlzip || type -P lzip)}
comp="${UNPACKER_LZIP} -dc" ;; comp="${UNPACKER_LZIP} -dc" ;;
*) comp="" ;;
esac esac
# then figure out if there are any archiving aspects # then figure out if there are any archiving aspects
arch="" local arch=""
case ${m} in case ${m} in
*.tgz|*.tbz|*.tbz2|*.txz|*.tar.*|*.tar) *.tgz|*.tbz|*.tbz2|*.txz|*.tar.*|*.tar)
arch="tar --no-same-owner -xof" ;; arch="tar --no-same-owner -xof" ;;

View File

@ -88,8 +88,8 @@ egetent() {
grep "${key}:\*:" /etc/${db} grep "${key}:\*:" /etc/${db}
;; ;;
*) *)
# ignore output if nscd doesn't exist, or we're not running as root # ignore nscd output if we're not running as root
nscd -i "${db}" 2>/dev/null type -p nscd >/dev/null && nscd -i "${db}" 2>/dev/null
getent "${db}" "${key}" getent "${db}" "${key}"
;; ;;
esac esac

View File

@ -26,13 +26,13 @@ esac
# @ECLASS-VARIABLE: VALA_MIN_API_VERSION # @ECLASS-VARIABLE: VALA_MIN_API_VERSION
# @DESCRIPTION: # @DESCRIPTION:
# Minimum vala API version (e.g. 0.32). # Minimum vala API version (e.g. 0.36).
VALA_MIN_API_VERSION=${VALA_MIN_API_VERSION:-0.32} VALA_MIN_API_VERSION=${VALA_MIN_API_VERSION:-0.36}
# @ECLASS-VARIABLE: VALA_MAX_API_VERSION # @ECLASS-VARIABLE: VALA_MAX_API_VERSION
# @DESCRIPTION: # @DESCRIPTION:
# Maximum vala API version (e.g. 0.32). # Maximum vala API version (e.g. 0.36).
VALA_MAX_API_VERSION=${VALA_MAX_API_VERSION:-0.36} VALA_MAX_API_VERSION=${VALA_MAX_API_VERSION:-0.44}
# @ECLASS-VARIABLE: VALA_USE_DEPEND # @ECLASS-VARIABLE: VALA_USE_DEPEND
# @DEFAULT_UNSET # @DEFAULT_UNSET
@ -50,25 +50,43 @@ vala_api_versions() {
local minimal_supported_minor_version minor_version local minimal_supported_minor_version minor_version
# Dependency atoms are not generated for Vala versions older than 0.${minimal_supported_minor_version}. # Dependency atoms are not generated for Vala versions older than 0.${minimal_supported_minor_version}.
minimal_supported_minor_version="32" minimal_supported_minor_version="36"
for ((minor_version = ${VALA_MAX_API_VERSION#*.}; minor_version >= ${VALA_MIN_API_VERSION#*.}; minor_version = minor_version - 2)); do for ((minor_version = ${VALA_MAX_API_VERSION#*.}; minor_version >= ${VALA_MIN_API_VERSION#*.}; minor_version = minor_version - 2)); do
if ((minor_version >= minimal_supported_minor_version)); then # 0.38 was never in main tree; remove the special case once minimal_supported_minor_version >= 40
if ((minor_version >= minimal_supported_minor_version)) && ((minor_version != 38)); then
echo "0.${minor_version}" echo "0.${minor_version}"
fi fi
done done
} }
# Outputs VALA_USE_DEPEND as a a USE-dependency string
_vala_use_depend() {
local u="" vala_use
if [[ -n ${VALA_USE_DEPEND} ]]; then
for vala_use in ${VALA_USE_DEPEND}; do
case ${vala_use} in
vapigen) u="${u},${vala_use}(+)" ;;
valadoc) u="${u},${vala_use}(-)" ;;
esac
done
u="[${u#,}]"
fi
echo -n "${u}"
}
# @FUNCTION: vala_depend # @FUNCTION: vala_depend
# @DESCRIPTION: # @DESCRIPTION:
# Outputs a ||-dependency string on vala from VALA_MAX_API_VERSION down to # Outputs a ||-dependency string on vala from VALA_MAX_API_VERSION down to
# VALA_MIN_API_VERSION # VALA_MIN_API_VERSION
vala_depend() { vala_depend() {
local u v versions=$(vala_api_versions) local u v
[[ ${VALA_USE_DEPEND} ]] && u="[${VALA_USE_DEPEND}(+)]" u=$(_vala_use_depend)
echo -n "|| (" echo -n "|| ("
for v in ${versions}; do for v in $(vala_api_versions); do
echo -n " dev-lang/vala:${v}${u}" echo -n " dev-lang/vala:${v}${u}"
done done
echo " )" echo " )"
@ -80,7 +98,8 @@ vala_depend() {
# VALA_MAX_API_VERSION, VALA_MIN_API_VERSION, and VALA_USE_DEPEND. # VALA_MAX_API_VERSION, VALA_MIN_API_VERSION, and VALA_USE_DEPEND.
vala_best_api_version() { vala_best_api_version() {
local u v local u v
[[ ${VALA_USE_DEPEND} ]] && u="[${VALA_USE_DEPEND}(+)]" u=$(_vala_use_depend)
for v in $(vala_api_versions); do for v in $(vala_api_versions); do
has_version "dev-lang/vala:${v}${u}" && echo "${v}" && return has_version "dev-lang/vala:${v}${u}" && echo "${v}" && return
done done
@ -130,6 +149,9 @@ vala_src_prepare() {
valafoo=$(type -P vapigen-${version}) valafoo=$(type -P vapigen-${version})
[[ ${valafoo} ]] && export VAPIGEN="${valafoo}" [[ ${valafoo} ]] && export VAPIGEN="${valafoo}"
valafoo=$(type -P valadoc-${version})
[[ ${valafoo} ]] && has valadoc ${VALA_USE_DEPEND} && export VALADOC="${valafoo}"
valafoo="${EPREFIX}/usr/share/vala/Makefile.vapigen" valafoo="${EPREFIX}/usr/share/vala/Makefile.vapigen"
[[ -e ${valafoo} ]] && export VAPIGEN_MAKEFILE="${valafoo}" [[ -e ${valafoo} ]] && export VAPIGEN_MAKEFILE="${valafoo}"

View File

@ -42,9 +42,9 @@ IS_REPLACE=0
INSTALL_CHECK_FILE="installed_by_webapp_eclass" INSTALL_CHECK_FILE="installed_by_webapp_eclass"
SETUP_CHECK_FILE="setup_by_webapp_eclass" SETUP_CHECK_FILE="setup_by_webapp_eclass"
ETC_CONFIG="${ROOT}etc/vhosts/webapp-config" ETC_CONFIG="${ROOT%/}/etc/vhosts/webapp-config"
WEBAPP_CONFIG="${ROOT}usr/sbin/webapp-config" WEBAPP_CONFIG="${ROOT%/}/usr/sbin/webapp-config"
WEBAPP_CLEANER="${ROOT}usr/sbin/webapp-cleaner" WEBAPP_CLEANER="${ROOT%/}/usr/sbin/webapp-cleaner"
# ============================================================================== # ==============================================================================
# INTERNAL FUNCTIONS # INTERNAL FUNCTIONS
@ -365,7 +365,7 @@ webapp_src_preinst() {
# @DESCRIPTION: # @DESCRIPTION:
# The default pkg_setup() for this eclass. This will gather required variables # The default pkg_setup() for this eclass. This will gather required variables
# from webapp-config and check if there is an application installed to # from webapp-config and check if there is an application installed to
# `${ROOT}/var/www/localhost/htdocs/${PN}/' if USE=vhosts is not set. # `${ROOT%/}/var/www/localhost/htdocs/${PN}/' if USE=vhosts is not set.
# #
# You need to call this function BEFORE anything else has run in your custom # You need to call this function BEFORE anything else has run in your custom
# pkg_setup(). # pkg_setup().
@ -389,7 +389,7 @@ webapp_pkg_setup() {
G_HOSTNAME="localhost" G_HOSTNAME="localhost"
webapp_read_config webapp_read_config
local my_dir="${ROOT}${VHOST_ROOT}/${MY_HTDOCSBASE}/${PN}" local my_dir="${ROOT%/}/${VHOST_ROOT}/${MY_HTDOCSBASE}/${PN}"
# if USE=vhosts is enabled OR no application is installed we're done here # if USE=vhosts is enabled OR no application is installed we're done here
if ! has vhosts ${IUSE} || use vhosts || [[ ! -d "${my_dir}" ]]; then if ! has vhosts ${IUSE} || use vhosts || [[ ! -d "${my_dir}" ]]; then
@ -453,7 +453,7 @@ webapp_src_install() {
# @FUNCTION: webapp_pkg_postinst # @FUNCTION: webapp_pkg_postinst
# @DESCRIPTION: # @DESCRIPTION:
# The default pkg_postinst() for this eclass. This installs the web application to # The default pkg_postinst() for this eclass. This installs the web application to
# `${ROOT}/var/www/localhost/htdocs/${PN}/' if USE=vhosts is not set. Otherwise # `${ROOT%/}/var/www/localhost/htdocs/${PN}/' if USE=vhosts is not set. Otherwise
# display a short notice how to install this application with webapp-config. # display a short notice how to install this application with webapp-config.
# #
# You need to call this function AFTER everything else has run in your custom # You need to call this function AFTER everything else has run in your custom
@ -464,7 +464,7 @@ webapp_pkg_postinst() {
webapp_read_config webapp_read_config
# sanity checks, to catch bugs in the ebuild # sanity checks, to catch bugs in the ebuild
if [[ ! -f "${ROOT}${MY_APPDIR}/${INSTALL_CHECK_FILE}" ]]; then if [[ ! -f "${ROOT%/}/${MY_APPDIR}/${INSTALL_CHECK_FILE}" ]]; then
eerror eerror
eerror "This ebuild did not call webapp_src_install() at the end" eerror "This ebuild did not call webapp_src_install() at the end"
eerror "of the src_install() function" eerror "of the src_install() function"

View File

@ -1,4 +1,4 @@
# Copyright 1999-2017 Gentoo Foundation # Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2 # Distributed under the terms of the GNU General Public License v2
# @ECLASS: xdg-utils.eclass # @ECLASS: xdg-utils.eclass
@ -12,6 +12,7 @@
# This eclass provides a set of auxiliary functions needed by most XDG # This eclass provides a set of auxiliary functions needed by most XDG
# compliant packages. # compliant packages.
# It provides XDG stack related functions such as: # It provides XDG stack related functions such as:
# * GTK/Qt5 icon theme cache management
# * XDG .desktop files cache management # * XDG .desktop files cache management
# * XDG mime information database management # * XDG mime information database management
@ -20,24 +21,12 @@ case "${EAPI:-0}" in
*) die "EAPI=${EAPI} is not supported" ;; *) die "EAPI=${EAPI} is not supported" ;;
esac esac
# @ECLASS-VARIABLE: DESKTOP_DATABASE_UPDATE_BIN
# @INTERNAL
# @DESCRIPTION:
# Path to update-desktop-database
: ${DESKTOP_DATABASE_UPDATE_BIN:="/usr/bin/update-desktop-database"}
# @ECLASS-VARIABLE: DESKTOP_DATABASE_DIR # @ECLASS-VARIABLE: DESKTOP_DATABASE_DIR
# @INTERNAL # @INTERNAL
# @DESCRIPTION: # @DESCRIPTION:
# Directory where .desktop files database is stored # Directory where .desktop files database is stored
: ${DESKTOP_DATABASE_DIR="/usr/share/applications"} : ${DESKTOP_DATABASE_DIR="/usr/share/applications"}
# @ECLASS-VARIABLE: MIMEINFO_DATABASE_UPDATE_BIN
# @INTERNAL
# @DESCRIPTION:
# Path to update-mime-database
: ${MIMEINFO_DATABASE_UPDATE_BIN:="/usr/bin/update-mime-database"}
# @ECLASS-VARIABLE: MIMEINFO_DATABASE_DIR # @ECLASS-VARIABLE: MIMEINFO_DATABASE_DIR
# @INTERNAL # @INTERNAL
# @DESCRIPTION: # @DESCRIPTION:
@ -67,39 +56,79 @@ xdg_environment_reset() {
# Updates the .desktop files database. # Updates the .desktop files database.
# Generates a list of mimetypes linked to applications that can handle them # Generates a list of mimetypes linked to applications that can handle them
xdg_desktop_database_update() { xdg_desktop_database_update() {
local updater="${EROOT%/}${DESKTOP_DATABASE_UPDATE_BIN}"
if [[ ${EBUILD_PHASE} != post* ]] ; then if [[ ${EBUILD_PHASE} != post* ]] ; then
die "xdg_desktop_database_update must be used in pkg_post* phases." die "xdg_desktop_database_update must be used in pkg_post* phases."
fi fi
if [[ ! -x "${updater}" ]] ; then if ! type update-desktop-database &>/dev/null; then
debug-print "${updater} is not executable" debug-print "update-desktop-database is not found"
return return
fi fi
ebegin "Updating .desktop files database" ebegin "Updating .desktop files database"
"${updater}" -q "${EROOT%/}${DESKTOP_DATABASE_DIR}" update-desktop-database -q "${EROOT%/}${DESKTOP_DATABASE_DIR}"
eend $? eend $?
} }
# @FUNCTION: xdg_icon_cache_update
# @DESCRIPTION:
# Updates icon theme cache files under /usr/share/icons.
# This function should be called from pkg_postinst and pkg_postrm.
xdg_icon_cache_update() {
if [[ ${EBUILD_PHASE} != post* ]] ; then
die "xdg_icon_cache_update must be used in pkg_post* phases."
fi
if ! type gtk-update-icon-cache &>/dev/null; then
debug-print "gtk-update-icon-cache is not found"
return
fi
ebegin "Updating icons cache"
local retval=0
local fails=( )
for dir in "${EROOT%/}"/usr/share/icons/*
do
if [[ -f "${dir}/index.theme" ]] ; then
local rv=0
gtk-update-icon-cache -qf "${dir}"
rv=$?
if [[ ! $rv -eq 0 ]] ; then
debug-print "Updating cache failed on ${dir}"
# Add to the list of failures
fails+=( "${dir}" )
retval=2
fi
elif [[ $(ls "${dir}") = "icon-theme.cache" ]]; then
# Clear stale cache files after theme uninstallation
rm "${dir}/icon-theme.cache"
fi
if [[ -z $(ls "${dir}") ]]; then
# Clear empty theme directories after theme uninstallation
rmdir "${dir}"
fi
done
eend ${retval}
for f in "${fails[@]}" ; do
eerror "Failed to update cache with icon $f"
done
}
# @FUNCTION: xdg_mimeinfo_database_update # @FUNCTION: xdg_mimeinfo_database_update
# @DESCRIPTION: # @DESCRIPTION:
# Update the mime database. # Update the mime database.
# Creates a general list of mime types from several sources # Creates a general list of mime types from several sources
xdg_mimeinfo_database_update() { xdg_mimeinfo_database_update() {
local updater="${EROOT%/}${MIMEINFO_DATABASE_UPDATE_BIN}"
if [[ ${EBUILD_PHASE} != post* ]] ; then if [[ ${EBUILD_PHASE} != post* ]] ; then
die "xdg_mimeinfo_database_update must be used in pkg_post* phases." die "xdg_mimeinfo_database_update must be used in pkg_post* phases."
fi fi
if [[ ! -x "${updater}" ]] ; then if ! type update-mime-database &>/dev/null; then
debug-print "${updater} is not executable" debug-print "update-mime-database is not found"
return return
fi fi
ebegin "Updating shared mime info database" ebegin "Updating shared mime info database"
"${updater}" "${EROOT%/}${MIMEINFO_DATABASE_DIR}" update-mime-database "${EROOT%/}${MIMEINFO_DATABASE_DIR}"
eend $? eend $?
} }

View File

@ -1,4 +1,4 @@
# Copyright 1999-2015 Gentoo Foundation # Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2 # Distributed under the terms of the GNU General Public License v2
# @ECLASS: xdg.eclass # @ECLASS: xdg.eclass
@ -6,16 +6,16 @@
# freedesktop-bugs@gentoo.org # freedesktop-bugs@gentoo.org
# @AUTHOR: # @AUTHOR:
# Original author: Gilles Dartiguelongue <eva@gentoo.org> # Original author: Gilles Dartiguelongue <eva@gentoo.org>
# @SUPPORTED_EAPIS: 4 5 6 # @SUPPORTED_EAPIS: 4 5 6 7
# @BLURB: Provides phases for XDG compliant packages. # @BLURB: Provides phases for XDG compliant packages.
# @DESCRIPTION: # @DESCRIPTION:
# Utility eclass to update the desktop and shared mime info as laid # Utility eclass to update the desktop, icon and shared mime info as laid
# out in the freedesktop specs & implementations # out in the freedesktop specs & implementations
inherit xdg-utils inherit xdg-utils
case "${EAPI:-0}" in case "${EAPI:-0}" in
4|5|6) 4|5|6|7)
EXPORT_FUNCTIONS src_prepare pkg_preinst pkg_postinst pkg_postrm EXPORT_FUNCTIONS src_prepare pkg_preinst pkg_postinst pkg_postrm
;; ;;
*) die "EAPI=${EAPI} is not supported" ;; *) die "EAPI=${EAPI} is not supported" ;;
@ -35,33 +35,36 @@ fi
xdg_src_prepare() { xdg_src_prepare() {
xdg_environment_reset xdg_environment_reset
has ${EAPI:-0} 6 && default [[ ${EAPI:-0} != [45] ]] && default
} }
# @FUNCTION: xdg_pkg_preinst # @FUNCTION: xdg_pkg_preinst
# @DESCRIPTION: # @DESCRIPTION:
# Finds .desktop and mime info files for later handling in pkg_postinst. # Finds .desktop, icon and mime info files for later handling in pkg_postinst.
# Locations are stored in XDG_ECLASS_DESKTOPFILES and XDG_ECLASS_MIMEINFOFILES # Locations are stored in XDG_ECLASS_DESKTOPFILES, XDG_ECLASS_ICONFILES
# respectively. # and XDG_ECLASS_MIMEINFOFILES respectively.
xdg_pkg_preinst() { xdg_pkg_preinst() {
local f local f
XDG_ECLASS_DESKTOPFILES=() XDG_ECLASS_DESKTOPFILES=()
while IFS= read -r -d '' f; do while IFS= read -r -d '' f; do
XDG_ECLASS_DESKTOPFILES+=( ${f} ) XDG_ECLASS_DESKTOPFILES+=( ${f} )
done < <(cd "${D}" && find 'usr/share/applications' -type f -print0 2>/dev/null) done < <(cd "${ED}" && find 'usr/share/applications' -type f -print0 2>/dev/null)
XDG_ECLASS_ICONFILES=()
while IFS= read -r -d '' f; do
XDG_ECLASS_ICONFILES+=( ${f} )
done < <(cd "${ED}" && find 'usr/share/icons' -type f -print0 2>/dev/null)
XDG_ECLASS_MIMEINFOFILES=() XDG_ECLASS_MIMEINFOFILES=()
while IFS= read -r -d '' f; do while IFS= read -r -d '' f; do
XDG_ECLASS_MIMEINFOFILES+=( ${f} ) XDG_ECLASS_MIMEINFOFILES+=( ${f} )
done < <(cd "${D}" && find 'usr/share/mime' -type f -print0 2>/dev/null) done < <(cd "${ED}" && find 'usr/share/mime' -type f -print0 2>/dev/null)
export XDG_ECLASS_DESKTOPFILES XDG_ECLASS_MIMEINFOFILES
} }
# @FUNCTION: xdg_pkg_postinst # @FUNCTION: xdg_pkg_postinst
# @DESCRIPTION: # @DESCRIPTION:
# Handle desktop and mime info database updates. # Handle desktop, icon and mime info database updates.
xdg_pkg_postinst() { xdg_pkg_postinst() {
if [[ ${#XDG_ECLASS_DESKTOPFILES[@]} -gt 0 ]]; then if [[ ${#XDG_ECLASS_DESKTOPFILES[@]} -gt 0 ]]; then
xdg_desktop_database_update xdg_desktop_database_update
@ -69,6 +72,12 @@ xdg_pkg_postinst() {
debug-print "No .desktop files to add to database" debug-print "No .desktop files to add to database"
fi fi
if [[ ${#XDG_ECLASS_ICONFILES[@]} -gt 0 ]]; then
xdg_icon_cache_update
else
debug-print "No icon files to add to cache"
fi
if [[ ${#XDG_ECLASS_MIMEINFOFILES[@]} -gt 0 ]]; then if [[ ${#XDG_ECLASS_MIMEINFOFILES[@]} -gt 0 ]]; then
xdg_mimeinfo_database_update xdg_mimeinfo_database_update
else else
@ -78,7 +87,7 @@ xdg_pkg_postinst() {
# @FUNCTION: xdg_pkg_postrm # @FUNCTION: xdg_pkg_postrm
# @DESCRIPTION: # @DESCRIPTION:
# Handle desktop and mime info database updates. # Handle desktop, icon and mime info database updates.
xdg_pkg_postrm() { xdg_pkg_postrm() {
if [[ ${#XDG_ECLASS_DESKTOPFILES[@]} -gt 0 ]]; then if [[ ${#XDG_ECLASS_DESKTOPFILES[@]} -gt 0 ]]; then
xdg_desktop_database_update xdg_desktop_database_update
@ -86,6 +95,12 @@ xdg_pkg_postrm() {
debug-print "No .desktop files to add to database" debug-print "No .desktop files to add to database"
fi fi
if [[ ${#XDG_ECLASS_ICONFILES[@]} -gt 0 ]]; then
xdg_icon_cache_update
else
debug-print "No icon files to add to cache"
fi
if [[ ${#XDG_ECLASS_MIMEINFOFILES[@]} -gt 0 ]]; then if [[ ${#XDG_ECLASS_MIMEINFOFILES[@]} -gt 0 ]]; then
xdg_mimeinfo_database_update xdg_mimeinfo_database_update
else else

View File

@ -1,6 +1,9 @@
# Copyright 1999-2012 Gentoo Foundation # Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2 # Distributed under the terms of the GNU General Public License v2
# @DEAD
# Removal on 2019-06-02.
# @ECLASS: xfconf.eclass # @ECLASS: xfconf.eclass
# @MAINTAINER: # @MAINTAINER:
# XFCE maintainers <xfce@gentoo.org> # XFCE maintainers <xfce@gentoo.org>

View File

@ -1,4 +1,4 @@
# Copyright 1999-2017 Gentoo Foundation # Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2 # Distributed under the terms of the GNU General Public License v2
# @ECLASS: xorg-2.eclass # @ECLASS: xorg-2.eclass
@ -7,7 +7,7 @@
# @AUTHOR: # @AUTHOR:
# Author: Tomáš Chvátal <scarabeus@gentoo.org> # Author: Tomáš Chvátal <scarabeus@gentoo.org>
# Author: Donnie Berkholz <dberkholz@gentoo.org> # Author: Donnie Berkholz <dberkholz@gentoo.org>
# @SUPPORTED_EAPIS: 3 4 5 # @SUPPORTED_EAPIS: 4 5
# @BLURB: Reduces code duplication in the modularized X11 ebuilds. # @BLURB: Reduces code duplication in the modularized X11 ebuilds.
# @DESCRIPTION: # @DESCRIPTION:
# This eclass makes trivial X ebuilds possible for apps, fonts, drivers, # This eclass makes trivial X ebuilds possible for apps, fonts, drivers,
@ -53,7 +53,7 @@ fi
EXPORTED_FUNCTIONS="src_unpack src_compile src_install pkg_postinst pkg_postrm" EXPORTED_FUNCTIONS="src_unpack src_compile src_install pkg_postinst pkg_postrm"
case "${EAPI:-0}" in case "${EAPI:-0}" in
3|4|5) EXPORTED_FUNCTIONS="${EXPORTED_FUNCTIONS} src_prepare src_configure" ;; 4|5) EXPORTED_FUNCTIONS="${EXPORTED_FUNCTIONS} src_prepare src_configure" ;;
*) die "EAPI=${EAPI} is not supported" ;; *) die "EAPI=${EAPI} is not supported" ;;
esac esac
@ -61,7 +61,6 @@ esac
EXPORT_FUNCTIONS ${EXPORTED_FUNCTIONS} EXPORT_FUNCTIONS ${EXPORTED_FUNCTIONS}
IUSE="" IUSE=""
HOMEPAGE="https://www.x.org/wiki/ https://cgit.freedesktop.org/"
# @ECLASS-VARIABLE: XORG_EAUTORECONF # @ECLASS-VARIABLE: XORG_EAUTORECONF
# @DESCRIPTION: # @DESCRIPTION:
@ -80,7 +79,8 @@ HOMEPAGE="https://www.x.org/wiki/ https://cgit.freedesktop.org/"
# The subdirectory to download source from. Possible settings are app, # The subdirectory to download source from. Possible settings are app,
# doc, data, util, driver, font, lib, proto, xserver. Set above the # doc, data, util, driver, font, lib, proto, xserver. Set above the
# inherit to override the default autoconfigured module. # inherit to override the default autoconfigured module.
if [[ -z ${XORG_MODULE} ]]; then : ${XORG_MODULE:="auto"}
if [[ ${XORG_MODULE} == auto ]]; then
case ${CATEGORY} in case ${CATEGORY} in
app-doc) XORG_MODULE=doc/ ;; app-doc) XORG_MODULE=doc/ ;;
media-fonts) XORG_MODULE=font/ ;; media-fonts) XORG_MODULE=font/ ;;
@ -99,8 +99,10 @@ fi
# This variable can be used for proper directory specification # This variable can be used for proper directory specification
: ${XORG_PACKAGE_NAME:=${PN}} : ${XORG_PACKAGE_NAME:=${PN}}
HOMEPAGE="https://www.x.org/wiki/ https://gitlab.freedesktop.org/xorg/${XORG_MODULE}${XORG_PACKAGE_NAME}"
if [[ -n ${GIT_ECLASS} ]]; then if [[ -n ${GIT_ECLASS} ]]; then
: ${EGIT_REPO_URI:="https://anongit.freedesktop.org/git/xorg/${XORG_MODULE}${XORG_PACKAGE_NAME}.git"} : ${EGIT_REPO_URI:="https://gitlab.freedesktop.org/xorg/${XORG_MODULE}${XORG_PACKAGE_NAME}.git"}
elif [[ -n ${XORG_BASE_INDIVIDUAL_URI} ]]; then elif [[ -n ${XORG_BASE_INDIVIDUAL_URI} ]]; then
SRC_URI="${XORG_BASE_INDIVIDUAL_URI}/${XORG_MODULE}${P}.tar.bz2" SRC_URI="${XORG_BASE_INDIVIDUAL_URI}/${XORG_MODULE}${P}.tar.bz2"
fi fi
@ -135,10 +137,10 @@ unset EAUTORECONF_DEPEND
if [[ ${FONT} == yes ]]; then if [[ ${FONT} == yes ]]; then
RDEPEND+=" media-fonts/encodings RDEPEND+=" media-fonts/encodings
x11-apps/mkfontscale || ( >=x11-apps/mkfontscale-1.2.0 ( x11-apps/mkfontscale x11-apps/mkfontdir ) )"
x11-apps/mkfontdir"
PDEPEND+=" media-fonts/font-alias" PDEPEND+=" media-fonts/font-alias"
DEPEND+=" >=media-fonts/font-util-1.2.0" DEPEND+=" >=media-fonts/font-util-1.2.0
|| ( >=x11-apps/mkfontscale-1.2.0 ( x11-apps/mkfontscale x11-apps/mkfontdir ) )"
# @ECLASS-VARIABLE: FONT_DIR # @ECLASS-VARIABLE: FONT_DIR
# @DESCRIPTION: # @DESCRIPTION:
@ -170,7 +172,7 @@ fi
# QA: configure: WARNING: unrecognized options: --disable-static # QA: configure: WARNING: unrecognized options: --disable-static
: ${XORG_STATIC:="yes"} : ${XORG_STATIC:="yes"}
# Add static-libs useflag where usefull. # Add static-libs useflag where useful.
if [[ ${XORG_STATIC} == yes \ if [[ ${XORG_STATIC} == yes \
&& ${FONT} != yes \ && ${FONT} != yes \
&& ${CATEGORY} != app-doc \ && ${CATEGORY} != app-doc \
@ -184,7 +186,11 @@ if [[ ${XORG_STATIC} == yes \
IUSE+=" static-libs" IUSE+=" static-libs"
fi fi
DEPEND+=" virtual/pkgconfig" if [[ ${XORG_MULTILIB} == yes ]]; then
DEPEND+=" virtual/pkgconfig[${MULTILIB_USEDEP}]"
else
DEPEND+=" virtual/pkgconfig"
fi
# @ECLASS-VARIABLE: XORG_DRI # @ECLASS-VARIABLE: XORG_DRI
# @DESCRIPTION: # @DESCRIPTION:
@ -236,7 +242,7 @@ fi
DOC_DEPEND=" DOC_DEPEND="
doc? ( doc? (
app-text/asciidoc || ( app-text/asciidoc dev-ruby/asciidoctor )
app-text/xmlto app-text/xmlto
app-doc/doxygen app-doc/doxygen
app-text/docbook-xml-dtd:4.1.2 app-text/docbook-xml-dtd:4.1.2
@ -257,21 +263,9 @@ case ${XORG_DOC} in
esac esac
unset DOC_DEPEND unset DOC_DEPEND
# @ECLASS-VARIABLE: XORG_MODULE_REBUILD if [[ ${DRIVER} == yes ]]; then
# @DESCRIPTION:
# Describes whether a package contains modules that need to be rebuilt on
# xorg-server upgrade. This has an effect only since EAPI=5.
# Possible values are "yes" or "no". Default value is "yes" for packages which
# are recognized as DRIVER by this eclass and "no" for all other packages.
if [[ "${DRIVER}" == yes ]]; then
: ${XORG_MODULE_REBUILD:="yes"}
else
: ${XORG_MODULE_REBUILD:="no"}
fi
if [[ ${XORG_MODULE_REBUILD} == yes ]]; then
case ${EAPI} in case ${EAPI} in
3|4) 4)
;; ;;
*) *)
RDEPEND+=" x11-base/xorg-server:=" RDEPEND+=" x11-base/xorg-server:="
@ -500,7 +494,7 @@ xorg-2_src_install() {
fi fi
# Don't install libtool archives (even for modules) # Don't install libtool archives (even for modules)
prune_libtool_files --all find "${D}" -type f -name '*.la' -delete || die
[[ -n ${FONT} ]] && remove_font_metadata [[ -n ${FONT} ]] && remove_font_metadata
} }
@ -530,7 +524,7 @@ xorg-2_pkg_postrm() {
if [[ -n ${FONT} ]]; then if [[ -n ${FONT} ]]; then
# if we're doing an upgrade, postinst will do # if we're doing an upgrade, postinst will do
if [[ ${EAPI} -lt 4 || -z ${REPLACED_BY_VERSION} ]]; then if [[ -z ${REPLACED_BY_VERSION} ]]; then
create_fonts_scale create_fonts_scale
create_fonts_dir create_fonts_dir
font_pkg_postrm "$@" font_pkg_postrm "$@"

View File

@ -0,0 +1,386 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: xorg-3.eclass
# @MAINTAINER:
# x11@gentoo.org
# @AUTHOR:
# Author: Tomáš Chvátal <scarabeus@gentoo.org>
# Author: Donnie Berkholz <dberkholz@gentoo.org>
# Author: Matt Turner <mattst88@gentoo.org>
# @SUPPORTED_EAPIS: 7
# @BLURB: Reduces code duplication in the modularized X11 ebuilds.
# @DESCRIPTION:
# This eclass makes trivial X ebuilds possible for apps, drivers,
# and more. Many things that would normally be done in various functions
# can be accessed by setting variables instead, such as patching,
# running eautoreconf, passing options to configure and installing docs.
#
# All you need to do in a basic ebuild is inherit this eclass and set
# DESCRIPTION, KEYWORDS and RDEPEND/DEPEND. If your package is hosted
# with the other X packages, you don't need to set SRC_URI. Pretty much
# everything else should be automatic.
GIT_ECLASS=""
if [[ ${PV} == *9999* ]]; then
GIT_ECLASS="git-r3"
XORG_EAUTORECONF="yes"
fi
# @ECLASS-VARIABLE: XORG_MULTILIB
# @DESCRIPTION:
# If set to 'yes', the multilib support for package will be enabled. Set
# before inheriting this eclass.
: ${XORG_MULTILIB:="no"}
# we need to inherit autotools first to get the deps
inherit autotools libtool multilib toolchain-funcs flag-o-matic ${GIT_ECLASS}
if [[ ${XORG_MULTILIB} == yes ]]; then
inherit multilib-minimal
fi
EXPORTED_FUNCTIONS="src_prepare src_configure src_unpack src_compile src_install"
case "${EAPI:-0}" in
7) ;;
*) die "EAPI=${EAPI} is not supported" ;;
esac
# exports must be ALWAYS after inherit
EXPORT_FUNCTIONS ${EXPORTED_FUNCTIONS}
IUSE=""
# @ECLASS-VARIABLE: XORG_EAUTORECONF
# @DESCRIPTION:
# If set to 'yes' and configure.ac exists, eautoreconf will run. Set
# before inheriting this eclass.
: ${XORG_EAUTORECONF:="no"}
# @ECLASS-VARIABLE: XORG_BASE_INDIVIDUAL_URI
# @DESCRIPTION:
# Set up SRC_URI for individual modular releases. If set to an empty
# string, no SRC_URI will be provided by the eclass.
: ${XORG_BASE_INDIVIDUAL_URI="https://www.x.org/releases/individual"}
# @ECLASS-VARIABLE: XORG_MODULE
# @DESCRIPTION:
# The subdirectory to download source from. Possible settings are app,
# doc, data, util, driver, lib, proto, xserver. Set above the
# inherit to override the default autoconfigured module.
: ${XORG_MODULE:="auto"}
if [[ ${XORG_MODULE} == auto ]]; then
case ${CATEGORY} in
app-doc) XORG_MODULE=doc/ ;;
x11-apps|x11-wm) XORG_MODULE=app/ ;;
x11-misc|x11-themes) XORG_MODULE=util/ ;;
x11-base) XORG_MODULE=xserver/ ;;
x11-drivers) XORG_MODULE=driver/ ;;
x11-libs) XORG_MODULE=lib/ ;;
*) XORG_MODULE= ;;
esac
fi
# @ECLASS-VARIABLE: XORG_PACKAGE_NAME
# @DESCRIPTION:
# For git checkout the git repository might differ from package name.
# This variable can be used for proper directory specification
: ${XORG_PACKAGE_NAME:=${PN}}
HOMEPAGE="https://www.x.org/wiki/ https://gitlab.freedesktop.org/xorg/${XORG_MODULE}${XORG_PACKAGE_NAME}"
if [[ -n ${GIT_ECLASS} ]]; then
: ${EGIT_REPO_URI:="https://gitlab.freedesktop.org/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
: ${SLOT:=0}
# Set the license for the package. This can be overridden by setting
# LICENSE after the inherit. Nearly all FreeDesktop-hosted X packages
# are under the MIT license. (This is what Red Hat does in their rpms)
: ${LICENSE:=MIT}
# Set up autotools shared dependencies
# Remember that all versions here MUST be stable
XORG_EAUTORECONF_ARCHES="ppc-aix x86-winnt"
EAUTORECONF_DEPEND+="
>=sys-devel/libtool-2.2.6a
sys-devel/m4"
if [[ ${PN} != util-macros ]] ; then
EAUTORECONF_DEPEND+=" >=x11-misc/util-macros-1.18 >=media-fonts/font-util-1.2.0"
fi
WANT_AUTOCONF="latest"
WANT_AUTOMAKE="latest"
for arch in ${XORG_EAUTORECONF_ARCHES}; do
EAUTORECONF_DEPENDS+=" ${arch}? ( ${EAUTORECONF_DEPEND} )"
done
DEPEND+=" ${EAUTORECONF_DEPENDS}"
[[ ${XORG_EAUTORECONF} != no ]] && BDEPEND+=" ${EAUTORECONF_DEPEND}"
unset EAUTORECONF_DEPENDS
unset EAUTORECONF_DEPEND
# @ECLASS-VARIABLE: XORG_STATIC
# @DESCRIPTION:
# Enables static-libs useflag. Set to no, if your package gets:
#
# QA: configure: WARNING: unrecognized options: --disable-static
: ${XORG_STATIC:="yes"}
# Add static-libs useflag where useful.
if [[ ${XORG_STATIC} == yes \
&& ${CATEGORY} != app-doc \
&& ${CATEGORY} != x11-apps \
&& ${CATEGORY} != x11-drivers \
&& ${PN} != util-macros \
&& ${PN} != xbitmaps \
&& ${PN} != xorg-cf-files \
&& ${PN/xcursor} = ${PN} ]]; then
IUSE+=" static-libs"
fi
if [[ ${XORG_MULTILIB} == yes ]]; then
BDEPEND+=" virtual/pkgconfig[${MULTILIB_USEDEP}]"
else
BDEPEND+=" virtual/pkgconfig"
fi
# @ECLASS-VARIABLE: XORG_DRI
# @DESCRIPTION:
# Possible values are "always" or the value of the useflag DRI capabilities
# are required for. Default value is "no"
#
# Eg. XORG_DRI="opengl" will pull all dri dependent deps for opengl useflag
: ${XORG_DRI:="no"}
DRI_COMMON_DEPEND="
x11-base/xorg-server[-minimal]
x11-libs/libdrm
"
case ${XORG_DRI} in
no)
;;
always)
COMMON_DEPEND+=" ${DRI_COMMON_DEPEND}"
;;
*)
COMMON_DEPEND+=" ${XORG_DRI}? ( ${DRI_COMMON_DEPEND} )"
IUSE+=" ${XORG_DRI}"
;;
esac
unset DRI_COMMON_DEPEND
if [[ ${PN} == xf86-video-* || ${PN} == xf86-input-* ]]; then
DEPEND+=" x11-base/xorg-proto"
RDEPEND+=" x11-base/xorg-server:="
COMMON_DEPEND+=" >=x11-base/xorg-server-1.20[xorg]"
[[ ${PN} == xf86-video-* ]] && COMMON_DEPEND+=" >=x11-libs/libpciaccess-0.14"
fi
# @ECLASS-VARIABLE: XORG_DOC
# @DESCRIPTION:
# Possible values are "always" or the value of the useflag doc packages
# are required for. Default value is "no"
#
# Eg. XORG_DOC="manual" will pull all doc dependent deps for manual useflag
: ${XORG_DOC:="no"}
DOC_DEPEND="
doc? (
|| ( app-text/asciidoc dev-ruby/asciidoctor )
app-text/xmlto
app-doc/doxygen
app-text/docbook-xml-dtd:4.1.2
app-text/docbook-xml-dtd:4.2
app-text/docbook-xml-dtd:4.3
)
"
case ${XORG_DOC} in
no)
;;
always)
BDEPEND+=" ${DOC_DEPEND}"
;;
*)
BDEPEND+=" ${XORG_DOC}? ( ${DOC_DEPEND} )"
IUSE+=" ${XORG_DOC}"
;;
esac
unset DOC_DEPEND
DEPEND+=" ${COMMON_DEPEND}"
RDEPEND+=" ${COMMON_DEPEND}"
unset COMMON_DEPEND
debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: DEPEND=${DEPEND}"
debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: RDEPEND=${RDEPEND}"
debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: PDEPEND=${PDEPEND}"
debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: BDEPEND=${BDEPEND}"
# @FUNCTION: xorg-3_src_unpack
# @DESCRIPTION:
# Simply unpack source code.
xorg-3_src_unpack() {
debug-print-function ${FUNCNAME} "$@"
if [[ -n ${GIT_ECLASS} ]]; then
git-r3_src_unpack
else
unpack ${A}
fi
}
# @FUNCTION: xorg-3_reconf_source
# @DESCRIPTION:
# Run eautoreconf if necessary, and run elibtoolize.
xorg-3_reconf_source() {
debug-print-function ${FUNCNAME} "$@"
case ${CHOST} in
*-aix* | *-winnt*)
# some hosts need full eautoreconf
[[ -e "./configure.ac" || -e "./configure.in" ]] \
&& XORG_EAUTORECONF=yes
;;
*)
# elibtoolize required for BSD
[[ ${XORG_EAUTORECONF} != no && ( -e "./configure.ac" || -e "./configure.in" ) ]] \
&& XORG_EAUTORECONF=yes
;;
esac
[[ ${XORG_EAUTORECONF} != no ]] && eautoreconf
elibtoolize --patch-only
}
# @FUNCTION: xorg-3_src_prepare
# @DESCRIPTION:
# Prepare a package after unpacking, performing all X-related tasks.
xorg-3_src_prepare() {
debug-print-function ${FUNCNAME} "$@"
default
xorg-3_reconf_source
}
# @FUNCTION: xorg-3_flags_setup
# @DESCRIPTION:
# Set up CFLAGS for a debug build
xorg-3_flags_setup() {
debug-print-function ${FUNCNAME} "$@"
# Win32 require special define
[[ ${CHOST} == *-winnt* ]] && append-cppflags -DWIN32 -D__STDC__
# hardened ldflags
[[ ${PN} == xorg-server || ${PN} == xf86-video-* || ${PN} == xf86-input-* ]] \
&& append-ldflags -Wl,-z,lazy
# Quite few libraries fail on runtime without these:
if has static-libs ${IUSE//+}; then
filter-flags -Wl,-Bdirect
filter-ldflags -Bdirect
filter-ldflags -Wl,-Bdirect
fi
}
multilib_src_configure() {
ECONF_SOURCE="${S}" econf "${econfargs[@]}"
}
# @FUNCTION: xorg-3_src_configure
# @DESCRIPTION:
# Perform any necessary pre-configuration steps, then run configure
xorg-3_src_configure() {
debug-print-function ${FUNCNAME} "$@"
xorg-3_flags_setup
# @VARIABLE: XORG_CONFIGURE_OPTIONS
# @DESCRIPTION:
# Array of an additional options to pass to configure.
# @DEFAULT_UNSET
local xorgconfadd=("${XORG_CONFIGURE_OPTIONS[@]}")
# Check if package supports disabling of dep tracking
# Fixes warnings like:
# WARNING: unrecognized options: --disable-dependency-tracking
if grep -q -s "disable-depencency-tracking" ${ECONF_SOURCE:-.}/configure; then
local dep_track="--disable-dependency-tracking"
fi
# Check if package supports disabling of selective -Werror=...
if grep -q -s "disable-selective-werror" ${ECONF_SOURCE:-.}/configure; then
local selective_werror="--disable-selective-werror"
fi
local econfargs=(
${dep_track}
${selective_werror}
"${xorgconfadd[@]}"
)
# Handle static-libs found in IUSE, disable them by default
if in_iuse static-libs; then
econfargs+=(
--enable-shared
$(use_enable static-libs static)
)
fi
if [[ ${XORG_MULTILIB} == yes ]]; then
multilib-minimal_src_configure "$@"
else
econf "${econfargs[@]}" "$@"
fi
}
multilib_src_compile() {
emake "$@" || die 'emake failed'
}
# @FUNCTION: xorg-3_src_compile
# @DESCRIPTION:
# Compile a package, performing all X-related tasks.
xorg-3_src_compile() {
debug-print-function ${FUNCNAME} "$@"
if [[ ${XORG_MULTILIB} == yes ]]; then
multilib-minimal_src_compile "$@"
else
emake "$@" || die 'emake failed'
fi
}
multilib_src_install() {
emake DESTDIR="${D}" "${install_args[@]}" "$@" install || die "emake install failed"
}
# @FUNCTION: xorg-3_src_install
# @DESCRIPTION:
# Install a built package to ${D}, performing any necessary steps.
xorg-3_src_install() {
debug-print-function ${FUNCNAME} "$@"
local install_args=( docdir="${EPREFIX}/usr/share/doc/${PF}" )
if [[ ${XORG_MULTILIB} == yes ]]; then
multilib-minimal_src_install "$@"
else
emake DESTDIR="${D}" "${install_args[@]}" "$@" install || die "emake install failed"
fi
# Many X11 libraries unconditionally install developer documentation
if [[ -d "${D}"/usr/share/man/man3 ]]; then
! in_iuse doc && eqawarn "ebuild should set XORG_DOC=doc since package installs library documentation"
fi
if in_iuse doc && ! use doc; then
rm -rf "${D}"/usr/share/man/man3
rmdir "${D}"/usr{/share{/man,},} 2>/dev/null
fi
# Don't install libtool archives (even for modules)
find "${D}" -type f -name '*.la' -delete || die
}

View File

@ -1,78 +0,0 @@
Copyright and Licensing Information for ACE(TM), TAO(TM), CIAO(TM),
and CoSMIC(TM)
ACE(TM), TAO(TM), CIAO(TM), and CoSMIC(TM) (henceforth referred to as
"DOC software") are copyrighted by Douglas C. Schmidt and his research
group at Washington University, University of California, Irvine, and
Vanderbilt University, Copyright (c) 1993-2009, all rights reserved.
Since DOC software is open-source, freely available software,
you are free to use, modify, copy, and distribute--perpetually and
irrevocably--the DOC software source code and object code produced
from the source, as well as copy and distribute modified versions of
this software. You must, however, include this copyright statement
along with any code built using DOC software that you release. No
copyright statement needs to be provided if you just ship binary
executables of your software products.
You can use DOC software in commercial and/or binary software releases
and are under no obligation to redistribute any of your source code
that is built using DOC software. Note, however, that you may not do
anything to the DOC software code, such as copyrighting it yourself
or claiming authorship of the DOC software code, that will prevent
DOC software from being distributed freely using an open-source
development model. You needn't inform anyone that you're using DOC
software in your software, though we encourage you to let us know so
we can promote your project in the DOC software success stories.
The ACE, TAO, CIAO, and CoSMIC web sites are maintained by the
DOC Group at the Institute for Software Integrated Systems (ISIS)
and the Center for Distributed Object Computing of Washington
University, St. Louis for the development of open-source software
as part of the open-source software community. Submissions are
provided by the submitter ``as is'' with no warranties whatsoever,
including any warranty of merchantability, noninfringement of
third party intellectual property, or fitness for any particular
purpose. In no event shall the submitter be liable for any direct,
indirect, special, exemplary, punitive, or consequential damages,
including without limitation, lost profits, even if advised of the
possibility of such damages. Likewise, DOC software is provided
as is with no warranties of any kind, including the warranties
of design, merchantability, and fitness for a particular purpose,
noninfringement, or arising from a course of dealing, usage or trade
practice. Washington University, UC Irvine, Vanderbilt University,
their employees, and students shall have no liability with respect to
the infringement of copyrights, trade secrets or any patents by DOC
software or any part thereof. Moreover, in no event will Washington
University, UC Irvine, or Vanderbilt University, their employees, or
students be liable for any lost revenue or profits or other special,
indirect and consequential damages.
DOC software is provided with no support and without any obligation on
the part of Washington University, UC Irvine, Vanderbilt University,
their employees, or students to assist in its use, correction,
modification, or enhancement. A number of companies around the world
provide commercial support for DOC software, however.
DOC software is Y2K-compliant, as long as the underlying OS platform
is Y2K-compliant. Likewise, DOC software is compliant with the new US
daylight savings rule passed by Congress as "The Energy Policy Act
of 2005," which established new daylight savings times (DST) rules
for the United States that expand DST as of March 2007. Since DOC
software obtains time/date and calendaring information from operating
systems users will not be affected by the new DST rules as long as
they upgrade their operating systems accordingly.
The names ACE(TM), TAO(TM), CIAO(TM), CoSMIC(TM), Washington
University, UC Irvine, and Vanderbilt University, may not be used
to endorse or promote products or services derived from this source
without express written permission from Washington University, UC
Irvine, or Vanderbilt University. This license grants no permission to
call products or services derived from this source ACE(TM), TAO(TM),
CIAO(TM), or CoSMIC(TM), nor does it grant permission for the name
Washington University, UC Irvine, or Vanderbilt University to appear
in their names.
If you have any suggestions, additions, comments, or questions,
please let me know.
Douglas C. Schmidt

View File

@ -0,0 +1,25 @@
Copyright (c) 2008-2015 The Khronos Group Inc.
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and/or associated documentation files (the
"Materials"), to deal in the Materials without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Materials, and to
permit persons to whom the Materials are furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Materials.
MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS
KHRONOS STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS
SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT
https://www.khronos.org/registry/
THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.

View File

@ -1,154 +0,0 @@
End-User Agreement
Software Products: Object of this agreement is the Nero software: Nero Linux ("Software")
Licensor: Nero AG ("Nero")
THIS IS A LEGAL AGREEMENT BETWEEN YOU, THE "END USER", AND NERO AG, IM STOECKMAEDLE 18, 76307 KARLSBAD, GERMANY.
CONCLUSION OF THE CONTRACT
THIS AGREEMENT IS EFFECTIVE
A.BY OPENING THE SEALED PACKING OF NEROS SOFTWARE ON THE "EFFECTIVE DATE," YOU ARE AGREEING TO BE BOUND BY THE TERMS OF THIS AGREEMENT. IF YOU DO NOT AGREE TO THE TERMS OF THIS AGREEMENT, PROMPTLY RETURN THE SOFTWARE AND ALL THE ACCOMPANYING ITEMS (INCLUDING WRITTEN MATERIALS AND BINDERS OR OTHER CONTAINERS) TO THE PLACE YOU OBTAINED THEM FOR A FULL REFUND.
OR
B.BY INSTALLING THE DOWNLOADED SOFTWARE, YOU ARE AGREEING TO BE BOUND BY THE TERMS OF THIS AGREEMENT BY MEANS OF CLICKING THE “ACCEPT” BUTTON ON THE WEBSITE. IF YOU DO NOT AGREE TO THE TERMS OF THIS AGREEMENT, PROMPTLY UNINSTALL AND DELETE THE SOFTWARE AND ALL THE ACCOMPANYING ITEMS (INCLUDING DOCUMENTATION OR MANUALS).
IF THE TERMS OF THIS AGREEMENT COMPRISE AN OFFER BY NERO, THEN YOUR ACCEPTANCE IS EXPRESSLY LIMITED TO THE TERMS CONTAINED HEREIN.
The terms of your license agreement ("Agreement") for the Software described above depend on whether you purchased the Software from:
(1) an Nero OEM partner; or
(2) Nero or an Nero distributor.
If the jewel box in which you received the Software includes the word "OEM" on its cover (or on the CD itself), you have acquired a copy of the Software from an Nero OEM partner.
If the jewel box in which you received the Software has only Nero's label on it and does not include the word "OEM" on its cover (or on the CD itself), you have acquired a copy of the Software from either Nero or an Nero distributor.
If you downloaded the Software which allows you to install only under the condition that the Software be distributed with a hardware device, you have acquired a copy of the Software from an Nero OEM partner.
A. LICENSE TERMS AND CONDITIONS APPLICABLE TO SOFTWARE ACQUIRED FROM OEM PARTNER
I. Grant of license
This Agreement permits you to use one copy of the Software acquired with this license on any single computer ("OEM License"), provided the Software is in use on only one computer at any given time. If you have acquired a multiple license for the Software, then at any one time you may have in use up to as many copies of the Software as you have licenses. The Software is "in use" on a computer when it is loaded into the temporary memory or installed into the permanent memory (e.g. hard disk, CD ROM, or other storage device) of that computer, except that a copy installed on a network server for the sole purpose of distribution to other computers is not considered "in use". If the anticipated number of users of the Software might exceed the authorized number of applicable licenses, then you must have a reasonable mechanism or process in place to assure that the number of concurrent uses of the Software does not exceed the number of licenses.
THE OEM LICENSE GRANTED HEREIN IS ONLY VALID IF ACQUIRED AS A BUNDLE WITH CD/DVD-RECORDING HARDWARE.
II. Copyright
The Software is owned by Nero or its licensors and is protected by copyright laws, international treaty provisions, and other national laws. You agree that you have no right, title or interest in the Software, except as set forth in Subsection I. If the Software is not copy protected you may either
(a) make one copy of the Software solely for backup or archival purposes, or
(b) transfer the Software to a single hard disk provided you keep the original solely for backup or archival purposes.
Product manual(s) or written materials accompanying the Software may not be copied.
III. Other restrictions
You may not rent or lease the Software, but you may permanently transfer your rights under this Agreement provided that: (i) you transfer all copies of the Software and all written materials; (ii) the recipient agrees to be bound by the terms of this Agreement; and (iii) you remove any and all copies of the Software from your computer and cease any further use of the Software. Any transfer must include the most recent upgrade and all prior versions. You may not copy the Software except as expressly set forth above. You may not reverse engineer, decompile or disassemble the Software, and you are not allowed to post or otherwise make the Software available on the World Wide Web. If you did not acquire the Software in its original packaging and you are not a transfer recipient under this subsection, you are not licensed to use the Software.
Upgrades: The software will be maintained by Nero by means of upgrades. An upgrade is a major functional enhancement to the software and can be purchased via the Nero website (www.nero.com). Should you purchase a software upgrade to a newer version, you will be entitled to use both the originally purchased Nero version and the upgrade as standalone products in accordance with the provisions of this Agreement. The entitlement to use the upgrade as a standalone product is, however, contingent on your continued possession of the originally purchased Nero software. This upgrade arrangement refers exclusively to all Nero upgrades.
IV. Warranties
NERO MAKES NO WARRANTIES TO YOU IN CONNECTION WITH THIS OEM LICENSE, INCLUDING BUT NOT LIMITED TO IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. The party from whom you purchased the product with which this Software has been bundled may have warranty and/or support obligations to you.
V. Limitation of Liability
In no event shall Nero or its licensors be liable for any other damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or other pecuniary loss) arising out of the use of or inability to use the Software, even if Nero has been advised of the possibility of such damages. Further, in no event shall Nero be liable for damages or loss, howsoever arising or caused, whether or not arising from its negligence, in excess of the amounts paid by you for a license to the Software. These limitations shall apply notwithstanding any failure of essential purpose of any limited remedy.
VII. Duration of the agreement
The Agreement shall remain in effect from the Effective Date until terminated as set forth herein. This Agreement shall automatically terminate without notice to you in the event that you violate the provisions of this Agreement, including without limitation, those regarding copyright and other restrictions set forth in Sections II. and III. above. Upon termination, the End User is no longer entitled to use Neros Software and its accompanying items. In this case End User is obligated to resend original discs and all copies of data carriers and to erase completely and ultimately all data from End Users computer established by means of Neros Software.
VIII. Safeguard measures
End User will keep the Software in safe custody and will indicate to its members of household to follow the obligations stipulated in this Agreement. End User agrees to follow all relevant legal provisions, especially the laws on intellectual property and copyright.
IX. Disclaimer
THE SOFTWARE IS DESIGNED TO ASSIST YOU IN REPRODUCING MATERIAL IN WHICH YOU OWN THE COPYRIGHT OR HAVE OBTAINED PERMISSION TO COPY FROM THE COPYRIGHT OWNER. UNLESS YOU OWN THE COPYRIGHT OR HAVE PERMISSION TO COPY FROM THE COPYRIGHT OWNER, YOU MAY BE VIOLATING COPYRIGHT LAW AND BE SUBJECT TO PAYMENT OF DAMAGES AND OTHER REMEDIES. IF YOU ARE UNCERTAIN ABOUT YOUR RIGHTS, YOU SHOULD CONTACT YOUR LEGAL ADVISOR. YOU ASSUME FULL RESPONSIBILITY FOR THE LEGAL AND RESPONSIBLE USE OF THE SOFTWARE.
X. U.S. Government Restricted Rights
Any use of the Nero Software by the U.S. Government is conditioned upon the Government agreeing that the Software is subject to Restricted Rights as provided under the provisions set forth in subdivision (c)(1)(ii) of Clause 252.227-7013 of the Defense Federal Acquisition Regulations Supplement, or the similar acquisition regulations of other applicable U.S. Government organizations. The Contractor/Manufacturer is Nero AG, Im Stoeckmaedle 18, 76307 Karlsbad, Germany.
B. LICENSE TERMS AND CONDITIONS APPLICABLE TO SOFTWARE ACQUIRED FROM NERO OR AN NERO DISTRIBUTOR
The license terms and conditions applicable to Software purchased from Nero or a Nero Distributor are exactly the same as set forth in Section A above, except that Subsection I (Grant of license) and Subsection IV (Warranties) shall read as follows:
I. Grant of license
This Agreement permits you to use one copy of the Software acquired with this license on any single computer, provided the Software is in use on only one computer at any given time. If you have acquired a multiple license for the Software, then at any one time you may have in use up to as many copies of the Software as you have licenses. The Software is "in use" on a computer when it is loaded into the temporary memory or installed into the permanent memory (e.g. hard disk, CD ROM, or other storage device) of that computer, except that a copy installed on a network server for the sole purpose of distribution to other computers is not considered "in use". If the anticipated number of users of the Software might exceed the authorized number of applicable licenses, then you must have a reasonable mechanism or process in place to assure that the number of concurrent uses of the Software does not exceed the number of licenses.
II. Warranties
Nero warrants that for a period of ninety (90) days from the date of receipt, the Software will perform substantially in accordance with the accompanying documentation. Any implied warranties on the Software are limited to 90 days or the shortest period permitted by applicable law, whichever is greater. Neros entire liability and your exclusive remedy for a breach of this warranty shall be, at Neros sole option, either (a) return of the price paid or (b) repair or replacement of the Software that does not meet Neros limited warranty and that is returned to Nero with a copy of your receipt. If failure of the Software is the result of accident, abuse, or misapplication, this limited warranty shall be void. Any replacement Software will be warranted for the remainder of the original warranty period or 30 days, whichever is longer. NERO MAKES NO OTHER WARRANTIES TO YOU IN CONNECTION WITH THIS LICENSE, INCLUDING BUT NOT LIMITED TO IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
C. TERMS AND CONDITIONS APPLICABLE TO ALL LICENSES
I. Third Party Disclaimer and Limitations
a.) MP3 and mp3PRO: Supply of this product only conveys a license for private, non-commercial use and does not convey a license nor imply any right to use this product in any commercial (i.e. revenue-generating) real time broadcasting (terrestrial, satellite, cable and/or any other media), broadcasting / streaming via Internet, intranets and/or other networks or in other electronic content distribution systems, such as pay-audio or audio-on-demand applications. An independent license for such use is required. For details, please visit www.mp3licensing.com .
b.) Embedded Software License:
You acknowledge that Nero Linux licensed hereunder contains third party components that are licensed pursuant to its own terms and conditions ("Embedded Software"), as specified below. A copy of the licenses associated with such Embedded Software is included below. NOTWITHSTANDING ANYTHING ELSE TO THE CONTRARY IN THIS AGREEMENT, EMBEDDED SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
Copy of the licenses associated with Embedded Software
© 2007, Xiph.Org Foundation
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
Neither the name of the Xiph.org Foundation nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
This software is provided by the copyright holders and contributors “as is” and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the foundation or contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage.
II. Governing Law: This Agreement shall be governed by and interpreted in accordance with the internal laws of California, USA. If any dispute shall arise pursuant to any provision of this Agreement, said dispute shall be settled by binding arbitration in accordance with the rules and regulations of the state courts, located in Los Angeles, California. If any term or provision of this Agreement shall be declared invalid in arbitration or by a court of competent jurisdiction, such invalidity shall be limited solely to the specific term or provision invalidated, and the remainder of this Agreement shall remain in full force and effect, according to its terms. Any provision declared invalid shall be modified to the fullest extent possible to reflect the parties' intent as of the Effective Date.
Copyright © 1996-2007 Nero AG and its licensors. All rights reserved.
All Rights Reserved. Portions of this software package are: (c) 2007, Xiph.Org Foundation.
"Nero" is a trademark of Nero AG. mp3PRO audio compression technology licensed by Coding Technologies, Fraunhofer IIS and THOMSON.
Nero reserves the right to change specifications without notice. Use of this product is subject to the acceptance of the End User
license agreement upon installation of the Software. www.nero.com.
If you have any questions concerning this Agreement,
please contact us.
© 1999-2007 Nero AG / Nero Inc. All rights reserved.
18/04/2007

View File

@ -1,23 +1,18 @@
PostgreSQL Database Management System Copyright (c) <year>, <copyright holder>
(formerly known as Postgres, then as Postgres95)
Portions Copyright (c) 1996-2001, The PostgreSQL Global Development Group
Portions Copyright (c) 1994, The Regents of the University of California
Permission to use, copy, modify, and distribute this software and its Permission to use, copy, modify, and distribute this software and its
documentation for any purpose, without fee, and without a written agreement documentation for any purpose, without fee, and without a written agreement
is hereby granted, provided that the above copyright notice and this is hereby granted, provided that the above copyright notice and this
paragraph and the following two paragraphs appear in all copies. paragraph and the following two paragraphs appear in all copies.
IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR IN NO EVENT SHALL <copyright holder> BE LIABLE TO ANY PARTY FOR DIRECT,
DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST
LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION,
DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE EVEN IF <copyright holder> HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
POSSIBILITY OF SUCH DAMAGE. DAMAGE.
THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES, <copyright holder> SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS"
ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATIONS TO BASIS, AND <copyright holder> HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE,
PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.

View File

@ -1,52 +0,0 @@
SIFT feature detection implementation
Copyright (C) 2004, Sebastian Nowozin (nowozin@cs.tu-berlin.de)
All rights reserved.
There follows a formal license for this software, please read it carefully.
Probably the most important part for the user is its restriction to
non-commercial use only. The license used the BSD license as template.
LICENSE
Use of this software and redistribution in source and binary forms, with or
without modification, are permitted provided that the following conditions are
met:
* Any redistribution must contain the complete source code, including all
modifications. Alternatively, the redistribution may contain a permanent
pointer to an Internet address where the full modified source code is
available for download free of charge.
* The redistributed software contains the following text as prominent
notice in the source code and as displayed program output whenever the
program is run:
"This software is provided for non-commercial use only. The University
of British Columbia has applied for a patent on the SIFT algorithm in
the United States. Commercial applications of this software may
require a license from the University of British Columbia."
* Neither the name of the authors nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.
* The redistributed software must retain the above copyright notice,
this list of conditions and the following disclaimer.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

View File

@ -1,144 +0,0 @@
SJ Labs End-User License
IMPORTANT: READ THIS AGREEMENT CAREFULLY. BY INSTALLING, COPYING OR
OTHERWISE USING THE SOFTWARE, YOU AGREE TO BE BOUND BY THE TERMS OF
THIS LICENSE. IF YOU DO NOT AGREE TO THE TERMS OF THIS LICENSE, DO NOT
INSTALL, COPY OR OTHERWISE USE THE SOFTWARE.
This license agreement ("License") is a legal agreement between you
and SJ Labs, Inc. ("SJ Labs") granting you certain rights to access
and use software owned by SJ Labs and/or downloaded from the SJLabs
website, together with any permitted copies of, and any permitted
modifications, enhancements, or corrections to such software
(collectively, the "Software") and any electronic user manuals and
on-line help function for the Software, as SJ Labs may update them
from time to time ("Documentation"). YOU HEREBY AGREE, BOTH ON YOUR
OWN BEHALF AND AS AN AUTHORIZED REPRESENTATIVE OF ANY ORGANIZATION FOR
WHICH YOU ARE USING THE SOFTWARE ("EMPLOYER"), THAT YOU AND YOUR
EMPLOYER WILL USE THE SOFTWARE ONLY IN ACCORDANCE WITH FOLLOWING TERMS
AND CONDITIONS:
1. License Grant. SJ Labs grants to you, and you accept, a personal,
nonexclusive, nontransferable license to access and use the Software
and to access and use the Documentation. If the SJ Labs website
indicates that the item of Software you are downloading includes
access to the Software in source code form, this License authorizes
the access and use of the Software in either source or object code
form. Otherwise, this License authorizes the access and use of the
Software only in object code form. The Software may be used only on a
single computer controlled by you. Neither concurrent use on two or
more computers, nor use on a local-area or other network, nor use for
any commercial purpose, is permitted without separate authorization
and the payment of license fees. (For information concerning
commercial licensing of the Software, please contact SJ Labs at E-mail
information@sjlabs.com). You may make one copy of the Software and the
Documentation for backup purposes, so long as you do not omit or alter
any copyright, trademark or other proprietary notices. This License is
effective until terminated as provided herein. You may terminate this
License by destroying the Software, the Documentation, and any copies
of the Software or the Documentation in your possession. This License
will terminate automatically upon any violation of the terms and
conditions of this License. You acknowledge that this License does not
entitle you to any support, maintenance or upgrade from SJ Labs
2. License Restrictions. You may not do any of the following yourself,
or through any other person:
A) Copy, modify or create derivative works based upon the Software or
Documentation;
B) Decompile, disassemble, or reverse engineer the Software in whole
or in part (except that if the website indicates that the item of
Software you are downloading includes access to the Software in source
code form, such access is not prohibited by the foregoing);
C) Defeat, disable or circumvent any protection mechanism related to
the Software or Documentation, including without limitation any code
which necessitates or solicits agreement to a License before use of
the Software;
D) Sell, license, sublicense, lease, rent, distribute, disclose,
permit access to, or transfer to any third party, whether for profit
or without charge, any portion of the Software or the Documentation,
or, in particular, without limiting the generality of the foregoing,
distribute the Software over networks, electronic bulletin boards, or
websites, or allow any party to use the Software;
E) Publish, disseminate or otherwise communicate any review of or
information about Software performance to any third party without the
prior written consent of SJ Labs; or
F) Export, use or download the Software in violation of any laws or
regulations, including U.S. Department of Commerce Export
Administration regulations and other applicable laws.
3. Title and Ownership. Except for the rights expressly granted above,
this License transfers to you no right, title, or interest in the
Software, the Documentation, or any copyright, patent, trademark,
trade secret or other intellectual property or proprietary right in
the Software or the Documentation. SJ Labs retains sole and exclusive
title to all portions of the Software, Documentation and any copies
thereof, and you hereby assign to SJ Labs all right, title, and
interest in and to any modifications you make to the Software or
Documentation, whether or not such modifications are permitted. You
agree not to disclose the Software or the Documentation to anyone. The
Software and the Documentation contain valuable proprietary
information the unauthorized use or disclosure of which would
irreparably harm SJ Labs. Upon learning of any unauthorized possession
or use of or access to the Software, you will notify SJ Labs
immediately, will promptly furnish details of such occurrence, will
assist in preventing any recurrence thereof, and will cooperate fully
in any litigation or other proceedings undertaken to protect the
rights of SJ Labs. Use of certain of the Software may require you to
pay license or other fees to third parties. You are responsible for
payment of all such third party fees. SJ Labs is not responsible for
payment of any such third party license fees.
4. Miscellaneous Terms. This License shall be governed by the laws of
the United States and the State of OHIO, without regard to conflicts
of law principles. You irrevocably submit to the jurisdiction of any
state or federal court sitting in Cuyahoga County, OH and any action
or proceeding arising out of this License will be heard and determined
in such court. If any provision of this License is held to be
unenforceable, this License shall be construed so as to give the
fullest possible effect to its terms consistent with applicable law.
The failure of SJ Labs to exercise any of its rights shall not operate
as a waiver of its right to exercise such right or any other right in
the future. This License constitutes the entire agreement between you
and SJ Labs with respect to the Software, and may not be modified or
assigned except in a writing signed by you and SJ Labs. BE ADVISED
THAT IN ORDER TO PROVIDE YOU WITH THE BEST QUALITY PRODUCTS THE
SOFTWARE WILL SEND US SOME TECHNICAL DATA ABOUT THE DEVICE IT IS
INSTALLED ON. THIS DATA WILL BE USED FOR RESEARCH AND DEVELOPMENT
PURPOSES ONLY.
BY INSTALLING, COPYING OR OTHERWISE USING THE SOFTWARE, YOU AGREE TO
BE BOUND BY THE TERMS OF THIS LICENSE. IF YOU DO NOT AGREE TO THE
TERMS OF THIS LICENSE, DO NOT INSTALL, COPY OR OTHERWISE USE THE
SOFTWARE.
5. Limited Support. During the sixty (60) day period following the
Effective Date, SJ Labs will furnish web/email support for the
Software to you on an "as available" basis.
6. DISCLAIMER OF WARRANTY/LIMITATION OF REMEDIES. SJ Labs has no
obligation to support the Software or Documentation it is providing
under this Agreement, except as provided in Section 5 hereof. To the
extent permitted under applicable law, SJ Labs is licensing the
Software and Documentation to you "AS IS", WITH NO EXPRESS OR IMPLIED
WARRANTIES OF ANY KIND, INCLUDING, BUT NOT LIMITED TO, ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR
WARRANTIES AGAINST INFRINGEMENT OF ANY PROPRIETARY RIGHTS OF A THIRD
PARTY. UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, TORT,
CONTRACT, OR OTHERWISE, SHALL SJ Labs BE LIABLE FOR ANY CONSEQUENTIAL,
INCIDENTAL, OR SPECIAL DAMAGES, OR ANY OTHER RELIEF WHATSOEVER, OR FOR
ANY CLAIM BY ANY THIRD PARTY, ARISING FROM USE BY YOU OR OTHERS OF THE
SOFTWARE OR DOCUMENTATION, EVEN IF SJ Labs SHALL HAVE BEEN INFORMED OF
THE POSSIBILITY OF SUCH DAMAGES. Some States and other jurisdictions
do not allow for the exclusion or limitation of implied warranties so
the above exclusions or limitations may not apply to you. This
warranty gives you specific legal rights and you may also have other
rights, which vary from jurisdiction to jurisdiction.
(C) SJ Labs, Inc., 1999-2005

View File

@ -9,7 +9,7 @@
TERMS AND CONDITIONS TERMS AND CONDITIONS
0. Definitions. 0. Definitions.
“This License” refers to Server Side Public License. “This License” refers to Server Side Public License.
“Copyright” also means copyright-like laws that apply to other kinds of “Copyright” also means copyright-like laws that apply to other kinds of
@ -173,7 +173,7 @@
access or legal rights of the compilation's users beyond what the access or legal rights of the compilation's users beyond what the
individual works permit. Inclusion of a covered work in an aggregate does individual works permit. Inclusion of a covered work in an aggregate does
not cause this License to apply to the other parts of the aggregate. not cause this License to apply to the other parts of the aggregate.
6. Conveying Non-Source Forms. 6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms of You may convey a covered work in object code form under the terms of
@ -185,7 +185,7 @@
(including a physical distribution medium), accompanied by the (including a physical distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium customarily Corresponding Source fixed on a durable physical medium customarily
used for software interchange. used for software interchange.
b) Convey the object code in, or embodied in, a physical product b) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a written (including a physical distribution medium), accompanied by a written
offer, valid for at least three years and valid for as long as you offer, valid for at least three years and valid for as long as you
@ -196,12 +196,12 @@
for software interchange, for a price no more than your reasonable cost for software interchange, for a price no more than your reasonable cost
of physically performing this conveying of source, or (2) access to of physically performing this conveying of source, or (2) access to
copy the Corresponding Source from a network server at no charge. copy the Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the c) Convey individual copies of the object code with a copy of the
written offer to provide the Corresponding Source. This alternative is written offer to provide the Corresponding Source. This alternative is
allowed only occasionally and noncommercially, and only if you received allowed only occasionally and noncommercially, and only if you received
the object code with such an offer, in accord with subsection 6b. the object code with such an offer, in accord with subsection 6b.
d) Convey the object code by offering access from a designated place d) Convey the object code by offering access from a designated place
(gratis or for a charge), and offer equivalent access to the (gratis or for a charge), and offer equivalent access to the
Corresponding Source in the same way through the same place at no Corresponding Source in the same way through the same place at no
@ -214,7 +214,7 @@
Regardless of what server hosts the Corresponding Source, you remain Regardless of what server hosts the Corresponding Source, you remain
obligated to ensure that it is available for as long as needed to obligated to ensure that it is available for as long as needed to
satisfy these requirements. satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided you e) Convey the object code using peer-to-peer transmission, provided you
inform other peers where the object code and Corresponding Source of inform other peers where the object code and Corresponding Source of
the work are being offered to the general public at no charge under the work are being offered to the general public at no charge under
@ -496,7 +496,7 @@
application program interfaces, automation software, monitoring software, application program interfaces, automation software, monitoring software,
backup software, storage software and hosting software, all such that a backup software, storage software and hosting software, all such that a
user could run an instance of the service using the Service Source Code user could run an instance of the service using the Service Source Code
you make available. you make available.
14. Revised Versions of this License. 14. Revised Versions of this License.
@ -532,9 +532,9 @@
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION. ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability. 16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING
@ -544,7 +544,7 @@
OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES. POSSIBILITY OF SUCH DAMAGES.
17. Interpretation of Sections 15 and 16. 17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided above If the disclaimer of warranty and limitation of liability provided above
@ -553,5 +553,5 @@
waiver of all civil liability in connection with the Program, unless a waiver of all civil liability in connection with the Program, unless a
warranty or assumption of liability accompanies a copy of the Program in warranty or assumption of liability accompanies a copy of the Program in
return for a fee. return for a fee.
END OF TERMS AND CONDITIONS END OF TERMS AND CONDITIONS

View File

@ -1,58 +0,0 @@
AICCU LICENSE
~~~~~~~~~~~~~
For the quick reader this is a slightly modified BSD license:
- names changed from Regents/University to SixXS.
- point 3 -'written', for us an email will suffice.
- point 4 and 5 added.
Basically we thus allow anybody to use it in any way, but we would like
to be notified when you are using it for not connecting to SixXS.
The meaning of 'SHOULD' is described in IETF's RFC 2119 / BCP 14.
--
Copyright (C) SixXS
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. Neither the name of SixXS nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior permission.
4. One should not remove any reference to, or logo of, SixXS.
5. When the software is altered to not use SixXS services, one is kindly
asked to notify SixXS of this by sending an email to the SixXS Staff
at info@sixxs.net, containing at least the following details:
8<--------
Organisation : Organisation Name
Email : mailbox@example.com
Website : http://www.example.com
is using software <Software Name> for:
<
description of:
the usage
the reason why it was modified
>
-------->8
Additional information details may of course be provided.
We request this to be able to know why people would choose not to
use the services provided by SixXS and the participating ISP's.
THIS SOFTWARE IS PROVIDED BY SIXXS AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL SIXXS OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.

View File

@ -1,26 +0,0 @@
End User License Agreement
The SOFTWARE PRODUCT (StarUML) is protected by copyright laws and international copyright treaties, as well as other intellectual property laws and treaties. The SOFTWARE PRODUCT is licensed, not sold.
LICENSES
StarUML is licensed as follows:
Installation and Usage.
Licenses are per user and valid for use on all supported operating systems. License keys may be used on multiple computers and operating systems, provided the license key holder is the primary user. Businesses must purchase at least as many licenses as the number of people using StarUML.
Backup Copies.
You may make copies of the license key and or StarUML for backup and archival purposes.
DESCRIPTION OF OTHER RIGHTS AND LIMITATIONS
Maintenance of Copyright Notices.
You must not remove or alter any copyright notices on any copy of StarUML.
Distribution.
You may not distribute or sell license keys or StarUML to third parties. Licenses will be revoked if distributed or sold to third parties.
Rental.
You may not rent, lease, or lend the license key or StarUML.
COPYRIGHT
All title, including but not limited to copyrights, in and to StarUML and any copies thereof are owned by MKLab.
NO WARRANTIES
MKLab expressly disclaims any warranty for StarUML, which is provided 'as is' without any express or implied warranty of any kind, including but not limited to any warranties of merchantability, non-infringement, or fitness of a particular purpose.
LIMITATION OF LIABILITY
In no event shall MKLab be liable for any damages due to use of StarUML, to the maximum extent permitted by law. This includes without limitation, lost profits, business interruption, or lost information. In no event will MKLab be liable for loss of data or for indirect, special, incidental, consequential (including lost profit), or other damages. MKLab shall have no liability with respect to the content of StarUML or any part thereof, including but not limited to errors or omissions contained therein, libel, trademark rights, business interruption, loss of privacy or the disclosure of confidential information.

View File

@ -1,99 +0,0 @@
The VIGRA Artistic License
==========================
(modeled after the Perl Artistic License)
Preamble
--------
The intent of this document is to state the conditions under which
VIGRA may be copied, such that the author maintains some
semblance of artistic control over the development of the library,
while giving the users of the library the right to use and
distribute VIGRA in a more-or-less customary fashion, plus the
right to make reasonable modifications.
Definitions
-----------
"Copyright Holder" of the VIGRA library is
Ullrich Koethe, Cognitive Systems Group, University of Hamburg, Germany.
"Library" refers to the collection of files distributed by the
Copyright Holder under the name "VIGRA" (including this
LICENSE file and all accompanying documentation), and derivatives of that
collection of files created through textual modification.
"Standard Version" refers to the Library if it has not been
modified, or has been modified in accordance with the wishes of the
Copyright Holder as specified below.
"You" is you, if you're thinking about using, copying, modifying or
distributing this Library.
"Freely Available" means that no fee is charged for the item.
It also means that recipients of the item may redistribute it
under the same conditions they received it.
"Reasonable copying fee" is whatever you can justify on the basis
of media cost, duplication charges, time of people involved, and so
on. (You will not be required to justify it to the Copyright Holder,
but only to the computing community at large as a market that must
bear the fee.)
License terms
-------------
1. You may make and give away verbatim copies of the
Standard Version of this Library without restriction, provided that
you duplicate all of the original copyright notices, this license,
and associated disclaimers.
2. The Standard Version of the Library may be distributed as part
of a collection of software, provided no more than a reasonable
copying fee is charged for the software collection.
3. You may apply bug fixes and portability fixes
derived from the Public Domain or from the Copyright Holder. A
Library modified in such a way shall still be considered the
Standard Version.
4. You may otherwise modify your copy of this Library in any way,
provided that you insert a prominent notice in each changed file
stating how and when you changed that file, and provided that you do
at least ONE of the following:
a. place your modifications in the Public Domain or otherwise
make them Freely Available, for example by allowing the Copyright
Holder to include your modifications in the Standard Version of
the Library.
b. use the modified Library only within your corporation or
organization.
c. make other distribution arrangements with the Copyright
Holder.
5. You may distribute programs which use this Library
in object code or executable form without restriction.
6. Any object code generated as a result of using this Library
does not fall under the copyright of this Library, but
belongs to whomever generated it, and may be sold commercially.
7. The name of the Copyright Holder or the Library may not be used to
endorse or promote products derived from this software without
specific prior written permission.
8. THIS LIBRARY IS PROVIDED AS IS AND WITHOUT ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY SPECIAL,
INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
OR NOT ADVISED OF THE POSSIBILITY OF SUCH DAMAGES, OR ON ANY
THEORY OF LIABILITY ARISING OUT OF OR IN CONNECTION WITH THE USE
OR PERFORMANCE OF THIS LIBRARY.

View File

@ -1,296 +0,0 @@
Copyrights
ARB copyright and license information
COPYRIGHTS
The ARB software and documentation are not in the public
domain.
External programs distributed together with ARB are
copyrighted by and are the property of their respective
authors unless otherwise stated.
All other copyrights are owned by Lehrstuhl fuer
Mikrobiologie, TU Muenchen.
USAGE LICENSE
You have the right to use this version of ARB for free.
Please read as well the attached copyright notices below
whether you may or may not install this package.
Since many of the included programs is free software and
nobody is allowed to sell that software you may safely assume
ARB will never become a commercial product.
REDISTRIBUTION LICENSE
This release of the ARB program and documentation may not be
sold or incorporated into a commercial product, in whole or in
part, without the expressed written consent of the Technical
University of Munich and of its supervisors Ralf Westram or
Wolfgang Ludwig.
All interested parties may redistribute and modify ARB as long
as all copies are accompanied by this license information and
all copyright notices remain intact. Parties redistributing
ARB must do so on a non-profit basis, charging only for cost
of media or distribution.
If you modify parts of ARB and redistribute these changes the
'Lehrstuhl fuer Mikrobiologie' of the TU Muenchen gains the
right to incorporate these changes into ARB and to redistribute
them with future versions of ARB.
DEBIAN DISTRIBUTION
Hereby anybody is granted the right to build debian-pakets
of the ARB software package (http:://www.arb-home.de/) and
publish them on debian mirrors (or any other way of
debian-distribution).
This includes any debian derivates like ubuntu.
The ARB developers may (but most likely wont ever) revoke
this granting. If really done so, it'll only affect ARB
versions released after such a revocation.
DISCLAIMER
THE TU MUENCHEN AND THE VARIOUS AUTHORS OF ARB GIVE NO
WARRANTIES, EXPRESSED OR IMPLIED FOR THE SOFTWARE AND
DOCUMENTATION PROVIDED, INCLUDING, BUT NOT LIMITED TO WARRANTY
OF MERCHANTABILITY AND WARRANTY OF FITNESS FOR A PARTICULAR
PURPOSE. User understands the software is a research tool for
which no warranties as to capabilities or accuracy are made,
and user accepts the software "as is." User assumes the entire
risk as to the results and performance of the software and
documentation. The above parties cannot be held liable for any
direct, indirect, consequential or incidental damages with
respect to any claim by user or any third party on account of,
or arising from the use of software and associated
materials. This disclaimer covers both the ARB core
applications and all external programs used by ARB.
Copyright notices for programs distributes together with ARB
GDE
The Genetic Data Environment (GDE) software and documentation
are not in the public domain. Portions of this code are owned
and copyrighted by the The Board of Trustees of the University
of Illinois and by Steven Smith. External functions used by
GDE are the property of their authors. This release of the GDE
program and documentation may not be sold, or incorporated
into a commercial product, in whole or in part without the
expressed written consent of the University of Illinois and of
its author, Steven Smith.
All interested parties may redistribute the GDE as long as all
copies are accompanied by this documentation, and all
copyright notices remain intact. Parties interested in
redistribution must do so on a non-profit basis, charging only
for cost of media. Modifications to the GDE core editor
should be forwarded to the author Steven Smith. External
programs used by the GDE are copyrighted by, and are the
property of their respective authors unless otherwise stated.
PHYLIP
(c) Copyright 1986-1993 by Joseph Felsenstein and the
University of Washington. Permission is granted to copy this
document provided that no fee is charged for it and that this
copyright notice is not removed.
LSADT
LEAST SQUARES ALGORITHM FOR FITTING ADDITIVE TREES TO
PROXIMITY DATA
GEERT DE SOETE -- VERSION 1.01 - FEB. 1983
VERSION 1.02 - JUNE 1983
VERSION 1.03 - JULY 1983
- 'C' version by Michael Macuikenas, University of Illinois
REFERENCE: DE SOETE, G. A LEAST SQUARES ALGORITHM FOR FITTING
ADDITIVE TREES TO PROXIMITY DATA. PSYCHOMETRIKA, 1983, 48,
621-626.
DE SOETE, G. ADDITIVE TREE REPRESENTATIONS OF INCOMPLETE
DISSIMILARITY DATA. QUALITY AND QUANTITY, 1984, 18,
387-393.
- REMARKS
------
1) THE PROGRAM USES SUBROUTINES FROM THE PORT LIBRARY FOR
ERROR HANDLING, DYNAMIC STORAGE ALLOCATION AND SPECIFICA-
TION OF MACHINE-DEPENDENT CONSTANTS.
CF. FOX, P.A., HALL, A.D., & SCHRYER, N.L.
THE PORT MATHEMATICAL SUBROUTINE LIBRAY. ACM TRANS. ON MATH.
SOFTW., 1978, 4, 104-126.
ALGORITHM 528. FRAMEWORK FOR A PORTABLE LIBRARY.
ACM TRANS. ON MATH. SOFTW., 1978, 4, 177-188.
2) UNIFORMLY DISTRIBUTED RANDOM NUMBERS ARE GENERATED BY A
PROCEDURE DUE TO SCHRAGE. CF.
SCHRAGE, L. A MORE PORTABLE FORTRAN RANDOM NUMBER GENERATOR.
ACM TRANS. ON MATH. SOFTW., 1979, 5, 132-138.
3) SUBROUTINES VA14AD AND VA14AC ARE ADAPTED FROM THE
HARWELL SUBROUTINE LIBRARY (1979 EDITION).
4) ALTHOUGH THIS PROGRAM HAS BEEN CAREFULLY TESTED, THE
AUTHOR DISCLAIMS ANY RESPONSABILITY FOR POSSIBLE
ERRORS.
BLAST
/* ===========================================================================
*
* PUBLIC DOMAIN NOTICE
* National Center for Biotechnology Information
*
* This software/database is a "United States Government Work" under the
* terms of the United States Copyright Act. It was written as part of
* the author's official duties as a United States Government employee and
* thus cannot be copyrighted. This software/database is freely available
* to the public for use. The National Library of Medicine and the U.S.
* Government have not placed any restriction on its use or reproduction.
*
* Although all reasonable efforts have been taken to ensure the accuracy
* and reliability of the software and data, the NLM and the U.S.
* Government do not and cannot warrant the performance or results that
* may be obtained by using this software or data. The NLM and the U.S.
* Government disclaim all warranties, express or implied, including
* warranties of performance, merchantability or fitness for any particular
* purpose.
*
* Please cite the author in any work or product based on this material.
*
* ===========================================================================*/
Warren Gish
NCBI/NLM
CONVERT_ALN
convert_aln -- an alignment(or sequence) converter written by Wen-Min Kuan
for the Ribosomal Database Project(RDP), April 28, 1992.
fastdnaml
fastDNAml, a program for estimation of phylogenetic trees from
sequences. Copyright (C) 1998, 1999, 2000 by Gary J. Olsen
This program is free software; you may 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.
For any other enquiries write to Gary J. Olsen, Department of
Microbiology, University of Illinois, Urbana, IL 61801, USA
Or send E-mail to gary@phylo.life.uiuc.edu
fastDNAml is based in part on the program dnaml by Joseph Felsenstein.
Copyright notice from dnaml:
version 3.3. (c) Copyright 1986, 1990 by the University of
Washington and Joseph Felsenstein. Written by Joseph
Felsenstein. Permission is granted to copy and use this
program provided no fee is charged for it and provided
that this copyright notice is not removed.
When publishing work that based on results from fastDNAml please cite:
Felsenstein, J. 1981. Evolutionary trees from DNA
sequences: A maximum likelihood approach.
J. Mol. Evol. 17: 368-376.
and
Olsen, G. J., Matsuda, H., Hagstrom, R., and Overbeek, R.
1994. fastDNAml: A tool for construction of phylogenetic
trees of DNA sequences using maximum likelihood.
Comput. Appl. Biosci. 10: 41-48.
treepuzzle
treepuzzle is published under the GPL (GNU GENERAL PUBLIC LICENSE)
which is provided in 'lib/GPL.txt'.
molphy
MOLPHY: A Computer Program Package for Molecular Phylogenetics
Readme
This is the MOLPHY (ProtML) distribution, version 2.3.
Copyright (c) 1992-1996, Jun Adachi & Masami Hasegawa.
All rights reserved.
MOLPHY is a program package for MOLecular PHYlogenetics.
ProtML is a main program in MOLPHY for inferring evolutionary trees from
PROTein (amino acid) sequences by using the Maximum Likelihood method.
Programs (C language)
ProtML: Maximum Likelihood Inference of Protein Phylogeny
NucML: Maximum Likelihood Inference of Nucleic Acid Phylogeny
ProtST: Basic Statistics of Protein Sequences
NucST: Basic Statistics of Nucleic Acid Sequences
NJdist: Neighbor Joining Phylogeny from Distance Matrix
Utilities (Perl)
mollist: get identifiers list molrev: reverse DNA sequences
molcat: concatenate sequences molcut: get partial sequences
molmerge: merge sequences nuc2ptn: DNA -> Amino acid
rminsdel: remove INS/DEL sites molcodon: get specified codon sites
molinfo: get varied sites mol2mol: MOLPHY format beautifer
inl2mol: Interleaved -> MOLPHY mol2inl: MOLPHY -> Interleaved
mol2phy: MOLPHY -> Sequential phy2mol: Sequential -> MOLPHY
must2mol: MUST -> MOLPHY etc.
MOLPHY is a free software, and you can use and redistribute it.
The programs are written in a standard subset of C with UNIX-like OS.
The utilities are written in the "Perl" (Ver.4.036) with UNIX-like OS.
MOLPHY has been tested on SUN4's (cc & gcc with SUN-OS 4.1.3) and
HP9000/700 (cc, c89 & gcc with HP-UX 9.05).
However, MOLPHY has NOT been tested on VAX, IBM-PC, and Macintosh.
NETWORK DISTRIBUTION ONLY: The latest version of MOLPHY is always available
by anonymous ftp in ftp.ism.ac.jp: /pub/ISMLIB/MOLPHY/.
readseq
ReadSeq -- 1 Feb 93
Reads and writes nucleic/protein sequences in various
formats. Data files may have multiple sequences.
Copyright 1990 by d.g.gilbert
biology dept., indiana university, bloomington, in 47405
e-mail: gilbertd@bio.indiana.edu
This program may be freely copied and used by anyone.
Developers are encourged to incorporate parts in their
programs, rather than devise their own private sequence
format.
This should compile and run with any ANSI C compiler.
Please advise me of any bugs, additions or corrections.

View File

@ -0,0 +1,33 @@
Copyright (c) 2013- by Emre Yılmaz and contributors. See AUTHORS
for more details.
Some rights reserved.
Redistribution and use in source and binary forms of the software as well
as documentation, with or without modification, are permitted provided
that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided
with the distribution.
* The names of the contributors may not be used to endorse or
promote products derived from this software without specific
prior written permission.
THIS SOFTWARE AND DOCUMENTATION IS PROVIDED BY THE COPYRIGHT HOLDERS AND
CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT
NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE AND DOCUMENTATION, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE.

View File

@ -1,12 +0,0 @@
Copyright (C) 1998, 1999 by Angelos D. Keromytis.
Permission to use, copy, and modify this software without fee
is hereby granted, provided that this entire notice is included in
all copies of any software which is or includes a copy or
modification of this software.
THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR
IMPLIED WARRANTY. IN PARTICULAR, THE AUTHORS MAKES NO
REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE
MERCHANTABILITY OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR
PURPOSE.

View File

@ -1,3 +1,8 @@
This copy of the libpng notices is provided for your convenience. In case of
any discrepancy between this copy and the notices in the file png.h that is
included in the libpng distribution, the latter shall prevail.
COPYRIGHT NOTICE, DISCLAIMER, and LICENSE: COPYRIGHT NOTICE, DISCLAIMER, and LICENSE:
If you modify libpng you may insert additional notices immediately following If you modify libpng you may insert additional notices immediately following
@ -5,21 +10,21 @@ this sentence.
This code is released under the libpng license. This code is released under the libpng license.
libpng versions 1.2.6, August 15, 2004, through 1.5.12, July 11, 2012, are libpng versions 1.0.7, July 1, 2000 through 1.6.35, July 15, 2018 are
Copyright (c) 2004, 2006-2012 Glenn Randers-Pehrson, and are Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson, are
distributed according to the same disclaimer and license as libpng-1.2.5 derived from libpng-1.0.6, and are distributed according to the same
with the following individual added to the list of Contributing Authors: disclaimer and license as libpng-1.0.6 with the following individuals
added to the list of Contributing Authors:
Cosmin Truta
libpng versions 1.0.7, July 1, 2000, through 1.2.5, October 3, 2002, are
Copyright (c) 2000-2002 Glenn Randers-Pehrson, and are
distributed according to the same disclaimer and license as libpng-1.0.6
with the following individuals added to the list of Contributing Authors:
Simon-Pierre Cadieux Simon-Pierre Cadieux
Eric S. Raymond Eric S. Raymond
Mans Rullgard
Cosmin Truta
Gilles Vollant Gilles Vollant
James Yu
Mandar Sahastrabuddhe
Google Inc.
Vadim Barkov
and with the following additions to the disclaimer: and with the following additions to the disclaimer:
@ -30,19 +35,25 @@ and with the following additions to the disclaimer:
risk of satisfactory quality, performance, accuracy, and effort is with risk of satisfactory quality, performance, accuracy, and effort is with
the user. the user.
Some files in the "contrib" directory and some configure-generated
files that are distributed with libpng have other copyright owners and
are released under other open source licenses.
libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are
Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson, and are Copyright (c) 1998-2000 Glenn Randers-Pehrson, are derived from
distributed according to the same disclaimer and license as libpng-0.96, libpng-0.96, and are distributed according to the same disclaimer and
with the following individuals added to the list of Contributing Authors: license as libpng-0.96, with the following individuals added to the list
of Contributing Authors:
Tom Lane Tom Lane
Glenn Randers-Pehrson Glenn Randers-Pehrson
Willem van Schaik Willem van Schaik
libpng versions 0.89, June 1996, through 0.96, May 1997, are libpng versions 0.89, June 1996, through 0.96, May 1997, are
Copyright (c) 1996, 1997 Andreas Dilger Copyright (c) 1996-1997 Andreas Dilger, are derived from libpng-0.88,
Distributed according to the same disclaimer and license as libpng-0.88, and are distributed according to the same disclaimer and license as
with the following individuals added to the list of Contributing Authors: libpng-0.88, with the following individuals added to the list of
Contributing Authors:
John Bowler John Bowler
Kevin Bracey Kevin Bracey
@ -51,8 +62,11 @@ with the following individuals added to the list of Contributing Authors:
Greg Roelofs Greg Roelofs
Tom Tanner Tom Tanner
Some files in the "scripts" directory have other copyright owners
but are released under this license.
libpng versions 0.5, May 1995, through 0.88, January 1996, are libpng versions 0.5, May 1995, through 0.88, January 1996, are
Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc. Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
For the purposes of this copyright and license, "Contributing Authors" For the purposes of this copyright and license, "Contributing Authors"
is defined as the following set of individuals: is defined as the following set of individuals:
@ -80,11 +94,40 @@ to the following restrictions:
2. Altered versions must be plainly marked as such and must not 2. Altered versions must be plainly marked as such and must not
be misrepresented as being the original source. be misrepresented as being the original source.
3. This Copyright notice may not be removed or altered from 3. This Copyright notice may not be removed or altered from any
any source or altered source distribution. source or altered source distribution.
The Contributing Authors and Group 42, Inc. specifically permit, without The Contributing Authors and Group 42, Inc. specifically permit, without
fee, and encourage the use of this source code as a component to fee, and encourage the use of this source code as a component to
supporting the PNG file format in commercial products. If you use this supporting the PNG file format in commercial products. If you use this
source code in a product, acknowledgment is not required but would be source code in a product, acknowledgment is not required but would be
appreciated. appreciated.
END OF COPYRIGHT NOTICE, DISCLAIMER, and LICENSE.
TRADEMARK:
The name "libpng" has not been registered by the Copyright owner
as a trademark in any jurisdiction. However, because libpng has
been distributed and maintained world-wide, continually since 1995,
the Copyright owner claims "common-law trademark protection" in any
jurisdiction where common-law trademark is recognized.
OSI CERTIFICATION:
Libpng is OSI Certified Open Source Software. OSI Certified Open Source is
a certification mark of the Open Source Initiative. OSI has not addressed
the additional disclaimers inserted at version 1.0.7.
EXPORT CONTROL:
The Copyright owner believes that the Export Control Classification
Number (ECCN) for libpng is EAR99, which means not subject to export
controls or International Traffic in Arms Regulations (ITAR) because
it is open source, publicly available software, that does not contain
any encryption software. See the EAR, paragraphs 734.3(b)(3) and
734.7(b).
Glenn Randers-Pehrson
glennrp at users.sourceforge.net
July 15, 2018

View File

@ -0,0 +1,134 @@
COPYRIGHT NOTICE, DISCLAIMER, and LICENSE
=========================================
PNG Reference Library License version 2
---------------------------------------
* Copyright (c) 1995-2019 The PNG Reference Library Authors.
* Copyright (c) 2018-2019 Cosmin Truta.
* Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson.
* Copyright (c) 1996-1997 Andreas Dilger.
* Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
The software is supplied "as is", without warranty of any kind,
express or implied, including, without limitation, the warranties
of merchantability, fitness for a particular purpose, title, and
non-infringement. In no event shall the Copyright owners, or
anyone distributing the software, be liable for any damages or
other liability, whether in contract, tort or otherwise, arising
from, out of, or in connection with the software, or the use or
other dealings in the software, even if advised of the possibility
of such damage.
Permission is hereby granted to use, copy, modify, and distribute
this software, or portions hereof, for any purpose, without fee,
subject to the following restrictions:
1. The origin of this software must not be misrepresented; you
must not claim that you wrote the original software. If you
use this software in a product, an acknowledgment in the product
documentation would be appreciated, but is not required.
2. Altered source versions must be plainly marked as such, and must
not be misrepresented as being the original software.
3. This Copyright notice may not be removed or altered from any
source or altered source distribution.
PNG Reference Library License version 1 (for libpng 0.5 through 1.6.35)
-----------------------------------------------------------------------
libpng versions 1.0.7, July 1, 2000, through 1.6.35, July 15, 2018 are
Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson, are
derived from libpng-1.0.6, and are distributed according to the same
disclaimer and license as libpng-1.0.6 with the following individuals
added to the list of Contributing Authors:
Simon-Pierre Cadieux
Eric S. Raymond
Mans Rullgard
Cosmin Truta
Gilles Vollant
James Yu
Mandar Sahastrabuddhe
Google Inc.
Vadim Barkov
and with the following additions to the disclaimer:
There is no warranty against interference with your enjoyment of
the library or against infringement. There is no warranty that our
efforts or the library will fulfill any of your particular purposes
or needs. This library is provided with all faults, and the entire
risk of satisfactory quality, performance, accuracy, and effort is
with the user.
Some files in the "contrib" directory and some configure-generated
files that are distributed with libpng have other copyright owners, and
are released under other open source licenses.
libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are
Copyright (c) 1998-2000 Glenn Randers-Pehrson, are derived from
libpng-0.96, and are distributed according to the same disclaimer and
license as libpng-0.96, with the following individuals added to the
list of Contributing Authors:
Tom Lane
Glenn Randers-Pehrson
Willem van Schaik
libpng versions 0.89, June 1996, through 0.96, May 1997, are
Copyright (c) 1996-1997 Andreas Dilger, are derived from libpng-0.88,
and are distributed according to the same disclaimer and license as
libpng-0.88, with the following individuals added to the list of
Contributing Authors:
John Bowler
Kevin Bracey
Sam Bushell
Magnus Holmgren
Greg Roelofs
Tom Tanner
Some files in the "scripts" directory have other copyright owners,
but are released under this license.
libpng versions 0.5, May 1995, through 0.88, January 1996, are
Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
For the purposes of this copyright and license, "Contributing Authors"
is defined as the following set of individuals:
Andreas Dilger
Dave Martindale
Guy Eric Schalnat
Paul Schmidt
Tim Wegner
The PNG Reference Library is supplied "AS IS". The Contributing
Authors and Group 42, Inc. disclaim all warranties, expressed or
implied, including, without limitation, the warranties of
merchantability and of fitness for any purpose. The Contributing
Authors and Group 42, Inc. assume no liability for direct, indirect,
incidental, special, exemplary, or consequential damages, which may
result from the use of the PNG Reference Library, even if advised of
the possibility of such damage.
Permission is hereby granted to use, copy, modify, and distribute this
source code, or portions hereof, for any purpose, without fee, subject
to the following restrictions:
1. The origin of this source code must not be misrepresented.
2. Altered versions must be plainly marked as such and must not
be misrepresented as being the original source.
3. This Copyright notice may not be removed or altered from any
source or altered source distribution.
The Contributing Authors and Group 42, Inc. specifically permit,
without fee, and encourage the use of this source code as a component
to supporting the PNG file format in commercial products. If you use
this source code in a product, acknowledgment is not required but would
be appreciated.

View File

@ -0,0 +1,7 @@
Gentoo license note:
Linux firmware images are distributed under a variety of licenses,
many of them being non-free. However, all images whose license is
subsumed under this license label should at least be redistributable.
You will need to check the WHENCE and LICEN[CS]E.* files in the
package for specific licensing terms.

View File

@ -1,53 +0,0 @@
ORACLE AMERICA, INC. IS WILLING TO LICENSE THIS SPECIFICATION TO YOU ONLY UPON THE CONDITION THAT YOU ACCEPT ALL OF THE TERMS CONTAINED IN THIS AGREEMENT (“AGREEMENT”). PLEASE READ THE TERMS AND CONDITIONS OF THIS AGREEMENT CAREFULLY. BY DOWNLOADING THIS SPECIFICATION, YOU ACCEPT THE TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU ARE NOT WILLING TO BE BOUND BY IT, SELECT THE "DECLINE" BUTTON AT THE BOTTOM OF THIS PAGE.
Specification: JSR-383 Java SE 10 (18.3) ("Specification")
Version: 10
Status: Final Release
Release: March 2018
Copyright 2018 Oracle America, Inc.
All rights reserved
LIMITED LICENSE GRANTS
1. License for Evaluation Purposes. Specification Lead hereby grants you a fully-paid, non-exclusive, nontransferable, worldwide, limited license (without the right to sublicense), under Specification Lead's applicable intellectual property rights to view, download, use and reproduce the Specification only for the purpose of internal evaluation. This includes (i) developing applications intended to run on an implementation of the Specification, provided that such applications do not themselves implement any portion(s) of the Specification, and (ii) discussing the Specification with any third party; and (iii) excerpting brief portions of the Specification in oral or written communications which discuss the Specification provided that such excerpts do not in the aggregate constitute a significant portion of the Specification.
2. License for the Distribution of Compliant Implementations. Specification Lead also grants you a perpetual, non-exclusive, non-transferable, worldwide, fully paid-up, royalty free, limited license (without the right to sublicense) under any applicable copyrights or, subject to the provisions of subsection 4 below, patent rights it may have covering the Specification to create and/or distribute an Independent Implementation of the Specification that: (a) fully implements the Specification including all its required interfaces and functionality; (b) does not modify, subset, superset or otherwise extend the Licensor Name Space, or include any public or protected packages, classes, Java interfaces, fields or methods within the Licensor Name Space other than those required/authorized by the Specification or Specifications being implemented; and (c) passes the Technology Compatibility Kit (including satisfying the requirements of the applicable TCK Users Guide) for such Specification ("Compliant Implementation"). In addition, the foregoing license is expressly conditioned on your not acting outside its scope. No license is granted hereunder for any other purpose (including, for example, modifying the Specification, other than to the extent of your fair use rights, or distributing the Specification to third parties). Also, no right, title, or interest in or to any trademarks, service marks, or trade names of Specification Lead or Specification Lead's licensors is granted hereunder. Java, and Java-related logos, marks and names are trademarks or registered trademarks of Oracle America, Inc. in the U.S. and other countries.
3. Pass-through Conditions. You need not include limitations (a)-(c) from the previous paragraph or any other particular "pass through" requirements in any license You grant concerning the use of your Independent Implementation or products derived from it. However, except with respect to Independent Implementations (and products derived from them) that satisfy limitations (a)-(c) from the previous paragraph, You may neither: (a) grant or otherwise pass through to your licensees any licenses under Specification Lead's applicable intellectual property rights; nor (b) authorize your licensees to make any claims concerning their implementation's compliance with the Specification in question.
4. Reciprocity Concerning Patent Licenses.
a. With respect to any patent claims covered by the license granted under subparagraph 2 above that would be infringed by all technically feasible implementations of the Specification, such license is conditioned upon your offering on fair, reasonable and non-discriminatory terms, to any party seeking it from You, a perpetual, non-exclusive, non-transferable, worldwide license under Your patent rights which are or would be infringed by all technically feasible implementations of the Specification to develop, distribute and use a Compliant Implementation.
b. With respect to any patent claims owned by Specification Lead and covered by the license granted under subparagraph 2, whether or not their infringement can be avoided in a technically feasible manner when implementing the Specification, such license shall terminate with respect to such claims if You initiate a claim against Specification Lead that it has, in the course of performing its responsibilities as the Specification Lead, induced any other entity to infringe Your patent rights.
c. Also with respect to any patent claims owned by Specification Lead and covered by the license granted under subparagraph 2 above, where the infringement of such claims can be avoided in a technically feasible manner when implementing the Specification such license, with respect to such claims, shall terminate if You initiate a claim against Specification Lead that its making, having made, using, offering to sell, selling or importing a Compliant Implementation infringes Your patent rights.
5. Definitions. For the purposes of this Agreement: "Independent Implementation" shall mean an implementation of the Specification that neither derives from any of Specification Lead's source code or binary code materials nor, except with an appropriate and separate license from Specification Lead, includes any of Specification Lead's source code or binary code materials; "Licensor Name Space" shall mean the public class or interface declarations whose names begin with "java", "javax", "com.oracle”, “com.sun” or their equivalents in any subsequent naming convention adopted by Oracle America, Inc. through the Java Community Process, or any recognized successors or replacements thereof; and "Technology Compatibility Kit" or "TCK" shall mean the test suite and accompanying TCK User's Guide provided by Specification Lead which corresponds to the Specification and that was available either (i) from Specification Lead 120 days before the first release of Your Independent Implementation that allows its use for commercial purposes, or (ii) more recently than 120 days from such release but against which You elect to test Your implementation of the Specification.
This Agreement will terminate immediately without notice from Specification Lead if you breach the Agreement or act outside the scope of the licenses granted above.
DISCLAIMER OF WARRANTIES
THE SPECIFICATION IS PROVIDED "AS IS". SPECIFICATION LEAD MAKES NO REPRESENTATIONS OR WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT (INCLUDING AS A CONSEQUENCE OF ANY PRACTICE OR IMPLEMENTATION OF THE SPECIFICATION), OR THAT THE CONTENTS OF THE SPECIFICATION ARE SUITABLE FOR ANY PURPOSE. This document does not represent any commitment to release or implement any portion of the Specification in any product. In addition, the Specification could include technical inaccuracies or typographical errors.
LIMITATION OF LIABILITY
TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL SPECIFICATION LEAD OR ITS LICENSORS BE LIABLE FOR ANY DAMAGES, INCLUDING WITHOUT LIMITATION, LOST REVENUE, PROFITS OR DATA, OR FOR SPECIAL, INDIRECT, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF OR RELATED IN ANY WAY TO YOUR HAVING, IMPLEMENTING OR OTHERWISE USING THE SPECIFICATION, EVEN IF SPECIFICATION LEAD AND/OR ITS LICENSORS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. You will indemnify, hold harmless, and defend Specification Lead and its licensors from any claims arising or resulting from: (i) your use of the Specification; (ii) the use or distribution of your Java application, applet and/or implementation; and/or (iii) any claims that later versions or releases of any Specification furnished to you are incompatible with the Specification provided to you under this license.
RESTRICTED RIGHTS LEGEND
U.S. Government: If this Specification is being acquired by or on behalf of the U.S. Government or by a U.S. Government prime contractor or subcontractor (at any tier), then the Government's rights in the Software and accompanying documentation shall be only as set forth in this license; this is in accordance with 48 C.F.R. 227.7201 through 227.7202-4 (for Department of Defense (DoD) acquisitions) and with 48 C.F.R. 2.101 and 12.212 (for non-DoD acquisitions).
REPORT
If you provide Specification Lead with any comments or suggestions concerning the Specification ("Feedback"), you hereby: (i) agree that such Feedback is provided on a non-proprietary and nonconfidential basis, and (ii) grant Specification Lead a perpetual, non-exclusive, worldwide, fully paid-up, irrevocable license, with the right to sublicense through multiple levels of sublicensees, to incorporate, disclose, and use without limitation the Feedback for any purpose.
GENERAL TERMS
Any action related to this Agreement will be governed by California law and controlling U.S. federal law. The U.N. Convention for the International Sale of Goods and the choice of law rules of any jurisdiction will not apply.
The Specification is subject to U.S. export control laws and may be subject to export or import regulations in other countries. Licensee agrees to comply strictly with all such laws and regulations and acknowledges that it has the responsibility to obtain such licenses to export, re-export or import as may be required after delivery to Licensee.
This Agreement is the parties' entire agreement relating to its subject matter. It supersedes all prior or contemporaneous oral or written communications, proposals, conditions, representations and warranties and prevails over any conflicting or additional terms of any quote, order, acknowledgment, or other communication between the parties relating to its subject matter during the term of this Agreement. No modification to this Agreement will be binding, unless in writing and signed by an authorized representative of each party.

View File

@ -1,141 +0,0 @@
Qpopper(tm) is licensed by QUALCOMM Incorporated under the following
terms and conditions. ANY USE OF QPOPPER CONSTITUTES AGREEMENT TO
THESE TERMS.
1. Warranty Disclaimer. QPOPPER SOFTWARE IS PROVIDED TO THE USER "AS
IS." QUALCOMM MAKES NO WARRANTIES, EITHER EXPRESS OR IMPLIED, WITH
RESPECT TO THE QPOPPER SOFTWARE AND/OR ASSOCIATED MATERIALS
PROVIDED TO THE USER, INCLUDING BUT NOT LIMITED TO ANY WARRANTY OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR AGAINST
INFRINGEMENT. QUALCOMM does not warrant that the functions
contained in the software will meet your requirements, or that the
operation of the software will be uninterrupted or error-free, or
that defects in the software will be corrected. Furthermore,
QUALCOMM does not warrant or make any representations regarding
the use or the results of the use of the software or any
documentation provided therewith in terms of their correctness,
accuracy, reliability, or otherwise. No oral or written
information or advice given by QUALCOMM or a QUALCOMM
representative shall create a warranty or in any way increase the
scope of this warranty.
2. Limitation of Liability. QUALCOMM AND ITS LICENSORS ARE NOT LIABLE
FOR ANY CLAIMS OR DAMAGES WHATSOEVER ARISING IN CONNECTION WITH
THE QPOPPER SOFTWARE, INCLUDING WITHOUT LIMITATION PROPERTY
DAMAGE, PERSONAL INJURY, INTELLECTUAL PROPERTY INFRINGEMENT, LOSS
OF PROFITS, OR INTERRUPTION OF BUSINESS, OR FOR ANY SPECIAL,
CONSEQUENTIAL OR INCIDENTAL DAMAGES, HOWEVER CAUSED, WHETHER
ARISING OUT OF BREACH OF WARRANTY, CONTRACT, TORT (INCLUDING
NEGLIGENCE), STRICT LIABILITY, OR OTHERWISE.
3. Using and Distributing Qpopper. If a party agrees to these terms
and conditions, such party may copy and use Qpopper for any
purpose, and distribute unmodified complete copies of Qpopper to
any third party provided that such third party must agree to these
terms and conditions prior to any use of Qpopper. Failure to
include these license terms when distributing Qpopper shall be a
material breach of this agreement, and the party committing such
breach shall defend and indemnify QUALCOMM Incorporated against
all claims, losses, liabilities, damages, costs and expenses,
including attorney's fees, which QUALCOMM may incur in connection
with such breach.
4. Modifying Qpopper. Qpopper consists of (i) intellectual property
owned by QUALCOMM Incorporated, and (ii) intellectual property
owned by the Regents of the University of California. Any
modifications to the U.C.-owned portions of Qpopper are subject to
the provisions of Section 7 below. A party to this agreement may
create derivative works of the QUALCOMM-owned portions of the
Qpopper software, distribute such derivative works to third
parties, and permit such third parties to copy and use such
derivative works subject to the following restrictions:
(a) The protocol greeting banner and the CAPA IMPLEMENTATION
response tag must include clear notification that Qpopper has
been modified (for example,
"FooPopper-by-Foo-Networks-hacked-from-Qpopper-4.0").
(b) Detailed notification of all modifications must be clearly and
conspicuously included within the modified source files, and
in a separate document. All of the source files and the
document describing the changes must be distributed with the
modified software.
(c) When distributing the modified software the distributing party
must clearly and conspicuously communicate to all recipients
that the modified software is produced by the party that
modified the software and is not a QUALCOMM product.
(d) The term "Qpopper" shall not be used in connection with the
modified software except in a purely factual manner when
describing the history or development of the software.
(e) The modified software must be licensed to end users using a
license agreement which expressly states that portions of the
modified software are based on code owned by QUALCOMM
Incorporated, that such QUALCOMM code is only provided on the
terms stated in this agreement, and that QUALCOMM bears no
responsibility whatsoever for any modifications to the QUALCOMM
code.
(f) The modifying party shall defend and indemnify QUALCOMM
Incorporated against all claims, losses, liabilities, damages,
costs and expenses, including attorney's fees, which QUALCOMM
may incur in connection with any intellectual property
infringement or similar claim related to the modified
software, if such claim is related to that party's
modifications.
5. Notices. QUALCOMM is a registered trademark and registered service
mark of QUALCOMM Incorporated. Qpopper is a trademark of QUALCOMM
Incorporated. QUALCOMM does not grant any party the right to use
such marks on any modified version of the Qpopper software. All
other trademarks and service marks are the property of their
respective owners. The Qpopper software, excluding the portions
owned by the Regents of the University of California, is Copyright
1993-2006 QUALCOMM Incorporated. All rights not expressly granted
herein are reserved by QUALCOMM.
6. General. This agreement is governed and interpreted in accordance
with the laws of the State of California without giving effect to
its conflict of laws provisions. Any claim arising out of or
related to this agreement must be brought exclusively in the state
or federal courts located in San Diego County, California. The
United Nations Convention on Contracts for the International Sale
of Goods is expressly disclaimed. If any provision of this
agreement shall be invalid, the validity of the remaining
provisions of this agreement shall not be affected. This
agreement is the entire and exclusive agreement between QUALCOMM
and any user of the Qpopper software with respect to the software
and supersedes all prior agreements (whether written or oral) and
other communications related to the software.
7. IMPORTANT.
This software program contains code, and/or derivatives or
modifications of code originating from the software program
"Popper." Popper is (c) Copyright 1989-1991 The Regents of the
University of California, All Rights Reserved. Popper was
created by Austin Shelton, Information Systems and Technology,
University of California, Berkeley. Permission from the Regents of
the University of California to use, copy, modify, and distribute
the "Popper" software contained herein for any purpose, without
fee, and without a written agreement is hereby granted, provided
that the above copyright notice and this paragraph and the
following two paragraphs appear in all copies. HOWEVER, ADDITIONAL
PERMISSIONS MAY BE NECESSARY FROM OTHER PERSONS OR ENTITIES, TO
USE DERIVATIVES OR MODIFICATIONS OF POPPER.
IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY
PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THE
POPPER SOFTWARE, OR ITS DERIVATIVES OR MODIFICATIONS, AND ITS
DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN
ADVISED OF THE POSSIBLITY OF SUCH DAMAGE.
THE UNIVERSITY OF CALIFORNIA, SPECIFICALLY DISCLAIMS ANY
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE
POPPER SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE
UNIVERSITY OF CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE
MAINTENANCE, SUPPORT, UPDATES, ENCHANCEMENTS, OR MODIFICATIONS.

View File

@ -1,59 +0,0 @@
Copyright 1995 Sun Microsystems, Inc.
Printed in the United States of America.
All Rights Reserved.
This software product (LICENSED PRODUCT), implementing the Object
Management Group's "Internet Inter-ORB Protocol", is protected by
copyright and is distributed under the following license restricting
its use. Portions of LICENSED PRODUCT may be protected by one or more
U.S. or foreign patents, or pending applications.
LICENSED PRODUCT is made available for your use provided that you
include this license and copyright notice on all media and
documentation and the software program in which this product is
incorporated in whole or part.
You may copy, modify, distribute, or sublicense the LICENSED PRODUCT
without charge as part of a product or software program developed by
you, so long as you preserve the functionality of interoperating with
the Object Management Group's "Internet Inter-ORB Protocol" version
one. However, any uses other than the foregoing uses shall require
the express written consent of Sun Microsystems, Inc.
The names of Sun Microsystems, Inc. and any of its subsidiaries or
affiliates may not be used in advertising or publicity pertaining to
distribution of the LICENSED PRODUCT as permitted herein.
This license is effective until terminated by Sun for failure to
comply with this license. Upon termination, you shall destroy or
return all code and documentation for the LICENSED PRODUCT.
LICENSED PRODUCT IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND
INCLUDING THE WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A
PARTICULAR PURPOSE, NONINFRINGEMENT, OR ARISING FROM A COURSE OF
DEALING, USAGE OR TRADE PRACTICE.
LICENSED PRODUCT IS PROVIDED WITH NO SUPPORT AND WITHOUT ANY
OBLIGATION ON THE PART OF SUN OR ANY OF ITS SUBSIDIARIES OR AFFILIATES
TO ASSIST IN ITS USE, CORRECTION, MODIFICATION OR ENHANCEMENT.
SUN OR ANY OF ITS SUBSIDIARIES OR AFFILIATES SHALL HAVE NO LIABILITY
WITH RESPECT TO THE INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY
PATENTS BY LICENSED PRODUCT OR ANY PART THEREOF.
IN NO EVENT WILL SUN OR ANY OF ITS SUBSIDIARIES OR AFFILIATES 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.
Use, duplication, or disclosure by the government is subject to
restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in
Technical Data and Computer Software clause at DFARS 252.227-7013 and
FAR 52.227-19.
SunOS, SunSoft, Sun, Solaris, Sun Microsystems and the Sun logo are
trademarks or registered trademarks of Sun Microsystems, Inc.
SunSoft, Inc.
2550 Garcia Avenue
Mountain View, California 94043

View File

@ -1,332 +0,0 @@
JAVA DISTRIBUTION LICENSE (VER. 1.0)
Java 3D
I. LICENSE GRANTS, TERMS AND RESTRICTIONS
1.0 General License Terms. This Java Distribution License ("JDL") is
between Sun Microsystems, Inc. ("Sun") and You where "You" means the
individual or legal entity exercising rights under this
JDL. "Technology" means the following as provided under this JDL: (i)
the source code and binary code from the Reference Implementation
("RI") of the Java 3DTM version 1.3 Specification (the
"Specification") and related documentation, all as revised or upgraded
and made available hereunder; and (ii) the associated technology
compatibility kit ("TCK"). The TCK contains the TCK documentation,
user's guide ("TCK User's Guide"), test tools and test suite
associated with the Specification, as revised or upgraded by Sun. The
TCK is provided so that You may determine if Your implementation is
compliant with the Specification. "Modifications" means any (i) change
or addition to or derivative of the Technology; or (ii) new source or
object code implementing the Specification for the
Technology. "Commercial Use" means: (i) Your use of the RI and/or
Modifications as part of a Compatible Implementation within Your
business or organization, but only by Your employees or agents; and/or
(ii) any use or distribution, directly or indirectly by You of the RI
and/or Modifications as part of a Compatible Implementation to any
third party, alone or bundled with any other software or hardware, for
direct or indirect commercial or strategic gain or advantage. By Your
use or distribution of the Technology and Modifications, You agree to
the terms of this JDL.
2.0 License Grants, Restrictions and Termination.
2.1 Commercial Use and Internal Deployment License Grants. Subject to
the terms of this JDL, Sun grants to You, to the extent of Sun's
licensable copyrights, patents and trade secrets in the RI, a limited,
non-exclusive, non-transferable, worldwide and royalty-free license to
modify, compile, reproduce, distribute, internally use and internally
deploy code and related documentation from the RI and/or Modifications
for Commercial Use, but only as part of Your own Compatible
Implementation (as defined below), and only if You make such
distributions as follows:
(i) Source Code. You can only distribute source code for the RI and
Modifications under all of the following conditions: (a) You make such
distribution under the terms of this JDL; (b) without offering or
imposing any different terms; (c) to a receipient who has accepted the
terms of this JDL; and (d) You provide a copy of this JDL to each such
receipient;
(ii) Binary Code. You can distribute binary code for the RI and
Modifications but only under license terms which (a) have been
accepted by the receipient; (b) are consistent, and not conflicting,
with the terms of the JDL; and (c) where such terms are no less
protective of Sun than the terms of this JDL.
2.2 TCK License Grant. Subject to the terms of this JDL, Sun grants to
You, to the extent of Sun's licensable copyrights, patents and trade
secrets in the TCK, a limited, non-exclusive, non-transferable,
worldwide and royalty-free license to internally use the TCK for the
sole purpose of developing and testing Your Compatible Implementations
(as defined below).
2.2.1 TCK Master Support Agreement. If you desire support for the TCK,
You may execute a separate TCK master support with Sun as described on
the Technology Site or on such other URL as Sun may designate from
time to time.
2.2.2 TCK Use Terms. Your TCK license grant hereunder is expressly
conditioned upon your continued adherance to the following
restrictions:
(i) You may not sublicense or distribute the TCK to any third party
except for any specific TCK code files identified as redistributables
in the TCK User's Guide ("Redistributables"), but only: (a) as part of
a TCK Adaptor accompanying a Compatible Implementation (where a "TCK
Adaptor" means a program that effects interoperability between the TCK
and the Compatible Implementation); and (b) pursuant to a license
agreement that protects Sun's interests consistent with the terms of
the JDL;
(ii) You may not create derivative works of the TCK nor of any of its
components except for the Redistributables in a TCK Adaptor;
(iii) You may not disassemble or decompile binary portions of the
TCK's test suites or test tools or otherwise attempt to derive the
source code from such binary portions;
(iv) You may not develop other test suites intended to validate
compatibility with the Specification to which the TCK licensed
hereunder corresponds;
(v) You may not use the TCK to test a third party's product;
(vi) You may not make Commercial Use of code which implements any
portion of the Specification unless such code is included in a
Compatible Implementation;
(vii) You may disclose Test Reports (where "Test Reports" means those
reports generated by the TCK which identify only configuration
information and the status of individual or aggregate test executions)
for an implementation which You are attempting to certified in
accordance with the terms of this JDL for the sole purpose of making
Your implementation a Compatible Implementation, but you may not make
any claims of comparative compatibility nor disclose any other TCK
testing information to any party. For example, You cannot claim that
Your implementation is "nearly compatible" or "98% compatible." When
You share Test Reports in any public forum, including mailing lists,
marketing material or press releases, and Your implementation is not a
Compatible Implementation, You must state that Your implementation is
"not compatible;" and
(viii) You will protect the TCK as confidential information of Sun
and, except as expressly authorized herein, You may not disclose the
TCK to any third party. This obligation of confidentiality with
respect to the TCK will survive any termination or expiration of this
JDL.
2.3 Term and Termination. This JDL shall have an initial term of two
(2) years after your acceptance of this JDL and shall thereafter
automatically renew for additional one year terms unless either party
provides notice to the other party sixty (60) days prior to an
anniversary date. The license grants of this JDL, are expressly
conditioned upon Your not acting outside their scope, and Your
continued compliance with the material provisions of this JDL. All
license grants under this JDL will automatically and immediately be
revoked without notice if You fail to so comply. Upon termination or
expiration of this JDL, You must discontinue all use and distribution
of the Technology and any Compatible Implementation licensed under
this JDL. All sublicenses You have properly granted hereunder shall
survive termination or expiration of Your rights under the
JDL. Provisions which should, by their nature, remain in effect after
termination or expiration shall survive, including, without
limitation, the provisions of Article II (General Terms) and the TCK
confidentiality obligations under this JDL.
2.4 General License Restrictions. Some portions of the Technology are
provided with notices and/or open source or other licenses from other
parties which govern the use of those portions. Your use or
distribution of encryption technology contained within the Technlogy
is subject to all applicable governmental regulations of the United
States of America and the country where the Technology is
deployed. You agree to comply with the U.S. export controls and trade
laws of other countries that apply to the Technology and Compatible
Implementations. You acknowledge that the Technology is not designed,
licensed or intended for use in the design, construction, operation or
maintenance of any nuclear facility. Other than the rights granted
herein, Sun retains all rights, title, and interest in the Technlogy.
3.0 Compatibility and Use of the TCK.
3.1 Compatible Implementation TCK Requirements. Your use of the RI
and/or Modifications as part of an implementation of the Specification
is a "Compatible Implementation" if the implementation meets the
following requirements:
3.1.1 A Compatible Implementation must comply with the full
Specification, including all its required interfaces and
functionality;
3.1.2 A Compatible Implementation must either: (i) pass the most
current compatibility requirements (as defined by the TCK User's
Guide) which were made available by Sun one hundred twenty (120) days
before first commercial shipment ("FCS") of each version of the
Compatible Implementation (eg. if Your FCS was December 31, 2003, You
must have passed the most current version of the TCK as of September
2, 2003); or (ii) at Your option, pass all the compatibility
requirements of a newer version of the TCK and its associated TCK
User's Guide;
3.1.3 A Compatible Implementation may not modify the functional
behavior of the "Java Classes" which means the specific class
libraries associated with the Technology; and
3.1.4 A Compatible Implementation may not modify, subset, superset or
otherwise extend the Licensor Name Space, nor include any public or
protected packages, classes, Java interfaces, fields or methods within
the Licensor Name Space other than those required and/or authorized by
the Specification. "Licensor Name Space" means the public class or
interface declarations whose names begin with "java", "javax",
"com.sun" or their equivalents in any subsequent naming convention
adopted by Sun through the Java Community Process, or any recognized
successors or replacements thereof.
3.2 Self-Certification for Compatibility. You shall self-certify that
Your Compatible Implementation passes the applicable TCK as set forth
above, if and when Your Compatible Implementation in fact does so,
provided that:
3.2.1 If Sun policy also requires verification of compatibility for
Your Compatible Implementation then You shall, prior to the FCS of the
Compatible Implementation, submit verification of compatibility to Sun
or to an independent test facility designated by Sun. If such
verification is by an independent test facility, then the reasonable
costs of such activity (including any applicable fees) shall be at
Your expense. Sun may publish or otherwise disclose Your test results.
3.2.2 Upon thirty (30) days written notice by Sun, and no more than
two (2) times per calendar year, You shall permit Sun or its
authorized representative to inspect and test any Compatible
Implementation which has been self-certified per this subsection 3.2
to ensure that such Compatible Implementation meets the compatibility
and other requirements for a Compatible Implementation as set forth
herein. The reasonable costs of such inspection shall be at Sun's
expense; provided, however, that You shall reimburse Sun for such
costs if the inspection reveals that the Compatible Implementation
does not meet such requirements and these deficiencies are not cured
within thirty (30) days.
4.0 Fees and Royalties. There are no fees or royalites associated with
the license grants for the Technology licensed under this JDL.
II. GENERAL TERMS
5.0 No Warranty. THE TECHNOLOGY AND/OR MODIFICATIONS ARE PROVIDED "AS
IS", WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS, IMPLIED OR
STATUTORY INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE
TECHNOLOGY AND/OR MODIFICATIONS ARE FREE OF DEFECTS, MERCHANTABLE, FIT
FOR A PARTICULAR PURPOSE, OR NON-INFRINGING OF THIRD PARTY RIGHTS. YOU
AGREE THAT YOU BEAR THE ENTIRE RISK IN CONNECTION WITH YOUR USE AND
DISTRIBUTION OF ANY AND ALL TECHNOLOGY AND/OR MODIFICATIONS ARE UNDER
THIS JDL. SOME JURISDICTIONS DO NOT PERMIT THE EXCLUSION OF IMPLIED
WARRANTIES SO THE ABOVE EXCLUSIONS MAY NOT APPLY TO YOU
6.0 Infringement Claims. Sun may terminate this JDL, in Sun's sole
discretion, upon any action initiated by You alleging that the use or
distribution of the Technology and/or Modifications by Sun, or any
other licensee of the Technology and/or Modifications, infringes a
patent owned or controlled by You. In addition, if any portion of, or
functionality implemented by, the Technology becomes the subject of a
claim or threatened claim of infringement ("Affected Materials"), Sun
may, at its sole option, (i) attempt to procure the rights necessary
for You to continue using the Affected Materials, (ii) modify the
Affected Materials so that they are no longer infringing, or (iii)
immediately suspend Your rights to use and distribute the Affected
Materials under this JDL by posting of notice of suspension on the
Technology Site, and refund toYou the amount, if any, having then
actually been paid by You to Sun under this JDL, on a straight line,
five year basis .
7.0 Limitation of Liability. Sun will be not be liable for any claims
relating to, or arising out of, this JDL, whether in tort, contract or
otherwise, in an amount in excess of any annual license fees You paid
to Sun for the Technology. IN NO EVENT WILL SUN BE LIABLE FOR ANY
INDIRECT, SPECIAL, INCIDENTAL, CONSEQUENTIAL OR PUNITIVE DAMAGES IN
CONNECTION WITH OR ARISING OUT OF THIS JDL (INCLUDING, WITHOUT
LIMITATION, LOSS OF PROFITS, USE, DATA, OR ECONOMIC ADVANTAGE OF ANY
SORT), HOWEVER IT ARISES AND UNDER ANY THEORY OF LIABILITY (including
negligence), REGARDLESS OF WHETHER OR NOT SUN HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE. FURTHERMORE, LIABILITY UNDER THIS JDL
SHALL BE SO LIMITED AND EXCLUDED, NOTWITHSTANDING FAILURE OF THE
ESSENTIAL PURPOSE OF ANY REMEDY. TO THE EXTENT ANY INDIRECT, PUNITIVE,
SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES YOU INCUR FOR ANY REASON
WHATSOEVER CANNOT BE DISCLAIMED THEN THE ENTIRE LIABILITY OF SUN UNDER
ANY PROVISION OF THIS JDL, AND YOUR EXCLUSIVE REMEDY FOR ANY SUCH
DAMAGES, SHALL BE LIMITED TO THE GREATER OF THE AMOUNT ACTALLY PAID BY
YOU FOR THE TECHNOLOGY OR FIVE HUNDRED US DOLLARS, WHICHEVER IS
GREATER. SOME JURISDICTIONS DO NOT PERMIT THE EXCLUSION OR LIMITATION
OF INCIDENTALS OR CONSEQUENTIAL DAMAGES SO THE ABOVE EXCLUSION AND
LIMITATION MAY NOT APPLY TO YOU.
8.0 Support. Sun does not provide any support for the Technology or
the TCK to either You or Your customers under this JDL. Support for
the TCK is provided under a separate TCK master support agreement. If
You desire support for the RI, You may contact Sun. You are solely
reponsible for providing all support to Your customers with respect to
the Technology, TCK, Modifications and/or Compatible Implementation.
9.0 Marketing and Press Announcements. Your initial press announcement
concerning execution of this JDL must be reviewed and approved by Sun
prior to its release. You hereby authorizes Sun to include You in a
published list of licensees of the Technology. Sun shall also be
authorized to use Your name in advertising, marketing collateral, and
customer success stories prepared by or on behalf of Sun for the
Technology subject to Your prior approval, such approval not to be
unreasonably withheld or delayed.
10.0 Notices. All notices required by this JDL must be in writing. Sun
shall deliver notice to You via either e-mail or by physical mail
based on the information You provided to Sun when you accepted this
JDL. Notices by You to Sun will be effective only upon receipt by Sun
at the following physical addresses: Sun Microsystems, Inc., 4150
Network Circle, Santa Clara, California 95054, Attn.: Sun Software VP
of Sales, cc: General Counsel, cc: Product Law Legal Department or to
such different address as Sun provides on the Technology Site for such
purpose.
11.0 Proprietary Rights Notices and Branding Requirements. There are
no specific branding requirements associated with the Technology under
this JDL. You may not remove any copyright notices, trademark notices
or other proprietary legends of Sun or its suppliers contained on or
in the Technology, including any notices of licenses for open source
components. You agree to comply with the Sun Trademark and Logo Usage
Requirements currently located at
http://www.sun.com/policies/trademarks. Except as provided in this
JDL, no right, title or interest to Sun's trademarks, brands or logos
is granted herein.
12.0 U.S. Government End Users. The Technology and Modifications are a
"commercial item," as that term is defined in 48 C.F.R. 2.101
(Oct. 1995), consisting of "commercial computer software" and
"commercial computer software documentation," as such terms are used
in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and
48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all
U.S. Government End Users acquire Technology and/or Modifications with
only those rights set forth herein. You agree to pass this notice to
Your licensees.
13.0 Miscellaneous. This JDL is governed by the laws of the United
States and the State of California, as applied to contracts entered
into and performed in California between California residents. The
relationship created under this JDL is that of licensor and licensee
and does not create any other relationship such as a partnership,
franchise, joint venture, agency or employment relationship between
the parties. This JDL may not be assigned or transferred by either
party without the prior written consent of the other party, which
consent shall not be unreasonably withheld or delayed, except that Sun
may assign: (i) to an affiliated company, or (ii) in the event of a
merger, acquisition or sale of all or substantially all of the assets
of Sun. Any express waiver or failure to exercise promptly any right
under this Agreement will not create a continuing waiver nor any
expectation of non-enforcement. The disclaimer of warranties and
limitations of liability constitute an essential basis of the bargain
in this JDL. This JDL represents the complete agreement of the parties
concerning the subject matter hereof and may not be modified or
amended in whole or part, except by a written instrument signed by the
parties' authorized representatives. Nothing herein shall supersede or
modify the terms of any separate signed written license agreement You
may have executed with Sun regarding the Technology.
YOU: By: ___________________________________ Name: ___________________________________
Title: __________________________________ Date: _____________________________________

View File

@ -1,113 +0,0 @@
JAVA RESEARCH LICENSE
Version 1.2
I. DEFINITIONS.
"Licensee " means You and any other party that has entered into and has in effect a version of this License.
"Modifications" means any (a) change or addition to the Technology or (b) new source or object code implementing any portion of the Technology.
"Sun" means Sun Microsystems, Inc. and its successors and assignees.
"Research Use" means research, evaluation, or development for the purpose of advancing knowledge, teaching, learning, or customizing the Technology or
Modifications for personal use. Research Use expressly excludes use or distribution for direct or indirect commercial (including strategic) gain or
advantage.
"Technology" means the source code, object code and specifications of the technology made available by Sun pursuant to this License.
"Technology Site" means the website designated by Sun for accessing the Technology.
"You" means the individual executing this License or the legal entity or entities represented by the individual executing this License.
II. PURPOSE.
Sun is licensing the Technology under this Java Research License (the "License") to promote research, education, innovation, and development using the
Technology.
COMMERCIAL USE AND DISTRIBUTION OF TECHNOLOGY AND MODIFICATIONS IS PERMITTED ONLY UNDER THE JAVA DISTRIBUTION LICENSE OR A SUN COMMERCIAL LICENSE AVAILABLE
AT http://www.sun.com/software/communitysource.
III. RESEARCH USE RIGHTS.
A. License Grant. Subject to the conditions contained herein, Sun grants to You a non-exclusive, non-transferable, worldwide, and royalty-free license to do
the following for Your Research Use only:
1. Reproduce, create Modifications of, and use the Technology alone, or with Modifications;
2. Share source code of the Technology alone, or with Modifications, with other Licensees;
3. Distribute object code of the Technology, alone, or with Modifications, to any third parties for Research Use only, under a license of Your choice that
is consistent with this License; and publish papers and books discussing the Technology which may include relevant excerpts that do not in the aggregate
constitute a significant portion of the Technology.
B. Residual Rights. You may use any information in intangible form that you remember after accessing the Technology, except when such use violates Sun's
copyrights or patent rights.
C. No Implied Licenses. Other than the rights granted herein, Sun retains all rights, title, and interest in Technology, and You retain all rights, title,
and interest in Your Modifications and associated specifications, subject to the terms of this License.
IV. INTELLECTUAL PROPERTY REQUIREMENTS
As a condition to Your License, You agree to comply with the following restrictions and responsibilities:
A. Notices. You will not remove or alter any copyright or other proprietary notices in any Technology that You distribute. The statement, "Use and
Distribution is subject to the Java Research License available at http://java3d.dev.java.net/jrl.html," must appear prominently in the source code and
specifications of the Technology and Your Modifications, and in the same file as all Your copyright and other proprietary notices for object code.
B. Licensee Exchanges. Any Technology and Modifications You receive from any Licensee are governed by this License.
V. GENERAL TERMS.
A. Disclaimer Of Warranties.
THE TECHNOLOGY IS PROVIDED "AS IS", WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE TECHNOLOGY
IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING OF THIRD PARTY RIGHTS. YOU AGREE THAT YOU BEAR THE ENTIRE RISK IN
CONNECTION WITH YOUR USE AND DISTRIBUTION OF ANY AND ALL TECHNOLOGY UNDER THIS LICENSE.
B. Infringement; Limitation Of Liability.
1. If any portion of, or functionality implemented by, the Technology becomes the subject of a claim or threatened claim of infringement ("Affected
Materials"), Sun may, in its unrestricted discretion, suspend Your rights to use and distribute the Affected Materials under this License. Such suspension
of rights will be effective immediately upon Sun's posting of notice of suspension on the Technology Site.
2. IN NO EVENT WILL SUN BE LIABLE FOR ANY DIRECT, INDIRECT, PUNITIVE, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES IN CONNECTION WITH OR ARISING OUT OF
THIS LICENSE (INCLUDING, WITHOUT LIMITATION, LOSS OF PROFITS, USE, DATA, OR ECONOMIC ADVANTAGE OF ANY SORT), HOWEVER IT ARISES AND ON ANY THEORY OF
LIABILITY (including negligence), WHETHER OR NOT SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. LIABILITY UNDER THIS SECTION V.B.2 SHALL BE SO
LIMITED AND EXCLUDED, NOTWITHSTANDING FAILURE OF THE ESSENTIAL PURPOSE OF ANY REMEDY.
C. Termination.
1. You may terminate this License at any time by notifying Sun in writing.
2. All Your rights will terminate under this License if You fail to comply with any of its material terms or conditions and do not cure such failure within
thirty (30) days after becoming aware of such noncompliance.
3. Upon termination, You must discontinue all uses and distribution of the Technology, and all provisions of this Section V ("General Terms") shall survive
termination.
D. Miscellaneous.
1. Trademark. You agree to comply with Sun's Trademark & Logo Usage Requirements, as modified from time to time, available at the Technology Site. Except as
expressly provided in this License, You are granted no rights in or to any Sun trademarks now or hereafter used or licensed by Sun.
2. Integration. This License represents the complete agreement of the parties concerning the subject matter hereof.
3. Severability. If any provision of this License is held unenforceable, such provision shall be reformed to the extent necessary to make it enforceable
unless to do so would defeat the intent of the parties, in which case, this License shall terminate.
4. Governing Law. This License is governed by the laws of the United States and the State of California, as applied to contracts entered into and performed
in California between California residents. In no event shall this License be construed against the drafter.
5. Export Control. As further described at http://www.sun.com/its, you agree to comply with the U.S. export controls and trade laws of other countries that
apply to Technology and Modifications.
READ ALL THE TERMS OF THIS LICENSE CAREFULLY BEFORE ACCEPTING.
BY CLICKING ON THE YES BUTTON BELOW, YOU ARE ACCEPTING AND AGREEING TO ABIDE BY THE TERMS AND CONDITIONS OF THIS LICENSE. YOU MUST BE AT LEAST 18 YEARS OF
AGE AND OTHERWISE COMPETENT TO ENTER INTO CONTRACTS.
IF YOU DO NOT MEET THESE CRITERIA, OR YOU DO NOT AGREE TO ANY OF THE TERMS OF THIS LICENSE, CLICK ON THE NO BUTTON AND EXIT NOW.
Java Research License 05/20/04

View File

@ -1,167 +0,0 @@
Yahoo! DomainKeys Patent License Agreement v1.2
Copyright (c) 2006, Yahoo! Inc.
All rights reserved.
This Yahoo! DomainKeys Patent License Agreement (this "Agreement") is
between Yahoo! Inc. ("Yahoo!") and you ("Licensee"). By attempting to
exercise any rights granted under this Agreement, Licensee agrees to be
bound by all the terms and conditions set forth below, and subject to those
terms and conditions, Licensee may use the intellectual property described
below.
1. LICENSE GRANT.
1.1. Subject to the terms and conditions of this Agreement, Licensor hereby
grants You a royalty-free, perpetual, worldwide, sublicensable,
non-exclusive license under its rights to the Yahoo! Patent Claims to make,
use, sell, offer for sale, and/or import Implementations.
2. DEFINITIONS.
2.1. "DomainKeys Developer(s)" means Yahoo, Inc. ("Yahoo!"), Licensor,
and/or any other individual or entity who distributes Implementations under
this Agreement.
2.2. "Implementations" means the specific portions of a hardware or
software implementation expressly required to be compliant with the
Specifications for the sole purpose of a sender verification solution in
connection with e-mail.
2.3. "Licensor" means Yahoo! or any other individual or entity that elects
to use this Agreement to license Yahoo! Patent Claims to any licensee.
2.4. "Specifications" means the specification having submission ID
"draft-delany-domainkeys-base-01.txt" dated Aug 2004 published through the
IETF (Internet Engineering Task Force). The Specifications may be found at
the following link:
http://antispam.yahoo.com/domainkeys/draft-delany-domainkeys-base-01.txt
2.5. "Yahoo! Patent Claims" shall mean those claims of all Yahoo! foreign
and domestic patents and patent applications that base their priority on
U.S. Provisional Patent Application Ser. Nos. 60/497,794, filed Aug. 26,
2003, or 60/553,300, filed Mar. 15, 2004, or U.S. Patent Application Ser.
Nos. 10/671,319, filed Sep. 24, 2003, or 10/805,181, filed Mar. 19, 2004.
2.6. "You" or "Your" means an individual, company, or other legal entity
exercising any rights under this Agreement. Any individual who accepts the
terms and conditions of this Agreement on behalf of a company or other
legal entity represents and warrants that the individual has the authority
to enter into this Agreement on behalf of the company or other legal
entity.
3. TERMS.
3.1. You agree not to assert against Yahoo!, any other DomainKeys Developer
or any of their respective licensees under Section 3.4, a patent
infringement claim based on the manufacture, use, sale, offer for sale
and/or importation of any Implementations ("Implementation IP Claim").
3.2. To indicate your assent to the terms and conditions of this Agreement
and in order to obtain a license to make, use, sell, offer for sale, and/or
import Implementations, You must include, attach or preserve the following
prominently displayed statement in the source code and object code of any
such Implementations: "This code incorporates intellectual property owned
by Yahoo! and licensed pursuant to the Yahoo! DomainKeys Patent License
Agreement.".
3.3. You will not use the name of Yahoo! to endorse or promote any
products, services, or Implementations without specific prior written
permission of Yahoo!. "DomainKeys" is a trademark of Yahoo!. However, You
may state Your Implementations are "DomainKeys compliant", "supports
DomainKeys", or is "DomainKeys-enabled", without citation to Yahoo!. You
must create Your own product or service names or trademarks for Your
Implementations and You agree not to use the term "DomainKeys" in or as
part of a name or trademark for Your Implementations.
3.4. You may choose to distribute Implementations under this Agreement or a
different agreement, provided that:
(a) a copy of this Agreement or the different agreement is included with
each Implementation along with the following prominently displayed
statement: "By making, using, selling, offering for sale, importing,
and/or sublicensing Implementations as permitted, you agree to the terms
and conditions of the Yahoo! DomainKeys Patent License Agreement or
other agreement contained herein."; and
(b) if distributed under a different agreement, such different agreement
contains terms and conditions that (i) provide no fewer rights,
privileges and immunities to DomainKeys Developers than the terms and
conditions of this Agreement, including, without limitation, Sections
1.1, 3.1, 3.4, 3.7, 4.1, 4.2, and 4.3.
3.5. You acknowledge that implementations of the Specifications may be
subject to U.S. export restriction and other applicable national and
international laws. You agree to comply with all export, re-export, or
import restrictions, laws, or regulations.
3.6. Yahoo!, and only Yahoo!, may, from time to time and at its sole
discretion, update or modify the terms of this Agreement. If Yahoo! makes
any such modifications, You may continue under the terms and conditions of
this Agreement or agree to the updated or modified terms and conditions.
For the most recent version of this Agreement please contact Yahoo!.
3.7. This Agreement and the rights hereunder will terminate:
(a) automatically without notice from Yahoo!, if You at any time during
the term of this Agreement assert any Implementation IP Claim against
Yahoo!;
(b) upon written notice from Yahoo!, if You at any time during the term
of this Agreement assert any Implementation IP Claim against any
DomainKeys Developer (other than Yahoo!) or any licensees of any
DomainKeys Developer; or
(c) where (a) or (b) do not apply, automatically without notice from
Yahoo!, if You fail to comply with any term(s) of this Agreement and
fail to cure such breach within 30 days of You becoming aware of such
breach.
3.8. This Agreement constitutes the entire agreement between the parties
with respect to the subject matter hereof. This Agreement shall be governed
by and construed under the laws of the United States and the State of
California without giving effect to California conflict of law provisions
or to construction provisions favoring either party. All actions arising
out of or relating to this Agreement that involve Yahoo! as a party will be
adjudicated exclusively by the Superior Court of the State of California
for the County of Santa Clara or the United States District Court for the
Northern District of California.
3.9. In the event that any provision of this Agreement is deemed to be
invalid, such invalidity shall not affect the remainder of this Agreement.
4. LEGAL DISCLAIMERS.
4.1. THE YAHOO! PATENT CLAIMS, THIS AGREEMENT, THE DOMAINKEYS TRADEMARK,
AND THE SPECIFICATIONS ARE PROVIDED ON AN "AS IS" BASIS, WITHOUT
REPRESENTATIONS, WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR
IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY REPRESENTATIONS, WARRANTIES OR
CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of exercising any rights under this Agreement and using the
Specifications and the DomainKeys trademark and assume all risks associated
in connection therewith, including, but not limited to, the risks and costs
of program errors, compliance with applicable laws, damage to or loss of
data, programs or equipment, and unavailability or interruption of
operations.
4.2. You expressly acknowledge and agree that no assurances are provided by
DomainKeys Developers with respect to the validity of the Yahoo! Patent
Claims or that the Specifications, the DomainKeys trademark or any
implementations related to the Specifications or the DomainKeys trademark
do not infringe or misappropriate the patent, trademark or other
intellectual property rights of any other entity. DomainKeys Developers
disclaim any liability to You for claims brought by any other person or
entity based on infringement or misappropriation of intellectual property
rights or otherwise. As a condition to exercising the rights and licenses
granted hereunder, You hereby assume sole responsibility to secure any
other intellectual property rights needed.
4.3. DOMAINKEYS DEVELOPERS SHALL NOT HAVE ANY LIABILITY FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE EXERCISE
OF ANY RIGHTS UNDER THIS AGREEMENT, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES, AND EVEN IF THE REMEDIES PROVIDED FOR IN THIS AGREEMENT FAIL
OF THEIR ESSENTIAL PURPOSE.

View File

@ -9,6 +9,7 @@ m68k
mips mips
ppc ppc
ppc64 ppc64
riscv
s390 s390
sh sh
sparc sparc

View File

@ -21,7 +21,7 @@ LIBDIR_alpha="lib"
# 2006/08/18 - Donnie Berkholz <dberkholz@gentoo.org> # 2006/08/18 - Donnie Berkholz <dberkholz@gentoo.org>
# Defaults for video drivers # Defaults for video drivers
VIDEO_CARDS="fbdev glint mga nv r128 radeon tdfx voodoo" VIDEO_CARDS="fbdev glint mga nv r128 radeon"
# 2007/02/05 - Chris Gianelloni <wolf31o2@gentoo.org> # 2007/02/05 - Chris Gianelloni <wolf31o2@gentoo.org>
# Defaults for audio drivers. These are copied from x86 (minus modems), since # Defaults for audio drivers. These are copied from x86 (minus modems), since

View File

@ -1,6 +1,10 @@
# Copyright 1999-2018 Gentoo Authors # Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2 # Distributed under the terms of the GNU General Public License v2
# Lars Wendler <polynomial-c@gentoo.org> (29 Apr 2019)
# Requires net-libs/webkit-gtk which has no keywords on alpha
dev-util/geany-plugins markdown
# Tobias Klausmann <klausman@gentoo.rog> (23/Nov/2018) # Tobias Klausmann <klausman@gentoo.rog> (23/Nov/2018)
# Requires sys-cluster/ceph, which is unlikely to be used on Alpha # Requires sys-cluster/ceph, which is unlikely to be used on Alpha
# and a rather large dependency. # and a rather large dependency.
@ -75,7 +79,7 @@ dev-db/mariadb numa
# Michał Górny <mgorny@gentoo.org> (08 Aug 2017) # Michał Górny <mgorny@gentoo.org> (08 Aug 2017)
# Required VIDEO_CARDS=i965/radeonsi, both masked in this profile. # Required VIDEO_CARDS=i965/radeonsi, both masked in this profile.
media-libs/mesa vulkan media-libs/mesa vulkan vulkan-overlay
# Michał Górny <mgorny@gentoo.org> (08 Aug 2017) # Michał Górny <mgorny@gentoo.org> (08 Aug 2017)
# Requires USE=seccomp that is masked in this profile. # Requires USE=seccomp that is masked in this profile.
@ -85,10 +89,6 @@ net-libs/gnutls test-full
# Requires USE=bluetooth that is masked in this profile. # Requires USE=bluetooth that is masked in this profile.
media-sound/pulseaudio native-headset media-sound/pulseaudio native-headset
# Michał Górny <mgorny@gentoo.org> (07 Aug 2017)
# Requires USE=networkmanager that is masked in this profile.
app-misc/geoclue skyhook
# Robin H. Johnson <robbat2@gentoo.org> (05 Aug 2017) # Robin H. Johnson <robbat2@gentoo.org> (05 Aug 2017)
# Upstream Git is switching to PCRE2 w/ JIT. # Upstream Git is switching to PCRE2 w/ JIT.
# This is not available on some arches, where a fallback to PCRE1 without JIT is used. # This is not available on some arches, where a fallback to PCRE1 without JIT is used.
@ -265,6 +265,7 @@ dev-haskell/vector test
# Tobias Klausmann <klausman@gentoo.org> (20 Nov 2014) # Tobias Klausmann <klausman@gentoo.org> (20 Nov 2014)
# OpenCV likely will never work on Alpha # OpenCV likely will never work on Alpha
media-video/vlc opencv media-video/vlc opencv
media-gfx/shotwell opencv
# Pacho Ramos <pacho@gentoo.org> (11 Nov 2014) # Pacho Ramos <pacho@gentoo.org> (11 Nov 2014)
# Missing keywords, bug #523686 # Missing keywords, bug #523686
@ -388,9 +389,6 @@ media-plugins/gst-plugins-meta dts libvisual
# needs sys-libs/libcap-ng that is masked right now # needs sys-libs/libcap-ng that is masked right now
sys-apps/smartmontools caps sys-apps/smartmontools caps
# Raúl Porcel <armin76@gentoo.org> (5 Dec 2010)
# Mask doc-pdf because of Java dependencies (bug #347259)
net-analyzer/wireshark doc-pdf
# legacy mask # legacy mask
www-client/elinks javascript www-client/elinks javascript

View File

@ -21,10 +21,6 @@
# gnome-base/nautilus is not stable # gnome-base/nautilus is not stable
media-sound/easytag nautilus media-sound/easytag nautilus
# Virgil Dupras <vdupras@gentoo.org> (18 Aug 2018)
# app-text/mupdf stable alpha keyword was dropped in bug #658618
net-print/cups-filters pdf
# Ulrich Müller <ulm@gentoo.org> (09 Aug 2018) # Ulrich Müller <ulm@gentoo.org> (09 Aug 2018)
# Needs net-mail/mailutils and net-libs/webkit-gtk which are not # Needs net-mail/mailutils and net-libs/webkit-gtk which are not
# stable (yet?), bug #663248 # stable (yet?), bug #663248

View File

@ -1,5 +1,9 @@
# Copyright 1999-2018 Gentoo Authors. # Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License, v2 # Distributed under the terms of the GNU General Public License v2
# Andreas Sturmlechner <asturm@gentoo.org> (31 Mar 2019)
# sys-auth/elogind is not yet keyworded here. bug #681200
elogind
# Matt Turner <mattst88@gentoo.org> (22 Dec 2018) # Matt Turner <mattst88@gentoo.org> (22 Dec 2018)
# net-libs/zeromq is not keyworded # net-libs/zeromq is not keyworded

View File

@ -1,4 +1,4 @@
# Copyright 1999-2018 Gentoo Foundation # Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2 # Distributed under the terms of the GNU General Public License v2
# Force building libc++ over libcxxrt. # Force building libc++ over libcxxrt.
@ -12,9 +12,6 @@ sys-libs/libcxx static-libs abi_x86_32
# libcxx on this profile. Mask the other ssl providers. # libcxx on this profile. Mask the other ssl providers.
net-misc/curl ssl curl_ssl_openssl net-misc/curl ssl curl_ssl_openssl
# We obviously need clang
sys-devel/llvm clang static-analyzer default-compiler-rt default-libcxx
# o-flag-munging is required to compile dev-libs/libgcrypt with clang. # o-flag-munging is required to compile dev-libs/libgcrypt with clang.
# https://bugs.gentoo.org/629410 # https://bugs.gentoo.org/629410
dev-libs/libgcrypt o-flag-munging dev-libs/libgcrypt o-flag-munging

View File

@ -14,7 +14,7 @@ sys-devel/binutils cxx
# Force openssl on curl since cmakes needs it and is in @system because of # Force openssl on curl since cmakes needs it and is in @system because of
# libcxx on this profile. Mask the other ssl providers. # libcxx on this profile. Mask the other ssl providers.
net-misc/curl curl_ssl_axtls curl_ssl_gnutls curl_ssl_nss net-misc/curl curl_ssl_gnutls curl_ssl_nss
# Needs to be fixed: build fails with clang++ # Needs to be fixed: build fails with clang++
# https://bugs.gentoo.org/show_bug.cgi?id=578506 # https://bugs.gentoo.org/show_bug.cgi?id=578506

View File

@ -1,4 +1,4 @@
# Copyright 1999-2018 Gentoo Foundation # Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2 # Distributed under the terms of the GNU General Public License v2
# Michał Górny <mgorny@gentoo.org> (09 Mar 2018) # Michał Górny <mgorny@gentoo.org> (09 Mar 2018)
@ -12,6 +12,7 @@ sys-apps/sandbox abi_x86_32
# Michał Górny <mgorny@gentoo.org> (24 Sep 2016) # Michał Górny <mgorny@gentoo.org> (24 Sep 2016)
# Force the host target to avoid dependency hell # Force the host target to avoid dependency hell
dev-ml/llvm-ocaml llvm_targets_X86
sys-devel/clang llvm_targets_X86 sys-devel/clang llvm_targets_X86
sys-devel/llvm llvm_targets_X86 sys-devel/llvm llvm_targets_X86

View File

@ -1,6 +1,31 @@
# Copyright 1999-2018 Gentoo Foundation # Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2 # Distributed under the terms of the GNU General Public License v2
# Thomas Deutschmann <whissi@gentoo.org> (18 Apr 2019)
# app-arch/zstd is not keyworded.
media-libs/tiff zstd
# Lars Wendler <polynomial-c@gentoo.org> (15 Apr 2019)
# dev-vcs/subversion lacks amd64-fbsd keyword
app-portage/layman subversion test
dev-vcs/git subversion
# David Seifert <soap@gentoo.org> (15 Apr 2019)
# app-arch/zstd is not keyworded.
dev-libs/boost zstd
# Hans de Graaff <graaff@gentoo.org> (08 Apr 2019)
# Obsolete ruby version, no newer versions keyworded or stable.
dev-vcs/subversion ruby
# Michał Górny <mgorny@gentoo.org> (20 Mar 2019)
# Z3 fails to link on FreeBSD but linker produces no error messages.
sys-devel/clang z3
# Michał Górny <mgorny@gentoo.org> (22 Jan 2019)
# Missing keywords on dependencies.
app-arch/libarchive zstd
# Mikle Kolyada <zlogene@gentoo.org> (05 Oct 2018) # Mikle Kolyada <zlogene@gentoo.org> (05 Oct 2018)
# Not keyworded # Not keyworded
app-admin/sudo sssd app-admin/sudo sssd
@ -85,17 +110,6 @@ virtual/notification-daemon kde
# Requires USE=seccomp that is masked in this profile. # Requires USE=seccomp that is masked in this profile.
net-libs/gnutls test-full net-libs/gnutls test-full
# Michał Górny <mgorny@gentoo.org> (20 Jan 2018)
# Needs sys-libs/libomp which is not keyworded. Leaving the decision
# whether sys-libs/libomp should eventually be keyworded to when new
# LLVM is going to be keyworded.
<sys-devel/clang-runtime-4 openmp
# Michał Górny <mgorny@gentoo.org> (20 Jan 2018)
# Needs dev-ml/ocaml-ctypes which is not keyworded. Newer versions
# no longer have the flag, so no point in keywording it for old.
sys-devel/llvm ocaml
# Ulrich Müller <ulm@gentoo.org> (23 Oct 2017) # Ulrich Müller <ulm@gentoo.org> (23 Oct 2017)
# Needs net-mail/mailutils which is not keyworded, bug #635216. # Needs net-mail/mailutils which is not keyworded, bug #635216.
app-editors/emacs mailutils app-editors/emacs mailutils

View File

@ -34,9 +34,6 @@ app-portage/layman darcs
# dev-python/mysql-python # dev-python/mysql-python
dev-vcs/mercurial bugzilla dev-vcs/mercurial bugzilla
# net-libs/axtls
net-misc/curl curl_ssl_axtls
# media-libs/libmetalink -> undefined references on TEMP_FAILURE_RETRY (macro # media-libs/libmetalink -> undefined references on TEMP_FAILURE_RETRY (macro
# provided by glibc) # provided by glibc)
net-misc/curl metalink net-misc/curl metalink
@ -135,12 +132,6 @@ media-libs/mesa video_cards_vmware
x11-base/xorg-server glamor wayland x11-base/xorg-server glamor wayland
x11-drivers/xf86-video-ati glamor x11-drivers/xf86-video-ati glamor
# x11-drivers/xf86-video-tdfx
x11-base/xorg-drivers video_cards_tdfx
# <=sci-geosciences/gpsd-2.95-r1
app-misc/geoclue gps
# >=sys-devel/binutils-2.22 # >=sys-devel/binutils-2.22
sys-devel/llvm gold sys-devel/llvm gold

View File

@ -1,5 +1,5 @@
# Copyright 1999-2018 Gentoo Foundation. # Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License, v2 # Distributed under the terms of the GNU General Public License v2
# Unmask the flag which corresponds to ARCH. # Unmask the flag which corresponds to ARCH.
-amd64-fbsd -amd64-fbsd
@ -33,6 +33,10 @@
#-video_cards_vmware #-video_cards_vmware
-input_devices_vmmouse -input_devices_vmmouse
# Andreas Sturmlechner <asturm@gentoo.org> (31 Mar 2019)
# sys-auth/elogind is not keyworded here.
elogind
# Ulrich Müller <ulm@gentoo.org> (01 May 2018) # Ulrich Müller <ulm@gentoo.org> (01 May 2018)
# virtual/mysql is not keyworded. # virtual/mysql is not keyworded.
mysql mysql

View File

@ -112,13 +112,13 @@ games-misc/papers-please
games-puzzle/triptych games-puzzle/triptych
games-roguelike/adom games-roguelike/adom
games-rpg/baldurs-gate-ee games-rpg/baldurs-gate-ee
games-rpg/costume-quest
games-rpg/dear-esther games-rpg/dear-esther
games-rpg/dungeon-defenders games-rpg/dungeon-defenders
games-rpg/eschalon-book-1-demo games-rpg/eschalon-book-1-demo
games-rpg/wasteland2 games-rpg/wasteland2
games-server/etqw-ded games-server/etqw-ded
games-server/nwn-ded games-server/nwn-ded
games-server/ut2003-ded
games-simulation/bcs-demo games-simulation/bcs-demo
games-strategy/darwinia games-strategy/darwinia
games-strategy/darwinia-demo games-strategy/darwinia-demo
@ -142,8 +142,3 @@ sci-chemistry/cara-bin
sci-chemistry/mars sci-chemistry/mars
sci-electronics/eagle sci-electronics/eagle
sys-libs/lib-compat-loki sys-libs/lib-compat-loki
# AMD64 Team; <amd64@gentoo.org>
# grub-1 is not available on no-multilib-profiles
<sys-boot/grub-1.99

View File

@ -1,4 +1,4 @@
# Copyright 1999-2017 Gentoo Foundation # Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2 # Distributed under the terms of the GNU General Public License v2
# Mike Gilbert <floppym@gentoo.org> (17 Nov 2016) # Mike Gilbert <floppym@gentoo.org> (17 Nov 2016)
@ -8,6 +8,7 @@ sys-boot/grub:2 grub_platforms_efi-64 grub_platforms_pc
# Michał Górny <mgorny@gentoo.org> (24 Sep 2016) # Michał Górny <mgorny@gentoo.org> (24 Sep 2016)
# Enable the GPU targets matching the default VIDEO_CARDS # Enable the GPU targets matching the default VIDEO_CARDS
dev-ml/llvm-ocaml llvm_targets_AMDGPU llvm_targets_NVPTX
sys-devel/clang llvm_targets_AMDGPU llvm_targets_NVPTX sys-devel/clang llvm_targets_AMDGPU llvm_targets_NVPTX
sys-devel/llvm llvm_targets_AMDGPU llvm_targets_NVPTX sys-devel/llvm llvm_targets_AMDGPU llvm_targets_NVPTX

View File

@ -1,4 +1,4 @@
# Copyright 1999-2017 Gentoo Foundation # Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2 # Distributed under the terms of the GNU General Public License v2
# Georgy Yakovlev <gyakovlev@gentoo.org> (14 May 2018) # Georgy Yakovlev <gyakovlev@gentoo.org> (14 May 2018)
@ -20,6 +20,7 @@ sys-apps/sandbox abi_x86_32
# Michał Górny <mgorny@gentoo.org> (24 Sep 2016) # Michał Górny <mgorny@gentoo.org> (24 Sep 2016)
# Force the host target to avoid dependency hell # Force the host target to avoid dependency hell
dev-ml/llvm-ocaml llvm_targets_X86
sys-devel/clang llvm_targets_X86 sys-devel/clang llvm_targets_X86
sys-devel/llvm llvm_targets_X86 sys-devel/llvm llvm_targets_X86

View File

@ -1,4 +1,4 @@
# Copyright 1999-2018 Gentoo Authors # Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2 # Distributed under the terms of the GNU General Public License v2
# When you add an entry to the top of this file, add your name, the date, and # When you add an entry to the top of this file, add your name, the date, and
@ -17,9 +17,13 @@
#--- END OF EXAMPLES --- #--- END OF EXAMPLES ---
# Andreas Sturmlechner <asturm@gentoo.org> (12 Jan 2019) # Denis Lisov <dennis.lissov@gmail.com> (09 May 2019)
# media-libs/dav1d is available on ~amd64 # Overlay can only be built on amd64 and x86
media-video/vlc -dav1d x11-apps/igt-gpu-tools -overlay
# Georgy Yakovlev <gyakovlev@gentoo.org> (05 March 2019)
# freeipmi is supported on amd64
app-admin/conserver -freeipmi
# Thomas Deutschmann <whissi@gentoo.org> (15 Nov 2018) # Thomas Deutschmann <whissi@gentoo.org> (15 Nov 2018)
# - rdrand plugin is supported on amd64 # - rdrand plugin is supported on amd64
@ -29,11 +33,6 @@ net-vpn/strongswan -strongswan_plugins_rdrand
# Vulkan is only available on amd64 at present. # Vulkan is only available on amd64 at present.
media-libs/libsdl2 -vulkan media-libs/libsdl2 -vulkan
# Thomas Deutschmann <whissi@gentoo.org> (12 Oct 2018)
# www-client/firefox and mail-client/thunderbird are
# available on amd64
app-misc/tracker -firefox-bookmarks -thunderbird
# Michael Palimaka <kensington@gentoo.org> (12 Oct 2018) # Michael Palimaka <kensington@gentoo.org> (12 Oct 2018)
# Unmask arch-specific USE flags available on amd64 # Unmask arch-specific USE flags available on amd64
net-analyzer/testssl -bundled-openssl -kerberos net-analyzer/testssl -bundled-openssl -kerberos
@ -199,11 +198,6 @@ dev-libs/boost -context
# only. # only.
games-emulation/mupen64plus-core new-dynarec games-emulation/mupen64plus-core new-dynarec
# Jeff Horelick <jdhore@gentoo.org> (1 Sep 2013)
# Dependency (media-libs/libsidplayfp) only keyworded
# on x86 and amd64. (masked in base)
>=media-plugins/audacious-plugins-3.4 -sid
# Tim Harder <radhermit@gentoo.org> (13 Aug 2013) # Tim Harder <radhermit@gentoo.org> (13 Aug 2013)
# dev-lang/luajit keyworded for amd64 (masked in base) # dev-lang/luajit keyworded for amd64 (masked in base)
# dev-scheme/racket keyworded for amd64 (masked in base) # dev-scheme/racket keyworded for amd64 (masked in base)
@ -251,12 +245,6 @@ media-sound/pulseaudio -webrtc-aec
# Masked in base profile, supported on this arch # Masked in base profile, supported on this arch
gnustep-base/gnustep-make -libobjc2 gnustep-base/gnustep-make -libobjc2
# Alexandre Rostovtsev <tetromino@gentoo.org> (09 Jan 2012)
# jsc JIT compilation is supported only on amd64/arm/x86 and their prefixes, so
# it's masked in base profile and unmasked here (bug #396313).
net-libs/webkit-gtk -jit
www-client/midori -jit
# Davide Pesavento <pesa@gentoo.org> (30 Nov 2011) # Davide Pesavento <pesa@gentoo.org> (30 Nov 2011)
# The QML (V4) and JSC JITs are supported only on amd64/arm/x86, # The QML (V4) and JSC JITs are supported only on amd64/arm/x86,
# so the flag is masked in the base profile and unmasked here. # so the flag is masked in the base profile and unmasked here.

View File

@ -1,4 +1,4 @@
# Copyright 1999-2018 Gentoo Foundation # Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2 # Distributed under the terms of the GNU General Public License v2
# When you add an entry to the top of this file, add your name, the date, and # When you add an entry to the top of this file, add your name, the date, and
@ -17,6 +17,19 @@
#--- END OF EXAMPLES --- #--- END OF EXAMPLES ---
# Brian Evans <grknight@gentoo.org> (22 May 2019)
# Allow python-exec to install all targets
# Ack by mgorny
dev-lang/python-exec -python_targets_python3_7
# Andreas Sturmlechner <asturm@gentoo.org> (21 May 2019)
# dev-db/oracle-instantclient ain't stable
dev-qt/qtsql oci8
# Andreas Sturmlechner <asturm@gentoo.org> (28 Feb 2019)
# Depends on unstable media-libs/dav1d
media-video/vlc dav1d
# Amy Liffey <amynka@gentoo.org> (15 Jan 2019) # Amy Liffey <amynka@gentoo.org> (15 Jan 2019)
# Mask experimental contrib repo # Mask experimental contrib repo
media-libs/opencv contrib contrib_cvv contrib_dnn contrib_hdf contrib_sfm contrib_xfeatures2d gflags glog tesseract media-libs/opencv contrib contrib_cvv contrib_dnn contrib_hdf contrib_sfm contrib_xfeatures2d gflags glog tesseract
@ -32,6 +45,8 @@ app-admin/sudo -sssd
# Mart Raudsepp <leio@gentoo.org> (01 Nov 2018) # Mart Raudsepp <leio@gentoo.org> (01 Nov 2018)
# net-wireless/iwd not stable yet # net-wireless/iwd not stable yet
net-misc/networkmanager iwd net-misc/networkmanager iwd
# Ben Kohler <bkohler@gentoo.org> (22 May 2019)
net-misc/connman iwd
# Mikle Kolyada <zlogene@gentoo.org> (15 Sep 2018) # Mikle Kolyada <zlogene@gentoo.org> (15 Sep 2018)
# the dependency is unstable # the dependency is unstable
@ -79,10 +94,6 @@ dev-db/mariadb mroonga
# and additional unstable dependencies # and additional unstable dependencies
gnustep-base/gnustep-make libobjc2 gnustep-base/gnustep-make libobjc2
# Pacho Ramos <pacho@gentoo.org> (08 Mar 2015)
# mayavi is broken, bug #500104
dev-python/apptools test
# Michał Górny <mgorny@gentoo.org> (30 Mar 2014) # Michał Górny <mgorny@gentoo.org> (30 Mar 2014)
# Don't apply stable masks to python-exec since we're forcing every # Don't apply stable masks to python-exec since we're forcing every
# impl there anyway. Please keep this in sync with use.stable.mask. # impl there anyway. Please keep this in sync with use.stable.mask.

View File

@ -1,4 +1,4 @@
# Copyright 1999-2017 Gentoo Foundation # Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2 # Distributed under the terms of the GNU General Public License v2
# Unmask the flag which corresponds to ARCH. # Unmask the flag which corresponds to ARCH.
@ -20,10 +20,6 @@
-oci8-instant-client -oci8-instant-client
-oracle -oracle
# Michael Palimaka <kensington@gentoo.org> (03 Jun 2017)
# Unmask elogind since it is keyworded here.
-elogind
# Sven Wegener <swegener@gentoo.org> (31 May 2017) # Sven Wegener <swegener@gentoo.org> (31 May 2017)
# libvirt is supported on amd64 # libvirt is supported on amd64
-libvirt -libvirt
@ -173,10 +169,6 @@
# masked # masked
3dfx 3dfx
# 2007/02/04 - Simon Stelling <blubb@gentoo.org>
# games-emulation/caps is 32bit only, while app-emulation/e-uae is 64bit; bug 158416
capslib
# fdk-aac is already keyworded here # fdk-aac is already keyworded here
-fdk -fdk

View File

@ -24,8 +24,8 @@ app-editors/atom
dev-lang/coffee-script dev-lang/coffee-script
dev-python/bokeh dev-python/bokeh
dev-python/blaze dev-python/blaze
<dev-python/dask-0.15.1
dev-ruby/autoprefixer-rails dev-ruby/autoprefixer-rails
=dev-ruby/capybara-3.20*
dev-ruby/coffee-rails dev-ruby/coffee-rails
dev-ruby/coffee-script dev-ruby/coffee-script
dev-ruby/execjs dev-ruby/execjs

View File

@ -1,10 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# Pacho Ramos <pacho@gentoo.org> (25 Jan 2015)
# jsc JIT compilation is supported only on amd64/arm/x86 and their prefixes, so
# it's masked in base profile and unmasked here (bug #396313). Only in arm7 profile
# because webkit-gtk only reliable tests webkit-gtk on this and JIT support is likely
# to break in several ways on every version bump on non-arm7 (#523400)
net-libs/webkit-gtk -jit
www-client/midori -jit

View File

@ -22,7 +22,3 @@ VIDEO_CARDS="exynos fbdev omap"
# Michał Górny <mgorny@gentoo.org> (14 Mar 2017) # Michał Górny <mgorny@gentoo.org> (14 Mar 2017)
# Unhide the ARM-specific USE_EXPANDs. # Unhide the ARM-specific USE_EXPANDs.
USE_EXPAND_HIDDEN="-CPU_FLAGS_ARM" USE_EXPAND_HIDDEN="-CPU_FLAGS_ARM"
# Hans de Graaff <graaff@gentoo.org> (12 Nov 2018)
# Temporary entry to support stable bug 661262
RUBY_TARGETS="ruby23"

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