public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] gentoo-x86 commit in sys-freebsd/freebsd-lib: ChangeLog freebsd-lib-8.2-r1.ebuild
@ 2011-07-10 17:47 Alexis Ballier (aballier)
  0 siblings, 0 replies; 5+ messages in thread
From: Alexis Ballier (aballier) @ 2011-07-10 17:47 UTC (permalink / raw
  To: gentoo-commits

aballier    11/07/10 17:47:59

  Modified:             ChangeLog
  Added:                freebsd-lib-8.2-r1.ebuild
  Log:
  do not build nor install libbsdxml which is a pale copy of libexpat; symlink the .so so that -lbsdxml still works
  
  (Portage version: 2.2.0_alpha43/cvs/Linux x86_64)

Revision  Changes    Path
1.94                 sys-freebsd/freebsd-lib/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-freebsd/freebsd-lib/ChangeLog?rev=1.94&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-freebsd/freebsd-lib/ChangeLog?rev=1.94&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-freebsd/freebsd-lib/ChangeLog?r1=1.93&r2=1.94

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-lib/ChangeLog,v
retrieving revision 1.93
retrieving revision 1.94
diff -u -r1.93 -r1.94
--- ChangeLog	6 Jul 2011 05:45:42 -0000	1.93
+++ ChangeLog	10 Jul 2011 17:47:59 -0000	1.94
@@ -1,6 +1,13 @@
 # ChangeLog for sys-freebsd/freebsd-lib
 # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-lib/ChangeLog,v 1.93 2011/07/06 05:45:42 aballier Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-lib/ChangeLog,v 1.94 2011/07/10 17:47:59 aballier Exp $
+
+*freebsd-lib-8.2-r1 (10 Jul 2011)
+
+  10 Jul 2011; Alexis Ballier <aballier@gentoo.org>
+  +files/freebsd-lib-bsdxml2expat.patch, +freebsd-lib-8.2-r1.ebuild:
+  do not build nor install libbsdxml which is a pale copy of libexpat; symlink
+  the .so so that -lbsdxml still works
 
 *freebsd-lib-8.2 (06 Jul 2011)
 



1.1                  sys-freebsd/freebsd-lib/freebsd-lib-8.2-r1.ebuild

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-freebsd/freebsd-lib/freebsd-lib-8.2-r1.ebuild?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-freebsd/freebsd-lib/freebsd-lib-8.2-r1.ebuild?rev=1.1&content-type=text/plain

Index: freebsd-lib-8.2-r1.ebuild
===================================================================
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-lib/freebsd-lib-8.2-r1.ebuild,v 1.1 2011/07/10 17:47:59 aballier Exp $

EAPI=2

inherit bsdmk freebsd flag-o-matic multilib toolchain-funcs

DESCRIPTION="FreeBSD's base system libraries"
SLOT="0"
KEYWORDS="~sparc-fbsd ~x86-fbsd"

# Crypto is needed to have an internal OpenSSL header
# sys is needed for libalias, probably we can just extract that instead of
# extracting the whole tarball
SRC_URI="mirror://gentoo/${LIB}.tar.bz2
		mirror://gentoo/${CONTRIB}.tar.bz2
		mirror://gentoo/${CRYPTO}.tar.bz2
		mirror://gentoo/${LIBEXEC}.tar.bz2
		mirror://gentoo/${ETC}.tar.bz2
		mirror://gentoo/${INCLUDE}.tar.bz2
		mirror://gentoo/${USBIN}.tar.bz2
		mirror://gentoo/${GNU}.tar.bz2
		build? (
			mirror://gentoo/${SYS}.tar.bz2 )"

if [ "${CATEGORY#*cross-}" = "${CATEGORY}" ]; then
	RDEPEND="ssl? ( dev-libs/openssl )
		hesiod? ( net-dns/hesiod )
		kerberos? ( virtual/krb5 )
		usb? ( !dev-libs/libusb )
		>=dev-libs/expat-2.0.1
		!sys-freebsd/freebsd-headers"
	DEPEND="${RDEPEND}
		>=sys-devel/flex-2.5.31-r2
		=sys-freebsd/freebsd-sources-${RV}*
		!bootstrap? ( app-arch/bzip2 )"
else
	SRC_URI="${SRC_URI}
			mirror://gentoo/${SYS}.tar.bz2"
fi

DEPEND="${DEPEND}
		=sys-freebsd/freebsd-mk-defs-${RV}*"

S="${WORKDIR}/lib"

export CTARGET=${CTARGET:-${CHOST}}
if [ "${CTARGET}" = "${CHOST}" -a "${CATEGORY#*cross-}" != "${CATEGORY}" ]; then
	export CTARGET=${CATEGORY/cross-}
fi

IUSE="atm bluetooth ssl hesiod ipv6 kerberos usb netware
	build bootstrap crosscompile_opts_headers-only"

pkg_setup() {
	[ -c /dev/zero ] || \
		die "You forgot to mount /dev; the compiled libc would break."

	if ! use ssl && use kerberos; then
		eerror "If you want kerberos support you need to enable ssl support, too."
	fi

	use atm || mymakeopts="${mymakeopts} WITHOUT_ATM= "
	use bluetooth || mymakeopts="${mymakeopts} WITHOUT_BLUETOOTH= "
	use hesiod || mymakeopts="${mymakeopts} WITHOUT_HESIOD= "
	use ipv6 || mymakeopts="${mymakeopts} WITHOUT_INET6_SUPPORT= "
	use kerberos || mymakeopts="${mymakeopts} WITHOUT_KERBEROS_SUPPORT= "
	use netware || mymakeopts="${mymakeopts} WITHOUT_IPX= WITHOUT_IPX_SUPPORT= WITHOUT_NCP= "
	use ssl || mymakeopts="${mymakeopts} WITHOUT_OPENSSL= "
	use usb || mymakeopts="${mymakeopts} WITHOUT_USB= "

	mymakeopts="${mymakeopts} WITHOUT_BIND= WITHOUT_BIND_LIBS= WITHOUT_SENDMAIL="

	if [ "${CTARGET}" != "${CHOST}" ]; then
		mymakeopts="${mymakeopts} MACHINE=$(tc-arch-kernel ${CTARGET})"
		mymakeopts="${mymakeopts} MACHINE_ARCH=$(tc-arch-kernel ${CTARGET})"
	fi
}

PATCHES=( 
	"${FILESDIR}/${PN}-6.0-pmc.patch"
	"${FILESDIR}/${PN}-6.0-gccfloat.patch"
	"${FILESDIR}/${PN}-6.0-flex-2.5.31.patch"
	"${FILESDIR}/${PN}-6.1-csu.patch"
	"${FILESDIR}/${PN}-6.2-bluetooth.patch"
	"${FILESDIR}/${PN}-8.0-log2.patch"
	"${FILESDIR}/${PN}-8.0-rpcsec_gss.patch"
	"${FILESDIR}/${PN}-8.2-liblink.patch"
	"${FILESDIR}/${PN}-bsdxml2expat.patch" )

# Here we disable and remove source which we don't need or want
# In order:
# - ncurses stuff
# - libexpat creates a bsdxml library which is the same as expat
# - archiving libraries (have their own ebuild)
# - sendmail libraries (they are installed by sendmail)
# - SNMP library and dependency (have their own ebuilds)
#
# The rest are libraries we already have somewhere else because
# they are contribution.
# Note: libtelnet is an internal lib used by telnet and telnetd programs
# as it's not used in freebsd-lib package itself, it's pointless building
# it here.
REMOVE_SUBDIRS="ncurses \
	libexpat \
	libz libbz2 libarchive liblzma \
	libsm libsmdb libsmutil \
	libbegemot libbsnmp \
	libpam libpcap bind libwrap libmagic \
	libcom_err libtelnet
	libedit libelf"

src_prepare() {
	sed -i.bak -e 's:-o/dev/stdout:-t:' "${S}/libc/net/Makefile.inc"
	sed -i.bak -e 's:histedit.h::' "${WORKDIR}/include/Makefile"

	# Upstream Display Managers default to using VT7
	# We should make FreeBSD allow this by default
	local x=
	for x in "${WORKDIR}"/etc/etc.*/ttys ; do
		sed -i.bak \
			-e '/ttyv5[[:space:]]/ a\
# Display Managers default to VT7.\
# If you use the xdm init script, keep ttyv6 commented out\
# unless you force a different VT for the DM being used.' \
			-e '/^ttyv[678][[:space:]]/ s/^/# /' "${x}" \
			|| die "Failed to sed ${x}"
		rm "${x}".bak
	done

	# This one is here because it also
	# patches "${WORKDIR}/include"
	cd "${WORKDIR}"
	epatch "${FILESDIR}/${PN}-includes.patch"
	epatch "${FILESDIR}/${PN}-8.0-gcc45.patch"

	# Don't install the hesiod man page or header
	rm "${WORKDIR}"/include/hesiod.h || die
	sed -i.bak -e 's:hesiod.h::' "${WORKDIR}"/include/Makefile || die
	sed -i.bak -e 's:hesiod.c::' -e 's:hesiod.3::' \
	"${WORKDIR}"/lib/libc/net/Makefile.inc || die

	# Fix the Makefiles of these few libraries that will overwrite our LDADD.
	cd "${S}"
	for dir in libradius libtacplus libcam libdevstat libfetch libgeom libmemstat libopie \
		libsmb; do sed -i.bak -e 's:LDADD=:LDADD+=:g' "${dir}/Makefile" || \
		die "Problem fixing \"${dir}/Makefile"
	done
	if use build; then
		cd "${WORKDIR}"
		# This patch has to be applied on ${WORKDIR}/sys, so we do it here since it
		# shouldn't be a symlink to /usr/src/sys (which should be already patched)
		epatch "${FILESDIR}"/${PN}-7.1-types.h-fix.patch
		# Preinstall includes so we don't use the system's ones.
		mkdir "${WORKDIR}/include_proper" || die "Couldn't create ${WORKDIR}/include_proper"
		install_includes "/include_proper"
		return 0
	fi

	if [ "${CTARGET}" = "${CHOST}" ]; then
		ln -s "/usr/src/sys-${RV}" "${WORKDIR}/sys" || die "Couldn't make sys symlink!"
	else
		sed -i.bak -e "s:/usr/include:/usr/${CTARGET}/usr/include:g" \
			"${S}/libc/rpc/Makefile.inc" \
			"${S}/libc/yp/Makefile.inc"
	fi

	if install --version 2> /dev/null | grep -q GNU; then
		sed -i.bak -e 's:${INSTALL} -C:${INSTALL}:' "${WORKDIR}/include/Makefile"
	fi

	# Preinstall includes so we don't use the system's ones.
	mkdir "${WORKDIR}/include_proper" || die "Couldn't create ${WORKDIR}/include_proper"
	install_includes "/include_proper"

	# Let arch-specific includes to be found
	local machine
	machine=$(tc-arch-kernel ${CTARGET})
	ln -s "${WORKDIR}/sys/${machine}/include" "${WORKDIR}/include/machine" || \
		die "Couldn't make ${machine}/include symlink."

	cd "${S}"
	use bootstrap && dummy_mk libstand
	# Call LD with LDFLAGS, rename them to RAW_LDFLAGS
	sed -e 's/LDFLAGS/RAW_LDFLAGS/g' \
		-i "${S}/csu/i386-elf/Makefile" \
		-i "${S}/csu/ia64/Makefile" || die
}

src_compile() {
	cd "${WORKDIR}/include"
	$(freebsd_get_bmake) CC="$(tc-getCC)" || die "make include failed"

	use crosscompile_opts_headers-only && return 0

	# Bug #270098
	append-flags $(test-flags -fno-strict-aliasing)

	strip-flags
	if [ "${CTARGET}" != "${CHOST}" ]; then
		export YACC='yacc -by'
		CHOST=${CTARGET} tc-export CC LD CXX RANLIB
		mymakeopts="${mymakeopts} NO_MANCOMPRESS= NO_INFOCOMPRESS= NLS="

		local machine
		machine=$(tc-arch-kernel ${CTARGET})

		local csudir
		if [ -d "${S}/csu/${machine}-elf" ]; then
			csudir="${S}/csu/${machine}-elf"
		else
			csudir="${S}/csu/${machine}"
		fi
		export RAW_LDFLAGS=$(raw-ldflags)
		cd "${csudir}"
		$(freebsd_get_bmake) ${mymakeopts} || die "make csu failed"

		append-flags "-isystem /usr/${CTARGET}/usr/include"
		append-flags "-isystem ${WORKDIR}/lib/libutil"
		append-flags "-isystem ${WORKDIR}/lib/msun/${machine/i386/i387}"
		append-flags "-B ${csudir}"
		append-ldflags "-B ${csudir}"

		# First compile libssp_nonshared.a and add it's path to LDFLAGS.
		cd "${WORKDIR}/gnu/lib/libssp/" || die "missing libssp."
		$(freebsd_get_bmake) ${mymakeopts} || die "make libssp failed"
		append-ldflags "-L${WORKDIR}/gnu/lib/libssp/libssp_nonshared/"

		export RAW_LDFLAGS=$(raw-ldflags)
		cd "${S}/libc"
		$(freebsd_get_bmake) ${mymakeopts} || die "make libc failed"
		cd "${S}/msun"
		LDADD="-lssp_nonshared" $(freebsd_get_bmake) ${mymakeopts} || die "make libc failed"
	else
		# Forces to use the local copy of headers as they might be outdated in
		# the system
		append-flags "-isystem '${WORKDIR}/include_proper'"

		# First compile libssp_nonshared.a and add it's path to LDFLAGS.
		einfo "Compiling libssp in \"${WORKDIR}/gnu/lib/libssp/\"."
		cd "${WORKDIR}/gnu/lib/libssp/" || die "missing libssp."
		NOFLAGSTRIP=yes freebsd_src_compile
		# Hack libssp_nonshared.a into libc & others since we don't have
		# the linker script in place yet.
		append-ldflags "-L${WORKDIR}/gnu/lib/libssp/libssp_nonshared/"
		einfo "Compiling libc."
		cd "${S}"
		export RAW_LDFLAGS=$(raw-ldflags)
		NOFLAGSTRIP=yes LDADD="-lssp_nonshared" freebsd_src_compile
	fi
}

src_install() {
	[ "${CTARGET}" = "${CHOST}" ] \
		&& INCLUDEDIR="/usr/include" \
		|| INCLUDEDIR="/usr/${CTARGET}/usr/include"
	dodir ${INCLUDEDIR}
	einfo "Installing for ${CTARGET} in ${CHOST}.."
	install_includes ${INCLUDEDIR}

	# Install math.h when crosscompiling, at this point
	if [ "${CHOST}" != "${CTARGET}" ]; then
		insinto "/usr/${CTARGET}/usr/include"
		doins "${S}/msun/src/math.h"
	fi

	use crosscompile_opts_headers-only && return 0
	local mylibdir=$(get_libdir)

	if [ "${CTARGET}" != "${CHOST}" ]; then
		local csudir
		if [ -d "${S}/csu/$(tc-arch-kernel ${CTARGET})-elf" ]; then
			csudir="${S}/csu/$(tc-arch-kernel ${CTARGET})-elf"
		else
			csudir="${S}/csu/$(tc-arch-kernel ${CTARGET})"
		fi
		cd "${csudir}"
		$(freebsd_get_bmake) ${mymakeopts} DESTDIR="${D}" install \
			FILESDIR="/usr/${CTARGET}/usr/lib" LIBDIR="/usr/${CTARGET}/usr/lib" || die "Install csu failed"

		cd "${S}/libc"
		$(freebsd_get_bmake) ${mymakeopts} DESTDIR="${D}" install NO_MAN= \
			SHLIBDIR="/usr/${CTARGET}/lib" LIBDIR="/usr/${CTARGET}/usr/lib" || die "Install libc failed"

		cd "${S}/msun"
		$(freebsd_get_bmake) ${mymakeopts} DESTDIR="${D}" install NO_MAN= \
			INCLUDEDIR="/usr/${CTARGET}/usr/include" \
			SHLIBDIR="/usr/${CTARGET}/lib" LIBDIR="/usr/${CTARGET}/usr/lib" || die "Install msun failed"

		cd "${WORKDIR}/gnu/lib/libssp/"
		$(freebsd_get_bmake) ${mymakeopts} DESTDIR="${D}" install NO_MAN= \
			INCLUDEDIR="/usr/${CTARGET}/usr/include" \
			SHLIBDIR="/usr/${CTARGET}/lib" LIBDIR="/usr/${CTARGET}/usr/lib" || die "Install ssp failed"

		dosym "usr/include" "/usr/${CTARGET}/sys-include"
	else
		# Set SHLIBDIR and LIBDIR for multilib
		cd "${WORKDIR}/gnu/lib/libssp"
		SHLIBDIR="/${mylibdir}" LIBDIR="/usr/${mylibdir}" mkinstall || die "Install ssp failed."
		cd "${S}"
		SHLIBDIR="/${mylibdir}" LIBDIR="/usr/${mylibdir}" mkinstall || die "Install failed"
	fi

	# Don't install the rest of the configuration files if crosscompiling
	if [ "${CTARGET}" != "${CHOST}" ] ; then
		# This is to get it stripped with the correct tools, otherwise it gets
		# stripped with the host strip.
		export CHOST=${CTARGET}
		return 0
	fi

	# Add symlinks (-> libthr) for legacy threading libraries, since these are
	# not built by us (they are disabled in FreeBSD-7 anyway).
	dosym libthr.a /usr/${mylibdir}/libpthread.a
	dosym libthr.so /usr/${mylibdir}/libpthread.so
	dosym libthr.a /usr/${mylibdir}/libc_r.a
	dosym libthr.so /usr/${mylibdir}/libc_r.so
	# Symlink libbsdxml to libexpat
	dosym libexpat.so /usr/${mylibdir}/libbsdxml.so

	# install libstand files
	dodir /usr/include/libstand
	insinto /usr/include/libstand
	doins "${S}"/libstand/*.h

	cd "${WORKDIR}/etc/"
	insinto /etc
	doins auth.conf nls.alias mac.conf netconfig

	# Install ttys file
	if [[ $(tc-arch-kernel) == "x86_64" ]]; then
		local MACHINE="amd64"
	else
		local MACHINE="$(tc-arch-kernel)"
	fi
	doins "etc.${MACHINE}"/*

	# Generate ldscripts, otherwise bad thigs are supposed to happen
	gen_usr_ldscript libalias_cuseeme.so libalias_dummy.so libalias_ftp.so \
		libalias_irc.so libalias_nbt.so libalias_pptp.so libalias_skinny.so \
		libalias_smedia.so libssp.so
	# These show on QA warnings too, however they're pretty much bsd only,
	# aka, no autotools for them.
	#	libbsdxml.so libcam.so libcrypt.so libdevstat.so libgeom.so \
	#	libipsec.so libipx.so libkiconv.so libkvm.so libmd.so libsbuf.so libufs.so \
	#	libutil.so

	# Generate libc.so ldscript for inclusion of libssp_nonshared.a when linking
	# this is done to avoid having to touch gcc spec file as it is currently
	# done on FreeBSD upstream, mostly because their binutils aren't able to
	# cope with linker scripts yet.
	# Taken from toolchain-funcs.eclass:
	local output_format
	output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
	[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
	# Clear the symlink.
	rm -f "${D}/usr/${mylibdir}/libc.so"
	cat > "${D}/usr/${mylibdir}/libc.so" <<-END_LDSCRIPT
/* GNU ld script
   SSP (-fstack-protector) requires __stack_chk_fail_local to be local.
   GCC invokes this symbol in a non-PIC way, which results in TEXTRELs if
   this symbol was provided by a shared libc. So we link in
   libssp_nonshared.a from here.
 */
${output_format}
GROUP ( /${mylibdir}/libc.so.7 /usr/${mylibdir}/libssp_nonshared.a )
END_LDSCRIPT

	dodir /etc/sandbox.d
	cat - > "${D}"/etc/sandbox.d/00freebsd <<EOF
# /dev/crypto is used mostly by OpenSSL on *BSD platforms
# leave it available as packages might use OpenSSL commands
# during compile or install phase.
SANDBOX_PREDICT="/dev/crypto"
EOF

	# Install a libusb.pc for better compat with Linux's libusb
	if use usb ; then
		dodir /usr/$(get_libdir)/pkgconfig
		sed -e "s:@LIBDIR@:/usr/$(get_libdir):" "${FILESDIR}/libusb.pc.in" > "${D}/usr/$(get_libdir)/pkgconfig/libusb.pc" || die
	fi
}

install_includes()
{
	local INCLUDEDIR="$1"

	# The idea is to be called from either install or unpack.
	# During unpack it's required to install them as portage's user.
	if [[ "${EBUILD_PHASE}" == "install" ]]; then
		local DESTDIR="${D}"
		BINOWN="root"
		BINGRP="wheel"
	else
		local DESTDIR="${WORKDIR}"
		[[ -z "${USER}" ]] && USER="portage"
		BINOWN="${USER}"
		[[ -z "${GROUPS}" ]] && GROUPS="portage"
		BINGRP="${GROUPS}"
	fi

	# This is for ssp/ssp.h.
	einfo "Building ssp.h"
	cd "${WORKDIR}/gnu/lib/libssp/" || die "missing libssp"
	$(freebsd_get_bmake) ssp.h || die "problem building ssp.h"

	# Must exist before we use it.
	[[ -d "${DESTDIR}${INCLUDEDIR}" ]] || die "dodir or mkdir ${INCLUDEDIR} before using install_includes."
	cd "${WORKDIR}/include"

	if [[ $(tc-arch-kernel) == "x86_64" ]]; then
		local MACHINE="amd64"
	else
		local MACHINE="$(tc-arch-kernel)"
	fi

	einfo "Installing includes into ${INCLUDEDIR} as ${BINOWN}:${BINGRP}..."
	$(freebsd_get_bmake) installincludes \
		MACHINE=${MACHINE} DESTDIR="${DESTDIR}" \
		INCLUDEDIR="${INCLUDEDIR}" BINOWN="${BINOWN}" \
		BINGRP="${BINGRP}" || die "install_includes() failed"
	einfo "includes installed ok."
	einfo "Installing ssp includes into ${INCLUDEDIR} as ${BINOWN}:${BINGRP}..."
	cd "${WORKDIR}/gnu/lib/libssp"
	$(freebsd_get_bmake) installincludes DESTDIR="${DESTDIR}" \
		MACHINE=${MACHINE} INCLUDEDIR="${INCLUDEDIR}" BINOWN="${BINOWN}" \
		BINGRP="${BINGRP}" || die "problem installing ssp includes."
	einfo "ssp includes installed ok."
	einfo "Installing librtld_db includes into ${INCLUDEDIR} as ${BINOWN}:${BINGRP}..."
	cd "${S}/librtld_db" || die "missing librtld_db"
	$(freebsd_get_bmake) installincludes DESTDIR="${DESTDIR}" \
		MACHINE=${MACHINE} INCLUDEDIR="${INCLUDEDIR}" BINOWN="${BINOWN}" \
		BINGRP="${BINGRP}" || die "problem installing librtld_db includes."
	einfo "librtld_db includes installed ok."
}






^ permalink raw reply	[flat|nested] 5+ messages in thread

* [gentoo-commits] gentoo-x86 commit in sys-freebsd/freebsd-lib: ChangeLog freebsd-lib-8.2-r1.ebuild
@ 2011-07-11 21:06 Alexis Ballier (aballier)
  0 siblings, 0 replies; 5+ messages in thread
From: Alexis Ballier (aballier) @ 2011-07-11 21:06 UTC (permalink / raw
  To: gentoo-commits

aballier    11/07/11 21:06:44

  Modified:             ChangeLog freebsd-lib-8.2-r1.ebuild
  Log:
  fix cross compilation, build and install libthr/libpthread when cross compiling too
  
  (Portage version: 2.2.0_alpha43/cvs/Linux x86_64)

Revision  Changes    Path
1.95                 sys-freebsd/freebsd-lib/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-freebsd/freebsd-lib/ChangeLog?rev=1.95&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-freebsd/freebsd-lib/ChangeLog?rev=1.95&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-freebsd/freebsd-lib/ChangeLog?r1=1.94&r2=1.95

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-lib/ChangeLog,v
retrieving revision 1.94
retrieving revision 1.95
diff -u -r1.94 -r1.95
--- ChangeLog	10 Jul 2011 17:47:59 -0000	1.94
+++ ChangeLog	11 Jul 2011 21:06:44 -0000	1.95
@@ -1,6 +1,10 @@
 # ChangeLog for sys-freebsd/freebsd-lib
 # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-lib/ChangeLog,v 1.94 2011/07/10 17:47:59 aballier Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-lib/ChangeLog,v 1.95 2011/07/11 21:06:44 aballier Exp $
+
+  11 Jul 2011; Alexis Ballier <aballier@gentoo.org> freebsd-lib-8.2-r1.ebuild:
+  fix cross compilation, build and install libthr/libpthread when cross
+  compiling too
 
 *freebsd-lib-8.2-r1 (10 Jul 2011)
 



1.3                  sys-freebsd/freebsd-lib/freebsd-lib-8.2-r1.ebuild

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-freebsd/freebsd-lib/freebsd-lib-8.2-r1.ebuild?rev=1.3&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-freebsd/freebsd-lib/freebsd-lib-8.2-r1.ebuild?rev=1.3&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-freebsd/freebsd-lib/freebsd-lib-8.2-r1.ebuild?r1=1.2&r2=1.3

Index: freebsd-lib-8.2-r1.ebuild
===================================================================
RCS file: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-lib/freebsd-lib-8.2-r1.ebuild,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- freebsd-lib-8.2-r1.ebuild	10 Jul 2011 17:49:25 -0000	1.2
+++ freebsd-lib-8.2-r1.ebuild	11 Jul 2011 21:06:44 -0000	1.3
@@ -1,6 +1,6 @@
 # Copyright 1999-2011 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-lib/freebsd-lib-8.2-r1.ebuild,v 1.2 2011/07/10 17:49:25 aballier Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-lib/freebsd-lib-8.2-r1.ebuild,v 1.3 2011/07/11 21:06:44 aballier Exp $
 
 EAPI=2
 
@@ -223,7 +223,7 @@
 		append-ldflags "-B ${csudir}"
 
 		# First compile libssp_nonshared.a and add it's path to LDFLAGS.
-		cd "${WORKDIR}/gnu/lib/libssp/" || die "missing libssp."
+		cd "${WORKDIR}/gnu/lib/libssp/libssp_nonshared/" || die "missing libssp."
 		$(freebsd_get_bmake) ${mymakeopts} || die "make libssp failed"
 		append-ldflags "-L${WORKDIR}/gnu/lib/libssp/libssp_nonshared/"
 
@@ -231,7 +231,13 @@
 		cd "${S}/libc"
 		$(freebsd_get_bmake) ${mymakeopts} || die "make libc failed"
 		cd "${S}/msun"
+		append-ldflags "-L${WORKDIR}/lib/libc"
+		export RAW_LDFLAGS=$(raw-ldflags)
 		LDADD="-lssp_nonshared" $(freebsd_get_bmake) ${mymakeopts} || die "make libc failed"
+		cd "${WORKDIR}/gnu/lib/libssp/" || die "missing libssp."
+		$(freebsd_get_bmake) ${mymakeopts} || die "make libssp failed"
+		cd "${WORKDIR}/lib/libthr/" || die "missing libthr"
+		$(freebsd_get_bmake) ${mymakeopts} || die "make libthr failed"
 	else
 		# Forces to use the local copy of headers as they might be outdated in
 		# the system
@@ -293,6 +299,11 @@
 			INCLUDEDIR="/usr/${CTARGET}/usr/include" \
 			SHLIBDIR="/usr/${CTARGET}/lib" LIBDIR="/usr/${CTARGET}/usr/lib" || die "Install ssp failed"
 
+		cd "${WORKDIR}/lib/libthr/"
+		$(freebsd_get_bmake) ${mymakeopts} DESTDIR="${D}" install NO_MAN= \
+			INCLUDEDIR="/usr/${CTARGET}/usr/include" \
+			SHLIBDIR="/usr/${CTARGET}/lib" LIBDIR="/usr/${CTARGET}/usr/lib" || die "Install libthr failed"
+
 		dosym "usr/include" "/usr/${CTARGET}/sys-include"
 	else
 		# Set SHLIBDIR and LIBDIR for multilib






^ permalink raw reply	[flat|nested] 5+ messages in thread

* [gentoo-commits] gentoo-x86 commit in sys-freebsd/freebsd-lib: ChangeLog freebsd-lib-8.2-r1.ebuild
@ 2011-07-11 21:27 Alexis Ballier (aballier)
  0 siblings, 0 replies; 5+ messages in thread
From: Alexis Ballier (aballier) @ 2011-07-11 21:27 UTC (permalink / raw
  To: gentoo-commits

aballier    11/07/11 21:27:30

  Modified:             ChangeLog freebsd-lib-8.2-r1.ebuild
  Log:
  remove legacy symlinks: libc_r -> libthr, libpthread -> libthr, the build system takes care of libpthread and libc_r shouldnt be needed; also improve a comment
  
  (Portage version: 2.2.0_alpha43/cvs/Linux x86_64)

Revision  Changes    Path
1.97                 sys-freebsd/freebsd-lib/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-freebsd/freebsd-lib/ChangeLog?rev=1.97&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-freebsd/freebsd-lib/ChangeLog?rev=1.97&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-freebsd/freebsd-lib/ChangeLog?r1=1.96&r2=1.97

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-lib/ChangeLog,v
retrieving revision 1.96
retrieving revision 1.97
diff -u -r1.96 -r1.97
--- ChangeLog	11 Jul 2011 21:08:18 -0000	1.96
+++ ChangeLog	11 Jul 2011 21:27:30 -0000	1.97
@@ -1,6 +1,11 @@
 # ChangeLog for sys-freebsd/freebsd-lib
 # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-lib/ChangeLog,v 1.96 2011/07/11 21:08:18 aballier Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-lib/ChangeLog,v 1.97 2011/07/11 21:27:30 aballier Exp $
+
+  11 Jul 2011; Alexis Ballier <aballier@gentoo.org> freebsd-lib-8.2-r1.ebuild:
+  remove legacy symlinks: libc_r -> libthr, libpthread -> libthr, the build
+  system takes care of libpthread and libc_r shouldnt be needed; also improve a
+  comment
 
   11 Jul 2011; Alexis Ballier <aballier@gentoo.org> -freebsd-lib-8.2.ebuild:
   remove old



1.4                  sys-freebsd/freebsd-lib/freebsd-lib-8.2-r1.ebuild

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-freebsd/freebsd-lib/freebsd-lib-8.2-r1.ebuild?rev=1.4&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-freebsd/freebsd-lib/freebsd-lib-8.2-r1.ebuild?rev=1.4&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-freebsd/freebsd-lib/freebsd-lib-8.2-r1.ebuild?r1=1.3&r2=1.4

Index: freebsd-lib-8.2-r1.ebuild
===================================================================
RCS file: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-lib/freebsd-lib-8.2-r1.ebuild,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- freebsd-lib-8.2-r1.ebuild	11 Jul 2011 21:06:44 -0000	1.3
+++ freebsd-lib-8.2-r1.ebuild	11 Jul 2011 21:27:30 -0000	1.4
@@ -1,6 +1,6 @@
 # Copyright 1999-2011 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-lib/freebsd-lib-8.2-r1.ebuild,v 1.3 2011/07/11 21:06:44 aballier Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-lib/freebsd-lib-8.2-r1.ebuild,v 1.4 2011/07/11 21:27:30 aballier Exp $
 
 EAPI=2
 
@@ -321,13 +321,8 @@
 		return 0
 	fi
 
-	# Add symlinks (-> libthr) for legacy threading libraries, since these are
-	# not built by us (they are disabled in FreeBSD-7 anyway).
-	dosym libthr.a /usr/${mylibdir}/libpthread.a
-	dosym libthr.so /usr/${mylibdir}/libpthread.so
-	dosym libthr.a /usr/${mylibdir}/libc_r.a
-	dosym libthr.so /usr/${mylibdir}/libc_r.so
-	# Symlink libbsdxml to libexpat
+	# Symlink libbsdxml to libexpat as we use expat in favor of the renaming done
+	# on FreeBSD.
 	dosym libexpat.so /usr/${mylibdir}/libbsdxml.so
 
 	# install libstand files






^ permalink raw reply	[flat|nested] 5+ messages in thread

* [gentoo-commits] gentoo-x86 commit in sys-freebsd/freebsd-lib: ChangeLog freebsd-lib-8.2-r1.ebuild
@ 2011-07-12 14:32 Alexis Ballier (aballier)
  0 siblings, 0 replies; 5+ messages in thread
From: Alexis Ballier (aballier) @ 2011-07-12 14:32 UTC (permalink / raw
  To: gentoo-commits

aballier    11/07/12 14:32:29

  Modified:             ChangeLog freebsd-lib-8.2-r1.ebuild
  Log:
  remove amd64 hacks now that tc-arch-kernel returns the right value for x86_64-fbsd
  
  (Portage version: 2.2.0_alpha43/cvs/Linux x86_64)

Revision  Changes    Path
1.98                 sys-freebsd/freebsd-lib/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-freebsd/freebsd-lib/ChangeLog?rev=1.98&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-freebsd/freebsd-lib/ChangeLog?rev=1.98&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-freebsd/freebsd-lib/ChangeLog?r1=1.97&r2=1.98

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-lib/ChangeLog,v
retrieving revision 1.97
retrieving revision 1.98
diff -u -r1.97 -r1.98
--- ChangeLog	11 Jul 2011 21:27:30 -0000	1.97
+++ ChangeLog	12 Jul 2011 14:32:29 -0000	1.98
@@ -1,6 +1,10 @@
 # ChangeLog for sys-freebsd/freebsd-lib
 # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-lib/ChangeLog,v 1.97 2011/07/11 21:27:30 aballier Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-lib/ChangeLog,v 1.98 2011/07/12 14:32:29 aballier Exp $
+
+  12 Jul 2011; Alexis Ballier <aballier@gentoo.org> freebsd-lib-8.2-r1.ebuild:
+  remove amd64 hacks now that tc-arch-kernel returns the right value for
+  x86_64-fbsd
 
   11 Jul 2011; Alexis Ballier <aballier@gentoo.org> freebsd-lib-8.2-r1.ebuild:
   remove legacy symlinks: libc_r -> libthr, libpthread -> libthr, the build



1.5                  sys-freebsd/freebsd-lib/freebsd-lib-8.2-r1.ebuild

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-freebsd/freebsd-lib/freebsd-lib-8.2-r1.ebuild?rev=1.5&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-freebsd/freebsd-lib/freebsd-lib-8.2-r1.ebuild?rev=1.5&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-freebsd/freebsd-lib/freebsd-lib-8.2-r1.ebuild?r1=1.4&r2=1.5

Index: freebsd-lib-8.2-r1.ebuild
===================================================================
RCS file: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-lib/freebsd-lib-8.2-r1.ebuild,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- freebsd-lib-8.2-r1.ebuild	11 Jul 2011 21:27:30 -0000	1.4
+++ freebsd-lib-8.2-r1.ebuild	12 Jul 2011 14:32:29 -0000	1.5
@@ -1,6 +1,6 @@
 # Copyright 1999-2011 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-lib/freebsd-lib-8.2-r1.ebuild,v 1.4 2011/07/11 21:27:30 aballier Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-lib/freebsd-lib-8.2-r1.ebuild,v 1.5 2011/07/12 14:32:29 aballier Exp $
 
 EAPI=2
 
@@ -335,11 +335,7 @@
 	doins auth.conf nls.alias mac.conf netconfig
 
 	# Install ttys file
-	if [[ $(tc-arch-kernel) == "x86_64" ]]; then
-		local MACHINE="amd64"
-	else
-		local MACHINE="$(tc-arch-kernel)"
-	fi
+	local MACHINE="$(tc-arch-kernel)"
 	doins "etc.${MACHINE}"/*
 
 	# Generate ldscripts, otherwise bad thigs are supposed to happen
@@ -415,11 +411,7 @@
 	[[ -d "${DESTDIR}${INCLUDEDIR}" ]] || die "dodir or mkdir ${INCLUDEDIR} before using install_includes."
 	cd "${WORKDIR}/include"
 
-	if [[ $(tc-arch-kernel) == "x86_64" ]]; then
-		local MACHINE="amd64"
-	else
-		local MACHINE="$(tc-arch-kernel)"
-	fi
+	local MACHINE="$(tc-arch-kernel)"
 
 	einfo "Installing includes into ${INCLUDEDIR} as ${BINOWN}:${BINGRP}..."
 	$(freebsd_get_bmake) installincludes \






^ permalink raw reply	[flat|nested] 5+ messages in thread

* [gentoo-commits] gentoo-x86 commit in sys-freebsd/freebsd-lib: ChangeLog freebsd-lib-8.2-r1.ebuild
@ 2011-08-30  5:24 Naohiro Aota (naota)
  0 siblings, 0 replies; 5+ messages in thread
From: Naohiro Aota (naota) @ 2011-08-30  5:24 UTC (permalink / raw
  To: gentoo-commits

naota       11/08/30 05:24:33

  Modified:             ChangeLog freebsd-lib-8.2-r1.ebuild
  Log:
  Add patch to add nml_sycall prototype from http://svnweb.freebsd.org/base?view=revision&revision=216603
  
  (Portage version: 2.2.0_alpha51/cvs/Linux x86_64)

Revision  Changes    Path
1.99                 sys-freebsd/freebsd-lib/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-freebsd/freebsd-lib/ChangeLog?rev=1.99&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-freebsd/freebsd-lib/ChangeLog?rev=1.99&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-freebsd/freebsd-lib/ChangeLog?r1=1.98&r2=1.99

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-lib/ChangeLog,v
retrieving revision 1.98
retrieving revision 1.99
diff -u -r1.98 -r1.99
--- ChangeLog	12 Jul 2011 14:32:29 -0000	1.98
+++ ChangeLog	30 Aug 2011 05:24:33 -0000	1.99
@@ -1,6 +1,11 @@
 # ChangeLog for sys-freebsd/freebsd-lib
 # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-lib/ChangeLog,v 1.98 2011/07/12 14:32:29 aballier Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-lib/ChangeLog,v 1.99 2011/08/30 05:24:33 naota Exp $
+
+  30 Aug 2011; Naohiro Aota <naota@gentoo.org> freebsd-lib-8.2-r1.ebuild,
+  +files/freebsd-lib-8.2-nlm_syscall.patch:
+  Add patch to add nml_sycall prototype from
+  http://svnweb.freebsd.org/base?view=revision&revision=216603
 
   12 Jul 2011; Alexis Ballier <aballier@gentoo.org> freebsd-lib-8.2-r1.ebuild:
   remove amd64 hacks now that tc-arch-kernel returns the right value for



1.6                  sys-freebsd/freebsd-lib/freebsd-lib-8.2-r1.ebuild

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-freebsd/freebsd-lib/freebsd-lib-8.2-r1.ebuild?rev=1.6&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-freebsd/freebsd-lib/freebsd-lib-8.2-r1.ebuild?rev=1.6&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-freebsd/freebsd-lib/freebsd-lib-8.2-r1.ebuild?r1=1.5&r2=1.6

Index: freebsd-lib-8.2-r1.ebuild
===================================================================
RCS file: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-lib/freebsd-lib-8.2-r1.ebuild,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- freebsd-lib-8.2-r1.ebuild	12 Jul 2011 14:32:29 -0000	1.5
+++ freebsd-lib-8.2-r1.ebuild	30 Aug 2011 05:24:33 -0000	1.6
@@ -1,6 +1,6 @@
 # Copyright 1999-2011 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-lib/freebsd-lib-8.2-r1.ebuild,v 1.5 2011/07/12 14:32:29 aballier Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-lib/freebsd-lib-8.2-r1.ebuild,v 1.6 2011/08/30 05:24:33 naota Exp $
 
 EAPI=2
 
@@ -134,6 +134,7 @@
 	cd "${WORKDIR}"
 	epatch "${FILESDIR}/${PN}-includes.patch"
 	epatch "${FILESDIR}/${PN}-8.0-gcc45.patch"
+	epatch "${FILESDIR}/${PN}-8.2-nlm_syscall.patch"
 
 	# Don't install the hesiod man page or header
 	rm "${WORKDIR}"/include/hesiod.h || die






^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2011-08-30  5:24 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-07-10 17:47 [gentoo-commits] gentoo-x86 commit in sys-freebsd/freebsd-lib: ChangeLog freebsd-lib-8.2-r1.ebuild Alexis Ballier (aballier)
  -- strict thread matches above, loose matches on Subject: below --
2011-07-11 21:06 Alexis Ballier (aballier)
2011-07-11 21:27 Alexis Ballier (aballier)
2011-07-12 14:32 Alexis Ballier (aballier)
2011-08-30  5:24 Naohiro Aota (naota)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox