Skip to content

Commit 1b8ac9c

Browse files
author
Release Manager
committed
sagemathgh-38905: Update the gcc spkg to version 14.2.0 using iains/gcc-14-branch <!-- ^ Please provide a concise and informative title. --> <!-- ^ Don't put issue numbers in the title, do this in the PR description below. --> <!-- ^ For example, instead of "Fixes sagemath#12345" use "Introduce new method to calculate 1 + 2". --> <!-- v Describe your changes below in detail. --> <!-- v Why is this change required? What problem does it solve? --> This PR updates the gcc spkg (and hence the gfortran spkg) to version 14.2.0. I tested that the spkg builds cleanly on macOS 15.1 (Sequoia) using XCode 16.1 with both Intel and M1 CPUs. I also tested that it builds cleanly on Ubuntu 22.04 using the system gmp and gcc. The openblas spkg also builds on all three of those systems, although I could not determine whether Sage was using the system gfortran or its own gfortran for building openblas on Ubuntu. There is a caveat. The gcc project does not currently have official support for Apple Silicon. However, the gcc maintainer for darwin, Iain Sandoe , maintains a [github site](https://github.com/iains/) containing gcc source code with "experimental" support for Apple silicon, in addition to Intel. This PR uses the [gcc-14-branch](https://github.com/iains/gcc-14-branch) repository from that site. The spkg fetches the tag [gcc-14.2-darwin- r2](https://github.com/iains/gcc-14-branch/releases/tag/gcc-14.2-darwin- r2) as a tarball and names the tarball as gfortran-14.2.0.tar.gz. The github api does not support publishing hashes of tag downloads. So I downloaded the tag tarball twice and verified that the files were the same for both downloads. I used hashes of that file in checksums.ini. <!-- v If this PR resolves an open issue, please link to it here. For example, "Fixes sagemath#12345". --> No patches are needed for building on macOS with either CPU or on Ubuntu. (cf PR sagemath#38855) ### 📝 Checklist <!-- Put an `x` in all the boxes that apply. --> - [x] The title is concise and informative. - [x] The description explains in detail what this PR is about. - [x] I have linked a relevant issue or discussion. - [ ] I have created tests covering the changes. - [ ] I have updated the documentation and checked the documentation preview. ### ⌛ Dependencies <!-- List all open PRs that this PR logically depends on. For example, --> <!-- - sagemath#12345: short description why this is a dependency --> <!-- - sagemath#34567: ... --> URL: sagemath#38905 Reported by: Marc Culler Reviewer(s): John H. Palmieri
2 parents 69a8c02 + edd5553 commit 1b8ac9c

8 files changed

Lines changed: 76 additions & 14863 deletions

File tree

build/pkgs/_prereq/distros/debian.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ binutils
1111
make
1212
m4
1313
perl
14+
# flex is needed to build gcc
15+
flex
1416
# python3-minimal is not enough on debian buster, ubuntu bionic - it does not have urllib
1517
# system python for bootstrapping the build
1618
python3

build/pkgs/_prereq/distros/fedora.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,3 +29,5 @@ which
2929
diffutils
3030
# Needed for openssl 3.0
3131
perl-IPC-Cmd
32+
# Needed to build gcc
33+
flex
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
*** a/x86_64/Makefile.in Mon Nov 4 14:08:05 2024
2+
--- b/x86_64/Makefile.in Mon Nov 4 14:15:46 2024
3+
***************
4+
*** 355,361 ****
5+
all: all-am
6+
7+
.SUFFIXES:
8+
! .SUFFIXES: .asm .lo .o .obj .s
9+
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
10+
@for dep in $?; do \
11+
case '$(am__configure_deps)' in \
12+
--- 355,361 ----
13+
all: all-am
14+
15+
.SUFFIXES:
16+
! .SUFFIXES: .asm .lo .o .obj .sx
17+
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
18+
@for dep in $?; do \
19+
case '$(am__configure_deps)' in \
20+
***************
21+
*** 406,418 ****
22+
distclean-compile:
23+
-rm -f *.tab.c
24+
25+
! .s.o:
26+
$(AM_V_CCAS)$(CCASCOMPILE) -c -o $@ $<
27+
28+
! .s.obj:
29+
$(AM_V_CCAS)$(CCASCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
30+
31+
! .s.lo:
32+
$(AM_V_CCAS)$(LTCCASCOMPILE) -c -o $@ $<
33+
34+
mostlyclean-libtool:
35+
--- 406,418 ----
36+
distclean-compile:
37+
-rm -f *.tab.c
38+
39+
! .sx.o:
40+
$(AM_V_CCAS)$(CCASCOMPILE) -c -o $@ $<
41+
42+
! .sx.obj:
43+
$(AM_V_CCAS)$(CCASCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
44+
45+
! .sx.lo:
46+
$(AM_V_CCAS)$(LTCCASCOMPILE) -c -o $@ $<
47+
48+
mostlyclean-libtool:
49+
***************
50+
*** 706,713 ****
51+
mulredc1_20.asm: mulredc1.m4
52+
$(M4) -DLENGTH=20 $< > $@
53+
54+
! .asm.s:
55+
! $(M4) -I../ -DOPERATION_$* `test -f $< || echo '$(srcdir)/'`$< >$*.s
56+
# Nothing here needs the C preprocessor, and including this rule causes
57+
# "make" to build .S, then .s files which fails on case-insensitive
58+
# filesystems
59+
--- 706,713 ----
60+
mulredc1_20.asm: mulredc1.m4
61+
$(M4) -DLENGTH=20 $< > $@
62+
63+
! .asm.sx:
64+
! $(M4) -I../ -DOPERATION_$* `test -f $< || echo '$(srcdir)/'`$< >$*.sx
65+
# Nothing here needs the C preprocessor, and including this rule causes
66+
# "make" to build .S, then .s files which fails on case-insensitive
67+
# filesystems

build/pkgs/gcc/checksums.ini

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
tarball=gcc-VERSION.tar.xz
2-
sha1=6501872415823c95d48be28853ce3ebd6c1040c4
3-
sha256=0845e9621c9543a13f484e94584a49ffc0129970e9914624235fc1d061a0c083
4-
upstream_url=https://mirrors.kernel.org/gnu/gcc/gcc-VERSION/gcc-VERSION.tar.xz
1+
tarball=gcc-VERSION.tar.gz
2+
sha1=c25c11e209fbfa795e80e354f8f48f181decd83b
3+
sha256=23c2a1b2ce01e9d51948339869453229173c6889758137e7e517b545ae8bfc02
4+
upstream_url=https://github.com/iains/gcc-14-branch/archive/refs/tags/gcc-14.2-darwin-r2.tar.gz

build/pkgs/gcc/package-version.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
13.3.0
1+
14.2.0

0 commit comments

Comments
 (0)