Split pkgs required by xbps-base-chroot, as it was made in Fedora.

- Added an additional shell func to add full (build/run), build
  or run time dependencies to packages. An optional third parameter
  can be used to specify other version than the one set in
  the depends file.
- Use a "depends" file in package directory to specify minimum
  required ABI/API version for a package, so that there's no need
  to set the version all the time in pkgs.
- Updated bash to 4.0.

--HG--
extra : convert_revision : 1aa0ce32d4bdc2cd371eac19ae7bcff2c986b6b3
This commit is contained in:
Juan RP 2009-02-24 07:13:11 +01:00
parent 97821bf458
commit e0030bc0fe
220 changed files with 719 additions and 1304 deletions

View file

@ -1,26 +0,0 @@
# Template file for 'gcc-base'.
#
short_desc="${short_desc} (base files)"
long_desc="${long_desc}
This package contains the ${sourcepkg} base programs and libraries."
run_depends="binutils-base-2.18"
. ${XBPS_TEMPLATESDIR}/glibc/libs.depends
. ${XBPS_TEMPLATESDIR}/gmp/libs.depends
. ${XBPS_TEMPLATESDIR}/mpfr/libs.depends
do_install()
{
local destdir=${XBPS_DESTDIR}/${pkgname}-${version}
local origdir=${XBPS_DESTDIR}/${sourcepkg}-${version}
mkdir -p ${destdir}/usr/lib/gcc/${xbps_machine}-pc-linux-gnu
mv ${origdir}/usr/bin ${destdir}/usr
mv ${origdir}/usr/libexec ${destdir}/usr
mv ${origdir}/usr/lib/lib*.so.* ${destdir}/usr/lib
mv ${origdir}/usr/lib/lib*.spec ${destdir}/usr/lib
mv ${origdir}/usr/lib/gcc/${xbps_machine}-pc-linux-gnu/${version} \
${destdir}/usr/lib/gcc/${xbps_machine}-pc-linux-gnu
cd ${destdir}/usr/lib && ln -s libgcc_s.so.1 libgcc_s.so
}

View file

@ -0,0 +1,35 @@
# Template file for 'gcc-c++'.
#
short_desc="GCC C++ support"
long_desc="${long_desc}
This package contains GCC C++ support."
Add_dependency run gcc
Add_dependency run gcc-libstdc++
do_install()
{
local destdir=${XBPS_DESTDIR}/${pkgname}-${version}
local origdir=${XBPS_DESTDIR}/${sourcepkg}-${version}
local triplet=
if [ "${xbps_machine}" = "x86_64" ]; then
triplet="${xbps_machine}-unknown-linux-gnu"
else
triplet="${xbps_machine}-pc-linux-gnu"
fi
mkdir -p ${destdir}/usr/lib
mkdir -p ${destdir}/usr/bin
mkdir -p ${destdir}/usr/share/man/man1
mkdir -p ${destdir}/usr/libexec/gcc/${triplet}/${version}
for f in g++ c++ ${triplet}-g++ ${triplet}-c++; do
mv ${origdir}/usr/bin/${f} ${destdir}/usr/bin
done
mv ${origdir}/usr/libexec/gcc/${triplet}/${version}/cc1plus \
${destdir}/usr/libexec/gcc/${triplet}/${version}
mv ${origdir}/usr/share/man/man1/g++.1 ${destdir}/usr/share/man/man1
}

2
templates/gcc/depends Normal file
View file

@ -0,0 +1,2 @@
abi_depends=4.3.0
api_depends=${abi_depends}

View file

@ -1,29 +0,0 @@
# Template file for 'gcc-dev'.
#
short_desc="${short_desc} (development files)"
long_desc="${long_desc}
This package contains files for development, headers, static libs, etc."
run_depends="gcc-base-${version}"
do_install()
{
local destdir=${XBPS_DESTDIR}/${pkgname}-${version}
local origdir=${XBPS_DESTDIR}/${sourcepkg}-${version}
mkdir -p ${destdir}/usr/lib
mv ${origdir}/usr/include ${destdir}/usr
for f in mudflap mudflapth ssp_nonshared supc++ ssp stdc++ \
objc gomp gcc_s; do
for ext in a la; do
if [ -f ${origdir}/usr/lib/lib${f}.${ext} ]; then
mv ${origdir}/usr/lib/lib${f}.${ext} ${destdir}/usr/lib
fi
done
if [ -f ${origdir}/usr/lib/lib${f}.so ]; then
mv ${origdir}/usr/lib/lib${f}.so ${destdir}/usr/lib
fi
done
}

View file

@ -1,21 +0,0 @@
# Template file for 'gcc-docs'.
#
short_desc="${short_desc} (documentation)"
long_desc="${long_desc}
This package contains the ${sourcepkg} documentation: manual pages
and info files."
run_depends=
noarch=yes
do_install()
{
local destdir=${XBPS_DESTDIR}/${pkgname}-${version}
# Move manpages and info files.
mkdir -p ${destdir}/usr/share
mv ${XBPS_DESTDIR}/${sourcepkg}-${version}/usr/share/man \
${destdir}/usr/share
mv ${XBPS_DESTDIR}/${sourcepkg}-${version}/usr/share/info \
${destdir}/usr/share
}

