summaryrefslogtreecommitdiff
path: root/gcc-fortran/Pkgfile
blob: 8eae9c8fc68a71cd597a551bbf1544a3251a6cf4 (plain)
    1 # URL: http://gcc.gnu.org/fortran
    2 # Description: Fortran (f95) add-on for GNU GCC compiler.
    3 # Maintainer: Danny Rawlins, monster dot romster at gmail dot com
    4 # Packager: acrux, acrux at linuxmail dot org
    5 # Depends on: libmpfr
    6 
    7 name=gcc-fortran
    8 version=4.4.2
    9 release=1
   10 source=(ftp://sources.redhat.com/pub/gcc/releases/gcc-$version/gcc-{core,fortran}-$version.tar.bz2
   11 	gcc-nocheck-fixincludes.patch test-demangle.c.diff)
   12 
   13 build() {
   14 	patch -d gcc-$version -p 1 -i $SRC/gcc-nocheck-fixincludes.patch
   15 	patch -d gcc-$version -p 0 -i $SRC/test-demangle.c.diff
   16 
   17 	mkdir build
   18 	cd build
   19 
   20 	../gcc-$version/configure \
   21 		--with-pkgversion="(CRUX)" \
   22 		--prefix=/usr \
   23 		--libexecdir=/usr/lib \
   24 		--enable-languages=fortran \
   25 		--enable-threads=posix \
   26 		--enable-__cxa_atexit \
   27 		--enable-clocale=gnu \
   28 		--enable-shared \
   29 		--disable-nls \
   30 		--with-x=no
   31 
   32 	if [ -n "$(pkginfo -i | grep '^ccache ')" ]; then
   33 		make STAGE_CC_WRAPPER='/usr/bin/ccache' BOOT_CFLAGS="$CFLAGS" bootstrap
   34 	elif [ -n "$(pkginfo -i | grep '^distcc ')" ]; then
   35 		make STAGE_CC_WRAPPER='/usr/bin/distcc' BOOT_CFLAGS="$CFLAGS" bootstrap
   36 	else
   37 		make BOOT_CFLAGS="$CFLAGS" bootstrap
   38 	fi
   39 
   40 	make -j 1 check
   41 	make -j 1 DESTDIR=$PKG install
   42 
   43 	ln -fs gfortran $PKG/usr/bin/f90
   44 	ln -fs gfortran $PKG/usr/bin/f95
   45 
   46 	# remove un-needed files
   47 	find $PKG -name 'README' -delete
   48 
   49 	rm \
   50 		$PKG/usr/lib/libiberty.a \
   51 		$PKG/usr/bin/*-linux-gnu-* \
   52 		$PKG/usr/man/man1/{cpp,gcc,gcov}.1
   53 
   54 	rm -r \
   55 		$PKG/usr/info \
   56 		$PKG/usr/man/man7 \
   57 		$PKG/usr/lib/gcc/*/$version/install-tools \
   58 		$PKG/usr/lib/gcc/*/$version/include-fixed \
   59 		$PKG/usr/lib/gcc/*/$version/include		
   60 
   61 	# remove files already on the system out of the port
   62 	for i in $(pkginfo -l gcc | sed -e "s|^|/|"); do
   63 		if [ -e "$i" ] && [ ! -d "$i" ]; then
   64 			if [ -e "$PKG$i" ]; then
   65 				rm "$PKG$i"
   66 			fi
   67 		fi
   68 	done
   69 
   70 	# Remove empty directories
   71 	find $PKG -depth -empty -exec rm -r {} \;
   72 
   73 	# remove build paths from *.la files
   74 	for i in $(find $PKG -name '*.la' | sed -e "s|$PKG|/|"); do
   75 		sed -i "s|-L$SRC[^ ]* ||g" $PKG/$i
   76 	done
   77 }

Generated by cgit