Files
binary-repo/sys/devel/gcc/ympbuild
T
2022-12-14 06:10:48 +00:00

98 lines
2.3 KiB
Bash

#!/usr/bin/env bash
name='gcc'
release='1'
version='12.2.0'
url='https://ftp.gnu.org/gnu/gcc/'
description='GNU Compiler Collection'
email=' parduscix@yandex.ru'
maintainer=' sulincix'
license=('GPLv3')
source=("https://ftp.gnu.org/gnu/gcc/gcc-12.2.0/gcc-${version}.tar.xz")
depends=(binutils libmpc zlib)
makedepends=( )
md5sums=('73bafd0af874439dcdb9fc063b6fb069')
arch=('x86_64')
group=(sys.devel)
uses=(multilib)
uses_extra=(langs)
cd $name-$version
export CFLAGS="-O2 -s"
export CXXFLAGS="-O2 -s"
unset LDFLAGS
prepare(){
cd ..
# tar permissions and owners is not supported by ymp sandbox.
# we remove broken source and extract again without permission and owners
rm -rf $name-$version
tar --no-same-owner --no-same-permissions -xvf $name-$version.tar.xz
}
setup(){
options=(
--prefix=/usr
--libexecdir=/usr/libexec
--mandir=/usr/share/man
--infodir=/usr/share/info
--with-pkgversion="Sulix"
--with-bugurl=https://gitlab.com/groups/sulix/-/issues
--disable-checking
--disable-fixed-point
--disable-libstdcxx-pch
--enable-plugin
--enable-lto
--enable-languages=c,c++$(use_opt langs ",fortran,go,objc,obj-c++" "")
--enable-shared
--without-zstd
--with-system-zlib
--disable-nls
)
if use multilib ; then
mkdir build-lib32
cd build-lib32
../configure ${options[@]} \
--libdir=/usr/lib32 \
--target=i686-pc-linux-gnu
cd ..
fi
mkdir build
cd build
../configure ${options[@]} \
--libdir=/usr/lib64 \
--target=x86_64-pc-linux-gnu \
$(use_opt multilib "--enable-multilib" "") \
$(use_opt multilib "--with-multilib-list=m32,m64" "")
}
build(){
if use multilib ; then
cd build-lib32
make -j`nproc`
cd ..
fi
cd build
make -j`nproc`
}
package(){
if use multilib ; then
cd build-lib32
make install -j`nproc`
cd ..
fi
cd build
make install -j`nproc`
mkdir -p ${DESTDIR}/usr/lib64/
if use multilib ; then
# move lib to lib64
if [ -d ${DESTDIR}/usr/lib && ! -d ${DESTDIR}/usr/lib32 ] ; then
mv ${DESTDIR}/usr/{lib,lib32}
fi
fi
ln -s gcc ${DESTDIR}/usr/bin/cc
ln -s g++ ${DESTDIR}/usr/bin/cxx
ln -s ../usr/bin/cpp ${DESTDIR}/lib64/cpp
}