summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--eclass/cmake-utils.eclass53
-rw-r--r--games-action/badland/Manifest2
-rw-r--r--games-action/badland/badland-121.ebuild67
-rw-r--r--games-action/badland/metadata.xml8
-rw-r--r--media-gfx/imagemagick/Manifest1
-rw-r--r--media-gfx/imagemagick/imagemagick-7.0.8.16.ebuild250
-rw-r--r--profiles/arch/amd64/no-multilib/package.mask1
7 files changed, 370 insertions, 12 deletions
diff --git a/eclass/cmake-utils.eclass b/eclass/cmake-utils.eclass
index 98f5fa41b55a..776de76b31d4 100644
--- a/eclass/cmake-utils.eclass
+++ b/eclass/cmake-utils.eclass
@@ -9,7 +9,7 @@
# Maciej Mrozowski <reavertm@gentoo.org>
# (undisclosed contributors)
# Original author: Zephyrus (zephyrus@mirach.it)
-# @SUPPORTED_EAPIS: 5 6
+# @SUPPORTED_EAPIS: 5 6 7
# @BLURB: common ebuild functions for cmake-based packages
# @DESCRIPTION:
# The cmake-utils eclass makes creating ebuilds for cmake-based packages much easier.
@@ -50,10 +50,12 @@ _CMAKE_UTILS_ECLASS=1
# Set to enable in-source build.
# @ECLASS-VARIABLE: CMAKE_MAKEFILE_GENERATOR
+# @DEFAULT_UNSET
# @DESCRIPTION:
# Specify a makefile generator to be used by cmake.
# At this point only "emake" and "ninja" are supported.
-: ${CMAKE_MAKEFILE_GENERATOR:=emake}
+# In EAPI 7 and above, the default is set to "ninja",
+# whereas in EAPIs below 7, it is set to "emake".
# @ECLASS-VARIABLE: CMAKE_MIN_VERSION
# @DESCRIPTION:
@@ -105,27 +107,39 @@ _CMAKE_UTILS_ECLASS=1
case ${EAPI} in
5) : ${CMAKE_WARN_UNUSED_CLI:=no} ;;
- 6) : ${CMAKE_WARN_UNUSED_CLI:=yes} ;;
+ 6|7) : ${CMAKE_WARN_UNUSED_CLI:=yes} ;;
*) die "EAPI=${EAPI:-0} is not supported" ;;
esac
inherit toolchain-funcs ninja-utils flag-o-matic multiprocessing xdg-utils
case ${EAPI} in
- 5|6) inherit eutils multilib ;;
+ [56])
+ : ${CMAKE_MAKEFILE_GENERATOR:=emake}
+ inherit eutils multilib
+ ;;
+ *)
+ : ${CMAKE_MAKEFILE_GENERATOR:=ninja}
+ ;;
esac
EXPORT_FUNCTIONS src_prepare src_configure src_compile src_test src_install
-[[ ${WANT_CMAKE} ]] && eqawarn "\${WANT_CMAKE} has been removed and is a no-op now"
+if [[ ${WANT_CMAKE} ]]; then
+ if [[ ${EAPI} != [56] ]]; then
+ die "\${WANT_CMAKE} has been removed and is a no-op now"
+ else
+ eqawarn "\${WANT_CMAKE} has been removed and is a no-op now"
+ fi
+fi
[[ ${PREFIX} ]] && die "\${PREFIX} has been removed and is a no-op now"
case ${CMAKE_MAKEFILE_GENERATOR} in
emake)
- DEPEND="sys-devel/make"
+ BDEPEND="sys-devel/make"
;;
ninja)
- DEPEND="dev-util/ninja"
+ BDEPEND="dev-util/ninja"
;;
*)
eerror "Unknown value for \${CMAKE_MAKEFILE_GENERATOR}"
@@ -134,9 +148,14 @@ case ${CMAKE_MAKEFILE_GENERATOR} in
esac
if [[ ${PN} != cmake ]]; then
- DEPEND+=" >=dev-util/cmake-${CMAKE_MIN_VERSION}"
+ BDEPEND+=" >=dev-util/cmake-${CMAKE_MIN_VERSION}"
fi
+case ${EAPI} in
+ 7) ;;
+ *) DEPEND=" ${BDEPEND}" ;;
+esac
+
# Internal functions used by cmake-utils_use_*
_cmake_use_me_now() {
debug-print-function ${FUNCNAME} "$@"
@@ -195,8 +214,13 @@ _cmake_check_build_dir() {
# Respect both the old variable and the new one, depending
# on which one was set by the ebuild.
if [[ ! ${BUILD_DIR} && ${CMAKE_BUILD_DIR} ]]; then
- eqawarn "The CMAKE_BUILD_DIR variable has been renamed to BUILD_DIR."
- eqawarn "Please migrate the ebuild to use the new one."
+ if [[ ${EAPI} != [56] ]]; then
+ eerror "The CMAKE_BUILD_DIR variable has been renamed to BUILD_DIR."
+ die "The ebuild must be migrated to BUILD_DIR."
+ else
+ eqawarn "The CMAKE_BUILD_DIR variable has been renamed to BUILD_DIR."
+ eqawarn "Please migrate the ebuild to use the new one."
+ fi
# In the next call, both variables will be set already
# and we'd have to know which one takes precedence.
@@ -211,7 +235,7 @@ _cmake_check_build_dir() {
fi
# Backwards compatibility for getting the value.
- CMAKE_BUILD_DIR=${BUILD_DIR}
+ [[ ${EAPI} == [56] ]] && CMAKE_BUILD_DIR=${BUILD_DIR}
mkdir -p "${BUILD_DIR}" || die
echo ">>> Working in BUILD_DIR: \"$BUILD_DIR\""
@@ -495,7 +519,11 @@ cmake-utils_src_configure() {
debug-print-function ${FUNCNAME} "$@"
if [[ ! ${_CMAKE_UTILS_SRC_PREPARE_HAS_RUN} ]]; then
- eqawarn "cmake-utils_src_prepare has not been run, please open a bug on https://bugs.gentoo.org/"
+ if [[ ${EAPI} != [56] ]]; then
+ die "FATAL: cmake-utils_src_prepare has not been run"
+ else
+ eqawarn "cmake-utils_src_prepare has not been run, please open a bug on https://bugs.gentoo.org/"
+ fi
fi
[[ ${EAPI} == 5 ]] && _cmake_cleanup_cmake
@@ -617,6 +645,7 @@ cmake-utils_src_configure() {
if [[ ${EAPI} != [56] ]]; then
cat >> "${common_config}" <<- _EOF_ || die
SET (CMAKE_INSTALL_DOCDIR "${EPREFIX}/usr/share/doc/${PF}" CACHE PATH "")
+ SET (BUILD_SHARED_LIBS ON CACHE BOOLEAN "")
_EOF_
fi
diff --git a/games-action/badland/Manifest b/games-action/badland/Manifest
new file mode 100644
index 000000000000..984eb00c0fd9
--- /dev/null
+++ b/games-action/badland/Manifest
@@ -0,0 +1,2 @@
+DIST Badland_GotY_121.tar 191872792 BLAKE2B ed1c75d378b742a9f2c82f2ca1055837ff302e1438d4d1a48118ff0caf0455ce0001bb3b90e7c80361672435d2a846d67c94d1c8f28e8ecf8afe87d4177aaa86 SHA512 db018e79fada80c2e6f4ce9dc1f23bf43a8b6257207e52dbb583c484bb71e4e6b0109f750ab8fb7b1e221e2618a1994828c4525d478b7d45bf7d60012f9cf13a
+DIST badland.png 42439 BLAKE2B 9439349c8f0a0133fdc042a373a4f625d0988ef4b9de71456ccc1dab4b0f8f56ab386e5f2ba5b322ca5f885c9784c325c9be25d691a740a89dc237afa2216451 SHA512 30387f1906fb35ff9684a8ad28535de7804e456ff545fd69bc6bad3d96c6e2149ca9c5fe19a6dc711f145191d72311538b402d3891971185fc07edabd61ba52f
diff --git a/games-action/badland/badland-121.ebuild b/games-action/badland/badland-121.ebuild
new file mode 100644
index 000000000000..78a303c69884
--- /dev/null
+++ b/games-action/badland/badland-121.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit desktop eutils gnome2-utils
+
+DESCRIPTION="Atmospheric side-scrolling action adventure platformer set in a gorgeous forest"
+HOMEPAGE="http://badlandgame.com"
+SRC_URI="Badland_GotY_${PV}.tar
+ https://dev.gentoo.org/~chewi/distfiles/${PN}.png"
+LICENSE="all-rights-reserved"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~x86"
+RESTRICT="bindist splitdebug"
+
+QA_PREBUILT="opt/${PN}/*"
+
+DEPEND="
+ app-admin/chrpath
+"
+
+RDEPEND="
+ dev-db/sqlite:3[abi_x86_32]
+ media-libs/fontconfig:1.0[abi_x86_32]
+ media-libs/freetype:2[abi_x86_32]
+ media-libs/libpng:1.2[abi_x86_32]
+ media-libs/libsdl2[abi_x86_32,joystick,opengl,sound,threads,video]
+ net-misc/curl[abi_x86_32]
+ >=sys-devel/gcc-4.6[cxx]
+ >=sys-libs/glibc-2.14
+ virtual/opengl[abi_x86_32]
+ x11-libs/libX11[abi_x86_32]
+"
+
+S="${WORKDIR}"
+
+pkg_nofetch() {
+ einfo "Please buy and download ${SRC_URI} from:"
+ einfo " https://www.humblebundle.com/store/badland-game-of-the-year-humble-deluxe-edition"
+ einfo "and move it to your distfiles directory."
+}
+
+src_prepare() {
+ default
+
+ # Replace insecure RPATH.
+ chrpath -r '$ORIGIN' ${PN} || die
+}
+
+src_install() {
+ local dir=/opt/${PN}
+
+ insinto "${dir}"
+ doins -r Resources
+
+ exeinto "${dir}"
+ doexe ${PN} *.so
+
+ make_wrapper ${PN} "./${PN}" "${dir}"
+ make_desktop_entry ${PN} "Badland"
+
+ doicon -s 128 "${DISTDIR}"/${PN}.png
+}
+
+pkg_postinst() { gnome2_icon_cache_update; }
+pkg_postrm() { gnome2_icon_cache_update; }
diff --git a/games-action/badland/metadata.xml b/games-action/badland/metadata.xml
new file mode 100644
index 000000000000..26079e608bed
--- /dev/null
+++ b/games-action/badland/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/media-gfx/imagemagick/Manifest b/media-gfx/imagemagick/Manifest
index 2ce3cf1ca049..b28c5474f4f2 100644
--- a/media-gfx/imagemagick/Manifest
+++ b/media-gfx/imagemagick/Manifest
@@ -1,2 +1,3 @@
DIST ImageMagick-6.9.10-14.tar.xz 8931552 BLAKE2B e064648947f661c41fe86dea6484c0b9e01e54fcd3428b8d6dd39b2b7f93735200af9e4b49f0bdc92b574afbaa53ed044aab2b4b751e087ba126e58cdda1f497 SHA512 1a2c9fb717b0441a18c638991cf5365c42d00c19c0f67bc7cce4bd2cba42bac602e4dba8bd4abc1dbc6609a08b1292403acc3657b61c58ed0609e2bf740d0725
DIST ImageMagick-7.0.8-14.tar.xz 8634400 BLAKE2B 1d5ad294ce29f275790c3b6ba76445ffb4aeaa2ff94d91af4d52a00b407dca0e5a4f589ec1a860bf6695952f8e7943d507baee58b885dc5fca3510de1d84c8eb SHA512 0a5f3357f4ce5b245d60b178d81b58c3483effb45b669791d4686514a8c3b0ad04244e31caf0a4a614e73e3e071c17d851992670917ebcf2761c977d77c58dd6
+DIST ImageMagick-7.0.8-16.tar.xz 8646148 BLAKE2B 5a9c287164f99886c411cbb1416aaa72bdf527ba3be097a0ea6638cc6b0ae383057acab09974c7d3954a2985ec39e0ce4f6d6a2423ff4bb020d011bd1988c337 SHA512 fbc0b0410702c15352989652c055e4e1a099878e30b859c75322e162eccd384cabb98e14cac14e3fb2c902f25f80a5b62f94380ef78f891731980de9a40b6867
diff --git a/media-gfx/imagemagick/imagemagick-7.0.8.16.ebuild b/media-gfx/imagemagick/imagemagick-7.0.8.16.ebuild
new file mode 100644
index 000000000000..adf47c49a562
--- /dev/null
+++ b/media-gfx/imagemagick/imagemagick-7.0.8.16.ebuild
@@ -0,0 +1,250 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+inherit eapi7-ver eutils flag-o-matic libtool perl-functions toolchain-funcs multilib
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="https://github.com/ImageMagick/ImageMagick.git"
+ inherit git-r3
+ MY_P="imagemagick-9999"
+else
+ MY_P=ImageMagick-$(ver_rs 3 '-')
+ SRC_URI="mirror://${PN}/${MY_P}.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+fi
+
+DESCRIPTION="A collection of tools and libraries for many image formats"
+HOMEPAGE="https://www.imagemagick.org/"
+
+LICENSE="imagemagick"
+SLOT="0/${PV}"
+IUSE="bzip2 corefonts cxx djvu fftw fontconfig fpx graphviz hdri heif jbig jpeg jpeg2k lcms lqr lzma opencl openexr openmp pango perl png postscript q32 q8 raw static-libs svg test tiff truetype webp wmf X xml zlib"
+
+RDEPEND="
+ dev-libs/libltdl:0
+ bzip2? ( app-arch/bzip2 )
+ corefonts? ( media-fonts/corefonts )
+ djvu? ( app-text/djvu )
+ fftw? ( sci-libs/fftw:3.0 )
+ fontconfig? ( media-libs/fontconfig )
+ fpx? ( >=media-libs/libfpx-1.3.0-r1 )
+ graphviz? ( media-gfx/graphviz )
+ heif? ( media-libs/libheif:= )
+ jbig? ( >=media-libs/jbigkit-2:= )
+ jpeg? ( virtual/jpeg:0 )
+ jpeg2k? ( >=media-libs/openjpeg-2.1.0:2 )
+ lcms? ( media-libs/lcms:2= )
+ lqr? ( media-libs/liblqr )
+ opencl? ( virtual/opencl )
+ openexr? ( media-libs/openexr:0= )
+ pango? ( x11-libs/pango )
+ perl? ( >=dev-lang/perl-5.8.8:0= )
+ png? ( media-libs/libpng:0= )
+ postscript? ( app-text/ghostscript-gpl )
+ raw? ( media-libs/libraw:= )
+ svg? ( gnome-base/librsvg )
+ tiff? ( media-libs/tiff:0= )
+ truetype? (
+ media-fonts/urw-fonts
+ >=media-libs/freetype-2
+ )
+ webp? ( media-libs/libwebp:0= )
+ wmf? ( media-libs/libwmf )
+ X? (
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libXext
+ x11-libs/libXt
+ )
+ xml? ( dev-libs/libxml2:= )
+ lzma? ( app-arch/xz-utils )
+ zlib? ( sys-libs/zlib:= )"
+DEPEND="${RDEPEND}
+ !media-gfx/graphicsmagick[imagemagick]
+ virtual/pkgconfig
+ X? ( x11-base/xorg-proto )"
+
+REQUIRED_USE="corefonts? ( truetype )
+ test? ( corefonts )"
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+ default
+
+ # Apply hardening #664236
+ cp "${FILESDIR}"/policy-hardening.snippet "${S}" || die
+ sed -i -e '/^<policymap>$/ {
+ r policy-hardening.snippet
+ d
+ }' \
+ config/policy.xml || \
+ die "Failed to apply hardening of policy.xml"
+ einfo "policy.xml hardened"
+
+ elibtoolize # for Darwin modules
+
+ # For testsuite, see https://bugs.gentoo.org/show_bug.cgi?id=500580#c3
+ local ati_cards mesa_cards nvidia_cards render_cards
+ shopt -s nullglob
+ ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g')
+ if test -n "${ati_cards}"; then
+ addpredict "${ati_cards}"
+ fi
+ mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
+ if test -n "${mesa_cards}"; then
+ addpredict "${mesa_cards}"
+ fi
+ nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g')
+ if test -n "${nvidia_cards}"; then
+ addpredict "${nvidia_cards}"
+ fi
+ render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g')
+ if test -n "${render_cards}"; then
+ addpredict "${render_cards}"
+ fi
+ shopt -u nullglob
+ addpredict /dev/nvidiactl
+}
+
+src_configure() {
+ local depth=16
+ use q8 && depth=8
+ use q32 && depth=32
+
+ local openmp=disable
+ use openmp && { tc-has-openmp && openmp=enable; }
+
+ use perl && perl_check_env
+
+ [[ ${CHOST} == *-solaris* ]] && append-ldflags -lnsl -lsocket
+
+ local myeconfargs=(
+ $(use_enable static-libs static)
+ $(use_enable hdri)
+ $(use_enable opencl)
+ --with-threads
+ --with-modules
+ --with-quantum-depth=${depth}
+ $(use_with cxx magick-plus-plus)
+ $(use_with perl)
+ --with-perl-options='INSTALLDIRS=vendor'
+ --with-gs-font-dir="${EPREFIX}"/usr/share/fonts/urw-fonts
+ $(use_with bzip2 bzlib)
+ $(use_with X x)
+ $(use_with zlib)
+ --without-autotrace
+ $(use_with postscript dps)
+ $(use_with djvu)
+ --with-dejavu-font-dir="${EPREFIX}"/usr/share/fonts/dejavu
+ $(use_with fftw)
+ $(use_with fpx)
+ $(use_with fontconfig)
+ $(use_with truetype freetype)
+ $(use_with postscript gslib)
+ $(use_with graphviz gvc)
+ $(use_with heif heic)
+ $(use_with jbig)
+ $(use_with jpeg)
+ $(use_with jpeg2k openjp2)
+ $(use_with lcms)
+ $(use_with lqr)
+ $(use_with lzma)
+ $(use_with openexr)
+ $(use_with pango)
+ $(use_with png)
+ $(use_with raw)
+ $(use_with svg rsvg)
+ $(use_with tiff)
+ $(use_with webp)
+ $(use_with corefonts windows-font-dir "${EPREFIX}"/usr/share/fonts/corefonts)
+ $(use_with wmf)
+ $(use_with xml)
+ --${openmp}-openmp
+ --with-gcc-arch=no-automagic
+ )
+ CONFIG_SHELL=$(type -P bash) econf "${myeconfargs[@]}"
+}
+
+src_test() {
+ # Install default (unrestricted) policy in $HOME for test suite #664238
+ local _im_local_config_home="${HOME}/.config/ImageMagick"
+ mkdir -p "${_im_local_config_home}" || \
+ die "Failed to create IM config dir in '${_im_local_config_home}'"
+ cp "${FILESDIR}"/policy.test.xml "${_im_local_config_home}/policy.xml" || \
+ die "Failed to install default blank policy.xml in '${_im_local_config_home}'"
+
+ local im_command= IM_COMMANDS=()
+ IM_COMMANDS+=( "magick -version" ) # Verify that we are using version we just built
+ IM_COMMANDS+=( "magick -list policy" ) # Verify that policy.xml is used
+ IM_COMMANDS+=( "emake check" ) # Run tests
+
+ for im_command in "${IM_COMMANDS[@]}"; do
+ "${S}"/magick.sh \
+ ${im_command} || die
+ done
+}
+
+src_install() {
+ # Ensure documentation installation files and paths with each release!
+ emake \
+ DESTDIR="${D}" \
+ DOCUMENTATION_PATH="${EPREFIX}"/usr/share/doc/${PF}/html \
+ install
+
+ rm -f "${ED%/}"/usr/share/doc/${PF}/html/{ChangeLog,LICENSE,NEWS.txt}
+ dodoc {AUTHORS,README}.txt ChangeLog
+
+ if use perl; then
+ find "${ED}" -type f -name perllocal.pod -exec rm -f {} +
+ find "${ED}" -depth -mindepth 1 -type d -empty -exec rm -rf {} +
+ fi
+
+ find "${ED}" -name '*.la' -exec sed -i -e "/^dependency_libs/s:=.*:='':" {} +
+
+ if use opencl; then
+ cat <<-EOF > "${T}"/99${PN}
+ SANDBOX_PREDICT="/dev/nvidiactl:/dev/nvidia-uvm:/dev/ati/card:/dev/dri/card:/dev/dri/renderD128"
+ EOF
+
+ insinto /etc/sandbox.d
+ doins "${T}"/99${PN} #472766
+ fi
+
+ insinto /usr/share/${PN}
+ doins config/*icm
+}
+
+pkg_postinst() {
+ local _show_policy_xml_notice=
+
+ if [[ -z "${REPLACING_VERSIONS}" ]]; then
+ # This is a new installation
+ _show_policy_xml_notice=yes
+ else
+ local v
+ for v in ${REPLACING_VERSIONS}; do
+ if ! ver_test "${v}" -gt "7.0.8.10-r2"; then
+ # This is an upgrade
+ _show_policy_xml_notice=yes
+
+ # Show this elog only once
+ break
+ fi
+ done
+ fi
+
+ if [[ -n "${_show_policy_xml_notice}" ]]; then
+ elog "For security reasons, a policy.xml file was installed in /etc/ImageMagick-7"
+ elog "which will prevent the usage of the following coders by default:"
+ elog ""
+ elog " - PS"
+ elog " - PS2"
+ elog " - PS3"
+ elog " - EPS"
+ elog " - PDF"
+ elog " - XPS"
+ fi
+}
diff --git a/profiles/arch/amd64/no-multilib/package.mask b/profiles/arch/amd64/no-multilib/package.mask
index 86db307b5e4e..4fda87811fdd 100644
--- a/profiles/arch/amd64/no-multilib/package.mask
+++ b/profiles/arch/amd64/no-multilib/package.mask
@@ -35,6 +35,7 @@ dev-embedded/openocd
dev-util/android-ndk
dev-util/android-sdk-update-manager
dev-util/biew
+games-action/badland
games-action/beathazardultra
games-action/brutal-legend
games-action/cs2d