forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
gnustep-base/gnustep-make: version bump to 2.6.8
Strict v2 mode was enabled in this release, please fill a bug if a package in portage breaks with it Package-Manager: portage-2.3.0
- Loading branch information
Showing
2 changed files
with
143 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,4 @@ | ||
DIST gnustep-make-2.6.2.tar.gz 562770 SHA256 7a95b3fc5bf14f6b06c4f1f716b48e9de13a11c1fa972aa3cc87736cd98f3e3a SHA512 5ef7889418e7e5acc40cd045772b08d178333dd7cb396b46bfcc117b8953c868cffff5ad41153f6cf2029f1d78d7213516cf1c2cfc88f028ffb883d0e83ea6a4 WHIRLPOOL 73f0953ba044323349a60393ca644031bac13ea48dab6ccbbf533ee5e52daa8411f6b7bdc4fc8928536c37c5edcaf3a6ef40c3c2ee335c0608b5c8d3a6d890d5 | ||
DIST gnustep-make-2.6.6.tar.gz 576589 SHA256 bcef14d875ff70b26dfc9e892f33bd3665e3d5d9b12eca0c4f2aae133aca981d SHA512 bfabcca446e37a167a5ee2da5230023387ed6edec3ca9f7067131f0f1296eb32754f35db13e7fb4670ac9bb9fa2ccfeb728adb63b692ed7f3f8f30ba39276224 WHIRLPOOL 0872046506300e23c40d23a01f29641d299bdc87d4c35d9c189064ed9110fbb7c6aaaf67626282eaa0a1a4a7bc3920617654a412222c19b98571a115020fa033 | ||
DIST gnustep-make-2.6.7.tar.gz 583730 SHA256 112b57737c3dcc66c78a5c88925ae1d672673d256d9935598e98bcd687d051e4 SHA512 4470844ec50d51ce4609b0ec8031e5dcb8422e46fbcfb6b3d6d2fee11f3b8140f6b07edcc3b8462177acb65d81cd4bc29a4fd86793ae52d6106e698170b0dad0 WHIRLPOOL da525cc4502e082ab1cce5f75c05472a1029041cf327104e714a2641f79961c4ecb9deb2afb707ae83af2fea1e50b0c064b27dd20e84d17d137a75226936d64f | ||
DIST gnustep-make-2.6.8.tar.gz 592266 SHA256 603ed2d1339b44d154ea25229330acdedb6784b9c802b3797b2fefe3d2200064 SHA512 1df6757cd1e0dbca3eb6e4ad4346406799ebb2782f5853014cc3b1e8ae47056026e6c5cd43e5671c8802232444602fde164dde352c15b4e0d64bdfdea06bd8a0 WHIRLPOOL d54b06a9082e0b19bdb779c2e3914c57a9ecbad2cbb18de8d6f5cbe07c68208c0e169ee6e8ff41e70d619b028d208ed4089afaa86250bcd7452ae8d90e40cfa8 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,142 @@ | ||
# Copyright 1999-2016 Gentoo Foundation | ||
# Distributed under the terms of the GNU General Public License v2 | ||
# $Id$ | ||
|
||
EAPI=6 | ||
inherit gnustep-base eutils prefix toolchain-funcs | ||
|
||
DESCRIPTION="GNUstep Makefile Package" | ||
HOMEPAGE="http://www.gnustep.org" | ||
SRC_URI="ftp://ftp.gnustep.org/pub/gnustep/core/${P}.tar.gz" | ||
|
||
LICENSE="GPL-2" | ||
SLOT="0" | ||
KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~sparc-solaris ~x86-solaris" | ||
IUSE="libobjc2 native-exceptions" | ||
|
||
DEPEND="${GNUSTEP_CORE_DEPEND} | ||
>=sys-devel/make-3.75 | ||
libobjc2? ( gnustep-base/libobjc2 | ||
sys-devel/clang ) | ||
!libobjc2? ( !!gnustep-base/libobjc2 | ||
|| ( | ||
>=sys-devel/gcc-3.3[objc] | ||
sys-devel/clang | ||
) )" | ||
RDEPEND="${DEPEND}" | ||
|
||
pkg_setup() { | ||
# Determine libobjc.so to use | ||
if use libobjc2; then | ||
libobjc_version=libobjc.so.4 | ||
else | ||
# Find version in active gcc | ||
for ver in {2..5}; | ||
do | ||
if $(tc-getCC) -Werror -Wl,-l:libobjc.so.${ver} \ | ||
"${FILESDIR}"/testlibobjc.m -o /dev/null 2> /dev/null; | ||
then | ||
libobjc_version=libobjc.so.${ver} | ||
fi | ||
done | ||
fi | ||
|
||
# Stop if we could not get libobjc.so | ||
if [[ -z ${libobjc_version} ]]; then | ||
eerror "${P} requires a working Objective-C runtime and a compiler with" | ||
eerror "Objective-C support. Your current settings lack these requirements" | ||
if ! use libobjc2; | ||
then | ||
eerror "Please switch your active compiler to gcc with USE=objc, or clang" | ||
fi | ||
die "Could not find Objective-C runtime" | ||
fi | ||
|
||
# For existing installations, determine if we will use another libobjc.so | ||
if has_version gnustep-base/gnustep-make; then | ||
local current_libobjc="$(awk -F: '/^OBJC_LIB_FLAG/ {print $2}' ${EPREFIX}/usr/share/GNUstep/Makefiles/config.make)" | ||
# Old installations did not set this explicitely | ||
: ${current_libobjc:=libobjc.so.2} | ||
|
||
if [[ ${current_libobjc} != ${libobjc_version} ]]; then | ||
ewarn "Warning: changed libobjc.so version!!" | ||
ewarn "The libobjc.so version used for gnustep-make has changed" | ||
ewarn "(either by the libojbc2 use-flag or a GCC upgrade)" | ||
ewarn "You must rebuild all gnustep packages installed." | ||
ewarn "" | ||
ewarn "To do so, please emerge gnustep-base/gnustep-updater and run:" | ||
ewarn "# gnustep-updater -l" | ||
fi | ||
fi | ||
|
||
if use libobjc2; then | ||
export CC=clang | ||
fi | ||
} | ||
|
||
src_prepare() { | ||
# Multilib-strict | ||
sed -e "s#/lib#/$(get_libdir)#" -i FilesystemLayouts/fhs-system || die "sed failed" | ||
cp "${FILESDIR}"/gnustep-5.{csh,sh} "${T}"/ | ||
eprefixify "${T}"/gnustep-5.{csh,sh} | ||
|
||
default | ||
} | ||
|
||
src_configure() { | ||
#--enable-objc-nonfragile-abi: only working in clang for now | ||
econf \ | ||
INSTALL="${EPREFIX}"/usr/bin/install \ | ||
--with-layout=fhs-system \ | ||
--with-config-file="${EPREFIX}"/etc/GNUstep/GNUstep.conf \ | ||
--with-objc-lib-flag=-l:${libobjc_version} \ | ||
$(use_enable libobjc2 objc-nonfragile-abi) \ | ||
$(use_enable native-exceptions native-objc-exceptions) | ||
} | ||
|
||
src_compile() { | ||
emake | ||
# Prepare doc here (needed when no gnustep-make is already installed) | ||
if use doc ; then | ||
# If a gnustep-1 environment is set | ||
unset GNUSTEP_MAKEFILES | ||
pushd Documentation &> /dev/null | ||
emake -j1 all install | ||
popd &> /dev/null | ||
fi | ||
} | ||
|
||
src_install() { | ||
# Get GNUSTEP_* variables | ||
. ./GNUstep.conf | ||
|
||
local make_eval | ||
use debug || make_eval="${make_eval} debug=no" | ||
make_eval="${make_eval} verbose=yes" | ||
|
||
emake ${make_eval} DESTDIR="${D}" install | ||
|
||
# Copy the documentation | ||
if use doc ; then | ||
dodir ${GNUSTEP_SYSTEM_DOC} | ||
cp -r Documentation/tmp-installation/System/Library/Documentation/* \ | ||
"${ED}"${GNUSTEP_SYSTEM_DOC=} | ||
fi | ||
|
||
dodoc FAQ README RELEASENOTES | ||
|
||
exeinto /etc/profile.d | ||
doexe "${T}"/gnustep-?.sh | ||
doexe "${T}"/gnustep-?.csh | ||
} | ||
|
||
pkg_postinst() { | ||
# Warn about new layout if old GNUstep directory is still here | ||
if [ -e /usr/GNUstep/System ]; then | ||
ewarn "Old layout directory detected (/usr/GNUstep/System)" | ||
ewarn "Gentoo has switched to FHS layout for GNUstep packages" | ||
ewarn "You must first update the configuration files from this package," | ||
ewarn "then remerge all packages still installed with the old layout" | ||
ewarn "You can use gnustep-base/gnustep-updater for this task" | ||
fi | ||
} |