summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnthony G. Basile <blueness@gentoo.org>2015-05-13 14:49:12 +0000
committerAnthony G. Basile <blueness@gentoo.org>2015-05-13 14:49:12 +0000
commit32527b3fe42b4eb65bba79e53d32771674296e18 (patch)
tree0ab6b51d00c202da6caca3dce320b5f847d8b505 /sys-libs
parentCorrect wrong slot. (diff)
downloadhistorical-32527b3fe42b4eb65bba79e53d32771674296e18.tar.gz
historical-32527b3fe42b4eb65bba79e53d32771674296e18.tar.bz2
historical-32527b3fe42b4eb65bba79e53d32771674296e18.zip
Version bump. Addresses bug #544128.
Package-Manager: portage-2.2.18/cvs/Linux x86_64 Manifest-Sign-Key: 0xF52D4BBA
Diffstat (limited to 'sys-libs')
-rw-r--r--sys-libs/musl/ChangeLog8
-rw-r--r--sys-libs/musl/Manifest33
-rw-r--r--sys-libs/musl/files/ldconfig.in144
-rw-r--r--sys-libs/musl/musl-1.1.9.ebuild126
-rw-r--r--sys-libs/musl/musl-9999.ebuild28
5 files changed, 320 insertions, 19 deletions
diff --git a/sys-libs/musl/ChangeLog b/sys-libs/musl/ChangeLog
index da91b777c2dd..9b9adc0f49f5 100644
--- a/sys-libs/musl/ChangeLog
+++ b/sys-libs/musl/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for sys-libs/musl
# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-libs/musl/ChangeLog,v 1.54 2015/05/13 12:51:20 blueness Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-libs/musl/ChangeLog,v 1.55 2015/05/13 14:49:02 blueness Exp $
+
+*musl-1.1.9 (13 May 2015)
+
+ 13 May 2015; Anthony G. Basile <blueness@gentoo.org> +files/ldconfig.in,
+ +musl-1.1.9.ebuild, musl-9999.ebuild:
+ Version bump. Addresses bug #544128.
13 May 2015; Anthony G. Basile <blueness@gentoo.org> musl-1.1.8-r2.ebuild:
Stable for amd64, arm, ppc and x86.
diff --git a/sys-libs/musl/Manifest b/sys-libs/musl/Manifest
index af728a69a8d4..e20ece2e1439 100644
--- a/sys-libs/musl/Manifest
+++ b/sys-libs/musl/Manifest
@@ -3,28 +3,31 @@ Hash: SHA256
AUX getent 1168 SHA256 391f5e2bf876d1a5d0ebc4bd80f15e297049cf3296252dfee6549d32e9b43f6a SHA512 60e10b9ac073e5b648b2c22c8e75a3f2c8a26e28f6d50059e4b921f17adbd0f6d7aa65d8441ebab19f07b21592425962b736071c55d0c274855bc1dbb2567382 WHIRLPOOL 4c0422d73eb5f4cfe91c49e95364778cf3453409c3948b375dc5e021be1e0186c110b9d0f674722db211f772cb4da1414ea06aaaed75cd853d31cb13bb70b5c0
AUX ldconfig 2542 SHA256 e58f98ddd14206a43439bf3431abee786f800867b3e53ac50d43cc8528304621 SHA512 384213cec3842bf9305c9093d7f52c11f8b448c3dcfd78c34e90c28a0ce3848046724f196b1146238ee8fa5f7e337289305efa82cb1f6948f3e171566f71d9b6 WHIRLPOOL 73fcd097ad68b6ae5f33099e45d129fd89ee74c23760fc1eca6b4612fd1a8030df85a8fe019c2bf4e6ed4b0b3a969d2f3678ddd2f6955685037eaff9503cab93
+AUX ldconfig.in 2558 SHA256 d0b0d5d4c955c0a0385ebb4f897afceeb64349089b97f41300cd088eb84d7d3a SHA512 dd18cb4f9910f338a840ceb192525159dd199263bd7d63cb98bc27cc0d876956756881da6ce589e2db13874bfe1b9ce23e7ab2a9ca6aafe360ab6797f580f84f WHIRLPOOL 1fb87b774e8ea06d33f1a502408342847893b4259e83ca6e817f1592a3b6ba3ce3d10cebe5c30c6761e93c7fa3b970011ae5bcdcd01815e3b4ce8451fabc22a0
DIST musl-1.1.7.tar.gz 904546 SHA256 d8e0aae287ecf8aa6500d3ed4131f33d216a7857dc7649a89125ffca6bf91599 SHA512 7fe002ed5f7fd96c8759f3f85ee382809043e1829e093b88eaaddc197f7d558473ad66b33be41dbb1afe750ccdd62e6dfcc3a591c122e84435142fab890e8edc WHIRLPOOL c9261b4887df25316f7b179cfdf6b25277f69aa512c29ebe53b6fa4742712007d393144cbbf825be4cb63aa250558efbae2dcb43185a4937b99c0e9bd6efc861
DIST musl-1.1.8.tar.gz 904465 SHA256 fa928506415b9c555977daaf874c190eaf7fbbd16028cc5c5f33a00a83227813 SHA512 de2f0b03fd199e2ceb9937686d1092838744dccaddb3916f9baef9cdd2621624fb3c4af2206a3366d12852d84ccc8b0b68350f9d06a9e2bcdbc0309dc05383ff WHIRLPOOL 439059ed2134614cf7ccd3b8b7a8c50c53b7aab4a8114b030a1bd2fdb12c6c57621a7ee139aafcada2500c3b0dea3b1b812d7bae7bca85243867edd520adb891
+DIST musl-1.1.9.tar.gz 905914 SHA256 00bf7173caf972c88cd07cb0d420c082a2f35efcccc1a81f8909bec2d030283e SHA512 a6f899814b728113d3ad1b9d03dfde4991af1d9cb85cf596583d6c98cfd596dc2523453ff9bd6e40daef9a63682bf39a66d88ddaa5b51bac72f52c9ff43b9590 WHIRLPOOL b86ed0bbbbecc24b4ea3efd9682f2a6bbe81453e9f801a55f9cd8ffab0cc61ff4f4fa5c2ac956afd7e0685e04060fd8622426dba7284ef3d55348860a9603fba
EBUILD musl-1.1.7.ebuild 2387 SHA256 61b02e2d18a8569d472a965c3e11056908c76afaf525350b02ee19b52621eb42 SHA512 402e41969d1f7e8904f5b7ae5e7a3ba7a284e49b9ba433a45caa27cf51b2222008787315112adf6d312c35bb03d7976cde4d21e76b38baa4a442944c3ae82918 WHIRLPOOL 56ae3116803f97f3ff4e5ed5c20093b1867519a68530d381022b9047421401f4f0aa41eb2ad4e5db9d5bd9e7e05818a82418c6ce006cf0e2b5d28f6501178d34
EBUILD musl-1.1.8-r2.ebuild 2339 SHA256 cc55dbc85aa91d33b4094e0b77028b370ab8cb48987468dda8c4d0a7a48f027c SHA512 84d3ff99993afb056d2e477d57cb3a5d9d28f1cc558f81fac3058c7226991104c58d438d84a24082c08db2a507eebb73fc9df22fb1afecc463fed9d32f054567 WHIRLPOOL 64aba73f221f0f2deb56037bcdcb222f261d57521a349a566071b769091179306ab6108dfbf3b1b35b3587f834e5899cb4df47efcc3e8f60d7e2c19da3de117d
EBUILD musl-1.1.8.ebuild 2266 SHA256 a1930616bfe7da7b3d2dc0f8603805b915bf468baf4d1a219d9af0a40735b568 SHA512 e364bfe6557b3b22bd68530613bf904941d5446f011ccc167ec30a3e1d157037bbe99f9b46d8ab37f35079605797a4c845fee2423f39a984813fff76d5bd3a6f WHIRLPOOL a0fa6c23da24b459ce1571051f3f7ae918c4cbc783578b3850fc098afba24df95a4b7ec499756a1e464cb3b22fd659a9e89436afed875b6879b92fdb7a456951
-EBUILD musl-9999.ebuild 2340 SHA256 ab5d66c396db9ca719f05e22e1d9a10e639b34c8886fcbb66a6ed53d96f49b38 SHA512 90ffe2a2ce28f233904f1dd21de51ab430d4182937d203e70f0abc5ca5864415e0d23075f400ee62b27ecf9d936d7aa906960b6778c4638bff3af3e4b311cae4 WHIRLPOOL 938c97aae25ed7006f2d7780c107fd4b9153a7cbdf0dc02de7eb834e34cb9c2c18a8729c580b32f6cae77d4c7a1e90f94a692d7a99a0a7418ce46f9446b30447
-MISC ChangeLog 7765 SHA256 613a9098af14a8430def916bcb6bf080ef344799d70094e74fa392f5bf82988c SHA512 7b3e2237bd2d0a274a19018fa07a226961d57124f4a28316613ceb3dc307a5c1bf525e570dfb949b135fa2b2f47e6b1c836799b6dabeece71896b95d5117fbde WHIRLPOOL 011182a12f8e2721e344db0c26db3a334a7961dbc16131df52cbb22c525cd7edada283b0ba3a59e56013fb7c6c21e5888ec88c6d03bf9640bb2c41e21bfe7c64
+EBUILD musl-1.1.9.ebuild 3027 SHA256 6fcd38aad546f9e19388e4b86c6caa3fb503c93e2ff6fb57caa9a5fde4fe62ae SHA512 2123dc416704d13d15c2e14c3ae5150afae93d75e37ac8ff59f515123fcd00416559308d676e3e2cd791180d1bcd687cfedcd62dc17a016647211e61d9766a97 WHIRLPOOL 6f1cc608745de88d0a6c91d1dde5f1e7ca2c87e421da3614d8a2ec4465407e819e0622dea1d6c88dedad6382bab1b564b77d3aaa6613356255bd8a5aa0775c48
+EBUILD musl-9999.ebuild 3027 SHA256 367ad5cbea6d775003b8185cc223003128e9f29aa4a3a3de6179b6685427fc82 SHA512 aea7e1e8437928d8048926fa31c0d0fd0e0820b65caa43a77aed8eb84f6e93d8d2dccb8d6fc78096b5a2c067c703e30ebf4f4689f234a63e4431c04844098ad0 WHIRLPOOL e7f76cb40d64898621771444cf0fd076a55e904264247c9c928dcb573cba316283abd218518efccb63a90638f9877795620cee456352267b4891478c59f139a5
+MISC ChangeLog 7948 SHA256 5f706470ba13b2847db14d658abeb25c1f9129f546a4dfce8aa442a1aea1286c SHA512 a7c09520be18f952c3a3330555522b5625571c56a231c6a95bc56e67a03cdc6f5d98d5144b0f33fd8f570952e8b9ad1e4667be08af13c445828001a60dd8eb87 WHIRLPOOL a2095e7d81a814dd2ba81e55d3004ac9cf57285182bd113ac50dc97651ca7af5c1d429b9e8c0e435466600921a5284f76f1b0d131774e99dad998c8c66505442
MISC metadata.xml 327 SHA256 fd917b3ad115fac11699c82ff087e97c323fe2327f77813c9a2b9cfc27e45042 SHA512 b58ed48ee5332d6e91dfb58faad0a0fecd4b8da27b0edf6c1809a7338764e629eb5c12feb09fae80443b486af27af0d0f2e6ceeb4fc605e6d04b31c1041b3127 WHIRLPOOL 4941c5da58f683ff0a83fdc83017a8fd9a1bbb02fa1b5ea47302ebe7f7d324c0820088acb1eb32263fdb9b4120bc93f24997515bc30515b90055b48d167fd56a
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
-iQIcBAEBCAAGBQJVU0jhAAoJEJOE+m71LUu6IHcP/1WxrlXTrGtqqBIVB0drrmRQ
-YXrih6AYXJUl0oxRYDDzwjhylb22HRBn/tsTWO5QLvLnm+glcVnKehORpxQ6JQPv
-aL2v66q0TXF7jazvnZHZ/s2mmODztVqi3303uSMtQpwZRwm9w1mFCR2Eh2jbZiSA
-aHKKeTlL+z/Mf9QQmL+BRsNKhKZKvY54Hbludgza7JR8igxYq/+nBi/GSiEl1EcB
-tGGJSs8ribtPzT2RAUJoXsmDk3MnngjvvICBq4lvnIse4fBNbBI+qqsijCfk2jlM
-0vTaZs4eih4ezAK8fccBcZKgnr4ExyxVThrF0QMp8lwyYSFv8cGYnOOanCh1gD73
-gdvh0XKYXcmMRDoMuMgPekaAcf+919anc1RUyrsUik+8lYLBuGLxvXP4I/6w/Ude
-1lihNM1XJHye+oVZOjtF81/HI8LczmZq3l24lWiqU7F7lxkO07NC1Twf7fJGa5at
-bfVggW3HHMYn5lhGGSrVnSxegKrQcMJbXzvPyEcZLv2TtWQ2HscOCDwe3g9sUZV4
-0WFUcJmmYeoGKwpgxmE/2ebJyD+CeXiqOFY3oZ+jLZh4iMq6FSMbXHVPuJCGvfyd
-p6W4WJcwET1TBJ5l6pW2fyMJRwXqvonBYwOF1CQ56VPbGj6tVzeyrW/wZ0bkboLv
-8S2rDBBp8o6ZwtzXf4+/
-=o6a+
+iQIcBAEBCAAGBQJVU2R4AAoJEJOE+m71LUu63eAQAJ8Q/8TDpvI1FC3mXCtaaXnd
+jJsjpWX+8zfwsNScbAtC0CBPh7PzGn82LNB8tn9dDdnCLl3jTvxC4/clfxTTnGS/
+8yryqXA7ilM4XJc6TMo1V/VWS9MCVRwVTZSZId+cdNqYpNabyT/nF81XXR5ZHCxP
+d6WADD6Cd4zStUwyd7Yi5Ivp6a3zKbCh+l0YLrJvw6angfehH3tmIIsMvpu1zxyX
+Fk7syDYiMha2cUhhMY7MlVvSWv/0Jsvd6YQWUBp8L6jmgG/PXQJzqacpjMa0NDSv
+uzhizMbT7rZtcNaIGs5++o+cu+w/IHvbJB2ldou9kQlrQP2mItfNEykb3f+llvyq
+5+uV9NZbQNFcd/2F1UAUjAt9aIU2XZVeURxuoo8mVnqiQpmTL/VFUplb0mxBTCcm
+zr2MHb0Fz4MC/faJ+BjBsmIaAU4xYYe8617ufd4qf2qkmUthdGpu2esFeM19IrNm
+YuofJRWHAs2qVLcV0/jmhWGt/opC4ggPF5DmYG0jtcuI0zUMWB+tv/t1EjmHeYvX
+WPfpt8LxPV49yZxt1A1B9PRZLJYualOebDVOQTXiyItO1OkTBqwmsqudMZS/PC+Z
+2rj/lj7Mb/kTgMvOLLm1p6nFCcvtTlyGKN8N0TO5JeHf3AQGbA2KfcMGVPH8caH1
+1OF5AHhBcb0/2Kv8tMgb
+=pvW4
-----END PGP SIGNATURE-----
diff --git a/sys-libs/musl/files/ldconfig.in b/sys-libs/musl/files/ldconfig.in
new file mode 100644
index 000000000000..a2921903c32c
--- /dev/null
+++ b/sys-libs/musl/files/ldconfig.in
@@ -0,0 +1,144 @@
+#!/bin/bash -e
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+ROOT="/"
+
+LDSO_CONF="/etc/ld.so.conf"
+if [[ ! -e $LDSO_CONF ]]; then
+ echo "$LDSO_CONF not found" >&2
+ exit 1
+fi
+
+LDSO_CONF_DIR=$(dirname $LDSO_CONF)
+
+VERBOSE=0
+
+UPDATE_LINKS=1
+
+get_options() {
+ while getopts "vnNXf:C:r:p" opt "$@"; do
+ case $opt in
+ v)
+ echo "ldconfig for musl in Gentoo"
+ VERBOSE=1
+ ;;
+ r)
+ ROOT=$OPTARG
+ ;;
+ f)
+ LDSO_CONF=$OPTARG
+ ;;
+ X)
+ UPDATE_LINKS=0
+ ;;
+ \?)
+ echo "Invalid option: -$opt" >&2
+ exit 1
+ ;;
+ n|N|C|p)
+ echo "Unimplemented option: -$opt" >&2
+ exit 1
+ ;;
+ esac
+ done
+
+ if [[ $UPDATE_LINKS == 1 ]]; then
+ echo "Updating links is not implemented."
+ fi
+}
+
+
+repeated() {
+ local l=$1
+ local drs="${@:2}"
+ for m in $drs; do
+ [[ $m == $l ]] && return 0
+ done
+ return 1
+}
+
+expand() {
+ # We are assuming the ld.so.conf's 'include' is not recursive
+ local f line l
+ local glob="$LDSO_CONF_DIR/$1"
+ local drs="${@:2} "
+
+ for f in $glob; do
+ [[ ! -f $f ]] && continue
+ while read line; do
+ line=${line%%#*}
+ line=${line//:/ }
+ line=${line//,/ }
+ for l in $line; do
+ #We must add this whether or not the directory exists
+ repeated $l $drs && continue
+ drs+=" $l "
+ done
+ done < $f
+ done
+
+ echo $drs
+}
+
+read_ldso_conf() {
+ local drs=" "
+
+ while read line; do
+ # Sanitize the line - see ldconfig(8) for delimiters
+ # Note: bash read turns tabs into spaces and read already
+ # delimits on newlines with the default $IFS
+ line=${line%%#*} # Remove comments
+ line=${line//:/ } # Change colon delimiter to space
+ line=${line//,/ } # Change comma delimiter to space
+
+ next=0
+ for l in $line; do
+ if [[ $next == 1 ]]; then
+ next=0
+ drs=$(expand $l $drs)
+ elif [[ $l == "include" ]]; then
+ next=1
+ else
+ # glibc's ldconfig silently skips non directories
+ if [[ -d $l ]]; then
+ repeated $l $drs && continue
+ drs+=" $l "
+ fi
+ fi
+ done
+ done < $1
+
+ echo $drs
+}
+
+sanitize() {
+ local drs=$@
+
+ repeated "/lib" $drs || drs="/lib $drs"
+ repeated "/usr/lib" $drs || drs="/usr/lib $drs"
+
+ echo $drs
+}
+
+get_options "$@"
+drs=$(read_ldso_conf "$LDSO_CONF")
+drs=$(sanitize $drs)
+
+ARCH=@@ARCH@@
+LDSO_PATH="/lib/ld-musl-${ARCH}.so.1"
+if [[ ! -e $LDSO_PATH ]]; then
+ echo "$LDSO_PATH not found" >&2
+ exit 1
+fi
+
+LDSO_ARCH=$(basename $LDSO_PATH)
+LDSO_NAME=${LDSO_ARCH%.so.1}
+ETC_LDSO_PATH=/etc/${LDSO_NAME}.path
+
+X=$(mktemp --tmpdir=/tmp ${LDSO_NAME}.XXXXXX)
+for d in $drs; do
+ echo $d >> $X
+done
+chmod 644 $X
+mv $X $ETC_LDSO_PATH
diff --git a/sys-libs/musl/musl-1.1.9.ebuild b/sys-libs/musl/musl-1.1.9.ebuild
new file mode 100644
index 000000000000..eec3cc4f0ba9
--- /dev/null
+++ b/sys-libs/musl/musl-1.1.9.ebuild
@@ -0,0 +1,126 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-libs/musl/musl-1.1.9.ebuild,v 1.1 2015/05/13 14:49:02 blueness Exp $
+
+EAPI=5
+
+inherit eutils flag-o-matic multilib toolchain-funcs
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="git://git.musl-libc.org/musl"
+ inherit git-2
+fi
+
+export CBUILD=${CBUILD:-${CHOST}}
+export CTARGET=${CTARGET:-${CHOST}}
+if [[ ${CTARGET} == ${CHOST} ]] ; then
+ if [[ ${CATEGORY} == cross-* ]] ; then
+ export CTARGET=${CATEGORY#cross-}
+ fi
+fi
+
+DESCRIPTION="Lightweight, fast and simple C library focused on standards-conformance and safety"
+HOMEPAGE="http://www.musl-libc.org/"
+if [[ ${PV} != "9999" ]] ; then
+ PATCH_VER=""
+ SRC_URI="http://www.musl-libc.org/releases/${P}.tar.gz"
+ KEYWORDS="-* ~amd64 ~arm ~mips ~ppc ~x86"
+fi
+
+LICENSE="MIT LGPL-2 GPL-2"
+SLOT="0"
+IUSE="crosscompile_opts_headers-only"
+
+RDEPEND="!sys-apps/getent"
+
+is_crosscompile() {
+ [[ ${CHOST} != ${CTARGET} ]]
+}
+
+just_headers() {
+ use crosscompile_opts_headers-only && is_crosscompile
+}
+
+musl_endian() {
+ # XXX: this wont work for bi-endian, but we dont have any
+ touch "${T}"/endian.s
+ $(tc-getAS ${CTARGET}) "${T}"/endian.s -o "${T}"/endian.o
+ case $(file "${T}"/endian.o) in
+ *" MSB "*) echo "";;
+ *" LSB "*) echo "el";;
+ *) echo "nfc";; # We shouldn't be here
+ esac
+}
+
+pkg_setup() {
+ if [ ${CTARGET} == ${CHOST} ] ; then
+ case ${CHOST} in
+ *-musl*) ;;
+ *) die "Use sys-devel/crossdev to build a musl toolchain" ;;
+ esac
+ fi
+
+ epatch_user
+}
+
+src_configure() {
+ tc-getCC ${CTARGET}
+ just_headers && export CC=true
+
+ local sysroot
+ is_crosscompile && sysroot=/usr/${CTARGET}
+ ./configure \
+ --target=${CTARGET} \
+ --prefix=${sysroot}/usr \
+ --syslibdir=${sysroot}/lib \
+ --disable-gcc-wrapper
+}
+
+src_compile() {
+ emake include/bits/alltypes.h || die
+ just_headers && return 0
+
+ emake || die
+}
+
+src_install() {
+ local target="install"
+ just_headers && target="install-headers"
+ emake DESTDIR="${D}" ${target} || die
+ just_headers && return 0
+
+ # musl provides ldd via a sym link to its ld.so
+ local sysroot
+ is_crosscompile && sysroot=/usr/${CTARGET}
+ local ldso=$(basename "${D}"${sysroot}/lib/ld-musl-*)
+ dosym ${sysroot}/lib/${ldso} ${sysroot}/usr/bin/ldd
+
+ if [[ ${CATEGORY} != cross-* ]] ; then
+ local target=$(tc-arch) arch
+ local endian=$(musl_endian)
+ case ${target} in
+ amd64) arch="x86_64";;
+ arm) arch="armhf";; # We only have hardfloat right now
+ mips) arch="mips${endian}";;
+ ppc) arch="powerpc";;
+ x86) arch="i386";;
+ esac
+ cp "${FILESDIR}"/ldconfig.in "${T}"
+ sed -e "s|@@ARCH@@|${arch}|" "${T}"/ldconfig.in > "${T}"/ldconfig
+ into /
+ dosbin "${T}"/ldconfig
+ into /usr
+ dobin "${FILESDIR}"/getent
+ echo 'LDPATH="include ld.so.conf.d/*.conf"' > "${T}"/00musl
+ doenvd "${T}"/00musl || die
+ fi
+}
+
+pkg_postinst() {
+ is_crosscompile && return 0
+
+ [ "${ROOT}" != "/" ] && return 0
+
+ ldconfig
+ # reload init ...
+ /sbin/telinit U 2>/dev/null
+}
diff --git a/sys-libs/musl/musl-9999.ebuild b/sys-libs/musl/musl-9999.ebuild
index a53ab97b3f32..e771177bc316 100644
--- a/sys-libs/musl/musl-9999.ebuild
+++ b/sys-libs/musl/musl-9999.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-libs/musl/musl-9999.ebuild,v 1.19 2015/04/18 11:24:34 blueness Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-libs/musl/musl-9999.ebuild,v 1.20 2015/05/13 14:49:02 blueness Exp $
EAPI=5
@@ -40,6 +40,17 @@ just_headers() {
use crosscompile_opts_headers-only && is_crosscompile
}
+musl_endian() {
+ # XXX: this wont work for bi-endian, but we dont have any
+ touch "${T}"/endian.s
+ $(tc-getAS ${CTARGET}) "${T}"/endian.s -o "${T}"/endian.o
+ case $(file "${T}"/endian.o) in
+ *" MSB "*) echo "";;
+ *" LSB "*) echo "el";;
+ *) echo "nfc";; # We shouldn't be here
+ esac
+}
+
pkg_setup() {
if [ ${CTARGET} == ${CHOST} ] ; then
case ${CHOST} in
@@ -84,10 +95,21 @@ src_install() {
dosym ${sysroot}/lib/${ldso} ${sysroot}/usr/bin/ldd
if [[ ${CATEGORY} != cross-* ]] ; then
+ local target=$(tc-arch) arch
+ local endian=$(musl_endian)
+ case ${target} in
+ amd64) arch="x86_64";;
+ arm) arch="armhf";; # We only have hardfloat right now
+ mips) arch="mips${endian}";;
+ ppc) arch="powerpc";;
+ x86) arch="i386";;
+ esac
+ cp "${FILESDIR}"/ldconfig.in "${T}"
+ sed -e "s|@@ARCH@@|${arch}|" "${T}"/ldconfig.in > "${T}"/ldconfig
+ into /
+ dosbin "${T}"/ldconfig
into /usr
dobin "${FILESDIR}"/getent
- into /
- dosbin "${FILESDIR}"/ldconfig
echo 'LDPATH="include ld.so.conf.d/*.conf"' > "${T}"/00musl
doenvd "${T}"/00musl || die
fi