Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GCC gfortran recipe #927

Merged
merged 1 commit into from Dec 25, 2016
Merged
Changes from all commits
Commits
File filter...
Filter file types
Jump to…
Jump to file
Failed to load files.

Always

Just for now

@@ -5,7 +5,7 @@ HOMEPAGE="http://gcc.gnu.org"

SOURCE_URI="https://ftp.gnu.org/gnu/gcc/gcc-5.4.0/gcc-5.4.0.tar.bz2"
CHECKSUM_SHA256="608df76dec2d34de6558249d8af4cbee21eceddbcb580d666f7a5a583ca3303a"
REVISION="3"
REVISION="4"
LICENSE="
GNU GPL v3
GNU LGPL v3
@@ -20,15 +20,21 @@ SECONDARY_ARCHITECTURES="x86"
libatomicSoVersion="1"
libatomicLibVersion="1.1.0"

libgccSoVersion="1"
libgccLibVersion="1"

libgfortranSoVersion="3"
libgfortranLibVersion="3.0.0"

libgompSoVersion="1"
libgompLibVersion="1.0.0"

libquadmathSoVersion="0"
libquadmathLibVersion="0.0.0"

libstdcxxSoVersion="6"
libstdcxxLibVersion="6.0.21"

libgccSoVersion="1"
libgccLibVersion="1"

PROVIDES="
gcc$secondaryArchSuffix = $portVersion compat >= 5
cmd:c++$secondaryArchSuffix = $portVersion compat >= 5
@@ -111,7 +117,7 @@ BUILD()
--docdir=$docDir --enable-threads=posix \
--disable-nls --enable-shared --with-gnu-ld --with-gnu-as \
--enable-version-specific-runtime-libs \
--enable-languages=c,c++ --enable-lto --enable-frame-pointer \
--enable-languages=c,c++,fortran --enable-lto --enable-frame-pointer \
--with-pkgversion=$(echo $portVersion | cut -d_ -f2-) \
--enable-__cxa-atexit --with-system-zlib --enable-checking=release \
--with-bug-url=http://dev.haiku-os.org/ \
@@ -198,6 +204,14 @@ INSTALL()
$libDir/
cp $gccLibDir/libatomic*.a $developLibDir/

# libgfortran
strip --strip-debug $gccLibDir/libgfortran.so.$libgfortranLibVersion
cp -d $gccLibDir/libgfortran.so \
$gccLibDir/libgfortran.so.$libgfortranSoVersion \
$gccLibDir/libgfortran.so.$libgfortranLibVersion \
$libDir/
cp $gccLibDir/libgfortran*.a $developLibDir/

# libgomp
strip --strip-debug $gccLibDir/libgomp.so.$libgompLibVersion
cp -d $gccLibDir/libgomp.so \
@@ -206,6 +220,14 @@ INSTALL()
$libDir/
cp $gccLibDir/libgomp*.a $developLibDir/

# libquadmath
strip --strip-debug $gccLibDir/libquadmath.so.$libquadmathLibVersion
cp -d $gccLibDir/libquadmath.so \
$gccLibDir/libquadmath.so.$libquadmathSoVersion \
$gccLibDir/libquadmath.so.$libquadmathLibVersion \
$libDir/
cp $gccLibDir/libquadmath*.a $developLibDir

# libstdc++
strip --strip-debug $gccLibDir/libstdc++.so.$libstdcxxLibVersion
cp -d $gccLibDir/libstdc++.so \
@@ -243,7 +265,7 @@ INSTALL()

