Added dev-libs/dietlibc.

This commit is contained in:
László Valkó 2017-04-23 22:59:03 +02:00
parent c2a63e2280
commit bb76d85794
4 changed files with 93 additions and 0 deletions

View file

@ -0,0 +1,4 @@
AUX dietlibc_makefile_uname.patch 528 SHA256 f029f7256e0f1d0c8900a7da6b47dcdf281ca13c7337f1cc8e856471d2de7b46 SHA512 25a5bb2aad451542936f1f8189a4378e1debeb6b38489c5c246246a12c5317f620f86ed5396264a20d178d50703a9454968fa529980c3324d7741e75da9baf31 WHIRLPOOL bb1d5cfdc258a395d0b9034b61b46ba9c33b59325a8351a376a1dc941649926c79aa6cd9af3cbdf3ea7613d12c816d0446b7f19e053ff46896032d6e2fead657
DIST dietlibc-0.34_pre20140729.tar.bz2 670195 SHA256 d6693610c756dbfc070c0ffed5a75e1ddab8d119394962ca1ed4d42f34b57318 SHA512 a0bb5465f7fc985fd074dfcc4039003ec26b6b5fde5f2ccc53322067bd1a6459e742c9debeffda0b5146e287baa8e49f74f4a8ffafdf1daacacec4768d13db36 WHIRLPOOL 566e505a65e3f81c5507fc494324b4f48e5af27683d69c443cf7d2380599a24bbc984d7d430acb25bc0d28baa924565ee513c8217dd2eb6a960c70d6d2a7e1b7
EBUILD dietlibc-0.34_pre20140729.ebuild 1641 SHA256 245cd4b7eb0d465fe09c0f0fe35873b271d4be7bb7412d453f57369a0e305467 SHA512 8384efcf28b715ab6da6a2765b723a39a955e4d258bd477c7e6b3eef638ff4d65235f9c2142364618cd890980cf7e83ca7c8c9614886f6f9a6e9d9bcfd9abdc4 WHIRLPOOL 67e154c09c59af7ded47d8c30d610db8823498efcf20fa899e6c766eb1082da5559b4d459dc7c21f0623463b013c3f5f78f51f5519ec93ee54888f32464c5805
MISC metadata.xml 416 SHA256 d95b607d6ec29573cd92ab2edf016985e1bb9894b5e619870e63fa2c77056b16 SHA512 7d39c127ffecbfc46fc6987189f2d28e92b35effbd71d4aadc465ac5fe1e47d088574700b26bb0bc27f1fd17b3487de85317f34a87393597f99b38a9be3c0c0d WHIRLPOOL da62dae0ece9c8392b2756c64e474b568e65aa8924d0178cd7ea166c31bdd84b7595296029a0bb526762a5d23e9302730f88368f2bec3019f82615c4720c3ca7

View file

@ -0,0 +1,68 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5
inherit eutils flag-o-matic toolchain-funcs
DESCRIPTION="A libc optimized for small size"
HOMEPAGE="http://www.fefe.de/dietlibc/"
SRC_URI="https://dev.gentoo.org/~patrick/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="alpha amd64 ~arm ~ia64 ~mips sparc x86 ~amd64-linux ~x86-linux"
IUSE=""
DEPEND=""
RDEPEND=""
DIETHOME=/usr/diet
S=${WORKDIR}/dietlibc
PATCHES=(
"${FILESDIR}"/dietlibc_makefile_uname.patch
)
src_prepare() {
# Replace sparc64 related C[XX]FLAGS (see bug #45716)
use sparc && replace-sparc64-flags
# gcc-hppa suffers support for SSP, compilation will fail
use hppa && strip-unsupported-flags
# Makefile does not append CFLAGS
append-flags -nostdinc -W -Wall -Wextra -Wchar-subscripts \
-Wmissing-prototypes -Wmissing-declarations -Wno-switch \
-Wno-unused -Wredundant-decls -fno-strict-aliasing
# Disable ssp for we default to it on >=gcc-4.8.3
append-flags $(test-flags -fno-stack-protector)
# only use -nopie on archs that support it
gcc-specs-pie && append-flags -nopie
sed -i -e 's:strip::' Makefile || die
append-flags -Wa,--noexecstack
}
src_compile() {
emake -j1 prefix="${EPREFIX}"${DIETHOME} \
CC="$(tc-getCC)" \
CFLAGS="${CFLAGS}" \
STRIP=":"
}
src_install() {
emake -j1 prefix="${EPREFIX}"${DIETHOME} \
DESTDIR="${D}" \
install-bin \
install-headers \
install-profiling
dobin "${ED}"${DIETHOME}/bin/*
doman "${ED}"${DIETHOME}/man/*/*
rm -r "${ED}"${DIETHOME}/{man,bin} || die
dodoc AUTHOR BUGS CAVEAT CHANGES README THANKS TODO PORTING
}

View file

@ -0,0 +1,11 @@
--- dietlibc/Makefile.orig 2017-04-23 22:16:30.582445506 +0200
+++ dietlibc/Makefile 2017-04-23 22:18:12.275194690 +0200
@@ -10,7 +10,7 @@
EXTRACFLAGS=
-MYARCH:=$(shell uname -m | sed -e 's/i[4-9]86/i386/' -e 's/armv[3-7]t\?e\?[lb]/arm/')
+MYARCH:=$(shell gcc -v 2>&1 |grep 'Target:' | sed -e 's/.*Target: //' -e 's/-.*//' -e 's/i[4-9]86/i386/' -e 's/armv[3-7]t\?e\?[lb]/arm/' )
# This extra-ugly cruft is here so make will not run uname and sed each
# time it looks at $(OBJDIR). This alone sped up running make when

View file

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<longdescription>
The diet libc is a libc that is optimized for small size. It can be
used to create small statically linked binaries for Linux on alpha, arm,
hppa, ia64, i386, mips, s390, sparc, sparc64, ppc and x86_64.
</longdescription>
</pkgmetadata>