Files
chromebrew/packages/libssp.rb
satmandu 2b10b9843a perl -> 5.32.1, gcc -> 11.1, llvm -> 12.0.0, add pixz to core (#5665)
* perl -> 5.32.1

* fix url

* perl rebuild with lto, adjustment of conflicts

* texinfo rebuild

* working version on all architectures

* simply logic

* Cleanup, backport of gcc11 package changes

* more cleanup

* restore some depends

* Use specific revision for mpfr patchset

* Update links to release links

* Replace gcc10 with libssp in install.sh

* Change links to gcc10.3.0 release links

* install not a dependency libssp when installing gcc10 to avoid breaking any libssp dependent packages.

* Adjust gcc10 postinstall logic

* preinstall and postinstall changes for gcc 10.3.0

* Add gcc uninstall message

* Add ruby require for gcc10 package file

* libssp => gcc11.1

* Initial add of gcc 11.1

* change buildessential to use gcc11 instead of gcc10

* x86_64 workaround still needed

* Still need PATH_MAX patching

* add libssp 11.1.0 binaries

* add gcc11 binaries

* convert gcc10 to an is_fake package requiring libssp

* Update gcc_tools with new libssp & gcc11

* revert gcc_tools update

* update to gitlab links

* switch to gitlab links

* use gitlab links

* use gitlab links

* move to gitlab, add more symlinks

* change to gitlab

* switch to gitlab take 2

* use nproc

* New binary packages

* use gnumirror

* Add llvm 12.0.0

* remove lld dep

* finish merge

* switch to gcc11 as primary

* update stow

* fix stow

* replace lzma with current xz-utils

* add po4a build dep to xzutils

* file conflict fix

* initial perl 5.32.1 fixes

* add stow

* deal with conflict

* deal with conflict take 2

* work crew modifications

* have crew delete conflict files from crew module builds

* move delete packfile function to crew

* remove need for po4a

* Add xzutils, pixz

* is_fake doesn't need source_url

* add pixz tpxz format support to crew

* add more perl 5.32.1 binaries

* modify pixz settings

* pixz changes

* tpxz fixes

* crew debugging

* crew debugging

* crew debugging

* crew debugging

* crew debugging

* crew debugging

* crew debugging

* crew debugging

* crew debugging

* fix gcc10 gcc11 packages

* Add xzutils to pixz deps

* Add pixz if not installed.

* change pixz logic

* pixz changes

* xzutils is a runtime dep for pixz

* grammar fix

* Keep crew from crashing on reading malformed package files

* clean up

* don't show duplicate error for syntax error

* don't show duplicate error for syntax error

* Fix comparison

* Use  safe navigation operator.

* Use same fix for list compatible

* refactor compatibility

* bump

* add binary_url to package.rb

* cleanup empty space

* minimal rubocop suggested cleanup

* requested changes

* revert code changes which don't work in ruby

* simplify list compatible

* requested changes...

* hide message behind debug flag.

* libdrm -> 2.4.105

* add mesa 21.1.0

* make full gcc11 package

* replace stow with perl_stow and update gcc10 to full package

* gcc11 hash update

* Add pixz to core

* remove libgcc_s1

* libgcc_s1 -> dummy package

* cleanup perl package files

* requested changes

* remove libgcc_s1.rb

* gcc changes

* rubocop changes

* modify crew to use PIXZ by default

* enable pixz in install.sh

* move postinstall to install

* bump gcc versions

* fix gcc10 url

* make gcc_version logic changes

* Add new gcc10 binaries

* add new gcc11 and libssp armv7l binaries, bump const.rb version

* modify already installed logic

* install.sh and crew bump

* back out core_packages.txt install changes
2021-05-11 17:33:20 -05:00

107 lines
3.3 KiB
Ruby

require 'package'
class Libssp < Package
description 'Libssp is a part of the GCC toolkit.'
homepage 'https://gcc.gnu.org/'
version '11.1.0'
license 'GPL-3, LGPL-3, libgcc, FDL-1.2'
compatibility 'all'
source_url 'https://ftpmirror.gnu.org/gcc/gcc-11.1.0/gcc-11.1.0.tar.xz'
source_sha256 '4c4a6fb8a8396059241c2e674b85b351c26a5d678274007f076957afa1cc9ddf'
binary_url({
aarch64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/libssp/11.1.0_armv7l/libssp-11.1.0-chromeos-armv7l.tar.xz',
armv7l: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/libssp/11.1.0_armv7l/libssp-11.1.0-chromeos-armv7l.tar.xz',
i686: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/libssp/11.1.0_i686/libssp-11.1.0-chromeos-i686.tar.xz',
x86_64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/libssp/11.1.0_x86_64/libssp-11.1.0-chromeos-x86_64.tar.xz'
})
binary_sha256({
aarch64: '8befe2e0872e61a61f3c3b557905612e64358d7df0617e8101dec63768087eb8',
armv7l: '8befe2e0872e61a61f3c3b557905612e64358d7df0617e8101dec63768087eb8',
i686: '5b02bf769ec3754f4b0c937e5420f13bf285bc81bdc9c68fbc6f63c56562682b',
x86_64: '356cd568080dd0e724081ec7f020d0b21e091d5552d175746f830c48830bd8b9'
})
depends_on 'ccache' => :build
depends_on 'dejagnu' => :build # for test
depends_on 'glibc' # R
@gcc_name = 'libssp'
@gcc_global_opts = '--disable-libmpx \
--disable-libssp \
--disable-multilib \
--disable-werror \
--enable-cet=auto \
--enable-checking=release \
--enable-clocale=gnu \
--enable-default-pie \
--enable-default-ssp \
--enable-gnu-indirect-function \
--enable-gnu-unique-object \
--enable-host-shared \
--enable-lto \
--enable-plugin \
--enable-shared \
--enable-symvers \
--enable-static \
--enable-threads=posix \
--with-gcc-major-version-only \
--with-gmp \
--with-isl \
--with-mpc \
--with-mpfr \
--with-pic \
--with-system-libunwind \
--with-system-zlib'
@cflags = '-fPIC -pipe'
@cxxflags = '-fPIC -pipe'
@languages = 'c,c++,jit,objc,fortran,go'
case ARCH
when 'armv7l', 'aarch64'
@archflags = '--with-arch=armv7-a --with-float=hard --with-fpu=neon'
when 'x86_64'
@archflags = '--with-arch-64=x86-64'
when 'i686'
@archflags = '--with-arch-32=i686'
end
def self.build
# Set ccache sloppiness as per
# https://wiki.archlinux.org/index.php/Ccache#Sloppiness
system 'ccache --set-config=sloppiness=file_macro,locale,time_macros'
# Prefix ccache to path.
@path = "#{CREW_LIB_PREFIX}/ccache/bin:#{CREW_PREFIX}/bin:/usr/bin:/bin"
gcc_version = version.split('-')[0]
Dir.mkdir "#{@gcc_name}-builddir"
Dir.chdir "#{@gcc_name}-builddir" do
system "env NM=gcc-nm AR=gcc-ar RANLIB=gcc-ranlib \
CFLAGS='#{@cflags}' CXXFLAGS='#{@cxxflags}' \
PATH=#{@path} \
../#{@gcc_name}/configure #{CREW_OPTIONS} \
#{@gcc_global_opts} \
--enable-languages=#{@languages} \
--program-suffix=-#{gcc_version} \
#{@archflags}"
system "env PATH=#{@path} \
make"
end
end
def self.check
Dir.chdir "#{@gcc_name}-builddir" do
system 'make check'
end
end
def self.install
Dir.chdir "#{@gcc_name}-builddir" do
system "make DESTDIR=#{CREW_DEST_DIR} install"
end
end
end