cd $installDir
strip bin/*
for f in cc1 cc1plus collect2 lto1 lto-wrapper; do
for f in cc1 cc1plus collect2 f951 lto1 lto-wrapper; do
strip $gccLibDir/$f
done

@@ -261,7 +283,7 @@ INSTALL()
addattr SYS:ENV DISABLE_ASLR=1 $f
fi
done
for f in cc1 cc1plus collect2 lto1; do
for f in cc1 cc1plus collect2 f951 lto1; do
addattr SYS:ENV DISABLE_ASLR=1 \
$gccLibDir/$f
done
@@ -275,7 +297,7 @@ INSTALL()

# make all tools available via default paths
mkdir -p $binDir
for f in c++ cc cpp g++ gcc gcov; do
for f in c++ cc cpp g++ gcc gcov gfortran; do
symlinkRelative -sfn $installDir/bin/$f $binDir
done

@@ -287,15 +309,33 @@ INSTALL()

### Sub Packages ##########################################

packageEntries "fortran" \
$relativeBinDir/gfortran \
$developDir/tools/bin/*gfortran \
$installDir/$gccLibDir/f951 \
$installDir/$gccLibDir/finclude \
$installDir/$gccLibDir/libcaf_single.a \
$installDir/$gccLibDir/libgfortran.a \
$installDir/$gccLibDir/libgfortran.spec \
$installDir/$gccLibDir/libgfortranbegin.a

rm -rf $installDir/$gccLibDir/{f951, finclude, libcaf_single*, libgfortran*}

packageEntries "syslibs" \
$relativeLibDir/libatomic.so \
$relativeLibDir/libatomic.so.$libatomicSoVersion \
$relativeLibDir/libatomic.so.$libatomicLibVersion \
$relativeLibDir/libgcc_s.so \
$relativeLibDir/libgcc_s.so.$libgccSoVersion \
$relativeLibDir/libgfortran.so \
$relativeLibDir/libgfortran.so.$libgfortranSoVersion \
$relativeLibDir/libgfortran.so.$libgfortranLibVersion \
$relativeLibDir/libgomp.so \
$relativeLibDir/libgomp.so.$libgompSoVersion \
$relativeLibDir/libgomp.so.$libgompLibVersion \
$relativeLibDir/libquadmath.so \
$relativeLibDir/libquadmath.so.$libquadmathSoVersion \
$relativeLibDir/libquadmath.so.$libquadmathLibVersion \
$relativeLibDir/libstdc++.so \
$relativeLibDir/libstdc++.so.$libstdcxxSoVersion \
$relativeLibDir/libstdc++.so.$libstdcxxLibVersion \
@@ -308,6 +348,7 @@ INSTALL()
$relativeDevelopLibDir/libgcc_eh.a \
$relativeDevelopLibDir/libgcc_eh-kernel.a \
$relativeDevelopLibDir/libgomp.a \
$relativeDevelopLibDir/libquadmath.a \
$relativeDevelopLibDir/libstdc++.a \
$relativeDevelopLibDir/libsupc++.a \
$relativeDevelopLibDir/libsupc++-kernel.a \
@@ -317,6 +358,26 @@ INSTALL()
rm -rf $developLibDir
}

# ----- fortran package -----------------------------------------------

SUMMARY_fortran="C/C++-runtime static libraries and C++ headers, needed for gfortran"
DESCRIPTION_fortran="This package is not of general interest - it \
contains the set of gcc's C/C++-runtime libraries and headers that is \
required by gfortran to build fortran source code."

PROVIDES_fortran="
gcc${secondaryArchSuffix}_fortran = $portVersion compat >= 5
cmd:gfortran$secondaryArchSuffix = $portVersion compat >= 5
cmd:f951$secondaryArchSuffix = $portVersion compat >= 5
devel:libgfortran$secondaryArchSuffix = $libgfortranLibVersion compat >= $libgfortranSoVersion
devel:libcaf_single$secondaryArchSuffix = $libgfortranLibVersion compat >= $libgfortranSoVersion
devel:libgfortranbegin$secondaryArchSuffix = $libgfortranLibVersion compat >= $libgfortranSoVersion
"
REQUIRES_fortran="
haiku$secondaryArchSuffix
gcc${secondaryArchSuffix}_syslibs == $portVersion base
"

# ----- syslibs package -----------------------------------------------------

SUMMARY_syslibs="C/C++-runtime shared libraries, needed to execute C/C++ programs"
@@ -328,7 +389,9 @@ PROVIDES_syslibs="
gcc${secondaryArchSuffix}_syslibs = $portVersion compat >= 4
lib:libatomic$secondaryArchSuffix = $libatomicLibVersion compat >= $libatomicSoVersion
lib:libgcc_s$secondaryArchSuffix = $portVersion compat >= 4
lib:libgfortran$secondaryArchSuffix = $libgfortranLibVersion compat >= $libgfortranSoVersion
lib:libgomp$secondaryArchSuffix = $libgompLibVersion compat >= $libgompSoVersion
lib:libquadmath$secondaryArchSuffix = $libquadmathLibVersion compat >= $libquadmathSoVersion
lib:libstdc++$secondaryArchSuffix = $portVersion compat >= 4
lib:libsupc++$secondaryArchSuffix = $portVersion compat >= 4
"
@@ -350,7 +413,9 @@ PROVIDES_syslibs_devel="
devel:libgcc$secondaryArchSuffix = $portVersion compat >= 4
devel:libgcc_eh$secondaryArchSuffix = $portVersion compat >= 4
devel:libgcc_eh_kernel$secondaryArchSuffix = $portVersion compat >= 4
devel:libgfortran$secondaryArchSuffix = $libgfortranLibVersion compat >= $libgfortranSoVersion
devel:libgomp$secondaryArchSuffix = $libgompLibVersion compat >= $libgompSoVersion
devel:libquadmath$secondaryArchSuffix = $libquadmathLibVersion compat >= $libquadmathSoVersion
devel:libstdc++$secondaryArchSuffix = $portVersion compat >= 4
devel:libsupc++$secondaryArchSuffix = $portVersion compat >= 4
devel:libsupc++_kernel$secondaryArchSuffix = $portVersion compat >= 4
ProTip! Use n and p to navigate between commits in a pull request.
You can’t perform that action at this time.