# Define before mingw-binutils is build %bcond_with bootstrap %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: 152 Release: 1.9%{?dist} Summary: MinGW cross compiler base filesystem and environment License: GPL-2.0-or-later URL: http://fedoraproject.org/wiki/MinGW BuildArch: noarch Source0: COPYING # Generates macros.mingw and the four per-target macro files from one # target table; adding a target or a toolchain column is a table row. Source1: mingw-macros-gen.py Source5: mingw32.sh Source6: mingw64.sh Source7: ucrt64.sh Source8: mingw-find-debuginfo.sh Source9: mingw.req Source10: mingw.prov Source11: mingw-scripts.sh Source12: mingw-rpmlint.config Source13: toolchain-mingw32.cmake Source14: toolchain-mingw64.cmake Source15: toolchain-ucrt64.cmake Source16: mingw-find-lang.sh Source17: mingw32.attr Source18: mingw64.attr Source19: ucrt64.attr Source20: toolchain-mingw32.meson Source21: toolchain-mingw64.meson Source22: toolchain-ucrt64.meson Source23: pkgconf-personality-mingw32 Source24: pkgconf-personality-mingw64 Source25: pkgconf-personality-ucrt64 Source26: mingw32-hostlib.conf Source27: mingw64-hostlib.conf Source29: ucrtarm64.sh Source30: toolchain-ucrtarm64.cmake Source31: toolchain-ucrtarm64.meson Source32: pkgconf-personality-ucrtarm64 Source33: ucrtarm64.attr Source34: toolchain-mingw32-clang.meson Source35: toolchain-mingw64-clang.meson Source36: toolchain-ucrt64-clang.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 BuildRequires: pkgconf BuildRequires: python3 %description 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 %package base Summary: Generic files which are needed for {mingw32,mingw64,ucrt64,ucrtarm64}-filesystem # We need this for cmake macros Requires: cmake-rpm-macros Requires: redhat-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 # For using pkgconf with MinGW Requires: pkgconf %description base 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 %package -n mingw32-filesystem Summary: MinGW cross compiler base filesystem and environment for the win32 target Requires: %{name}-base = %{version}-%{release} # Replace mingw32-pkg-config Conflicts: mingw32-pkg-config < 0.28-17 Obsoletes: mingw32-pkg-config < 0.28-17 Provides: mingw32-pkg-config = 0.28-17 %if %{without bootstrap} Requires: mingw-binutils-generic %endif %description -n mingw32-filesystem 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 %package -n mingw64-filesystem Summary: MinGW cross compiler base filesystem and environment for the win64 target Requires: %{name}-base = %{version}-%{release} # Replace mingw64-pkg-config Conflicts: mingw64-pkg-config < 0.28-17 Obsoletes: mingw64-pkg-config < 0.28-17 Provides: mingw64-pkg-config = 0.28-17 %if %{without bootstrap} Requires: mingw-binutils-generic %endif %description -n mingw64-filesystem 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 %package -n ucrt64-filesystem Summary: MinGW cross compiler base filesystem and environment for the win64 UCRT target Requires: %{name}-base = %{version}-%{release} # Replace ucrt64-pkg-config Conflicts: ucrt64-pkg-config < 0.28-17 Obsoletes: ucrt64-pkg-config < 0.28-17 Provides: ucrt64-pkg-config = 0.28-17 %if %{without bootstrap} Requires: mingw-binutils-generic %endif %description -n ucrt64-filesystem 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 %package -n ucrtarm64-filesystem Summary: MinGW cross compiler base filesystem and environment for the ARM64 target Requires: %{name}-base = %{version}-%{release} Provides: ucrtarm64-pkg-config = %{version}-%{release} %if %{without bootstrap} # binutils has no AArch64 PE/COFF support; the llvm-* tools stand in for the # dependency generators and debuginfo. Compiling also needs ucrtarm64-clang. Requires: ucrtarm64-llvm-tools %endif %description -n ucrtarm64-filesystem This package contains the base filesystem layout, RPM macros and environment for all Fedora MinGW packages. Unlike the other targets, this one is driven by clang, lld and the llvm-* tools rather than by GCC and binutils. 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 %{python3} %{SOURCE1} . %check # The generated macros load and dispatch: gcc column under the defaults, # clang column under the knob. M="/usr/lib/rpm/macros:$PWD/macros.mingw:$PWD/macros.mingw32:$PWD/macros.mingw64:$PWD/macros.ucrt64:$PWD/macros.ucrtarm64" test "$(rpm --macros="$M" -E '%%mingw64_cc')" = "x86_64-w64-mingw32-gcc" test "$(rpm --macros="$M" -E '%%ucrtarm64_cc')" = "aarch64-w64-mingw32-clang" # win32/win64 clang columns name the packaged supplement drivers; ucrt64 has # no packaged drivers yet and keeps driving the distribution clang directly. test "$(rpm --macros="$M" --define 'mingw_toolchain_win32 clang' -E '%%mingw32_cc')" \ = "i686-w64-mingw32-clang" test "$(rpm --macros="$M" --define 'mingw_toolchain_win64 clang' -E '%%mingw64_cc')" \ = "x86_64-w64-mingw32-clang" rpm --macros="$M" --define 'mingw_toolchain_win64 clang' -E '%%mingw64_cflags' \ | grep -q -- '-Qunused-arguments' # The wrapper-column ldflags are empty: no column enables stack-protector # codegen in cflags, and a bare link-time -fstack-protector only makes clang # add -lssp, which these targets lack without mingw-gcc's real libssp. test -z "$(rpm --macros="$M" --define 'mingw_toolchain_win64 clang' -E '%%mingw64_ldflags')" rpm --macros="$M" --define 'mingw_toolchain_ucrt64 clang' -E '%%ucrt64_cc' \ | grep -q '^clang --target=x86_64-w64-mingw32ucrt ' # The clang C++ column names the libstdc++ triplet directory (clang's own # guess derives from the normalized triple and misses the ucrt spelling). rpm --macros="$M" --define 'mingw_toolchain_ucrt64 clang' -E '%%ucrt64_cxx' \ | grep -q -- '-isystem /usr/x86_64-w64-mingw32ucrt/sys-root/mingw/include/c++/x86_64-w64-mingw32ucrt$' grep -q -- "'-isystem', '/usr/x86_64-w64-mingw32ucrt/sys-root/mingw/include/c++/x86_64-w64-mingw32ucrt'" \ %{SOURCE36} # The win32/win64 clang cross files name the supplement drivers, and carry # -Qunused-arguments for the wrappers' link-only runtime flags. grep -q -- "\['i686-w64-mingw32-clang', '-Qunused-arguments'\]" %{SOURCE34} grep -q -- "\['x86_64-w64-mingw32-clang', '-Qunused-arguments'\]" %{SOURCE35} %install mkdir -p %{buildroot}%{_libexecdir} install -m 755 %{SOURCE11} %{buildroot}%{_libexecdir}/mingw-scripts mkdir -p %{buildroot}%{_bindir} pushd %{buildroot}%{_bindir} for i in mingw32-configure mingw32-cmake mingw32-make mingw32-meson mingw32-pkg-config \ mingw64-configure mingw64-cmake mingw64-make mingw64-meson mingw64-pkg-config \ ucrt64-configure ucrt64-cmake ucrt64-make ucrt64-meson ucrt64-pkg-config \ ucrtarm64-configure ucrtarm64-cmake ucrtarm64-make ucrtarm64-meson ucrtarm64-pkg-config ; do ln -s %{_libexecdir}/mingw-scripts $i done for i in i686-w64-mingw32-pkg-config \ x86_64-w64-mingw32-pkg-config \ x86_64-w64-mingw32ucrt-pkg-config \ aarch64-w64-mingw32-pkg-config ; do ln -s %{_bindir}/pkgconf $i done popd mkdir -p %{buildroot}%{_sysconfdir}/profile.d install -m 644 %{SOURCE5} %{buildroot}%{_sysconfdir}/profile.d/ install -m 644 %{SOURCE6} %{buildroot}%{_sysconfdir}/profile.d/ install -m 644 %{SOURCE7} %{buildroot}%{_sysconfdir}/profile.d/ install -m 644 %{SOURCE29} %{buildroot}%{_sysconfdir}/profile.d/ mkdir -p %{buildroot}%{macrosdir} install -m 644 macros.mingw %{buildroot}%{macrosdir}/macros.mingw install -m 644 macros.mingw32 %{buildroot}%{macrosdir}/macros.mingw32 install -m 644 macros.mingw64 %{buildroot}%{macrosdir}/macros.mingw64 install -m 644 macros.ucrt64 %{buildroot}%{macrosdir}/macros.ucrt64 install -m 644 macros.ucrtarm64 %{buildroot}%{macrosdir}/macros.ucrtarm64 mkdir -p %{buildroot}%{_sysconfdir}/rpmlint install -m 644 %{SOURCE12} %{buildroot}%{_sysconfdir}/rpmlint/ for target in i686-w64-mingw32 x86_64-w64-mingw32 x86_64-w64-mingw32ucrt aarch64-w64-mingw32; do # Create the folders required for gcc and binutils mkdir -p %{buildroot}%{_prefix}/$target mkdir -p %{buildroot}%{_prefix}/$target/bin mkdir -p %{buildroot}%{_prefix}/$target/lib # The MinGW system root which will contain Windows native binaries # and Windows-specific header files, pkgconfig, etc. mkdir -p %{buildroot}%{_prefix}/$target/sys-root/mingw mkdir -p %{buildroot}%{_prefix}/$target/sys-root/mingw/bin mkdir -p %{buildroot}%{_prefix}/$target/sys-root/mingw/etc mkdir -p %{buildroot}%{_prefix}/$target/sys-root/mingw/include mkdir -p %{buildroot}%{_prefix}/$target/sys-root/mingw/include/sys mkdir -p %{buildroot}%{_prefix}/$target/sys-root/mingw/lib mkdir -p %{buildroot}%{_prefix}/$target/sys-root/mingw/lib/pkgconfig mkdir -p %{buildroot}%{_prefix}/$target/sys-root/mingw/lib/cmake mkdir -p %{buildroot}%{_prefix}/$target/sys-root/mingw/libexec mkdir -p %{buildroot}%{_prefix}/$target/sys-root/mingw/libexec/installed-tests mkdir -p %{buildroot}%{_prefix}/$target/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. mkdir -p %{buildroot}%{_prefix}/$target/sys-root/mingw/share mkdir -p %{buildroot}%{_prefix}/$target/sys-root/mingw/share/doc mkdir -p %{buildroot}%{_prefix}/$target/sys-root/mingw/share/info mkdir -p %{buildroot}%{_prefix}/$target/sys-root/mingw/share/man mkdir -p %{buildroot}%{_prefix}/$target/sys-root/mingw/share/man/man{1,2,3,4,5,6,7,8,l,n} mkdir -p %{buildroot}%{_prefix}/$target/sys-root/mingw/share/aclocal mkdir -p %{buildroot}%{_prefix}/$target/sys-root/mingw/share/themes mkdir -p %{buildroot}%{_prefix}/$target/sys-root/mingw/share/cmake mkdir -p %{buildroot}%{_prefix}/$target/sys-root/mingw/share/locale mkdir -p %{buildroot}%{_prefix}/$target/sys-root/mingw/share/pkgconfig mkdir -p %{buildroot}%{_prefix}/$target/sys-root/mingw/share/xml mkdir -p %{buildroot}%{_prefix}/$target/sys-root/mingw/share/icons mkdir -p %{buildroot}%{_prefix}/$target/sys-root/mingw/share/metainfo mkdir -p %{buildroot}%{_prefix}/$target/sys-root/mingw/share/installed-tests mkdir -p %{buildroot}%{_prefix}/lib/debug/%{_prefix}/$target done # Own folders for all locales # Snippet taken from the Fedora filesystem package sed -n -f %{SOURCE102} /usr/share/xml/iso-codes/iso_639.xml > %{buildroot}/iso_639.tab sed -n -f %{SOURCE103} /usr/share/xml/iso-codes/iso_3166.xml > %{buildroot}/iso_3166.tab grep -v "^$" %{buildroot}/iso_639.tab | grep -v "^#" | while read a b c d ; do [[ "$d" =~ "^Reserved" ]] && continue [[ "$d" =~ "^No linguistic" ]] && continue locale=$c if [ "$locale" = "XX" ]; then locale=$b fi echo "%lang(${locale}) %{_prefix}/i686-w64-mingw32/sys-root/mingw/share/locale/${locale}" >> filelist_mingw32 echo "%lang(${locale}) %{_prefix}/x86_64-w64-mingw32/sys-root/mingw/share/locale/${locale}" >> filelist_mingw64 echo "%lang(${locale}) %{_prefix}/x86_64-w64-mingw32ucrt/sys-root/mingw/share/locale/${locale}" >> filelist_ucrt echo "%lang(${locale}) %{_prefix}/aarch64-w64-mingw32/sys-root/mingw/share/locale/${locale}" >> filelist_ucrtarm64 done cat %{SOURCE101} | grep -v "^#" | grep -v "^$" | while read loc ; do locale=$loc locality= special= [[ "$locale" =~ "@" ]] && locale=${locale%%%%@*} [[ "$locale" =~ "_" ]] && locality=${locale##*_} [[ "$locality" =~ "." ]] && locality=${locality%%%%.*} [[ "$loc" =~ "_" ]] || [[ "$loc" =~ "@" ]] || special=$loc # If the locality is not official, skip it if [ -n "$locality" ]; then grep -q "^$locality" %{buildroot}/iso_3166.tab || continue fi # If the locale is not official and not special, skip it if [ -z "$special" ]; then grep -Eq "[[:space:]]${locale%%_*}[[:space:]]" %{buildroot}/iso_639.tab || continue fi echo "%lang(${locale}) %{_prefix}/i686-w64-mingw32/sys-root/mingw/share/locale/${loc}" >> filelist_mingw32 echo "%lang(${locale}) %{_prefix}/x86_64-w64-mingw32/sys-root/mingw/share/locale/${loc}" >> filelist_mingw64 echo "%lang(${locale}) %{_prefix}/x86_64-w64-mingw32ucrt/sys-root/mingw/share/locale/${loc}" >> filelist_ucrt echo "%lang(${locale}) %{_prefix}/aarch64-w64-mingw32/sys-root/mingw/share/locale/${loc}" >> filelist_ucrtarm64 done rm -f %{buildroot}/iso_639.tab rm -f %{buildroot}/iso_3166.tab cat filelist_mingw32 filelist_mingw64 filelist_ucrt filelist_ucrtarm64 | grep "locale" | while read a b ; do mkdir -p -m 755 %{buildroot}/$b/LC_MESSAGES done # NB. NOT _libdir mkdir -p %{buildroot}/usr/lib/rpm install -m 0755 %{SOURCE8} %{buildroot}%{_rpmconfigdir} install -m 0755 %{SOURCE9} %{buildroot}%{_rpmconfigdir} install -m 0755 %{SOURCE10} %{buildroot}%{_rpmconfigdir} install -m 0755 %{SOURCE16} %{buildroot}%{_rpmconfigdir} mkdir -p %{buildroot}/usr/lib/rpm/fileattrs install -m 0644 %{SOURCE17} %{buildroot}%{_rpmconfigdir}/fileattrs/ install -m 0644 %{SOURCE18} %{buildroot}%{_rpmconfigdir}/fileattrs/ install -m 0644 %{SOURCE19} %{buildroot}%{_rpmconfigdir}/fileattrs/ install -m 0644 %{SOURCE33} %{buildroot}%{_rpmconfigdir}/fileattrs/ mkdir -p %{buildroot}%{_datadir}/mingw install -m 0644 %{SOURCE13} %{buildroot}%{_datadir}/mingw/ install -m 0644 %{SOURCE14} %{buildroot}%{_datadir}/mingw/ install -m 0644 %{SOURCE15} %{buildroot}%{_datadir}/mingw/ install -m 0644 %{SOURCE20} %{buildroot}%{_datadir}/mingw/ install -m 0644 %{SOURCE21} %{buildroot}%{_datadir}/mingw/ install -m 0644 %{SOURCE22} %{buildroot}%{_datadir}/mingw/ install -m 0644 %{SOURCE34} %{buildroot}%{_datadir}/mingw/ install -m 0644 %{SOURCE35} %{buildroot}%{_datadir}/mingw/ install -m 0644 %{SOURCE36} %{buildroot}%{_datadir}/mingw/ install -m 0644 %{SOURCE30} %{buildroot}%{_datadir}/mingw/ install -m 0644 %{SOURCE31} %{buildroot}%{_datadir}/mingw/ mkdir -p %{buildroot}%{pkgconfig_personalitydir} install -m 0644 %{SOURCE23} %{buildroot}%{pkgconfig_personalitydir}/i686-w64-mingw32.personality install -m 0644 %{SOURCE24} %{buildroot}%{pkgconfig_personalitydir}/x86_64-w64-mingw32.personality install -m 0644 %{SOURCE25} %{buildroot}%{pkgconfig_personalitydir}/x86_64-w64-mingw32ucrt.personality install -m 0644 %{SOURCE32} %{buildroot}%{pkgconfig_personalitydir}/aarch64-w64-mingw32.personality mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d install -m 0644 %{SOURCE26} %{buildroot}%{_sysconfdir}/ld.so.conf.d/mingw32-hostlib.conf install -m 0644 %{SOURCE27} %{buildroot}%{_sysconfdir}/ld.so.conf.d/mingw64-hostlib.conf # Link mingw-pkg-config man pages to pkgconf(1) mkdir -p %{buildroot}%{_mandir}/man1/ echo ".so man1/pkgconf.1" > %{buildroot}%{_mandir}/man1/i686-w64-mingw32-pkg-config.1 echo ".so man1/pkgconf.1" > %{buildroot}%{_mandir}/man1/x86_64-w64-mingw32-pkg-config.1 echo ".so man1/pkgconf.1" > %{buildroot}%{_mandir}/man1/x86_64-w64-mingw32ucrt-pkg-config.1 echo ".so man1/pkgconf.1" > %{buildroot}%{_mandir}/man1/aarch64-w64-mingw32-pkg-config.1 %files base %doc COPYING %dir %{_sysconfdir}/rpmlint/ %config(noreplace) %{_sysconfdir}/rpmlint/mingw-rpmlint.config %{macrosdir}/macros.mingw %{_libexecdir}/mingw-scripts %{_rpmconfigdir}/mingw* %dir %{_datadir}/mingw/ %files -n mingw32-filesystem %{macrosdir}/macros.mingw32 %config(noreplace) %{_sysconfdir}/profile.d/mingw32.sh %{_bindir}/mingw32-configure %{_bindir}/mingw32-cmake %{_bindir}/mingw32-make %{_bindir}/mingw32-meson %{_bindir}/mingw32-pkg-config %{_bindir}/i686-w64-mingw32-pkg-config %{_prefix}/i686-w64-mingw32 %{_rpmconfigdir}/fileattrs/mingw32.attr %{_datadir}/mingw/toolchain-mingw32.cmake %{_datadir}/mingw/toolchain-mingw32.meson %{_datadir}/mingw/toolchain-mingw32-clang.meson %{pkgconfig_personalitydir}/i686-w64-mingw32.personality %{_mandir}/man1/i686-w64-mingw32-pkg-config.1* %{_sysconfdir}/ld.so.conf.d/mingw32-hostlib.conf %dir %{_prefix}/lib/debug/%{_prefix} %dir %{_prefix}/lib/debug/%{_prefix}/i686-w64-mingw32 %files -n mingw64-filesystem %{macrosdir}/macros.mingw64 %config(noreplace) %{_sysconfdir}/profile.d/mingw64.sh %{_bindir}/mingw64-configure %{_bindir}/mingw64-cmake %{_bindir}/mingw64-make %{_bindir}/mingw64-meson %{_bindir}/mingw64-pkg-config %{_bindir}/x86_64-w64-mingw32-pkg-config %{_prefix}/x86_64-w64-mingw32 %{_rpmconfigdir}/fileattrs/mingw64.attr %{_datadir}/mingw/toolchain-mingw64.cmake %{_datadir}/mingw/toolchain-mingw64.meson %{_datadir}/mingw/toolchain-mingw64-clang.meson %{pkgconfig_personalitydir}/x86_64-w64-mingw32.personality %{_mandir}/man1/x86_64-w64-mingw32-pkg-config.1* %{_sysconfdir}/ld.so.conf.d/mingw64-hostlib.conf %dir %{_prefix}/lib/debug/%{_prefix} %dir %{_prefix}/lib/debug/%{_prefix}/x86_64-w64-mingw32 %files -n ucrt64-filesystem %{macrosdir}/macros.ucrt64 %config(noreplace) %{_sysconfdir}/profile.d/ucrt64.sh %{_bindir}/ucrt64-configure %{_bindir}/ucrt64-cmake %{_bindir}/ucrt64-make %{_bindir}/ucrt64-meson %{_bindir}/ucrt64-pkg-config %{_bindir}/x86_64-w64-mingw32ucrt-pkg-config %{_prefix}/x86_64-w64-mingw32ucrt %{_rpmconfigdir}/fileattrs/ucrt64.attr %{_datadir}/mingw/toolchain-ucrt64.cmake %{_datadir}/mingw/toolchain-ucrt64.meson %{_datadir}/mingw/toolchain-ucrt64-clang.meson %{pkgconfig_personalitydir}/x86_64-w64-mingw32ucrt.personality %{_mandir}/man1/x86_64-w64-mingw32ucrt-pkg-config.1* %dir %{_prefix}/lib/debug/%{_prefix} %dir %{_prefix}/lib/debug/%{_prefix}/x86_64-w64-mingw32ucrt %files -n ucrtarm64-filesystem %{macrosdir}/macros.ucrtarm64 %config(noreplace) %{_sysconfdir}/profile.d/ucrtarm64.sh %{_bindir}/ucrtarm64-configure %{_bindir}/ucrtarm64-cmake %{_bindir}/ucrtarm64-make %{_bindir}/ucrtarm64-meson %{_bindir}/ucrtarm64-pkg-config %{_bindir}/aarch64-w64-mingw32-pkg-config %{_prefix}/aarch64-w64-mingw32 %{_rpmconfigdir}/fileattrs/ucrtarm64.attr %{_datadir}/mingw/toolchain-ucrtarm64.cmake %{_datadir}/mingw/toolchain-ucrtarm64.meson %{pkgconfig_personalitydir}/aarch64-w64-mingw32.personality %{_mandir}/man1/aarch64-w64-mingw32-pkg-config.1* %dir %{_prefix}/lib/debug/%{_prefix} %dir %{_prefix}/lib/debug/%{_prefix}/aarch64-w64-mingw32 %changelog * Mon Aug 24 2026 Erik Berg - 152-1.9 - Point the win32 and win64 clang columns at the packaged supplement drivers (mingw32-clang, mingw64-clang): the drivers carry the sysroot and select compiler-rt/libunwind themselves, so the -B/-L GCC directory plumbing and the meson -Dc_link_args workaround disappear for these targets. ucrt64 keeps driving the distribution clang directly until drivers are packaged for it - Promote -Qunused-arguments from the per-package workaround into the wrapper-based clang columns and cross files (the glib2 meson trap: the drivers' link-only runtime flags fail every probe under meson's -Werror=unused-command-line-argument) - The win32/win64 clang columns carry empty ldflags: no column enables stack-protector codegen in cflags, and a bare link-time -fstack-protector only makes clang add -lssp, which these targets lack without mingw-gcc's real libssp (ucrtarm64 absorbs the same flag with its crt's empty stubs) * Thu Aug 20 2026 Erik Berg - 152-1.8 - Name the libstdc++ triplet include directory on the clang C++ driver lines and clang meson cross files: clang derives the directory from the normalized triple, which folds ucrt64 into mingw64, so ucrt64 C++ compiles cannot find bits/c++config.h. A no-op for mingw32/mingw64, where the derived directory is already right * Sat Aug 08 2026 Erik Berg - 152-1.7 - Add -Qunused-arguments to the clang driver lines and clang meson cross files: the link-only flags they carry (-fuse-ld, -B, -L) trip meson's -Werror=unused-command-line-argument during compile-only probes, and every probe answers wrongly. Found building qemu-ga for mingw64 with the clang column * Sat Aug 08 2026 Erik Berg - 152-1.6 - Generate macros.mingw and the four per-target macro files from one target table (mingw-macros-gen.py) at build time. The generated files are byte-identical to the normalized ones they replace; adding a target or a toolchain column is now a table row. %%check asserts the generated macros load and dispatch both toolchain columns * Sat Aug 08 2026 Erik Berg - 152-1.5 - Normalize the macro files: definition values start at one fixed column, every line continuation sits one space after the content, every file ends with exactly one newline. The expanded macros are unchanged apart from whitespace - Drop %%ucrt64_cmake_kde4 (KDE4 is gone) and give ucrt64 the same rustflags the other targets have * Fri Aug 07 2026 Erik Berg - 152-1.4 - Add per-target toolchain selection: %%mingw_toolchain_win32/win64/ucrt64 (gcc, the default, or clang) and %%mingw_toolchain_ucrtarm64 (clang only). The compiler, preprocessor, cflags, ldflags and meson cross file dispatch through the selector; the gcc column is byte-identical to the historical macros. The clang column drives the distribution clang at the target's triplet with the GNU runtimes; an opting-in package must BuildRequire clang and lld - Ship toolchain-{mingw32,mingw64,ucrt64}-clang.meson cross files. Known limitation: a meson package opting into clang must also pass -Dc_link_args=-L/usr/lib/gcc// (the cross file cannot carry the versioned path); autotools and cmake need nothing extra - Make the %%_env C++ compiler test first-word based, so a multi-word compiler command is detected correctly * Thu Aug 06 2026 Erik Berg - 152-1.3 - Add the ucrtarm64 target: aarch64-w64-mingw32, Windows on ARM64, driven by clang, lld and the llvm-* tools. Off by default; a package opts in with %%global mingw_build_ucrtarm64 1 - Skip the rpm brp strip passes when ucrtarm64 is enabled: binutils strip cannot read AArch64 PE and corrupts the archives it rewrites - Extend the rpmlint filters to the new prefix * Thu Aug 06 2026 Erik Berg - 152-1.2 - Extend the rpmlint filters to ucrt64. They only matched mingw32 and mingw64, so every ucrt64 package reported the whole set as fresh warnings under fedpkg lint * Thu Aug 06 2026 Erik Berg - 152-1.1 - Resolve objdump/objcopy/nm per target in the dependency generators and mingw-find-debuginfo.sh; skip targets whose macros are not installed - Match the target triplet as a whole path component: x86_64-w64-mingw32 no longer claims x86_64-w64-mingw32ucrt files - Fail the build on binaries the tools cannot read instead of skipping them - Use nm --format=posix and tolerate objcopy without --keep-symbols for COFF - Ignore the DLL's own name in objdump output (llvm-objdump prints it) - Set CMAKE_AR and CMAKE_RANLIB with the correct SET() spelling in the cmake toolchain files - Escape the macro in the 148-4 changelog entry; it expanded at parse time - Point %%mingw64_pkgconfig_personalitydir and %%ucrt64_pkgconfig_personalitydir at their own targets' datadirs; both copied the mingw32 path. Say UCRT64 in %%ucrt64_description - Drop the ucrt64 arm from the %%mingw_qmake_qt6 ladder: no ucrt64-qmake-qt6 exists, macros.ucrt64 defines no %%ucrt64_qmake_qt6, and the arm silently created an empty build_ucrt64 directory * Wed Jul 29 2026 Sandro Mani - 152-1 - Fix setting CMAKE_RC_COMPILER (#2507374) * Thu Jul 16 2026 Fedora Release Engineering - 151-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild * Thu Jan 22 2026 Sandro Mani - 151-1 - Use relative cross compiler paths in cmake toolchain files (#2430586) * Fri Jan 16 2026 Fedora Release Engineering - 150-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild * Wed Aug 20 2025 Marc-André Lureau - 150-3 - Own a few more directories. * Thu Jul 24 2025 Fedora Release Engineering - 150-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild * Thu May 29 2025 Sandro Mani - 150-1 - Re-add target bin dir to PATH * Sun Mar 23 2025 Sandro Mani - 149-1 - Only add cross host tools bin dir to PATH * Fri Jan 17 2025 Fedora Release Engineering - 148-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild * Sat Sep 07 2024 Zephyr Lykos - 148-7 - Fix meson deprecation warnings * Thu Jul 18 2024 Fedora Release Engineering - 148-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild * Wed Jun 12 2024 Sandro Mani - 148-5 - Rust fixes * Thu Jun 06 2024 Sandro Mani - 148-4 - Set __debug_package 1 in %%mingw_debug_package (#2284193) * Thu Jan 25 2024 Fedora Release Engineering - 148-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild * Sun Jan 21 2024 Fedora Release Engineering - 148-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild * Wed Sep 13 2023 Orion Poplawski - 148-1 - Add pkgconfig provides * Mon Sep 11 2023 Neal Gompa - 147-3 - Add dependency on cmake-rpm-macros * Thu Jul 20 2023 Fedora Release Engineering - 147-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild * Fri Apr 07 2023 Sandro Mani - 147-1 - Set mingw_env before in run_mingw_make * Wed Apr 05 2023 Sandro Mani - 146-1 - Set RUSTFLAGS in mingw env * Thu Jan 19 2023 Fedora Release Engineering - 145-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild * Sat Dec 31 2022 Sandro Mani - 145-1 - Fix mingw-find-lang.sh exit code * Fri Dec 23 2022 Sandro Mani - 144-1 - Add mingw-qmake-qt6 macros, drop mingw-cmake-kde4 macros * Fri Dec 09 2022 Sandro Mani - 143-1 - Prevent mingw-find-lang.sh from clobbering previous find-lang results * Tue Oct 18 2022 Sandro Mani - 142-1 - Require mingw-binutils-generic * Tue Sep 27 2022 Sandro Mani - 141-2 - Replace egrep with grep -E * Sat Jul 30 2022 Sandro Mani - 141-1 - Revert unsetting _PREFIX * Fri Jul 29 2022 Sandro Mani - 140-1 - Don't unset _PREFIX in mingw-env macro, it leads to ${_PREFIX} being empty when evaluated the lines above * Thu Jul 21 2022 Fedora Release Engineering - 139-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild * Fri May 20 2022 Sandro Mani - 139-1 - Set CMAKE_FIND_ROOT_PATH_MODE_PACKAGE in cmake toolchain files * Wed May 11 2022 Sandro Mani - 138-1 - Drop CMAKE_INSTALL_LIBDIR from mingw-cmake macros * Mon May 09 2022 Richard Hughes 137-1 - Include glib-mkenums in the toolchain binaries to avoid installing host GLib for building. * Tue May 03 2022 Sandro Mani - 136-1 - Drop standard DLL provides, moved to mingw-crt * Tue May 03 2022 Sandro Mani - 135-1 - Add host lib dirs to ld.so.conf * Thu Apr 28 2022 Sandro Mani - 134-1 - Regenerate standard-dlls * Thu Feb 24 2022 Marc-André Lureau - 133-2 - Fix ucrt64 toolchain filenames. * Tue Feb 22 2022 Marc-André Lureau - 133-1 - Add ucrt64 target. Related to rhbz#2055254. * Mon Feb 21 2022 Sandro Mani - 132-1 - Create build_winXX directories with mkdir -p * Thu Feb 10 2022 Sandro Mani - 131-2 - Bump release * Thu Feb 10 2022 Sandro Mani - 131-1 - Move python dependency generation to mingw32/64_python3.attr in mingw-python3 package - More generic mingw_pkg_name macros to also deduce mingw package name from native name * Wed Feb 02 2022 Sandro Mani - 130-1 - Drop evaling $@ in mingw-scripts, ensure mingw macros invoked by mingw-scripts contain $@ * Sat Jan 22 2022 Sandro Mani - 129-1 - Also set FCFLAGS in mingw-env * Thu Jan 20 2022 Fedora Release Engineering - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild * Sat Jan 08 2022 Sandro Mani - 128-1 - Add Boost_ARCHITECTURE to cmake toolchain file * Sat Jan 08 2022 Sandro Mani - 127-1 - Correctly test whether CC/CXX/FC env-vars are set in cmake toolchain config * Wed Dec 15 2021 Sandro Mani - 126-1 - Preserve CC/CXX/FC/RC set by ENV if set in cmake toolchain files * Sat Nov 20 2021 Sandro Mani - 125-1 - Fix up debug dirs ownership * Wed Nov 17 2021 Sandro Mani - 124-1 - Use relative paths in cmake/meson toolchain files to make ccache work if available * Tue Sep 21 2021 Sandro Mani - 123-1 - Autogenerate mingw-python3 BR - Fix mingw{32/64}.attr to also capture pyd, pc files * Thu Sep 02 2021 Sandro Mani - 122-1 - Allow overriding CMake INCLUDE_INSTALL_DIR in MINGWXX_CMAKE_ARGS - Drop evaling $@ in mingw-scripts, ensure mingw macros invoked by mingw-scripts contain $@ * Sun Aug 29 2021 Sandro Mani - 121-1 - Drop use of deprecated external dependency generator - Fix file listed twice - Fix copying minidebug symbols to binary in mingw-find-debuginfo.sh * Fri Aug 27 2021 Sandro Mani - 120-1 - Adapt mingw-find-debuginfo.sh to store debug files below /usr/lib/debug - See https://fedoraproject.org/wiki/Changes/F36MingwDebugLocation * Thu Jul 22 2021 Fedora Release Engineering - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild * Sat Jun 12 2021 Neal Gompa - 119-1 - Use pkgconf for pkgconfig * 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. * Thu Sep 4 2008 Richard W.M. Jones - 3-1 - Add _mingw_host macro. * Thu Sep 4 2008 Richard W.M. Jones - 2-1 - Add _mingw_sysroot macro. - Add _mingw_target macro. * Thu Sep 4 2008 Richard W.M. Jones - 1-1 - Basic filesystem layout.