[packages/crossmingw32-gcc] - updated to 7.5.0 - updated lfs patch, more changes added to mingw32 patch - -java dropped (no long
qboosh
qboosh at pld-linux.org
Thu Dec 26 18:34:06 CET 2019
commit 0c9e92e0681b61587065ff25a44c77d1dcc1adc6
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Thu Dec 26 18:34:55 2019 +0100
- updated to 7.5.0
- updated lfs patch, more changes added to mingw32 patch
- -java dropped (no longer supported by gcc)
crossmingw32-gcc-lfs.patch | 43 ++++++++++++----------------------
crossmingw32-gcc.spec | 57 ++++++++--------------------------------------
gcc-mingw32.patch | 37 ++++++++++++++++++++++++++++++
3 files changed, 61 insertions(+), 76 deletions(-)
---
diff --git a/crossmingw32-gcc.spec b/crossmingw32-gcc.spec
index c12f83e..ad8c5f1 100644
--- a/crossmingw32-gcc.spec
+++ b/crossmingw32-gcc.spec
@@ -13,13 +13,13 @@ Summary(pl.UTF-8): Skrośne narzędzia programistyczne GNU dla MinGW32 - gcc
Summary(pt_BR.UTF-8): Utilitários para desenvolvimento de binários da GNU - MinGW32 gcc
Summary(tr.UTF-8): GNU geliştirme araçları - MinGW32 gcc
Name: crossmingw32-gcc
-Version: 6.5.0
-Release: 2
+Version: 7.5.0
+Release: 1
Epoch: 1
License: GPL v3+
Group: Development/Languages
Source0: https://ftp.gnu.org/gnu/gcc/gcc-%{version}/gcc-%{version}.tar.xz
-# Source0-md5: edaeff1cc020b16a0c19a6d5e80dc2fd
+# Source0-md5: 79cb8a65d44dfc8a2402b46395535c9a
%define w32api_ver 5.0.2
Source1: http://downloads.sourceforge.net/mingw/w32api-%{w32api_ver}-mingw32-dev.tar.xz
# Source1-md5: 78aa3ed3964f32aec8c0d40521c40eb8
@@ -27,9 +27,7 @@ Source1: http://downloads.sourceforge.net/mingw/w32api-%{w32api_ver}-mingw32-dev
Source2: http://downloads.sourceforge.net/mingw/mingwrt-%{mingw32_ver}-mingw32-dev.tar.xz
# Source2-md5: ebb43675d02887e045812debfbabe061
Source3: gcc-optimize-la.pl
-# svn diff -x --ignore-eol-style --force svn://gcc.gnu.org/svn/gcc/tags/gcc_6_5_0_release svn://gcc.gnu.org/svn/gcc/branches/gcc-6-branch > gcc-branch.diff
-Patch100: gcc-branch.diff
-# Patch100-md5: 5ad5a566cbaf57f985192534e5ef1c32
+#Patch100: gcc-branch.diff
Patch0: %{name}-buildsystem1.patch
Patch1: %{name}-buildsystem2.patch
Patch2: %{name}-lfs.patch
@@ -64,6 +62,8 @@ Requires: gmp >= 4.3.2
Requires: isl >= 0.15
Requires: libmpc >= 0.8.1
Requires: mpfr >= 2.4.2
+# java support dropped from gcc 7+
+Obsoletes: crossmingw32-java < 1:7
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define target i386-mingw32
@@ -468,33 +468,9 @@ DLL GCC __float128 support library for Windows.
%description -n crossmingw32-libquadmath-dll -l pl.UTF-8
Biblioteka DLL GCC do obsługi typu __float128 dla Windows.
-%package java
-Summary: MinGW32 binary utility development utilities - Java
-Summary(pl.UTF-8): Zestaw narzędzi MinGW32 - Java
-Group: Development/Languages
-Requires: %{name} = %{epoch}:%{version}-%{release}
-
-%description java
-crossmingw32 is a complete cross-compiling development system for
-building stand-alone Microsoft Windows applications under Linux using
-the MinGW32 build libraries. This includes a binutils, gcc with g++
-and objc, and libstdc++, all cross targeted to i386-mingw32, along
-with supporting Win32 libraries in 'coff' format from free sources.
-
-This package contains cross targeted Java compiler.
-
-%description java -l pl.UTF-8
-crossmingw32 jest kompletnym systemem do kompilacji skrośnej,
-pozwalającym budować aplikacje MS Windows pod Linuksem używając
-bibliotek MinGW32. System składa się z binutils, gcc z g++ i objc,
-libstdc++ - wszystkie generujące kod dla platformy i386-mingw32, oraz
-z bibliotek w formacie COFF.
-
-Ten pakiet zawiera kompilator Javy generujący kod pod Win32.
-
%prep
%setup -q -n gcc-%{version}
-%patch100 -p0
+#patch100 -p0
%patch0 -p1
%patch2 -p1
%patch3 -p1
@@ -554,7 +530,7 @@ CXXFLAGS_FOR_TARGET="-O2 -march=i486" \
--enable-c99 \
--enable-fully-dynamic-string \
--disable-isl-version-check \
- --enable-languages="c,c++,fortran,java,objc,obj-c++" \
+ --enable-languages="c,c++,fortran,objc,obj-c++" \
--disable-libcc1 \
--enable-libgomp%{!?with_gomp:=no} \
--disable-libssp \
@@ -595,8 +571,6 @@ ln -sf %{archbindir}/%{target}-cpp $RPM_BUILD_ROOT%{_bindir}/%{target}-cpp
ln -sf %{archbindir}/%{target}-gcov $RPM_BUILD_ROOT%{_bindir}/%{target}-gcov
ln -sf %{archbindir}/%{target}-gcov-dump $RPM_BUILD_ROOT%{_bindir}/%{target}-gcov-dump
ln -sf %{archbindir}/%{target}-gcov-tool $RPM_BUILD_ROOT%{_bindir}/%{target}-gcov-tool
-ln -sf %{archbindir}/%{target}-gcj $RPM_BUILD_ROOT%{_bindir}/%{target}-gcj
-ln -sf %{archbindir}/%{target}-jcf-dump $RPM_BUILD_ROOT%{_bindir}/%{target}-jcf-dump
ln -sf %{archbindir}/%{target}-gfortran $RPM_BUILD_ROOT%{_bindir}/%{target}-gfortran
# DLLs
@@ -635,8 +609,6 @@ done
%{__rm} -r $RPM_BUILD_ROOT%{_infodir}
# common FSF man pages
%{__rm} $RPM_BUILD_ROOT%{_mandir}/man7/{fsf-funding,gfdl,gpl}.7
-# programs not packaged
-%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/%{target}-{aot-compile,gc-analyze,gcj-dbtool,gij,grmic,jv-convert,rebuild-gcj-db}.1
%clean
rm -rf $RPM_BUILD_ROOT
@@ -790,7 +762,7 @@ rm -rf $RPM_BUILD_ROOT
%files -n crossmingw32-libgfortran-dll
%defattr(644,root,root,755)
-%{_dlldir}/libgfortran-3.dll
+%{_dlldir}/libgfortran-4.dll
%files -n crossmingw32-libquadmath
%defattr(644,root,root,755)
@@ -804,14 +776,3 @@ rm -rf $RPM_BUILD_ROOT
%files -n crossmingw32-libquadmath-dll
%defattr(644,root,root,755)
%{_dlldir}/libquadmath-0.dll
-
-%files java
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/%{target}-gcj
-%attr(755,root,root) %{_bindir}/%{target}-jcf-dump
-%attr(755,root,root) %{archbindir}/%{target}-gcj
-%attr(755,root,root) %{archbindir}/%{target}-jcf-dump
-%attr(755,root,root) %{gcclibdir}/jc1
-%attr(755,root,root) %{gcclibdir}/jvgenmain
-%{_mandir}/man1/%{target}-gcj.1*
-%{_mandir}/man1/%{target}-jcf-dump.1*
diff --git a/crossmingw32-gcc-lfs.patch b/crossmingw32-gcc-lfs.patch
index 7a28aba..589bad1 100644
--- a/crossmingw32-gcc-lfs.patch
+++ b/crossmingw32-gcc-lfs.patch
@@ -1,19 +1,6 @@
-diff -r faddb1a6e933 libstdc++-v3/config/io/basic_file_stdio.cc
---- a/libstdc++-v3/config/io/basic_file_stdio.cc Fri Jul 31 08:58:42 2009 -0600
-+++ b/libstdc++-v3/config/io/basic_file_stdio.cc Fri Jul 31 13:09:27 2009 -0600
-@@ -224,16 +224,16 @@
- }
- return __ret;
- }
--
-- __basic_file<char>*
-- __basic_file<char>::open(const char* __name, ios_base::openmode __mode,
-+
-+ __basic_file<char>*
-+ __basic_file<char>::open(const char* __name, ios_base::openmode __mode,
- int /*__prot*/)
- {
- __basic_file* __ret = NULL;
+--- gcc-7.5.0/libstdc++-v3/config/io/basic_file_stdio.cc.orig 2017-08-14 14:14:09.143001000 +0200
++++ gcc-7.5.0/libstdc++-v3/config/io/basic_file_stdio.cc 2019-12-25 20:03:25.172581834 +0100
+@@ -236,7 +236,7 @@
const char* __c_mode = fopen_mode(__mode);
if (__c_mode && !this->is_open())
{
@@ -22,31 +9,31 @@ diff -r faddb1a6e933 libstdc++-v3/config/io/basic_file_stdio.cc
if ((_M_cfile = fopen64(__name, __c_mode)))
#else
if ((_M_cfile = fopen(__name, __c_mode)))
-@@ -317,7 +317,7 @@
+@@ -311,7 +311,7 @@
streamoff
- __basic_file<char>::seekoff(streamoff __off, ios_base::seekdir __way)
+ __basic_file<char>::seekoff(streamoff __off, ios_base::seekdir __way) throw ()
{
-#ifdef _GLIBCXX_USE_LFS
+#if defined(_GLIBCXX_USE_LFS) || defined(__MINGW32__)
return lseek64(this->fd(), __off, __way);
#else
if (__off > numeric_limits<off_t>::max()
-@@ -366,6 +366,15 @@
- ios_base::cur);
- return std::min(__off, streamoff(numeric_limits<streamsize>::max()));
- }
+@@ -355,6 +355,15 @@
+ if (!__err && _GLIBCXX_ISREG(__buffer.st_mode))
+ {
+ const streamoff __off = __buffer.st_size - lseek64(this->fd(), 0,
++ ios_base::cur);
++ return std::min(__off, streamoff(numeric_limits<streamsize>::max()));
++ }
+#elif defined(__MINGW32__)
+ struct _stati64 __buffer;
+ const int __err = _fstati64(this->fd(), &__buffer);
+ if (!__err && _GLIBCXX_ISREG(__buffer.st_mode))
+ {
+ const streamoff __off = __buffer.st_size - lseek64(this->fd(), 0,
-+ ios_base::cur);
-+ return std::min(__off, streamoff(numeric_limits<streamsize>::max()));
-+ }
- #else
- struct stat __buffer;
- const int __err = fstat(this->fd(), &__buffer);
+ ios_base::cur);
+ return std::min(__off, streamoff(numeric_limits<streamsize>::max()));
+ }
diff -r faddb1a6e933 libstdc++-v3/include/ext/stdio_sync_filebuf.h
--- a/libstdc++-v3/include/ext/stdio_sync_filebuf.h Fri Jul 31 08:58:42 2009 -0600
+++ b/libstdc++-v3/include/ext/stdio_sync_filebuf.h Fri Jul 31 13:09:27 2009 -0600
diff --git a/gcc-mingw32.patch b/gcc-mingw32.patch
index 40d2adb..fe2fe72 100644
--- a/gcc-mingw32.patch
+++ b/gcc-mingw32.patch
@@ -10,3 +10,40 @@
/* INTEGER FUNCTION CHMOD (NAME, MODE)
+--- gcc-7.5.0/libstdc++-v3/libsupc++/new_opa.cc.orig 2019-10-24 17:31:00.754226000 +0200
++++ gcc-7.5.0/libstdc++-v3/libsupc++/new_opa.cc 2019-12-26 09:33:51.155818937 +0100
+@@ -29,10 +29,13 @@
+ #include <bits/exception_defines.h>
+ #include "new"
+
+-#if !_GLIBCXX_HAVE_ALIGNED_ALLOC && !_GLIBCXX_HAVE__ALIGNED_MALLOC \
+- && !_GLIBCXX_HAVE_POSIX_MEMALIGN && _GLIBCXX_HAVE_MEMALIGN
++#if !_GLIBCXX_HAVE_ALIGNED_ALLOC && (!_GLIBCXX_HAVE__ALIGNED_MALLOC || defined(__MINGW32__)) \
++ && !_GLIBCXX_HAVE_POSIX_MEMALIGN && (_GLIBCXX_HAVE_MEMALIGN || defined(__MINGW32__))
+ # if _GLIBCXX_HOSTED && __has_include(<malloc.h>)
+ // Some C libraries declare memalign in <malloc.h>
++# ifdef __MINGW32__
++# define __MSVCRT_VERSION__ 0x0700
++# endif
+ # include <malloc.h>
+ # else
+ extern "C" void *memalign(std::size_t boundary, std::size_t size);
+--- gcc-7.5.0/libstdc++-v3/libsupc++/del_opa.cc.orig 2017-01-26 15:30:45.014860000 +0100
++++ gcc-7.5.0/libstdc++-v3/libsupc++/del_opa.cc 2019-12-26 09:41:01.210155799 +0100
+@@ -40,6 +40,16 @@
+
+ #include "new"
+
++#if !_GLIBCXX_HAVE_ALIGNED_ALLOC && (!_GLIBCXX_HAVE__ALIGNED_MALLOC || defined(__MINGW32__)) \
++ && !_GLIBCXX_HAVE_POSIX_MEMALIGN && (_GLIBCXX_HAVE_MEMALIGN || defined(__MINGW32__))
++# if _GLIBCXX_HOSTED && __has_include(<malloc.h>)
++# ifdef __MINGW32__
++# define __MSVCRT_VERSION__ 0x0700
++# endif
++# include <malloc.h>
++# endif
++#endif
++
+ // The sized deletes are defined in other files.
+ #pragma GCC diagnostic ignored "-Wsized-deallocation"
+
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/crossmingw32-gcc.git/commitdiff/0c9e92e0681b61587065ff25a44c77d1dcc1adc6
More information about the pld-cvs-commit
mailing list