View file

@ -0,0 +1,15 @@
# Template file for 'gcc-libgcc'.
#
short_desc="GCC version ${version} shared library support"
long_desc="${long_desc}
This package contains the GCC shared library."
do_install()
{
local destdir=${XBPS_DESTDIR}/${pkgname}-${version}
local origdir=${XBPS_DESTDIR}/${sourcepkg}-${version}
mkdir -p ${destdir}/usr/lib
mv ${origdir}/usr/lib/libgcc_s.so* ${destdir}/usr/lib
}

View file

@ -0,0 +1,22 @@
# Template file for 'gcc-libgomp'.
#
short_desc="GCC OpenMP v3.0 shared support library"
long_desc="${long_desc}
This package contains GCC shared support library which is needed
for OpenMP v3.0 support."
Add_dependency run glibc
Add_dependency run gcc-libgcc
do_install()
{
local destdir=${XBPS_DESTDIR}/${pkgname}-${version}
local origdir=${XBPS_DESTDIR}/${sourcepkg}-${version}
mkdir -p ${destdir}/usr/lib
mkdir -p ${destdir}/usr/share
mv ${origdir}/usr/lib/libgomp.* ${destdir}/usr/lib
mv ${origdir}/usr/share/info ${destdir}/usr/share
}

View file

@ -0,0 +1,19 @@
# Template file for 'gcc-libmudflap-devel'.
#
short_desc="GCC mudflap shared support library (development files)"
long_desc="${long_desc}
This package contains GCC mudflap headers and static libraries for
building mudflap-instrumented programs."
Add_dependency run gcc-libmudflap
do_install()
{
local destdir=${XBPS_DESTDIR}/${pkgname}-${version}
local origdir=${XBPS_DESTDIR}/${sourcepkg}-${version}
mkdir -p ${destdir}/usr/lib
mv ${origdir}/usr/lib/libmudflap*.*a ${destdir}/usr/lib
mv ${origdir}/usr/lib/libmudflap*.so ${destdir}/usr/lib
}

View file

@ -0,0 +1,19 @@
# Template file for 'gcc-libmudflap'.
#
short_desc="GCC mudflap shared support library"
long_desc="${long_desc}
This package contains GCC shared support library which is needed
for mudflap support."
Add_dependency run glibc
Add_dependency run gcc-libgcc
do_install()
{
local destdir=${XBPS_DESTDIR}/${pkgname}-${version}
local origdir=${XBPS_DESTDIR}/${sourcepkg}-${version}
mkdir -p ${destdir}/usr/lib
mv ${origdir}/usr/lib/libmudflap*.so.* ${destdir}/usr/lib
}

View file

@ -0,0 +1,19 @@
# Template file for 'gcc-libobjc-devel'.
#
short_desc="GCC Objective-C shared library support (development files)"
long_desc="${long_desc}
This package contains GCC Objective-C headers and static libs, to
build Objective-C programs."
Add_dependency run gcc-libobjc
do_install()
{
local destdir=${XBPS_DESTDIR}/${pkgname}-${version}
local origdir=${XBPS_DESTDIR}/${sourcepkg}-${version}
mkdir -p ${destdir}/usr/lib
mv ${origdir}/usr/lib/libobjc.*a ${destdir}/usr/lib
mv ${origdir}/usr/lib/libobjc.so ${destdir}/usr/lib
}

View file

@ -0,0 +1,19 @@
# Template file for 'gcc-libobjc'.
#
short_desc="GCC Objective-C shared library support"
long_desc="${long_desc}
This package contains GCC Objective-C shared support library which is needed
to run Objective-C dynamically linked programs."
Add_dependency run glibc
Add_dependency run gcc-libgcc
do_install()
{
local destdir=${XBPS_DESTDIR}/${pkgname}-${version}
local origdir=${XBPS_DESTDIR}/${sourcepkg}-${version}
mkdir -p ${destdir}/usr/lib
mv ${origdir}/usr/lib/libobjc.so.* ${destdir}/usr/lib
}

View file

@ -1 +0,0 @@
run_depends="${run_depends} gcc-base-4.3.2"

View file

@ -0,0 +1,23 @@
# Template file for 'gcc-libstdc++-devel'.
#
short_desc="GCC Standard C++ Library (development files)"
long_desc="${long_desc}
This package contains GCC Header files and libraries for
C++ development."
Add_dependency run gcc-libstdc++
do_install()
{
local destdir=${XBPS_DESTDIR}/${pkgname}-${version}
local origdir=${XBPS_DESTDIR}/${sourcepkg}-${version}
mkdir -p ${destdir}/usr/lib
mkdir -p ${destdir}/usr/include
mv ${origdir}/usr/lib/libstdc++.*a ${destdir}/usr/lib
mv ${origdir}/usr/lib/libstdc++.so ${destdir}/usr/lib
mv ${origdir}/usr/lib/libsupc++.* ${destdir}/usr/lib
mv ${origdir}/usr/include/c++ ${destdir}/usr/include
}

