contrib/gcc-fortran/Pkgfile
2008-01-04 19:21:30 +11:00

90 lines
2.2 KiB
Plaintext

# URL: http://gcc.gnu.org/fortran
# Description: Fortran (f95) add-on for GNU GCC compiler.
# Maintainer: Danny Rawlins, romster at shortcircuit dot net dot au
# Packager: acrux, acrux at linuxmail dot org
# Depends on: mpfr
name=gcc-fortran
version=4.2.2
release=1
source=(ftp://sources.redhat.com/pub/gcc/releases/gcc-$version/gcc-{core,fortran}-$version.tar.bz2 \
gcc-fortran-$version-nocheck-fixincludes.patch \
gcc-fortran-$version-fixinc.patch)
build() {
patch -d gcc-$version -p1 -i $SRC/gcc-fortran-$version-nocheck-fixincludes.patch
patch -d gcc-$version -p1 -i $SRC/gcc-fortran-$version-fixinc.patch
sed -i -e 's|VERSUFFIX ""|VERSUFFIX " (CRUX)"|' \
gcc-$version/gcc/version.c
mkdir build
cd build
../gcc-$version/configure \
--prefix=/usr \
--libexecdir=/usr/lib \
--enable-languages=f95 \
--enable-threads=posix \
--enable-__cxa_atexit \
--enable-clocale=gnu \
--enable-shared \
--disable-nls \
--with-x=no
make bootstrap
make check
make DESTDIR=$PKG install
ln -fs gfortran $PKG/usr/bin/f90
ln -fs gfortran $PKG/usr/bin/f95
# remove un-needed files
find $PKG -name 'README' -delete
rm \
$PKG/usr/lib/libiberty.a \
$PKG/usr/bin/*-linux-gnu-* \
$PKG/usr/man/man1/{cpp,gcc,gcov}.1
rm -r \
$PKG/usr/info \
$PKG/usr/man/man7 \
$PKG/usr/lib/gcc/*/$version/install-tools \
$PKG/usr/lib/gcc/*/$version/include
# remove files already on the system out of the port
for i in $(pkginfo -l gcc |sed -e "s|^|/|"); do
if [ -e "$i" ] && [ ! -d "$i" ]; then
if [ -e "$PKG$i" ]; then
rm "$PKG$i"
fi
fi
done
# Remove empty directories
find $PKG -depth -empty -exec rm -r {} \;
# remove build paths from *.la files
for i in `find $PKG -name '*.la' | sed -e "s|$PKG|/|"`; do
sed -i "s|-L$SRC[^ ]* ||g" $PKG/$i
done
# install distcc symlinks if distcc is installed
if pkginfo -i |grep '^distcc '; then
install -d $PKG/usr/lib/distcc
for c in f90 f95 gfortran; do
cd $PKG/usr/lib/distcc && ln -s ../../bin/distcc $c
done
fi
# install ccache symlinks if ccache is installed
if pkginfo -i |grep '^ccache '; then
install -d $PKG/usr/lib/ccache
for c in f90 f95 gfortran; do
cd $PKG/usr/lib/ccache && ln -s ../../bin/ccache $c
done
fi
}