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: add 2.9.1
Signed-off-by: Bernard Cafarelli <[email protected]>
- Loading branch information
Showing
2 changed files
with
135 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,2 +1,3 @@ | ||
DIST gnustep-make-2.8.0.tar.gz 606337 BLAKE2B b4defb8fdd8fc17ce2ac14c7d3d63b85e817bb639b7c1ae6a150baf74cda222ac046d890e677b50398bb9953e1496a98e9eb542809c961243f4f620276ab13fb SHA512 e9e57ed7a1c360c2dbf17f70d38e5107a1a9613842dcc645f10ed7a01eb9f9ee71bd2d0cacbe00439ce73f194a3eb3ed2e71409241ac96ee3bba704dcf6dfd7b | ||
DIST gnustep-make-2.9.0.tar.gz 611406 BLAKE2B 73bae19b5d3d3c1e069d22ce7087308166f632277d870fa5ab125d5bc004a1518a1edb6822c61e00b98fc13a1b3354440024bd13d98662002c15298745c4e935 SHA512 ff185affe32d4efc2009d72a3862bc3bffebce05ea5a7fdfbf4372774e57b6654863e317ce648c248716dd3e97a4320d697a313e7eefd04f5723186be6cbf1e3 | ||
DIST gnustep-make-2.9.1.tar.gz 621081 BLAKE2B 1523cdb2b38ebd32c9a6b52edd07302e425aaf5f9820d152c4a4c18b7a34dbcfd1615208f8a8588ea32db354c5955a7e76af50948c88e685bce48077fdc6d646 SHA512 ab36cea1e79ba1248ee7510f2a4d5f5fe5aa0ee7044d51a3b4f65ebaeed08134b3b3ea8a9e34cdb4fa90ac43143d96cf868ae766d2fdc4341419575eb1637f28 |
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,134 @@ | ||
# Copyright 1999-2023 Gentoo Authors | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=8 | ||
inherit gnustep-base prefix toolchain-funcs | ||
|
||
DESCRIPTION="GNUstep Makefile Package" | ||
HOMEPAGE="https://gnustep.github.io" | ||
SRC_URI="ftp://ftp.gnustep.org/pub/gnustep/core/${P}.tar.gz" | ||
|
||
LICENSE="GPL-2" | ||
SLOT="0" | ||
KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux" | ||
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:*[objc] | ||
sys-devel/clang:* | ||
) )" | ||
RDEPEND="${DEPEND}" | ||
|
||
PATCHES=( "${FILESDIR}"/${PN}-2.9.0-no_compress_man_pages.patch ) | ||
|
||
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} -x objective-c \ | ||
- <<<$'int main() {}' -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() { | ||
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 native-exceptions native-objc-exceptions) | ||
} | ||
src_compile() { | ||
emake | ||
if use doc ; then | ||
emake -C Documentation | ||
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 | ||
emake -C Documentation ${make_eval} DESTDIR="${D}" install | ||
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 | ||
} |