From 03711dd7715cf3e1ab9a31458ee039f62e032128 Mon Sep 17 00:00:00 2001
From: li
Date: Tue, 30 Jan 2024 17:16:48 +0800
Subject: [PATCH] Feature: Update mingw-filesystem version 118
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
- 更新mingw-filesystem 118版本
---
macros.mingw | 9 +-
macros.mingw32 | 8 +-
macros.mingw64 | 8 +-
mingw-filesystem.spec | 659 +++++++++++++++++++++++++++++++++++++++-
mingw-find-provides.sh | 4 +-
mingw-find-requires.sh | 6 +-
toolchain-mingw32.meson | 1 +
toolchain-mingw64.meson | 1 +
8 files changed, 665 insertions(+), 31 deletions(-)
diff --git a/macros.mingw b/macros.mingw
index c152d6d..78417ef 100644
--- a/macros.mingw
+++ b/macros.mingw
@@ -62,10 +62,10 @@ run_mingw_configure
run_mingw_make() \
{ \
%if 0%{?mingw_build_win32} == 1 \
-make -C build_win32$MINGW_BUILDDIR_SUFFIX "$@" $MINGW32_MAKE_ARGS \
+%{__make} -C build_win32$MINGW_BUILDDIR_SUFFIX "$@" $MINGW32_MAKE_ARGS \
%endif \
%if 0%{?mingw_build_win64} == 1 \
-make -C build_win64$MINGW_BUILDDIR_SUFFIX "$@" $MINGW64_MAKE_ARGS \
+%{__make} -C build_win64$MINGW_BUILDDIR_SUFFIX "$@" $MINGW64_MAKE_ARGS \
%endif \
} \
run_mingw_make
@@ -184,5 +184,6 @@ DESTDIR=%{buildroot} ninja -C build_win64$MINGW_BUILDDIR_SUFFIX install \
} \
run_mingw_ninja_install
-# Deprecated:
-%mingw_make_install %mingw_make install
+
+%mingw_make_build %mingw_make %{_make_output_sync} %{?_smp_mflags} %{_make_verbose}
+%mingw_make_install %mingw_make install DESTDIR=%{?buildroot} INSTALL="%{__install} -p"
diff --git a/macros.mingw32 b/macros.mingw32
index 87af379..3c393e1 100644
--- a/macros.mingw32
+++ b/macros.mingw32
@@ -25,7 +25,7 @@
%mingw32_cflags %{mingw32_cppflags} -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4
%mingw32_cppflags %{nil}
-%mingw32_ldflags %{nil}
+%mingw32_ldflags -fstack-protector -lssp
%mingw32_cc %{mingw32_target}-gcc
%mingw32_cxx %{mingw32_target}-g++
@@ -152,8 +152,10 @@
%mingw32_qmake_qt5 /usr/bin/mingw32-qmake-qt5
%mingw32_meson %{mingw32_env} ; \
- unset CC CFLAGS CPPFLAGS CXX CXXFLAGS LDFLAGS; \\\
- export CFLAGS="%{__global_cflags}" CXXFLAGS="%{__global_cxxflags}" LDFLAGS="%{__global_ldflags}"; \\\
+ unset CC CFLAGS CPPFLAGS CXX CXXFLAGS LD LDFLAGS; \\\
+ CFLAGS="${MINGW32_CFLAGS-%mingw32_cflags}"; export CFLAGS; \\\
+ CPPFLAGS="${MINGW32_CPPFLAGS-%mingw32_cppflags}"; export CPPFLAGS; \\\
+ LDFLAGS="${MINGW32_LDFLAGS:-%mingw32_ldflags}"; export LDFLAGS; \\\
if test -f meson.build; then __mingw32_topdir=.; \\\
elif test -f ../meson.build; then __mingw32_topdir=..; \\\
else __mingw32_topdir=""; fi; \\\
diff --git a/macros.mingw64 b/macros.mingw64
index 39b4f4f..cb37add 100644
--- a/macros.mingw64
+++ b/macros.mingw64
@@ -25,7 +25,7 @@
%mingw64_cflags %{mingw64_cppflags} -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4
%mingw64_cppflags %{nil}
-%mingw64_ldflags %{nil}
+%mingw64_ldflags -fstack-protector -lssp
%mingw64_cc %{mingw64_target}-gcc
%mingw64_cxx %{mingw64_target}-g++
@@ -152,8 +152,10 @@
%mingw64_qmake_qt5 /usr/bin/mingw64-qmake-qt5
%mingw64_meson %{mingw64_env} ; \
- unset CC CFLAGS CPPFLAGS CXX CXXFLAGS LDFLAGS; \\\
- export CFLAGS="%{__global_cflags}" CXXFLAGS="%{__global_cxxflags}" LDFLAGS="%{__global_ldflags}"; \\\
+ unset CC CFLAGS CPPFLAGS CXX CXXFLAGS LD LDFLAGS; \\\
+ CFLAGS="${MINGW64_CFLAGS-%mingw64_cflags}"; export CFLAGS; \\\
+ CPPFLAGS="${MINGW64_CPPFLAGS-%mingw64_cppflags}"; export CPPFLAGS; \\\
+ LDFLAGS="${MINGW64_LDFLAGS:-%mingw64_ldflags}"; export LDFLAGS; \\\
if test -f meson.build; then __mingw64_topdir=.; \\\
elif test -f ../meson.build; then __mingw64_topdir=..; \\\
else __mingw64_topdir=""; fi; \\\
diff --git a/mingw-filesystem.spec b/mingw-filesystem.spec
index 8bafe84..5a93b24 100644
--- a/mingw-filesystem.spec
+++ b/mingw-filesystem.spec
@@ -1,13 +1,19 @@
%global debug_package %{nil}
+
+# Place RPM macros in %%{_rpmconfigdir}/macros.d if it exists (RPM 4.11+)
+# Otherwise, use %%{_sysconfdir}/rpm
+# https://lists.fedoraproject.org/pipermail/devel/2014-January/195026.html
%global macrosdir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d)
Name: mingw-filesystem
-Version: 110
-Release: 5
+Version: 118
+Release: 2
Summary: MinGW cross compiler base filesystem and environment
+
License: GPLv2+
URL: http://fedoraproject.org/wiki/MinGW
BuildArch: noarch
+
Source0: COPYING
Source1: macros.mingw
Source2: macros.mingw32
@@ -24,43 +30,85 @@ Source12: toolchain-mingw64.cmake
Source13: mingw-find-lang.sh
Source14: mingw32.attr
Source15: mingw64.attr
+# generated with:
+# (rpm -ql mingw32-crt | grep '\.a$' | while read f ; do i686-w64-mingw32-dlltool -I $f 2>/dev/null ; done) | sort | uniq | tr A-Z a-z > standard-dlls-mingw32
Source16: standard-dlls-mingw32
+# (rpm -ql mingw64-crt | grep '\.a$' | while read f ; do x86_64-w64-mingw32-dlltool -I $f 2>/dev/null ; done) | sort | uniq | tr A-Z a-z > standard-dlls-mingw64
Source17: standard-dlls-mingw64
Source18: toolchain-mingw32.meson
Source19: toolchain-mingw64.meson
+
+# Taken from the Fedora filesystem package
Source101: https://fedorahosted.org/filesystem/browser/lang-exceptions
Source102: iso_639.sed
Source103: iso_3166.sed
+
+BuildRequires: make
BuildRequires: iso-codes
+
%description
This package contains the base filesystem layout, RPM macros and
-environment for MinGW packages.
+environment for all Fedora MinGW packages.
+
+This environment is maintained by the Fedora MinGW SIG at:
+
+ http://fedoraproject.org/wiki/SIGs/MinGW
+
%package base
Summary: Generic files which are needed for both mingw32-filesystem and mingw64-filesystem
-Requires: %{_vendor}-rpm-config
+
+Requires: openEuler-rpm-config
+# Obsolete the packages from the test repo
Obsoletes: cross-filesystem < 67-2
Obsoletes: cross-filesystem-scripts < 67-2
+Obsoletes: mingw-filesystem < 75-2
Obsoletes: mingw-filesystem-scripts < 75-2
%description base
This package contains the base filesystem layout, RPM macros and
-environment for MinGW packages.
+environment for all Fedora MinGW packages.
+
+This environment is maintained by the Fedora MinGW SIG at:
+
+ http://fedoraproject.org/wiki/SIGs/MinGW
+
%package -n mingw32-filesystem
Summary: MinGW cross compiler base filesystem and environment for the win32 target
-Requires: mingw-filesystem-base = 110-%{release}
+Requires: %{name}-base = %{version}-%{release}
+
+# Note about 'Provides: mingw32(foo.dll)'
+# ------------------------------------------------------------
+#
+# We want to be able to build & install mingw32 libraries without
+# necessarily needing to install wine. (And certainly not needing to
+# install Windows!) There is no requirement to have wine installed in
+# order to use the mingw toolchain to develop software (ie. to
+# compile more stuff on top of it), so why require that?
+#
+# So for expediency, this base package provides the "missing" DLLs
+# from Windows. Another way to do it would be to exclude these
+# proprietary DLLs in our find-requires checking script - essentially
+# it comes out the same either way.
+#
Provides: %(sed "s/\(.*\)/mingw32(\1) /g" %{SOURCE16} | tr "\n" " ")
Provides: mingw32(mscoree.dll)
%description -n mingw32-filesystem
This package contains the base filesystem layout, RPM macros and
-environment for MinGW packages.
+environment for all Fedora MinGW packages.
+
+This environment is maintained by the Fedora MinGW SIG at:
+
+ http://fedoraproject.org/wiki/SIGs/MinGW
+
%package -n mingw64-filesystem
Summary: MinGW cross compiler base filesystem and environment for the win64 target
-Requires: mingw-filesystem-base = 110-%{release}
+Requires: %{name}-base = %{version}-%{release}
+
Provides: %(sed "s/\(.*\)/mingw64(\1) /g" %{SOURCE17} | tr "\n" " ")
Provides: mingw64(mscoree.dll)
@@ -68,16 +116,26 @@ Provides: mingw64(mscoree.dll)
This package contains the base filesystem layout, RPM macros and
environment for all Fedora MinGW packages.
+This environment is maintained by the Fedora MinGW SIG at:
+
+ http://fedoraproject.org/wiki/SIGs/MinGW
+
+
%prep
%setup -q -c -T
cp %{SOURCE0} COPYING
+
%build
+# nothing
+
%install
mkdir -p $RPM_BUILD_ROOT
+
mkdir -p $RPM_BUILD_ROOT%{_libexecdir}
install -m 755 %{SOURCE9} $RPM_BUILD_ROOT%{_libexecdir}/mingw-scripts
+
mkdir -p $RPM_BUILD_ROOT%{_bindir}
pushd $RPM_BUILD_ROOT%{_bindir}
for i in mingw32-configure mingw32-cmake mingw32-make mingw32-meson mingw32-pkg-config \
@@ -98,6 +156,7 @@ install -m 644 %{SOURCE3} $RPM_BUILD_ROOT%{macrosdir}/macros.mingw64
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/rpmlint
install -m 644 %{SOURCE10} $RPM_BUILD_ROOT%{_sysconfdir}/rpmlint/
+# Create the folders required for gcc and binutils
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/bin
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/lib
@@ -105,6 +164,8 @@ mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32
mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/bin
mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/lib
+# The MinGW system root which will contain Windows native binaries
+# and Windows-specific header files, pkgconfig, etc.
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/sys-root/mingw
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/sys-root/mingw/bin
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/sys-root/mingw/etc
@@ -125,6 +186,14 @@ mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/lib/pkgconf
mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/lib/cmake
mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/sbin
+# We don't normally package manual pages and info files, except
+# where those are not supplied by a Fedora native package. So we
+# need to create the directories.
+#
+# Note that some packages try to install stuff in
+# /usr/x86_64-pc-mingw32/sys-root/man and
+# /usr/x86_64-pc-mingw32/sys-root/doc
+# but those are both packaging bugs.
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/sys-root/mingw/share
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/sys-root/mingw/share/doc
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/sys-root/mingw/share/info
@@ -149,6 +218,8 @@ mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/share/local
mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/share/pkgconfig
mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/share/xml
+# Own folders for all locales
+# Snippet taken from the Fedora filesystem package
sed -n -f %{SOURCE102} /usr/share/xml/iso-codes/iso_639.xml > $RPM_BUILD_ROOT/iso_639.tab
sed -n -f %{SOURCE103} /usr/share/xml/iso-codes/iso_3166.xml > $RPM_BUILD_ROOT/iso_3166.tab
@@ -173,9 +244,11 @@ cat %{SOURCE101} | grep -v "^#" | grep -v "^$" | while read loc ; do
[[ "$locality" =~ "." ]] && locality=${locality%%%%.*}
[[ "$loc" =~ "_" ]] || [[ "$loc" =~ "@" ]] || special=$loc
+ # If the locality is not official, skip it
if [ -n "$locality" ]; then
grep -q "^$locality" $RPM_BUILD_ROOT/iso_3166.tab || continue
fi
+ # If the locale is not official and not special, skip it
if [ -z "$special" ]; then
egrep -q "[[:space:]]${locale%%_*}[[:space:]]" $RPM_BUILD_ROOT/iso_639.tab || continue
fi
@@ -190,6 +263,7 @@ cat filelist_mingw32 filelist_mingw64 | grep "locale" | while read a b ; do
mkdir -p -m 755 %{buildroot}/$b/LC_MESSAGES
done
+# NB. NOT _libdir
mkdir -p $RPM_BUILD_ROOT/usr/lib/rpm
install -m 0755 %{SOURCE6} $RPM_BUILD_ROOT%{_rpmconfigdir}
install -m 0755 %{SOURCE7} $RPM_BUILD_ROOT%{_rpmconfigdir}
@@ -206,6 +280,7 @@ install -m 0644 %{SOURCE12} $RPM_BUILD_ROOT%{_datadir}/mingw/
install -m 0644 %{SOURCE18} $RPM_BUILD_ROOT%{_datadir}/mingw/
install -m 0644 %{SOURCE19} $RPM_BUILD_ROOT%{_datadir}/mingw/
+
%files base
%doc COPYING
%dir %{_sysconfdir}/rpmlint/
@@ -241,15 +316,567 @@ install -m 0644 %{SOURCE19} $RPM_BUILD_ROOT%{_datadir}/mingw/
%{_datadir}/mingw/toolchain-mingw64.cmake
%{_datadir}/mingw/toolchain-mingw64.meson
+
%changelog
-* Thu Dec 22 2022 wanglin - 110-5
-- Fix rpm-config hard code problem
+* Tue Jan 30 2024 Li Shunlong - 118-2
+
+* Mon Jun 07 2021 Sandro Mani - 118-1
+- Allow overriding CFLAGS/CXXFLAGS/LDFLAGS for %%mingw_meson
+
+* Mon Feb 01 2021 Sandro Mani - 117-1
+- Filter Windows API umbrella libraries from requires
+
+* Tue Jan 26 2021 Fedora Release Engineering 116-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
+
+* Mon Jul 27 2020 Sandro Mani - 116-1
+- Add -lssp to LDFLAGS
+
+* Thu Jul 23 2020 Sandro Mani - 115-1
+- Add -fstack-protector to LDFLAGS (since we carry -D_FORTIFY_SOURCE=2 in cflags, see https://sourceforge.net/p/mingw-w64/bugs/818/)
+
+* Tue Jul 14 2020 Daniel P. Berrangé - 114-1
+- Add meson hint for libgcrypt-config on mingw cross builds (#1856446)
+
+* Sat May 23 2020 Sandro Mani - 113-1
+- Add %%mingw_make_build and %%mingw_make_install
+
+* Fri May 22 2020 Sandro Mani - 112-1
+- Fix %%mingw_meson resulting in ERROR: Unable to determine dynamic linker
+
+* Fri May 01 2020 David Woodhouse - 111-1
+- Quote tr sequences like '[blank]' to prevent the shell from doing so (#1830233)
+
+* Wed Jan 29 2020 Fedora Release Engineering
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
+
+* Thu Nov 07 2019 Marc-André Lureau - 110-1
+- Add redhat-rpm-config dependency. Fixes rhbz#1769792
+
+* Thu Aug 29 2019 Sandro Mani - 109-1
+- Add dlltool to toolchain-mingw{32,64}.meson
+
+* Mon Aug 12 2019 Sandro Mani - 108-1
+- Fix mingw-find-debuginfo.sh to pick up strippable binaries also in %%{_prefix}/%%{mingw32,64_target}
+
+* Thu Jul 25 2019 Fedora Release Engineering
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
+
+* Wed Jun 19 2019 Fabiano Fidêncio - 107-1
+- Add %%mingw_ninja_install macro
+
+* Thu Feb 14 2019 Sandro Mani - 106-1
+- Revert "Remove redundant $@ in mingw_cmake and mingw_meson", it causes no arguments at all to be passed to cmake
+
+* Tue Feb 05 2019 Elliott Sales de Andrade - 105-1
+- Remove redundant $@ in mingw_cmake and mingw_meson, breaking wrapper scripts
+
+* Fri Feb 01 2019 Fedora Release Engineering
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
+
+* Fri Jul 13 2018 Fedora Release Engineering
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
+
+* Fri Apr 20 2018 Elliott Sales de Andrade - 104-1
+- Add macros for meson and ninja
+
+* Thu Feb 08 2018 Fedora Release Engineering
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
+
+* Sun Sep 10 2017 Sandro Mani - 103-1
+- Add %%mingw_nm macro
+
+* Sat Sep 09 2017 Sandro Mani - 102-1
+- Also extract debuginfo data from pyd binaries
+
+* Wed Jul 26 2017 Fedora Release Engineering
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
+
+* Fri Feb 10 2017 Fedora Release Engineering
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
+
+* Sun May 8 2016 Erik van Pienbroek - 101-1
+- Update config.{guess,sub} in %%mingw_configure (#1288256)
+- Regenerated list of default win32 DLL's
+
+* Thu Feb 04 2016 Fedora Release Engineering
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
+
+* Wed Jun 17 2015 Fedora Release Engineering
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
+
+* Sat Apr 11 2015 Erik van Pienbroek - 100-1
+- Various CMake improvements:
+ * The toolchain files /usr/share/data/mingw/toolchain-mingw32.cmake
+ and /usr/share/data/mingw/toolchain-mingw64.cmake don't have
+ an uppercase character in their file name any more
+ * Add CMAKE_SYSTEM_PROCESSOR to the CMake toolchain files
+ * Removed Boost_COMPILER from the CMake toolchain files as
+ it was unused and broken anyway
+ * Made the RPM macros mingw32_cmake, mingw32_cmake_kde4,
+ mingw64_cmake and mingw64_cmake_kde4 more generic
+ * Removed the rpath references as mingw doesn't support rpath
+ * Allow verbose CMake output to be disabled by setting the
+ environment variable MINGW_CMAKE_NO_VERBOSE (RHBZ #987644)
+ * When calling the mingw32-cmake and mingw64-cmake wrapper
+ scripts don't use verbose CMake output by default
+ * When using the CMake wrappers, prevent CFLAGS and CXXFLAGS
+ from being set unless they're already set in the current
+ environment (RHBZ #1136069)
+ * Don't set LIB_INSTALL_DIR any more in the CMake macros
+ as it breaks CPack and isn't needed by any of the
+ Fedora MinGW packages (RHBZ #1152696)
+- Accept empty MINGW{32,64}_{C,CPP,CXX}FLAGS environment variables
+- Removed old _mingw32 macros which have been deprecated since Fedora 17
+
+* Sat Jun 07 2014 Fedora Release Engineering
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
+
+* Sat Feb 8 2014 Erik van Pienbroek - 99-4
+- Place the RPM macros in /usr/lib/rpm/macros.d when using a modern RPM
+
+* Sat Aug 3 2013 Erik van Pienbroek - 99-3
+- Own the folders %%{mingw32_libdir}/cmake and %%{mingw64_libdir}/cmake
+- Own all the locale folders below %%{mingw32_datadir}/locale and %%{mingw64_datadir}/locale (RHBZ #798329)
+
+* Sat Aug 03 2013 Fedora Release Engineering
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
+
+* Sat Jun 15 2013 Kalev Lember - 99-1
+- Remove invalid macros with '++' in the name
+
+* Sun Jun 2 2013 Erik van Pienbroek - 98-2
+- Only set the environment variable PKG_CONFIG_LIBDIR when
+ using the macros %%mingw32_cmake, %%mingw32_cmake_kde4,
+ %%mingw64_cmake or %%mingw64_cmake_kde4
+- Fixes FTBFS of the mingw-matahari package
+
+* Sun May 12 2013 Erik van Pienbroek - 98-1
+- Removed the use of the environment variable PKG_CONFIG_LIBDIR
+ While building binaries the tool {i686,x86_64}-w64-mingw32-pkg-config
+ should be used to find out pkg-config information
+ The environment variable PKG_CONFIG already automatically points
+ to the right cross-compiler aware version of pkg-config when
+ the mingw{32,64}-pkg-config packages are installed
+- Fixes compilation of mingw-gtk3 3.9.0 (GNOME BZ #699690)
+- Automatically add R: mingw{32,64}-pkg-config tags when .pc files
+ are detected while building mingw packages
+- Bumped the minimum required version of mingw{32,64}-filesystem
+ to >= 95 in built mingw packages as this is the first version of
+ which was introduced in Fedora with a stable interface
+- Updated the list of DLLs which are part of the Win32 API with
+ the libraries d3dcompiler_46.dll, d3dcsx_46.dll, davclnt.dll,
+ devmgr.dll, devobj.dll and devrtl.dll
+
+* Thu Feb 28 2013 Ralf Corsépius - 97-3
+- Remove %%config from %%{_sysconfdir}/rpm/macros.*
+ (https://fedorahosted.org/fpc/ticket/259).
+- Minor spec fixes.
+
+* Thu Feb 14 2013 Fedora Release Engineering - 97-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
+
+* Sun Dec 16 2012 Erik van Pienbroek - 97-1
+- Added support for using the environment variables MINGW32_MAKE_ARGS and
+ MINGW64_MAKE_ARGS. These environment variables can be used to provide
+ additional target-specific arguments when using the %%mingw_make macro
+
+* Mon Dec 3 2012 Erik van Pienbroek - 96-3
+- Added support for RHEL6
+
+* Sat Nov 10 2012 Kalev Lember - 96-2
+- Add provides for mscoree.dll and regenerate the standard-dlls file
+
+* Mon Sep 17 2012 Erik van Pienbroek - 96-1
+- Added new macros for Qt5 support, %%mingw32_qmake_qt5, %%mingw64_qmake_qt5,
+ %%mingw_qmake_qt4 and %%mingw_qmake_qt5
+- It isn't necessary to call %%mingw32_env / %%mingw64_env any more
+ in the %%mingw32_qmake_qt4 and %%mingw64_qmake_qt4 macros
+
+* Mon Aug 13 2012 Erik van Pienbroek - 95-14
+- Fix the handling of quoted arguments in the cmake macros
+
+* Tue Jul 24 2012 Erik van Pienbroek - 95-13
+- Make sure the %%mingw_cmake and %%mingw_cmake_kde4 macros respect the
+ environment variable MINGW_BUILDDIR_SUFFIX
+
+* Fri Jul 20 2012 Fedora Release Engineering - 95-12
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
+* Wed Jun 13 2012 Kalev Lember - 95-11
+- Fix syntax error in mingw64_env macro, thanks to Akira TAGOH (#831534)
+
+* Wed Jun 6 2012 Erik van Pienbroek - 95-10
+- Prevent errors when the folders %%{mingw32_prefix} or %%{mingw64_prefix} are missing
+- Fix parse error when -config files containing a . are available
+ in %%{mingw32_bindir} or %%{mingw64_bindir} (RHBZ #657478)
+
+* Thu Apr 19 2012 Kalev Lember - 95-9
+- Fix whitespace handling in %%mingw_configure and friends
+
+* Sat Mar 17 2012 Kalev Lember - 95-8
+- Generate the list of mingw32(...) and mingw64(...) DLL name provides from
+ mingw-crt import libraries
+
+* Sat Mar 17 2012 Kalev Lember - 95-7
+- Define mingw_build_win32/win64 in system macros, so that each
+ individual package wouldn't have to
+
+* Fri Mar 16 2012 Kalev Lember - 95-6
+- Fix warnings during debuginfo generation
+
+* Fri Mar 16 2012 Kalev Lember - 95-5
+- Simplify the mingw_make_install macro, also moving it to the deprecated
+ section
+
+* Mon Mar 12 2012 Erik van Pienbroek - 95-4
+- Added a manual provides for the native windows library ksuser.dll as
+ wine doesn't have an implementation for this library at the moment
+
+* Tue Mar 06 2012 Kalev Lember - 95-3
+- Merge copy-n-paste duplicate %%mingw32_debug_package code
+- Get rid of the USE_OLD_METHOD hack in mingw-find-debuginfo.sh
+- Add missing %%mingw32_debug_install_post
+
+* Tue Feb 28 2012 Erik van Pienbroek - 95-2
+- Fixed broken summary tags
+
+* Sat Feb 25 2012 Erik van Pienbroek - 95-1
+- Added support for both win32 and win64 targets
+- Fixed rpmlint issues
+- Fixed permissions of the scripts (775 -> 755)
+- Fixed description of the various subpackages
+- Make the various macros compliant with the new packaging guidelines:
+ https://fedorahosted.org/fpc/ticket/71
+- Suppress arch-independent-package-contains-binary-or-object rpmlint
+ errors for static libraries
+- Improved the mingw_configure, mingw_make, mingw_make_install,
+ mingw_cmake and mingw_cmake_kde4 RPM macros so packagers don't need
+ to use quotes anymore when using arguments. Thanks to Kalev Lember
+ for the initial proof of concept
+- Dropped the -mms-bitfields argument from the default CFLAGS as
+ it is enabled by default as of gcc 4.7
+- Replaced the CMake defines QT_HEADERS_DIR and QT_LIBRARY_DIR
+ with QT_BINARY_DIR which is a more proper method to make CMake
+ aware of the location of Qt. Thx to Dominik Schmidt for the hint
+- Make sure CMake can detect the qmake-qt4 binary in /usr/$target/bin
+- Make sure CMake can also detect the (native) Qt tools
+ qdbuscpp2xml and qdbusxml2cpp
+- Added new RPM macros mingw_cmake_kde4, mingw32_cmake_kde4 and mingw64_cmake_kde4
+- Added three new environment variables which can be set to
+ influence the behaviour of the cmake macros:
+ MINGW_CMAKE_ARGS, MINGW32_CMAKE_ARGS and MINGW64_CMAKE_ARGS
+- Dropped the mingw32-qmake-qt4 and mingw64-qmake-qt4 wrapper scripts
+ as they're now provided by the mingw{32,64}-qt-qmake packages
+- Added a new RPM macro: %%{?mingw_package_header}
+ Packagers can use this macro instead of the original boilerplate
+ code which is needed for all mingw packages
+- Made argument passing using the backwards compatibility macro %%{_mingw32_cmake} work
+- Fixed an issue in the mingw_cmake macro where it could point to
+ a non-existant CMakeLists.txt file
+- Fixed a bug in the find-requires script which causes all packages to depend
+ on both the mingw32 and the mingw64 toolchains
+- Split out the RPM macros which require both the mingw{32,64}-filesystem
+ packages in a new file and put it in the mingw-filesystem-base package
+- Generate seperate debuginfo packages for mingw32 and mingw64
+- Set the minimum version of R: mingw{32,64}-filesystem to 70
+- Use the correct FSF-address in some scripts
+- Thanks to all the contributors: Erik van Pienbroek, Kalev Lember, Levente
+ Farkas, Marc-Andre Lureau.
+
+* Thu Feb 23 2012 Kalev Lember - 69-15
+- Rename the source package to mingw-filesystem (#673784)
+
+* Sun Feb 5 2012 Erik van Pienbroek - 69-14
+- Use a more complete list of Win32 default dlls based on the
+ dlls exported by wine (thanks to Levente Farkas). RHBZ #787486
+
+* Tue Jan 31 2012 Kalev Lember - 69-13
+- Remove the mingw32-pkg-config wrapper as well, now that we have separate
+ mingw32-pkg-config package
+
+* Tue Jan 31 2012 Erik van Pienbroek - 69-12
+- Don't provide the wrapper i686-pc-mingw32-pkg-config anymore as we now
+ have a mingw32-pkg-config package
+
+* Tue Jan 10 2012 Erik van Pienbroek - 69-11
+- Set Boost_COMPILER to -gcc47 in cmake toolchain file
+
+* Tue Nov 22 2011 Erik van Pienbroek - 69-10
+- Fixed a small regression introduced by the previous release which caused an
+ FTBFS for mingw32-matahari as indicated on the fedora-mingw mailing list
+
+* Wed Nov 16 2011 Erik van Pienbroek - 69-9
+- Added various definitions to the CMake toolchain file (RHBZ #753906)
+
+* Tue Aug 02 2011 Kalev Lember - 69-8
+- Added avicap32.dll and psapi.dll to the list of Win32 default DLLs
+ (thanks to Farkas Levente)
+
+* Wed Jul 13 2011 Erik van Pienbroek - 69-7
+- Added glu32.dll and wsock32.dll to the list of Win32 default dll's
+
+* Wed Jul 6 2011 Erik van Pienbroek - 69-6
+- Use a more complete list of Win32 default dll's
+
+* Wed Jul 06 2011 Kalev Lember - 69-5
+- Fixed dep gen with upper case dll names
+
+* Fri Jul 1 2011 Erik van Pienbroek - 69-4
+- The %%{_mingw32_qmake_qt4} macro pointed to an invalid mkspecs name. Fixed
+
+* Tue Jun 28 2011 Kalev Lember - 69-3
+- Set Boost_COMPILER to -gcc46 in cmake toolchain file
+
+* Sun May 29 2011 Kalev Lember - 69-2
+- Make sure the -debuginfo subpackages are mingw32- prefixed
+ even if the base package is mingw-
+
+* Tue May 24 2011 Kalev Lember - 69-1
+- Adjusted PKG_CONFIG_LIBDIR to also search in _mingw32_datadir/pkgconfig/
+- Own the sbin/ directory
+- Fixed the -n option with _mingw32_debug_package macro
+
+* Mon May 23 2011 Kalev Lember - 68-3
+- Own etc/, share/pkgconfig/, share/xml/ directories
+
+* Sat May 21 2011 Kalev Lember - 68-2
+- Own the _mingw32_datadir/cmake/ directory
+
+* Fri May 20 2011 Kalev Lember - 68-1
+- Support RPM 4.9 new "fileattr" dep extraction system
+- Cleaned up the spec file from cruft not needed with latest rpm
+- Generate versionless mingw32-filesystem Requires
+
+* Sat May 14 2011 Erik van Pienbroek - 67-1
+- Don't unset PKG_CONFIG_PATH in the wrapper scripts
+ mingw32-pkg-config and i686-pc-mingw32-pkg-config (BZ #688171)
+
+* Sun May 01 2011 Kalev Lember - 66-1
+- Override boost library suffix in cmake toolchain file
+
+* Thu Mar 17 2011 Kalev Lember - 65-1
+- Don't error out trying to set illegal LD.BFD variable name
+
+* Tue Feb 08 2011 Fedora Release Engineering - 64-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
+
+* Wed Jan 12 2011 Erik van Pienbroek - 64-2
+- Own the directory %%{_mingw32_datadir}/themes
+
+* Sun Nov 14 2010 Ivan Romanov - 64-1
+- Removed -win32 option for mingw32-qmake-qt4 (is obsoletes since qt version 4.7.0)
+- Using win32-g++-fedora-cross instead fedora-win32-cross spec file
+
+* Thu Nov 11 2010 Erik van Pienbroek - 63-1
+- Set the CMAKE_RC_COMPILER variable in the CMake toolchain file (RHBZ #652435)
+
+* Tue Oct 19 2010 Ivan Romanov - 62-2
+- Added mingw32-qmake-qt4
+
+* Mon Oct 11 2010 Erik van Pienbroek - 62-1
+- Provide mingw32(odbc32.dll) for Qt
+
+* Sun Sep 12 2010 Erik van Pienbroek - 61-1
+- Provide mingw32(gdiplus.dll) for gdk-pixbuf
+
+* Thu Sep 9 2010 Richard W.M. Jones - 60-1
+- Provide virtual mingw32(ws2_32.dll) for libvirt.
+
+* Mon Sep 06 2010 Kalev Lember - 59-1
+- Own /etc/rpmlint/ dir instead of depending on rpmlint package (RHBZ#629791)
+
+* Fri Sep 3 2010 Richard W.M. Jones - 58-1
+- Remove requires setup and rpm (RHBZ#629791).
+
+* Tue Jun 8 2010 Richard W.M. Jones - 57-1
+- Add provides mingw32(rpcrt4.dll) (RHBZ#594581).
+
+* Mon May 24 2010 Kalev Lember - 56-2
+- Work around cmake's Qt detection in the toolchain file
+
+* Fri Sep 18 2009 Erik van Pienbroek - 55-1
+- The wrapper scripts i686-pc-mingw32-pkg-config, mingw32-pkg-config,
+ mingw32-configure, mingw32-make and mingw32-cmake had a bug where
+ quoted arguments could get interpreted incorrect.
+ Thanks to Michael Ploujnikov for helping out with this issue
+
+* Sat Aug 29 2009 Erik van Pienbroek - 54-1
+- Added the file /usr/bin/i686-pc-mingw32-pkg-config which is a wrapper script
+ which calls pkg-config with the right environment variables set (BZ #513825)
+
+* Sun Aug 23 2009 Erik van Pienbroek - 53-1
+- Fixed a small rpmlint warning caused by the debuginfo generation macro
+ Thanks to Kalev Lember for spotting this
+
+* Sat Jul 25 2009 Fedora Release Engineering - 52-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
+
+* Wed Jun 24 2009 Erik van Pienbroek - 52-2
+- Updated ChangeLog comment from previous version as the RPM variable
+ __debug_install_post needs to be overridden instead of __os_install_post
+ for -debuginfo subpackage generation
+
+* Mon Jun 22 2009 Erik van Pienbroek - 52-1
+- Add script to create -debuginfo subpackages
+ This script was created by Fridrich Strba
+- All mingw32 packages now need to add these lines to their .spec files:
+ %%define __debug_install_post %%{_mingw32_debug_install_post}
+ %%{_mingw32_debug_package}
+
+* Thu Jun 4 2009 Adam Goode - 51-1
+- Add CMake rules
+
+* Tue Apr 21 2009 Richard W.M. Jones - 50-4
+- Fix dependency problem with + in DLL name (Thomas Sailer).
+
+* Fri Mar 27 2009 Richard W.M. Jones - 50-3
+- Fix up and test mingw32-pkg-config changes.
+
+* Thu Mar 26 2009 Levente Farkas - 50-1
+- Add mingw32-pkg-config.
+
+* Wed Feb 25 2009 Fedora Release Engineering - 49-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
+
+* Fri Feb 20 2009 Richard W.M. Jones - 49-2
+- Rebuild for mingw32-gcc 4.4
+
+* Thu Feb 19 2009 Richard W.M. Jones - 49-1
+- Added virtual provides for mingw32(cfgmgr32.dll) and mingw32(setupapi.dll).
+
+* Wed Feb 18 2009 Richard W.M. Jones - 48-1
+- Fix _mingw32_configure.
+
+* Tue Feb 17 2009 Richard W.M. Jones - 47-1
+- Rename mingw32-COPYING to COPYING.
+- Rename mingw32-macros.mingw32 to macros.mingw32.
+- _mingw32_configure looks for configure in "." and ".." dirs.
+- Added _mingw32_description.
+- Added mingw32(version.dll) virtual provides (rhbz#485842).
+
+* Sun Feb 1 2009 Richard W.M. Jones - 46-1
+- Unset PKG_CONFIG_PATH because /usr/lib/rpm/macros sets it (Erik van
+ Pienbroek).
+
+* Wed Jan 28 2009 Richard W.M. Jones - 45-1
+- Use PKG_CONFIG_LIBDIR instead of PKG_CONFIG_PATH so that native pkgconfig
+ is never searched.
+
+* Mon Jan 26 2009 Richard W.M. Jones - 44-1
+- Install rpmlint overrides file to suppress some rpmlint warnings.
+
+* Sat Jan 24 2009 Richard W.M. Jones - 43-6
+- Don't claim C++ compiler exists if it's not installed, as this
+ breaks autoconf and (in particular) libtool.
+
+* Wed Jan 14 2009 Richard W.M. Jones - 42-1
+- Add pseudo-provides secur32.dll
+
+* Wed Dec 17 2008 Levente Farkas - 41-1
+- Re-add mingw32-make
+
+* Sat Dec 6 2008 Levente Farkas - 40-2
+- Rewrite mingw32-scripts to run in the current shell
+- (Re-add mingw32-make) - Removed by RWMJ.
+- Add mingw32-env to mingw32.sh
+
+* Mon Nov 24 2008 Richard W.M. Jones - 39-3
+- Unify mingw32-filesystem packages from all three branches again, and test.
+- Fix mingw32-scripts so it can handle extra parameters correctly.
+- Remove mingw32-env & mingw32-make since neither of them actually work.
+
+* Sun Nov 23 2008 Richard Jones - 38-1
+- Added mingw32(glut32.dll).
+
+* Wed Nov 19 2008 Richard Jones - 37-1
+- Revert part of the 36-1 patch. --build option to configure was wrong.
+
+* Wed Nov 19 2008 Richard Jones - 36-1
+- Greatly improved macros (Levente Farkas).
+- Added -mms-bitfields.
+
+* Thu Nov 13 2008 Richard Jones - 35-1
+- Added mingw32(wldap32.dll) pseudo-provides.
+
+* Wed Oct 29 2008 Richard Jones - 34-1
+- Set --prefix correctly.
+
+* Wed Oct 29 2008 Richard Jones - 33-1
+- Remove mingw32.{sh,csh} which are unused.
+
+* Mon Oct 27 2008 Richard Jones - 32-1
+- Add mingw32-configure script.
+
+* Mon Oct 27 2008 Richard Jones - 31-1
+- Update the spec file with explanation of the 'Provides: mingw32(...)'
+ lines for Windows system DLLs.
+
+* Mon Oct 6 2008 Richard Jones - 30-1
+- Added _mingw32_cxx.
+
+* Thu Sep 25 2008 Richard Jones - 29-1
+- Added _mingw32_as, _mingw32_dlltool, _mingw32_windres.
+
+* Wed Sep 24 2008 Richard W.M. Jones - 27-1
+- Begin the grand renaming of mingw -> mingw32.
+- Added mingw32(mscoree.dll).
+
+* Sun Sep 21 2008 Richard W.M. Jones - 25-1
+- Add shared aclocal directory.
+
+* Sun Sep 21 2008 Richard W.M. Jones - 24-1
+- Remove mingw-defs, since no longer used.
+- Add _mingw_infodir.
+
+* Thu Sep 11 2008 Daniel P. Berrange - 23-1
+- Add macros for find-provides/requires scripts
+
+* Wed Sep 10 2008 Richard W.M. Jones - 22-1
+- Windows provides OLE32.DLL.
+
+* Wed Sep 10 2008 Richard W.M. Jones - 21-1
+- Allow '.' in dll names for find-requires
+- Windows provides GDI32.DLL.
+
+* Fri Sep 5 2008 Richard W.M. Jones - 20-1
+- On 64 bit install in /usr/lib/rpm always.
+
+* Thu Sep 4 2008 Richard W.M. Jones - 19-1
+- 'user32.dll' is provided by Windows.
+- Allow '-' in DLL names.
+- More accurate detection of DLLs in requires/provides scripts.
+
+* Thu Sep 4 2008 Richard W.M. Jones - 17-1
+- Automatically add mingw-filesystem and mingw-runtime requires.
+- Add --prefix to _mingw_configure macro.
+- Three backslashes required on each continuation line in RPM macros.
+
+* Thu Sep 4 2008 Richard W.M. Jones - 14-1
+- Fix path to mingw-find-requires/provides scripts.
+
+* Thu Sep 4 2008 Richard W.M. Jones - 12-1
+- Put CFLAGS on a single line to avoid problems in some configure scripts.
+
+* Thu Sep 4 2008 Richard W.M. Jones - 10-1
+- Provides certain base Windows DLLs (not literally).
+
+* Thu Sep 4 2008 Richard W.M. Jones - 9-1
+- Include RPM dependency generators and definitions.
+
+* Thu Sep 4 2008 Richard W.M. Jones - 4-1
+- Add _mingw_cc/cflags/etc. and _mingw_configure macros.
-* Tue Nov 03 2020 Zhiyi Weng - 110-4
-- test ci error
+* Thu Sep 4 2008 Richard W.M. Jones - 3-1
+- Add _mingw_host macro.
-* Fri Apr 3 2020 likexin - 110-3
-- fix wrong requires
+* Thu Sep 4 2008 Richard W.M. Jones - 2-1
+- Add _mingw_sysroot macro.
+- Add _mingw_target macro.
-* Thu Dec 9 2019 openEuler Buildteam - 110-2
-- Package init
+* Thu Sep 4 2008 Richard W.M. Jones - 1-1
+- Basic filesystem layout.
diff --git a/mingw-find-provides.sh b/mingw-find-provides.sh
index 30c6150..1bcb2da 100755
--- a/mingw-find-provides.sh
+++ b/mingw-find-provides.sh
@@ -11,10 +11,10 @@ fi
filelist=`sed "s/['\"]/\\\&/g"`
-dlls=$(echo $filelist | tr [:blank:] '\n' | grep '\.dll$')
+dlls=$(echo $filelist | tr '[:blank:]' '\n' | grep '\.dll$')
for f in $dlls; do
- basename=`basename $f | tr [:upper:] [:lower:]`
+ basename=`basename $f | tr '[:upper:]' '[:lower:]'`
for target in $targets; do
host_triplet=`rpm --eval "%{${target}_target}"`
[[ $f =~ .*$host_triplet.* ]] && echo "$target($basename)"
diff --git a/mingw-find-requires.sh b/mingw-find-requires.sh
index 84686c1..9e8e303 100755
--- a/mingw-find-requires.sh
+++ b/mingw-find-requires.sh
@@ -15,8 +15,8 @@ fi
filelist=`sed "s/['\"]/\\\&/g"`
-dlls=$(echo $filelist | tr [:blank:] '\n' | grep -Ei '\.(dll|exe)$')
-pkgconfig_files=$(echo $filelist | tr [:blank:] '\n' | grep -Ei '\.(pc)$')
+dlls=$(echo $filelist | tr '[:blank:]' '\n' | grep -Ei '\.(dll|exe)$')
+pkgconfig_files=$(echo $filelist | tr '[:blank:]' '\n' | grep -Ei '\.(pc)$')
for target in $targets; do
dll_found=false
@@ -24,7 +24,7 @@ for target in $targets; do
for f in $dlls; do
if [[ $f =~ .*$host_triplet.* ]]; then
$OBJDUMP -p $f | grep 'DLL Name' | grep -Eio '[-._\+[:alnum:]]+\.dll' |
- tr [:upper:] [:lower:] |
+ grep -v 'api-ms-win' | tr '[:upper:]' '[:lower:]' |
sed "s/\(.*\)/$target(\1)/"
dll_found=true
fi
diff --git a/toolchain-mingw32.meson b/toolchain-mingw32.meson
index edae1d6..4d3000b 100644
--- a/toolchain-mingw32.meson
+++ b/toolchain-mingw32.meson
@@ -9,6 +9,7 @@ ranlib = '/usr/bin/x86_64-w64-mingw32-ranlib'
strip = '/usr/bin/i686-w64-mingw32-strip'
windres = '/usr/bin/i686-w64-mingw32-windres'
dlltool = '/usr/bin/i686-w64-mingw32-dlltool'
+libgcrypt-config = '/usr/i686-w64-mingw32/sys-root/mingw/bin/libgcrypt-config'
[properties]
root = '/usr/i686-w64-mingw32/sys-root/mingw'
diff --git a/toolchain-mingw64.meson b/toolchain-mingw64.meson
index 195df84..918bee0 100644
--- a/toolchain-mingw64.meson
+++ b/toolchain-mingw64.meson
@@ -9,6 +9,7 @@ ranlib = '/usr/bin/x86_64-w64-mingw32-ranlib'
strip = '/usr/bin/x86_64-w64-mingw32-strip'
windres = '/usr/bin/x86_64-w64-mingw32-windres'
dlltool = '/usr/bin/x86_64-w64-mingw32-dlltool'
+libgcrypt-config = '/usr/x86_64-w64-mingw32/sys-root/mingw/bin/libgcrypt-config'
[properties]
root = '/usr/x86_64-w64-mingw32/sys-root/mingw'
--
Gitee