View file

@ -0,0 +1,26 @@
# Template file for 'gcc-libstdc++'.
#
short_desc="GCC Standard C++ Library"
long_desc="${long_desc}
This package contains a rewritten standard compliant GCC Standard
C++ library."
Add_dependency run glibc
Add_dependency run gcc-libgcc
do_install()
{
local destdir=${XBPS_DESTDIR}/${pkgname}-${version}
local origdir=${XBPS_DESTDIR}/${sourcepkg}-${version}
mkdir -p ${destdir}/usr/lib
mkdir -p ${destdir}/usr/share/locale/fr/LC_MESSAGES
mkdir -p ${destdir}/usr/share/locale/de/LC_MESSAGES
mv ${origdir}/usr/lib/libstdc++.so.* ${destdir}/usr/lib
mv ${origdir}/usr/share/locale/fr/LC_MESSAGES/libstdc++.mo \
${destdir}/usr/share/locale/fr/LC_MESSAGES
mv ${origdir}/usr/share/locale/de/LC_MESSAGES/libstdc++.mo \
${destdir}/usr/share/locale/de/LC_MESSAGES
}

View file

@ -1,17 +0,0 @@
# Template file for 'gcc-locale'.
#
short_desc="${short_desc} (locales)"
long_desc="${long_desc}
This package contains the ${sourcepkg} locale files, for non US users."
run_depends=
noarch=yes
do_install()
{
local destdir=${XBPS_DESTDIR}/${pkgname}-${version}
mkdir -p ${destdir}/usr/share
mv ${XBPS_DESTDIR}/${sourcepkg}-${version}/usr/share/locale \
${destdir}/usr/share
}

View file

@ -0,0 +1,28 @@
# Template file for 'gcc-objc++'.
#
short_desc="GCC Objective-C++ support"
long_desc="${long_desc}
This package contains GCC Objective-C++ support."
Add_dependency run gmp
Add_dependency run mpfr
Add_dependency run gcc-c++
Add_dependency run gcc-objc
do_install()
{
local destdir=${XBPS_DESTDIR}/${pkgname}-${version}
local origdir=${XBPS_DESTDIR}/${sourcepkg}-${version}
local triplet=
if [ "${xbps_machine}" = "x86_64" ]; then
triplet="${xbps_machine}-unknown-linux-gnu"
else
triplet="${xbps_machine}-pc-linux-gnu"
fi
mkdir -p ${destdir}/usr/libexec/gcc/${triplet}/${version}
mv ${origdir}/usr/libexec/gcc/${triplet}/${version}/cc1objplus \
${destdir}/usr/libexec/gcc/${triplet}/${version}
}

View file

@ -0,0 +1,32 @@
# Template file for 'gcc-objc'.
#
short_desc="GCC Objective-C support"
long_desc="${long_desc}
This package contains GCC Objective-C support."
Add_dependency run gmp
Add_dependency run mpfr
Add_dependency run gcc
Add_dependency run gcc-libobjc
do_install()
{
local destdir=${XBPS_DESTDIR}/${pkgname}-${version}
local origdir=${XBPS_DESTDIR}/${sourcepkg}-${version}
local triplet=
if [ "${xbps_machine}" = "x86_64" ]; then
triplet="${xbps_machine}-unknown-linux-gnu"
else
triplet="${xbps_machine}-pc-linux-gnu"
fi
mkdir -p ${destdir}//usr/lib/gcc/${triplet}/${version}
mkdir -p ${destdir}/usr/libexec/gcc/${triplet}/${version}/include
mv ${origdir}/usr/lib/gcc/${triplet}/${version}/include/objc \
${destdir}/usr/lib/gcc/${triplet}/${version}/include
mv ${origdir}/usr/libexec/gcc/${triplet}/${version}/cc1obj \
${destdir}/usr/libexec/gcc/${triplet}/${version}
}

View file

@ -19,8 +19,16 @@ long_desc="
The GNU C Compiler suite, with support for C, C++, Fortran, ObjC."
base_chroot=yes
build_depends="gmp-4.2.4 mpfr-2.3.2 binutils-2.18"
subpackages="base dev docs locale"
subpackages="libgcc libstdc++ libstdc++-devel libgomp libmudflap"
subpackages="${subpackages} libmudflap-devel libobjc libobjc-devel"
subpackages="${subpackages} c++ objc objc++"
Add_dependency full gmp
Add_dependency full mpfr
Add_dependency full binutils
Add_dependency run gcc-libgcc
Add_dependency run gcc-libgomp
Add_dependency run glibc-devel
# As specified in the LFS book, disable installing libiberty.
pre_configure()
@ -28,8 +36,9 @@ pre_configure()
sed -i 's/install_to_$(INSTALL_DEST) //' $wrksrc/libiberty/Makefile.in
}
# Make /usr/bin/gcc -> /usr/bin/cc symlink.
post_install()
{
cd $XBPS_DESTDIR/$pkgname-$version/usr/bin && ln -s gcc cc
local destdir=$XBPS_DESTDIR/$pkgname-$version
cd $destdir/usr/bin && ln -s gcc cc
}