[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