summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYaakov Selkowitz <yselkowi@redhat.com>2022-01-09 16:19:48 -0500
committerYaakov Selkowitz <yselkowi@redhat.com>2022-01-09 20:32:44 -0500
commitbd9b4b5a2c4176ef4e116a5973095eb493a779c1 (patch)
treede0317f3b542b92ca570665b6ea272e47365d394
parente3e59650141c5f8b5b825fa30b06459eac9e4401 (diff)
downloadcygwin-filesystem-bd9b4b5a2c4176ef4e116a5973095eb493a779c1.tar.gz
cygwin-filesystem-bd9b4b5a2c4176ef4e116a5973095eb493a779c1.tar.xz
cygwin-filesystem-bd9b4b5a2c4176ef4e116a5973095eb493a779c1.zip
Sync with mingw-filesystem 128
-rw-r--r--COPYING42
-rw-r--r--cygwin-filesystem.spec938
-rwxr-xr-xcygwin-find-debuginfo.sh22
-rwxr-xr-xcygwin-find-requires.sh35
-rw-r--r--cygwin-rpmlint.config12
-rwxr-xr-xcygwin-scripts.sh2
-rwxr-xr-xcygwin.prov (renamed from cygwin-find-provides.sh)6
-rwxr-xr-xcygwin.req66
-rw-r--r--cygwin32.attr6
-rw-r--r--cygwin64.attr6
-rw-r--r--iso_3166.sed31
-rw-r--r--iso_639.sed31
-rw-r--r--lang-exceptions99
-rw-r--r--macros.cygwin190
-rw-r--r--macros.cygwin32157
-rw-r--r--macros.cygwin64173
-rw-r--r--pkgconf-personality-cygwin326
-rw-r--r--pkgconf-personality-cygwin646
-rw-r--r--sources0
-rw-r--r--toolchain-cygwin32.cmake43
-rw-r--r--toolchain-cygwin32.meson21
-rw-r--r--toolchain-cygwin64.cmake43
-rw-r--r--toolchain-cygwin64.meson21
23 files changed, 1462 insertions, 494 deletions
diff --git a/COPYING b/COPYING
index e77696a..d159169 100644
--- a/COPYING
+++ b/COPYING
@@ -1,12 +1,12 @@
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 675 Mass Ave, Cambridge, MA 02139, USA
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
- Preamble
+ Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
@@ -15,7 +15,7 @@ software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.) You can apply it to
+the GNU Lesser General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
@@ -55,8 +55,8 @@ patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
-
- GNU GENERAL PUBLIC LICENSE
+
+ GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
@@ -110,7 +110,7 @@ above, provided that you also meet all of these conditions:
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
-
+
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
@@ -168,7 +168,7 @@ access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
-
+
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
@@ -225,7 +225,7 @@ impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
-
+
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
@@ -255,7 +255,7 @@ make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
- NO WARRANTY
+ NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
@@ -277,9 +277,9 @@ YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
@@ -291,7 +291,7 @@ convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
- Copyright (C) 19yy <name of author>
+ Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -303,16 +303,16 @@ the "copyright" line and a pointer to where the full notice is found.
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
- Gnomovision version 69, Copyright (C) 19yy name of author
+ Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
@@ -335,5 +335,5 @@ necessary. Here is a sample; alter the names:
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
-library. If this is what you want to do, use the GNU Library General
+library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License.
diff --git a/cygwin-filesystem.spec b/cygwin-filesystem.spec
index 8c83c3f..d26d4e8 100644
--- a/cygwin-filesystem.spec
+++ b/cygwin-filesystem.spec
@@ -6,13 +6,12 @@
%global macrosdir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d)
Name: cygwin-filesystem
-Version: 14
+Version: 128
Release: 1%{?dist}
Summary: Cygwin cross compiler base filesystem and environment
-Group: Development/Libraries
License: GPLv2+
-URL: http://cygwinports.org/
+URL: https://copr.fedorainfracloud.org/coprs/yselkowitz/cygwin/
BuildArch: noarch
Source0: COPYING
@@ -22,8 +21,8 @@ Source3: macros.cygwin64
Source4: cygwin32.sh
Source5: cygwin64.sh
Source6: cygwin-find-debuginfo.sh
-Source7: cygwin-find-requires.sh
-Source8: cygwin-find-provides.sh
+Source7: cygwin.req
+Source8: cygwin.prov
Source9: cygwin-scripts.sh
Source10: cygwin-rpmlint.config
Source11: toolchain-cygwin32.cmake
@@ -32,10 +31,25 @@ Source13: cygwin-find-lang.sh
Source14: cygwin32.attr
Source15: cygwin64.attr
# generated with:
-# (rpm -ql cygwin32-w32api-runtime | grep '\.a$' | while read f ; do i686-pc-cygwin-dlltool -I $f 2>/dev/null ; done) | tr A-Z a-z | sort -u > standard-dlls-cygwin32
+# (rpm -ql cygwin32-w32api-runtime | grep '\.a$' | while read f ; do i686-pc-cygwin-dlltool -I $f 2>/dev/null ; done) | sort | uniq | tr A-Z a-z > standard-dlls-cygwin32
Source16: standard-dlls-cygwin32
-# (rpm -ql cygwin64-w32api-runtime | grep '\.a$' | while read f ; do x86_64-pc-cygwin-dlltool -I $f 2>/dev/null ; done) | tr A-Z a-z | sort -u > standard-dlls-cygwin64
+# (rpm -ql cygwin64-w32api-runtime | grep '\.a$' | while read f ; do x86_64-pc-cygwin-dlltool -I $f 2>/dev/null ; done) | sort | uniq | tr A-Z a-z > standard-dlls-cygwin64
Source17: standard-dlls-cygwin64
+Source18: toolchain-cygwin32.meson
+Source19: toolchain-cygwin64.meson
+Source20: pkgconf-personality-cygwin32
+Source21: pkgconf-personality-cygwin64
+
+# 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
+%if 0%{?fedora} || 0%{?rhel} >= 9
+BuildRequires: pkgconf
+%endif
%description
@@ -46,6 +60,12 @@ environment for all Fedora Cygwin packages.
%package base
Summary: Generic files which are needed for both cygwin32-filesystem and cygwin64-filesystem
+Requires: redhat-rpm-config
+%if 0%{?fedora} || 0%{?rhel} >= 9
+# For using pkgconf with Cygwin
+Requires: pkgconf
+%endif
+
%description base
This package contains the base filesystem layout, RPM macros and
environment for all Fedora Cygwin packages.
@@ -54,8 +74,12 @@ environment for all Fedora Cygwin packages.
%package -n cygwin32-filesystem
Summary: Cygwin cross compiler base filesystem and environment for the i686 target
Requires: %{name}-base = %{version}-%{release}
-Provides: cygwin-filesystem
-Obsoletes: cygwin-filesystem < 7-1
+%if 0%{?fedora} || 0%{?rhel} >= 9
+# Replace cygwin32-pkg-config
+Conflicts: cygwin32-pkg-config <= 0.29.2-2
+Obsoletes: cygwin32-pkg-config <= 0.29.2-2
+Provides: cygwin32-pkg-config = 0.29.2-2
+%endif
# Note about 'Provides: cygwin32(foo.dll)'
# ------------------------------------------------------------
@@ -63,7 +87,7 @@ Obsoletes: cygwin-filesystem < 7-1
# We want to be able to build & install cygwin32 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 Cygwin toolchain to develop software (ie. to
+# order to use the cygwin 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
@@ -73,21 +97,6 @@ Obsoletes: cygwin-filesystem < 7-1
#
Provides: %(sed "s/\(.*\)/cygwin32(\1) /g" %{SOURCE16} | tr "\n" " ")
Provides: cygwin32(mscoree.dll)
-# for backwards compatibility with cygwin-filesystem <= 6
-Provides: cygwin(advapi32.dll)
-Provides: cygwin(avicap32.dll)
-Provides: cygwin(comctl32.dll)
-Provides: cygwin(comdlg32.dll)
-Provides: cygwin(gdi32.dll)
-Provides: cygwin(imm32.dll)
-Provides: cygwin(kernel32.dll)
-Provides: cygwin(ntdll.dll)
-Provides: cygwin(opengl32.dll)
-Provides: cygwin(ole32.dll)
-Provides: cygwin(shell32.dll)
-Provides: cygwin(user32.dll)
-Provides: cygwin(winmm.dll)
-Provides: cygwin(winspool.drv)
%description -n cygwin32-filesystem
This package contains the base filesystem layout, RPM macros and
@@ -97,6 +106,12 @@ environment for all Fedora Cygwin packages.
%package -n cygwin64-filesystem
Summary: Cygwin cross compiler base filesystem and environment for the x86_64 target
Requires: %{name}-base = %{version}-%{release}
+%if 0%{?fedora} || 0%{?rhel} >= 9
+# Replace cygwin64-pkg-config
+Conflicts: cygwin64-pkg-config < 0.29.2-2
+Obsoletes: cygwin64-pkg-config < 0.29.2-2
+Provides: cygwin64-pkg-config = 0.29.2-2
+%endif
Provides: %(sed "s/\(.*\)/cygwin64(\1) /g" %{SOURCE17} | tr "\n" " ")
Provides: cygwin64(mscoree.dll)
@@ -116,101 +131,174 @@ cp %{SOURCE0} COPYING
%install
-mkdir -p $RPM_BUILD_ROOT
+mkdir -p %{buildroot}
-mkdir -p $RPM_BUILD_ROOT%{_libexecdir}
-install -m 755 %{SOURCE9} $RPM_BUILD_ROOT%{_libexecdir}/cygwin-scripts
+mkdir -p %{buildroot}%{_libexecdir}
+install -m 755 %{SOURCE9} %{buildroot}%{_libexecdir}/cygwin-scripts
-mkdir -p $RPM_BUILD_ROOT%{_bindir}
-pushd $RPM_BUILD_ROOT%{_bindir}
-for i in cygwin32-configure cygwin32-cmake cygwin32-make cygwin32-pkg-config \
- cygwin64-configure cygwin64-cmake cygwin64-make cygwin64-pkg-config ; do
+mkdir -p %{buildroot}%{_bindir}
+pushd %{buildroot}%{_bindir}
+for i in cygwin32-configure cygwin32-cmake cygwin32-make cygwin32-meson cygwin32-pkg-config \
+ cygwin64-configure cygwin64-cmake cygwin64-make cygwin64-meson cygwin64-pkg-config ; do
ln -s %{_libexecdir}/cygwin-scripts $i
done
+for i in i686-pc-cygwin-pkg-config \
+ x86_64-pc-cygwin-pkg-config ; do
+ ln -s %{_bindir}/pkgconf $i
+done
popd
-mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/profile.d
-install -m 644 %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/profile.d/
-install -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/profile.d/
+mkdir -p %{buildroot}%{_sysconfdir}/profile.d
+install -m 644 %{SOURCE4} %{buildroot}%{_sysconfdir}/profile.d/
+install -m 644 %{SOURCE5} %{buildroot}%{_sysconfdir}/profile.d/
-mkdir -p $RPM_BUILD_ROOT%{macrosdir}
-install -m 644 %{SOURCE1} $RPM_BUILD_ROOT%{macrosdir}/macros.cygwin
-install -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{macrosdir}/macros.cygwin32
-install -m 644 %{SOURCE3} $RPM_BUILD_ROOT%{macrosdir}/macros.cygwin64
+mkdir -p %{buildroot}%{macrosdir}
+install -m 644 %{SOURCE1} %{buildroot}%{macrosdir}/macros.cygwin
+install -m 644 %{SOURCE2} %{buildroot}%{macrosdir}/macros.cygwin32
+install -m 644 %{SOURCE3} %{buildroot}%{macrosdir}/macros.cygwin64
-mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/rpmlint
-install -m 644 %{SOURCE10} $RPM_BUILD_ROOT%{_sysconfdir}/rpmlint/
+mkdir -p %{buildroot}%{_sysconfdir}/rpmlint
+install -m 644 %{SOURCE10} %{buildroot}%{_sysconfdir}/rpmlint/
# Create the folders required for gcc and binutils
-mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-cygwin
-mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-cygwin/bin
-mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-cygwin/lib
-mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-cygwin
-mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-cygwin/bin
-mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-cygwin/lib
+mkdir -p %{buildroot}%{_prefix}/i686-pc-cygwin
+mkdir -p %{buildroot}%{_prefix}/i686-pc-cygwin/bin
+mkdir -p %{buildroot}%{_prefix}/i686-pc-cygwin/lib
+mkdir -p %{buildroot}%{_prefix}/x86_64-pc-cygwin
+mkdir -p %{buildroot}%{_prefix}/x86_64-pc-cygwin/bin
+mkdir -p %{buildroot}%{_prefix}/x86_64-pc-cygwin/lib
# The Cygwin system root which will contain Cygwin native binaries
# and Cygwin-specific header files, pkgconfig, etc.
-mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-cygwin/sys-root/etc
-mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-cygwin/sys-root/usr
-mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-cygwin/sys-root/usr/bin
-mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-cygwin/sys-root/usr/include
-mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-cygwin/sys-root/usr/lib
-mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-cygwin/sys-root/usr/lib/pkgconfig
-mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-cygwin/sys-root/usr/sbin
-
-mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-cygwin/sys-root/etc
-mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-cygwin/sys-root/usr
-mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-cygwin/sys-root/usr/bin
-mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-cygwin/sys-root/usr/include
-mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-cygwin/sys-root/usr/lib
-mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-cygwin/sys-root/usr/lib/pkgconfig
-mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-cygwin/sys-root/usr/sbin
+mkdir -p %{buildroot}%{_prefix}/i686-pc-cygwin/sys-root/usr
+mkdir -p %{buildroot}%{_prefix}/i686-pc-cygwin/sys-root/usr/bin
+mkdir -p %{buildroot}%{_prefix}/i686-pc-cygwin/sys-root/etc
+mkdir -p %{buildroot}%{_prefix}/i686-pc-cygwin/sys-root/usr/include
+mkdir -p %{buildroot}%{_prefix}/i686-pc-cygwin/sys-root/usr/include/sys
+mkdir -p %{buildroot}%{_prefix}/i686-pc-cygwin/sys-root/usr/lib
+mkdir -p %{buildroot}%{_prefix}/i686-pc-cygwin/sys-root/usr/lib/pkgconfig
+mkdir -p %{buildroot}%{_prefix}/i686-pc-cygwin/sys-root/usr/lib/cmake
+mkdir -p %{buildroot}%{_prefix}/i686-pc-cygwin/sys-root/usr/sbin
+
+mkdir -p %{buildroot}%{_prefix}/x86_64-pc-cygwin/sys-root/usr
+mkdir -p %{buildroot}%{_prefix}/x86_64-pc-cygwin/sys-root/usr/bin
+mkdir -p %{buildroot}%{_prefix}/x86_64-pc-cygwin/sys-root/etc
+mkdir -p %{buildroot}%{_prefix}/x86_64-pc-cygwin/sys-root/usr/include
+mkdir -p %{buildroot}%{_prefix}/x86_64-pc-cygwin/sys-root/usr/include
+mkdir -p %{buildroot}%{_prefix}/x86_64-pc-cygwin/sys-root/usr/lib
+mkdir -p %{buildroot}%{_prefix}/x86_64-pc-cygwin/sys-root/usr/lib/pkgconfig
+mkdir -p %{buildroot}%{_prefix}/x86_64-pc-cygwin/sys-root/usr/lib/cmake
+mkdir -p %{buildroot}%{_prefix}/x86_64-pc-cygwin/sys-root/usr/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-cygwin32/sys-root/man and
-# /usr/x86_64-pc-cygwin32/sys-root/doc
+# /usr/x86_64-pc-cygwin/sys-root/man and
+# /usr/x86_64-pc-cygwin/sys-root/doc
# but those are both packaging bugs.
-mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-cygwin/sys-root/usr/share
-mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-cygwin/sys-root/usr/share/doc
-mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-cygwin/sys-root/usr/share/info
-mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-cygwin/sys-root/usr/share/man
-mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-cygwin/sys-root/usr/share/man/man{1,2,3,4,5,6,7,8,l,n}
-mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-cygwin/sys-root/usr/share/aclocal
-mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-cygwin/sys-root/usr/share/themes
-mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-cygwin/sys-root/usr/share/cmake
-mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-cygwin/sys-root/usr/share/pkgconfig
-mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-cygwin/sys-root/usr/share/xml
-
-mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-cygwin/sys-root/usr/share
-mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-cygwin/sys-root/usr/share/doc
-mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-cygwin/sys-root/usr/share/info
-mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-cygwin/sys-root/usr/share/man
-mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-cygwin/sys-root/usr/share/man/man{1,2,3,4,5,6,7,8,l,n}
-mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-cygwin/sys-root/usr/share/aclocal
-mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-cygwin/sys-root/usr/share/themes
-mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-cygwin/sys-root/usr/share/cmake
-mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-cygwin/sys-root/usr/share/pkgconfig
-mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-cygwin/sys-root/usr/share/xml
+mkdir -p %{buildroot}%{_prefix}/i686-pc-cygwin/sys-root/usr/share
+mkdir -p %{buildroot}%{_prefix}/i686-pc-cygwin/sys-root/usr/share/doc
+mkdir -p %{buildroot}%{_prefix}/i686-pc-cygwin/sys-root/usr/share/info
+mkdir -p %{buildroot}%{_prefix}/i686-pc-cygwin/sys-root/usr/share/man
+mkdir -p %{buildroot}%{_prefix}/i686-pc-cygwin/sys-root/usr/share/man/man{1,2,3,4,5,6,7,8,l,n}
+mkdir -p %{buildroot}%{_prefix}/i686-pc-cygwin/sys-root/usr/share/aclocal
+mkdir -p %{buildroot}%{_prefix}/i686-pc-cygwin/sys-root/usr/share/themes
+mkdir -p %{buildroot}%{_prefix}/i686-pc-cygwin/sys-root/usr/share/cmake
+mkdir -p %{buildroot}%{_prefix}/i686-pc-cygwin/sys-root/usr/share/locale
+mkdir -p %{buildroot}%{_prefix}/i686-pc-cygwin/sys-root/usr/share/pkgconfig
+mkdir -p %{buildroot}%{_prefix}/i686-pc-cygwin/sys-root/usr/share/xml
+
+mkdir -p %{buildroot}%{_prefix}/x86_64-pc-cygwin/sys-root/usr/share
+mkdir -p %{buildroot}%{_prefix}/x86_64-pc-cygwin/sys-root/usr/share/doc
+mkdir -p %{buildroot}%{_prefix}/x86_64-pc-cygwin/sys-root/usr/share/info
+mkdir -p %{buildroot}%{_prefix}/x86_64-pc-cygwin/sys-root/usr/share/man
+mkdir -p %{buildroot}%{_prefix}/x86_64-pc-cygwin/sys-root/usr/share/man/man{1,2,3,4,5,6,7,8,l,n}
+mkdir -p %{buildroot}%{_prefix}/x86_64-pc-cygwin/sys-root/usr/share/aclocal
+mkdir -p %{buildroot}%{_prefix}/x86_64-pc-cygwin/sys-root/usr/share/themes
+mkdir -p %{buildroot}%{_prefix}/x86_64-pc-cygwin/sys-root/usr/share/cmake
+mkdir -p %{buildroot}%{_prefix}/x86_64-pc-cygwin/sys-root/usr/share/locale
+mkdir -p %{buildroot}%{_prefix}/x86_64-pc-cygwin/sys-root/usr/share/pkgconfig
+mkdir -p %{buildroot}%{_prefix}/x86_64-pc-cygwin/sys-root/usr/share/xml
+
+mkdir -p %{buildroot}%{_prefix}/lib/debug/%{_prefix}/i686-pc-cygwin
+mkdir -p %{buildroot}%{_prefix}/lib/debug/%{_prefix}/x86_64-pc-cygwin
+
+# 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-pc-cygwin/sys-root/usr/share/locale/${locale}" >> filelist_cygwin32
+ echo "%lang(${locale}) %{_prefix}/x86_64-pc-cygwin/sys-root/usr/share/locale/${locale}" >> filelist_cygwin64
+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
+ egrep -q "[[:space:]]${locale%%_*}[[:space:]]" %{buildroot}/iso_639.tab || continue
+ fi
+ echo "%lang(${locale}) %{_prefix}/i686-pc-cygwin/sys-root/usr/share/locale/${loc}" >> filelist_cygwin32
+ echo "%lang(${locale}) %{_prefix}/x86_64-pc-cygwin/sys-root/usr/share/locale/${loc}" >> filelist_cygwin64
+done
+
+rm -f %{buildroot}/iso_639.tab
+rm -f %{buildroot}/iso_3166.tab
+
+cat filelist_cygwin32 filelist_cygwin64 | 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}
-install -m 0755 %{SOURCE8} $RPM_BUILD_ROOT%{_rpmconfigdir}
-install -m 0755 %{SOURCE13} $RPM_BUILD_ROOT%{_rpmconfigdir}
+mkdir -p %{buildroot}/usr/lib/rpm
+install -m 0755 %{SOURCE6} %{buildroot}%{_rpmconfigdir}
+install -m 0755 %{SOURCE7} %{buildroot}%{_rpmconfigdir}
+install -m 0755 %{SOURCE8} %{buildroot}%{_rpmconfigdir}
+install -m 0755 %{SOURCE13} %{buildroot}%{_rpmconfigdir}
+
+mkdir -p %{buildroot}/usr/lib/rpm/fileattrs
+install -m 0644 %{SOURCE14} %{buildroot}%{_rpmconfigdir}/fileattrs/
+install -m 0644 %{SOURCE15} %{buildroot}%{_rpmconfigdir}/fileattrs/
-mkdir -p $RPM_BUILD_ROOT/usr/lib/rpm/fileattrs
-install -m 0644 %{SOURCE14} $RPM_BUILD_ROOT%{_rpmconfigdir}/fileattrs/
-install -m 0644 %{SOURCE15} $RPM_BUILD_ROOT%{_rpmconfigdir}/fileattrs/
+mkdir -p %{buildroot}%{_datadir}/cygwin
+install -m 0644 %{SOURCE11} %{buildroot}%{_datadir}/cygwin/
+install -m 0644 %{SOURCE12} %{buildroot}%{_datadir}/cygwin/
-mkdir -p $RPM_BUILD_ROOT%{_datadir}/cygwin
-install -m 0644 %{SOURCE11} $RPM_BUILD_ROOT%{_datadir}/cygwin/
-install -m 0644 %{SOURCE12} $RPM_BUILD_ROOT%{_datadir}/cygwin/
+mkdir -p %{buildroot}%{_datadir}/meson/cross
+install -m 0644 %{SOURCE18} %{buildroot}%{_datadir}/meson/cross/i686-pc-cygwin
+install -m 0644 %{SOURCE19} %{buildroot}%{_datadir}/meson/cross/x86_64-pc-cygwin
+
+%if 0%{?fedora} || 0%{?rhel} >= 9
+mkdir -p %{buildroot}%{pkgconfig_personalitydir}
+install -m 0644 %{SOURCE20} %{buildroot}%{pkgconfig_personalitydir}/i686-pc-cygwin.personality
+install -m 0644 %{SOURCE21} %{buildroot}%{pkgconfig_personalitydir}/x86_64-pc-cygwin.personality
+
+# Link cygwin-pkg-config man pages to pkgconf(1)
+mkdir -p %{buildroot}%{_mandir}/man1/
+echo ".so man1/pkgconf.1" > %{buildroot}%{_mandir}/man1/i686-pc-cygwin-pkg-config.1
+echo ".so man1/pkgconf.1" > %{buildroot}%{_mandir}/man1/x86_64-pc-cygwin-pkg-config.1
+%endif
%files base
@@ -221,6 +309,8 @@ install -m 0644 %{SOURCE12} $RPM_BUILD_ROOT%{_datadir}/cygwin/
%{_libexecdir}/cygwin-scripts
%{_rpmconfigdir}/cygwin*
%dir %{_datadir}/cygwin/
+%dir %{_datadir}/meson/
+%dir %{_datadir}/meson/cross/
%files -n cygwin32-filesystem
%{macrosdir}/macros.cygwin32
@@ -228,10 +318,20 @@ install -m 0644 %{SOURCE12} $RPM_BUILD_ROOT%{_datadir}/cygwin/
%{_bindir}/cygwin32-configure
%{_bindir}/cygwin32-cmake
%{_bindir}/cygwin32-make
+%{_bindir}/cygwin32-meson
%{_bindir}/cygwin32-pkg-config
+%{_bindir}/i686-pc-cygwin-pkg-config
%{_prefix}/i686-pc-cygwin
%{_rpmconfigdir}/fileattrs/cygwin32.attr
%{_datadir}/cygwin/toolchain-cygwin32.cmake
+%{_datadir}/meson/cross/i686-pc-cygwin
+%if 0%{?fedora} || 0%{?rhel} >= 9
+%{pkgconfig_personalitydir}/i686-pc-cygwin.personality
+%{_mandir}/man1/i686-pc-cygwin-pkg-config.1*
+%endif
+%dir %{_prefix}/lib/debug/%{_prefix}
+%dir %{_prefix}/lib/debug/%{_prefix}/i686-pc-cygwin
+
%files -n cygwin64-filesystem
%{macrosdir}/macros.cygwin64
@@ -239,74 +339,618 @@ install -m 0644 %{SOURCE12} $RPM_BUILD_ROOT%{_datadir}/cygwin/
%{_bindir}/cygwin64-configure
%{_bindir}/cygwin64-cmake
%{_bindir}/cygwin64-make
+%{_bindir}/cygwin64-meson
%{_bindir}/cygwin64-pkg-config
+%{_bindir}/x86_64-pc-cygwin-pkg-config
%{_prefix}/x86_64-pc-cygwin
%{_rpmconfigdir}/fileattrs/cygwin64.attr
%{_datadir}/cygwin/toolchain-cygwin64.cmake
+%{_datadir}/meson/cross/x86_64-pc-cygwin
+%if 0%{?fedora} || 0%{?rhel} >= 9
+%{pkgconfig_personalitydir}/x86_64-pc-cygwin.personality
+%{_mandir}/man1/x86_64-pc-cygwin-pkg-config.1*
+%endif
+%dir %{_prefix}/lib/debug/%{_prefix}
+%dir %{_prefix}/lib/debug/%{_prefix}/x86_64-pc-cygwin
%changelog
-* Wed Nov 15 2017 Yaakov Selkowitz <yselkowi@redhat.com> - 14-1
-- Remove deprecated macros
-- Update config.{guess,sub} in %%cygwin_configure
-- Update list of default Win32 DLLs
-- Implement MiniDebugInfo for Cygwin binaries
-
-* Thu Jun 11 2015 Yaakov Selkowitz <yselkowi@redhat.com> - 13-1
-- Rename Toolchain-cygwin{32,64}.cmake to toolchain-cygwin{32,64}.cmake
-- Add CMAKE_SYSTEM_PROCESSOR to the CMake toolchain files
-- Allow verbose CMake output to be disabled
-- Don't use verbose output by default in the CMake wrapper scripts
-- Prevent CFLAGS and CXXFLAGS from being set when using CMake wrappers
-- Don't set LIB_INSTALL_DIR any more in the CMake macros as it breaks CPack
-- Allow empty CYGWIN{32,64}_{C,CPP,CXX}FLAGS environment variables
-
-* Thu Jun 11 2015 Yaakov Selkowitz <yselkowi@redhat.com> - 12-1
-- Add cppflags, ldflags variables
-
-* Wed Jun 10 2015 Yaakov Selkowitz <yselkowi@redhat.com> - 11-3
+* Sat Jan 08 2022 Sandro Mani <manisandro@gmail.com> - 128-1
+- Add Boost_ARCHITECTURE to cmake toolchain file
+
+* Sat Jan 08 2022 Sandro Mani <manisandro@gmail.com> - 127-1
+- Correctly test whether CC/CXX/FC env-vars are set in cmake toolchain config
+
+* Wed Dec 15 2021 Sandro Mani <manisandro@gmail.com> - 126-1
+- Preserve CC/CXX/FC/RC set by ENV if set in cmake toolchain files
+
+* Sat Nov 20 2021 Sandro Mani <manisandro@gmail.com> - 125-1
+- Fix up debug dirs ownership
+
+* Wed Nov 17 2021 Sandro Mani <manisandro@gmail.com> - 124-1
+- Use relative paths in cmake/meson toolchain files to make ccache work if
+ available
+
+* Tue Sep 21 2021 Sandro Mani <manisandro@gmail.com> - 123-1
+- Autogenerate cygwin-python3 BR
+- Fix cygwin{32/64}.attr to also capture pyd, pc files
+
+* Thu Sep 02 2021 Sandro Mani <manisandro@gmail.com> - 122-1
+- Allow overriding CMake INCLUDE_INSTALL_DIR in CYGWINXX_CMAKE_ARGS
+- Drop evaling $@ in cygwin-scripts, ensure cygwin macros invoked by cygwin-scripts contain $@
+
+* Sun Aug 29 2021 Sandro Mani <manisandro@gmail.com> - 121-1
+- Drop use of deprecated external dependency generator
+- Fix file listed twice
+- Fix copying minidebug symbols to binary in cygwin-find-debuginfo.sh
+
+* Fri Aug 27 2021 Sandro Mani <manisandro@gmail.com> - 120-1
+- Adapt cygwin-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 <releng@fedoraproject.org>
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
+
+* Sat Jun 12 2021 Neal Gompa <ngompa13@gmail.com> - 119-1
+- Use pkgconf for pkgconfig
+
+* Mon Jun 07 2021 Sandro Mani <manisandro@gmail.com> - 118-1
+- Allow overriding CFLAGS/CXXFLAGS/LDFLAGS for %%cygwin_meson
+
+* Mon Feb 01 2021 Sandro Mani <manisandro@gmail.com> - 117-1
+- Filter Windows API umbrella libraries from requires
+
+* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> 116-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
+
+* Mon Jul 27 2020 Sandro Mani <manisandro@gmail.com> - 116-1
+- Add -lssp to LDFLAGS
+
+* Thu Jul 23 2020 Sandro Mani <manisandro@gmail.com> - 115-1
+- Add -fstack-protector to LDFLAGS (since we carry -D_FORTIFY_SOURCE=2 in cflags, see https://sourceforge.net/p/cygwin-pc/bugs/818/)
+
+* Tue Jul 14 2020 Daniel P. Berrangé <berrange@redhat.com> - 114-1
+- Add meson hint for libgcrypt-config on cygwin cross builds (#1856446)
+
+* Sat May 23 2020 Sandro Mani <manisandro@gmail.com> - 113-1
+- Add %%cygwin_make_build and %%cygwin_make_install
+
+* Fri May 22 2020 Sandro Mani <manisandro@gmail.com> - 112-1
+- Fix %%cygwin_meson resulting in ERROR: Unable to determine dynamic linker
+
+* Fri May 01 2020 David Woodhouse <dwmw2@infradead.org> - 111-1
+- Quote tr sequences like '[blank]' to prevent the shell from doing so (#1830233)
+
+* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org>
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
+
+* Thu Nov 07 2019 Marc-André Lureau <marcandre.lureau@redhat.com> - 110-1
+- Add redhat-rpm-config dependency. Fixes rhbz#1769792
+
+* Thu Aug 29 2019 Sandro Mani <manisandro@gmail.com> - 109-1
+- Add dlltool to toolchain-cygwin{32,64}.meson
+
+* Mon Aug 12 2019 Sandro Mani <manisandro@gmail.com> - 108-1
+- Fix cygwin-find-debuginfo.sh to pick up strippable binaries also in %%{_prefix}/%%{cygwin32,64_target}
+
+* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org>
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
+
+* Wed Jun 19 2019 Fabiano Fidêncio <fidencio@redhat.com> - 107-1
+- Add %%cygwin_ninja_install macro
+
+* Thu Feb 14 2019 Sandro Mani <manisandro@gmail.com> - 106-1
+- Revert "Remove redundant $@ in cygwin_cmake and cygwin_meson", it causes no arguments at all to be passed to cmake
+
+* Tue Feb 05 2019 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 105-1
+- Remove redundant $@ in cygwin_cmake and cygwin_meson, breaking wrapper scripts
+
+* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org>
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
+
+* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org>
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
+
+* Fri Apr 20 2018 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 104-1
+- Add macros for meson and ninja
+
+* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org>
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
+
+* Sun Sep 10 2017 Sandro Mani <manisandro@gmail.com> - 103-1
+- Add %%cygwin_nm macro
+
+* Sat Sep 09 2017 Sandro Mani <manisandro@gmail.com> - 102-1
+- Also extract debuginfo data from pyd binaries
+
+* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org>
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
+
+* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org>
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
+
+* Sun May 8 2016 Erik van Pienbroek <epienbro@fedoraproject.org> - 101-1
+- Update config.{guess,sub} in %%cygwin_configure (#1288256)
+- Regenerated list of default win32 DLL's
+
+* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org>
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
+
+* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org>
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
+
+* Sat Apr 11 2015 Erik van Pienbroek <epienbro@fedoraproject.org> - 100-1
+- Various CMake improvements:
+ * The toolchain files /usr/share/data/cygwin/toolchain-cygwin32.cmake
+ and /usr/share/data/cygwin/toolchain-cygwin64.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 cygwin32_cmake, cygwin32_cmake_kde4,
+ cygwin64_cmake and cygwin64_cmake_kde4 more generic
+ * Removed the rpath references as cygwin doesn't support rpath
+ * Allow verbose CMake output to be disabled by setting the
+ environment variable CYGWIN_CMAKE_NO_VERBOSE (RHBZ #987644)
+ * When calling the cygwin32-cmake and cygwin64-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 Cygwin packages (RHBZ #1152696)
+- Accept empty CYGWIN{32,64}_{C,CPP,CXX}FLAGS environment variables
+- Removed old _cygwin32 macros which have been deprecated since Fedora 17
+
+* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org>
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
+
+* Sat Feb 8 2014 Erik van Pienbroek <epienbro@fedoraproject.org> - 99-4
- Place the RPM macros in /usr/lib/rpm/macros.d when using a modern RPM
-* Wed Mar 04 2015 Yaakov Selkowitz <yselkowi@redhat.com> - 11-2
-- Fix typo
+* Sat Aug 3 2013 Erik van Pienbroek <epienbro@fedoraproject.org> - 99-3
+- Own the folders %%{cygwin32_libdir}/cmake and %%{cygwin64_libdir}/cmake
+- Own all the locale folders below %%{cygwin32_datadir}/locale and %%{cygwin64_datadir}/locale (RHBZ #798329)
+
+* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org>
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
+
+* Sat Jun 15 2013 Kalev Lember <kalevlember@gmail.com> - 99-1
+- Remove invalid macros with '++' in the name
+
+* Sun Jun 2 2013 Erik van Pienbroek <epienbro@fedoraproject.org> - 98-2
+- Only set the environment variable PKG_CONFIG_LIBDIR when
+ using the macros %%cygwin32_cmake, %%cygwin32_cmake_kde4,
+ %%cygwin64_cmake or %%cygwin64_cmake_kde4
+- Fixes FTBFS of the cygwin-matahari package
+
+* Sun May 12 2013 Erik van Pienbroek <epienbro@fedoraproject.org> - 98-1
+- Removed the use of the environment variable PKG_CONFIG_LIBDIR
+ While building binaries the tool {i686,x86_64}-pc-cygwin-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 cygwin{32,64}-pkg-config packages are installed
+- Fixes compilation of cygwin-gtk3 3.9.0 (GNOME BZ #699690)
+- Automatically add R: cygwin{32,64}-pkg-config tags when .pc files
+ are detected while building cygwin packages
+- Bumped the minimum required version of cygwin{32,64}-filesystem
+ to >= 95 in built cygwin 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 <corsepiu@fedoraproject.org> - 97-3
+- Remove %%config from %%{_sysconfdir}/rpm/macros.*
+ (https://fedorahosted.org/fpc/ticket/259).
+- Minor spec fixes.
+
+* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 97-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
+
+* Sun Dec 16 2012 Erik van Pienbroek <epienbro@fedoraproject.org> - 97-1
+- Added support for using the environment variables CYGWIN32_MAKE_ARGS and
+ CYGWIN64_MAKE_ARGS. These environment variables can be used to provide
+ additional target-specific arguments when using the %%cygwin_make macro
+
+* Mon Dec 3 2012 Erik van Pienbroek <epienbro@fedoraproject.org> - 96-3
+- Added support for RHEL6
+
+* Sat Nov 10 2012 Kalev Lember <kalevlember@gmail.com> - 96-2
+- Add provides for mscoree.dll and regenerate the standard-dlls file
+
+* Mon Sep 17 2012 Erik van Pienbroek <epienbro@fedoraproject.org> - 96-1
+- Added new macros for Qt5 support, %%cygwin32_qmake_qt5, %%cygwin64_qmake_qt5,
+ %%cygwin_qmake_qt4 and %%cygwin_qmake_qt5
+- It isn't necessary to call %%cygwin32_env / %%cygwin64_env any more
+ in the %%cygwin32_qmake_qt4 and %%cygwin64_qmake_qt4 macros
+
+* Mon Aug 13 2012 Erik van Pienbroek <epienbro@fedoraproject.org> - 95-14
+- Fix the handling of quoted arguments in the cmake macros
+
+* Tue Jul 24 2012 Erik van Pienbroek <epienbro@fedoraproject.org> - 95-13
+- Make sure the %%cygwin_cmake and %%cygwin_cmake_kde4 macros respect the
+ environment variable CYGWIN_BUILDDIR_SUFFIX
+
+* Fri Jul 20 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 95-12
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
+* Wed Jun 13 2012 Kalev Lember <kalevlember@gmail.com> - 95-11
+- Fix syntax error in cygwin64_env macro, thanks to Akira TAGOH (#831534)
+
+* Wed Jun 6 2012 Erik van Pienbroek <epienbro@fedoraproject.org> - 95-10
+- Prevent errors when the folders %%{cygwin32_prefix} or %%{cygwin64_prefix} are missing
+- Fix parse error when -config files containing a . are available
+ in %%{cygwin32_bindir} or %%{cygwin64_bindir} (RHBZ #657478)
+
+* Thu Apr 19 2012 Kalev Lember <kalevlember@gmail.com> - 95-9
+- Fix whitespace handling in %%cygwin_configure and friends
+
+* Sat Mar 17 2012 Kalev Lember <kalevlember@gmail.com> - 95-8
+- Generate the list of cygwin32(...) and cygwin64(...) DLL name provides from
+ cygwin-crt import libraries
+
+* Sat Mar 17 2012 Kalev Lember <kalevlember@gmail.com> - 95-7
+- Define cygwin_build_32bit/win64 in system macros, so that each
+ individual package wouldn't have to
+
+* Fri Mar 16 2012 Kalev Lember <kalevlember@gmail.com> - 95-6
+- Fix warnings during debuginfo generation
+
+* Fri Mar 16 2012 Kalev Lember <kalevlember@gmail.com> - 95-5
+- Simplify the cygwin_make_install macro, also moving it to the deprecated
+ section
+
+* Mon Mar 12 2012 Erik van Pienbroek <epienbro@fedoraproject.org> - 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 <kalevlember@gmail.com> - 95-3
+- Merge copy-n-paste duplicate %%cygwin32_debug_package code
+- Get rid of the USE_OLD_METHOD hack in cygwin-find-debuginfo.sh
+- Add missing %%cygwin32_debug_install_post
+
+* Tue Feb 28 2012 Erik van Pienbroek <epienbro@fedoraproject.org> - 95-2
+- Fixed broken summary tags
+
+* Sat Feb 25 2012 Erik van Pienbroek <epienbro@fedoraproject.org> - 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 cygwin_configure, cygwin_make, cygwin_make_install,
+ cygwin_cmake and cygwin_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 cygwin_cmake_kde4, cygwin32_cmake_kde4 and cygwin64_cmake_kde4
+- Added three new environment variables which can be set to
+ influence the behaviour of the cmake macros:
+ CYGWIN_CMAKE_ARGS, CYGWIN32_CMAKE_ARGS and CYGWIN64_CMAKE_ARGS
+- Dropped the cygwin32-qmake-qt4 and cygwin64-qmake-qt4 wrapper scripts
+ as they're now provided by the cygwin{32,64}-qt-qmake packages
+- Added a new RPM macro: %%{?cygwin_package_header}
+ Packagers can use this macro instead of the original boilerplate
+ code which is needed for all cygwin packages
+- Made argument passing using the backwards compatibility macro %%{_cygwin32_cmake} work
+- Fixed an issue in the cygwin_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 cygwin32 and the cygwin64 toolchains
+- Split out the RPM macros which require both the cygwin{32,64}-filesystem
+ packages in a new file and put it in the cygwin-filesystem-base package
+- Generate seperate debuginfo packages for cygwin32 and cygwin64
+- Set the minimum version of R: cygwin{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 <kalevlember@gmail.com> - 69-15
+- Rename the source package to cygwin-filesystem (#673784)
+
+* Sun Feb 5 2012 Erik van Pienbroek <epienbro@fedoraproject.org> - 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 <kalevlember@gmail.com> - 69-13
+- Remove the cygwin32-pkg-config wrapper as well, now that we have separate
+ cygwin32-pkg-config package
+
+* Tue Jan 31 2012 Erik van Pienbroek <epienbro@fedoraproject.org> - 69-12
+- Don't provide the wrapper i686-pc-cygwin-pkg-config anymore as we now
+ have a cygwin32-pkg-config package
+
+* Tue Jan 10 2012 Erik van Pienbroek <epienbro@fedoraproject.org> - 69-11
+- Set Boost_COMPILER to -gcc47 in cmake toolchain file
+
+* Tue Nov 22 2011 Erik van Pienbroek <epienbro@fedoraproject.org> - 69-10
+- Fixed a small regression introduced by the previous release which caused an
+ FTBFS for cygwin32-matahari as indicated on the fedora-cygwin mailing list
+
+* Wed Nov 16 2011 Erik van Pienbroek <epienbro@fedoraproject.org> - 69-9
+- Added various definitions to the CMake toolchain file (RHBZ #753906)
+
+* Tue Aug 02 2011 Kalev Lember <kalevlember@gmail.com> - 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 <epienbro@fedoraproject.org> - 69-7
+- Added glu32.dll and wsock32.dll to the list of Win32 default dll's
+
+* Wed Jul 6 2011 Erik van Pienbroek <epienbro@fedoraproject.org> - 69-6
+- Use a more complete list of Win32 default dll's
+
+* Wed Jul 06 2011 Kalev Lember <kalevlember@gmail.com> - 69-5
+- Fixed dep gen with upper case dll names
+
+* Fri Jul 1 2011 Erik van Pienbroek <epienbro@fedoraproject.org> - 69-4
+- The %%{_cygwin32_qmake_qt4} macro pointed to an invalid mkspecs name. Fixed
+
+* Tue Jun 28 2011 Kalev Lember <kalev@smartlink.ee> - 69-3
+- Set Boost_COMPILER to -gcc46 in cmake toolchain file
+
+* Sun May 29 2011 Kalev Lember <kalev@smartlink.ee> - 69-2
+- Make sure the -debuginfo subpackages are cygwin32- prefixed
+ even if the base package is cygwin-
+
+* Tue May 24 2011 Kalev Lember <kalev@smartlink.ee> - 69-1
+- Adjusted PKG_CONFIG_LIBDIR to also search in _cygwin32_datadir/pkgconfig/
+- Own the sbin/ directory
+- Fixed the -n option with _cygwin32_debug_package macro
+
+* Mon May 23 2011 Kalev Lember <kalev@smartlink.ee> - 68-3
+- Own etc/, share/pkgconfig/, share/xml/ directories
+
+* Sat May 21 2011 Kalev Lember <kalev@smartlink.ee> - 68-2
+- Own the _cygwin32_datadir/cmake/ directory
+
+* Fri May 20 2011 Kalev Lember <kalev@smartlink.ee> - 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 cygwin32-filesystem Requires
+
+* Sat May 14 2011 Erik van Pienbroek <epienbro@fedoraproject.org> - 67-1
+- Don't unset PKG_CONFIG_PATH in the wrapper scripts
+ cygwin32-pkg-config and i686-pc-cygwin-pkg-config (BZ #688171)
+
+* Sun May 01 2011 Kalev Lember <kalev@smartlink.ee> - 66-1
+- Override boost library suffix in cmake toolchain file
+
+* Thu Mar 17 2011 Kalev Lember <kalev@smartlink.ee> - 65-1
+- Don't error out trying to set illegal LD.BFD variable name
+
+* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 64-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
+
+* Wed Jan 12 2011 Erik van Pienbroek <epienbro@fedoraproject.org> - 64-2
+- Own the directory %%{_cygwin32_datadir}/themes
+
+* Sun Nov 14 2010 Ivan Romanov <drizt@land.ru> - 64-1
+- Removed -win32 option for cygwin32-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 <epienbro@fedoraproject.org> - 63-1
+- Set the CMAKE_RC_COMPILER variable in the CMake toolchain file (RHBZ #652435)
+
+* Tue Oct 19 2010 Ivan Romanov <drizt@land.ru> - 62-2
+- Added cygwin32-qmake-qt4
+
+* Mon Oct 11 2010 Erik van Pienbroek <epienbro@fedoraproject.org> - 62-1
+- Provide cygwin32(odbc32.dll) for Qt
+
+* Sun Sep 12 2010 Erik van Pienbroek <epienbro@fedoraproject.org> - 61-1
+- Provide cygwin32(gdiplus.dll) for gdk-pixbuf
+
+* Thu Sep 9 2010 Richard W.M. Jones <rjones@redhat.com> - 60-1
+- Provide virtual cygwin32(ws2_32.dll) for libvirt.
+
+* Mon Sep 06 2010 Kalev Lember <kalev@smartlink.ee> - 59-1
+- Own /etc/rpmlint/ dir instead of depending on rpmlint package (RHBZ#629791)
+
+* Fri Sep 3 2010 Richard W.M. Jones <rjones@redhat.com> - 58-1
+- Remove requires setup and rpm (RHBZ#629791).
+
+* Tue Jun 8 2010 Richard W.M. Jones <rjones@redhat.com> - 57-1
+- Add provides cygwin32(rpcrt4.dll) (RHBZ#594581).
+
+* Mon May 24 2010 Kalev Lember <kalev@smartlink.ee> - 56-2
+- Work around cmake's Qt detection in the toolchain file
+
+* Fri Sep 18 2009 Erik van Pienbroek <epienbro@fedoraproject.org. - 56-1
+- Prevented a circular dependency which caused the i686-pc-cygwin-pkg-config
+ script to be broken. Thanks to Kalev Lember for spotting this bug
+
+* Tue Sep 1 2009 Erik van Pienbroek <epienbro@fedoraproject.org> - 55-1
+- The wrapper scripts i686-pc-cygwin-pkg-config, cygwin32-pkg-config,
+ cygwin32-configure, cygwin32-make and cygwin32-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 <epienbro@fedoraproject.org> - 54-1
+- Added the file /usr/bin/i686-pc-cygwin-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 <epienbro@fedoraproject.org> - 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 <rel-eng@lists.fedoraproject.org> - 52-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
+
+* Wed Jun 24 2009 Erik van Pienbroek <epienbro@fedoraproject.org> - 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 <epienbro@fedoraproject.org> - 52-1
+- Add script to create -debuginfo subpackages
+ This script was created by Fridrich Strba
+- All cygwin32 packages now need to add these lines to their .spec files:
+ %%define __debug_install_post %%{_cygwin32_debug_install_post}
+ %%{_cygwin32_debug_package}
+
+* Thu Jun 4 2009 Adam Goode <adam@spicenitz.org> - 51-1
+- Add CMake rules
+
+* Tue Apr 21 2009 Richard W.M. Jones <rjones@redhat.com> - 50-4
+- Fix dependency problem with + in DLL name (Thomas Sailer).
+
+* Fri Mar 27 2009 Richard W.M. Jones <rjones@redhat.com> - 50-3
+- Fix up and test cygwin32-pkg-config changes.
+
+* Thu Mar 26 2009 Levente Farkas <lfarkas@lfarkas.org> - 50-1
+- Add cygwin32-pkg-config.
+
+* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 49-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
+
+* Fri Feb 20 2009 Richard W.M. Jones <rjones@redhat.com> - 49-2
+- Rebuild for cygwin32-gcc 4.4
+
+* Thu Feb 19 2009 Richard W.M. Jones <rjones@redhat.com> - 49-1
+- Added virtual provides for cygwin32(cfgmgr32.dll) and cygwin32(setupapi.dll).
+
+* Wed Feb 18 2009 Richard W.M. Jones <rjones@redhat.com> - 48-1
+- Fix _cygwin32_configure.
+
+* Tue Feb 17 2009 Richard W.M. Jones <rjones@redhat.com> - 47-1
+- Rename cygwin32-COPYING to COPYING.
+- Rename cygwin32-macros.cygwin32 to macros.cygwin32.
+- _cygwin32_configure looks for configure in "." and ".." dirs.
+- Added _cygwin32_description.
+- Added cygwin32(version.dll) virtual provides (rhbz#485842).
+
+* Sun Feb 1 2009 Richard W.M. Jones <rjones@redhat.com> - 46-1
+- Unset PKG_CONFIG_PATH because /usr/lib/rpm/macros sets it (Erik van
+ Pienbroek).
+
+* Wed Jan 28 2009 Richard W.M. Jones <rjones@redhat.com> - 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 <rjones@redhat.com> - 44-1
+- Install rpmlint overrides file to suppress some rpmlint warnings.
+
+* Sat Jan 24 2009 Richard W.M. Jones <rjones@redhat.com> - 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 <rjones@redhat.com> - 42-1
+- Add pseudo-provides secur32.dll
+
+* Wed Dec 17 2008 Levente Farkas <lfarkas@lfarkas.org> - 41-1
+- Re-add cygwin32-make
+
+* Sat Dec 6 2008 Levente Farkas <lfarkas@lfarkas.org> - 40-2
+- Rewrite cygwin32-scripts to run in the current shell
+- (Re-add cygwin32-make) - Removed by RWMJ.
+- Add cygwin32-env to cygwin32.sh
+
+* Mon Nov 24 2008 Richard W.M. Jones <rjones@redhat.com> - 39-3
+- Unify cygwin32-filesystem packages from all three branches again, and test.
+- Fix cygwin32-scripts so it can handle extra parameters correctly.
+- Remove cygwin32-env & cygwin32-make since neither of them actually work.
+
+* Sun Nov 23 2008 Richard Jones <rjones@redhat.com> - 38-1
+- Added cygwin32(glut32.dll).
+
+* Wed Nov 19 2008 Richard Jones <rjones@redhat.com> - 37-1
+- Revert part of the 36-1 patch. --build option to configure was wrong.
+
+* Wed Nov 19 2008 Richard Jones <rjones@redhat.com> - 36-1
+- Greatly improved macros (Levente Farkas).
+- Added -mms-bitfields.
+
+* Thu Nov 13 2008 Richard Jones <rjones@redhat.com> - 35-1
+- Added cygwin32(wldap32.dll) pseudo-provides.
+
+* Wed Oct 29 2008 Richard Jones <rjones@redhat.com> - 34-1
+- Set --prefix correctly.
+
+* Wed Oct 29 2008 Richard Jones <rjones@redhat.com> - 33-1
+- Remove cygwin32.{sh,csh} which are unused.
+
+* Mon Oct 27 2008 Richard Jones <rjones@redhat.com> - 32-1
+- Add cygwin32-configure script.
+
+* Mon Oct 27 2008 Richard Jones <rjones@redhat.com> - 31-1
+- Update the spec file with explanation of the 'Provides: cygwin32(...)'
+ lines for Windows system DLLs.
+
+* Mon Oct 6 2008 Richard Jones <rjones@redhat.com> - 30-1
+- Added _cygwin32_cxx.
+
+* Thu Sep 25 2008 Richard Jones <rjones@redhat.com> - 29-1
+- Added _cygwin32_as, _cygwin32_dlltool, _cygwin32_windres.
+
+* Wed Sep 24 2008 Richard W.M. Jones <rjones@redhat.com> - 27-1
+- Begin the grand renaming of cygwin -> cygwin32.
+- Added cygwin32(mscoree.dll).
+
+* Sun Sep 21 2008 Richard W.M. Jones <rjones@redhat.com> - 25-1
+- Add shared aclocal directory.
+
+* Sun Sep 21 2008 Richard W.M. Jones <rjones@redhat.com> - 24-1
+- Remove cygwin-defs, since no longer used.
+- Add _cygwin_infodir.
+
+* Thu Sep 11 2008 Daniel P. Berrange <berrange@redhat.com> - 23-1
+- Add macros for find-provides/requires scripts
+
+* Wed Sep 10 2008 Richard W.M. Jones <rjones@redhat.com> - 22-1
+- Windows provides OLE32.DLL.
+
+* Wed Sep 10 2008 Richard W.M. Jones <rjones@redhat.com> - 21-1
+- Allow '.' in dll names for find-requires
+- Windows provides GDI32.DLL.
-* Wed Mar 04 2015 Yaakov Selkowitz <yselkowi@redhat.com> - 11-1
-- Add %%cygwin_autoreconf
+* Fri Sep 5 2008 Richard W.M. Jones <rjones@redhat.com> - 20-1
+- On 64 bit install in /usr/lib/rpm always.
-* Sun Jun 30 2013 Yaakov Selkowitz <cygwin-ports-general@lists.sourceforge.net> - 10-1
-- Fix %%cygwin_find_lang.
+* Thu Sep 4 2008 Richard W.M. Jones <rjones@redhat.com> - 19-1
+- 'user32.dll' is provided by Windows.
+- Allow '-' in DLL names.
+- More accurate detection of DLLs in requires/provides scripts.
-* Fri Jun 28 2013 Yaakov Selkowitz <cygwin-ports-general@lists.sourceforge.net> - 9-1
-- Fix debuginfo package handling.
+* Thu Sep 4 2008 Richard W.M. Jones <rjones@redhat.com> - 17-1
+- Automatically add cygwin-filesystem and cygwin-runtime requires.
+- Add --prefix to _cygwin_configure macro.
+- Three backslashes required on each continuation line in RPM macros.
-* Thu Jun 27 2013 Yaakov Selkowitz <cygwin-ports-general@lists.sourceforge.net> - 8-1
-- Accept CYGWIN*_CONFIGURE_ARGS and CYGWIN*_CMAKE_ARGS.
-- Use cygwin-pkg-config with CMake.
+* Thu Sep 4 2008 Richard W.M. Jones <rjones@redhat.com> - 14-1
+- Fix path to cygwin-find-requires/provides scripts.
-* Wed Jun 26 2013 Yaakov Selkowitz <cygwin-ports-general@lists.sourceforge.net> - 7-1
-- Support both i686 and x86_64 with separate cygwin32- and cygwin64- prefixes.
+* Thu Sep 4 2008 Richard W.M. Jones <rjones@redhat.com> - 12-1
+- Put CFLAGS on a single line to avoid problems in some configure scripts.
-* Thu Dec 01 2011 Yaakov Selkowitz <cygwin-ports-general@lists.sourceforge.net> - 6-1
-- Define AUTOPOINT if cygwin-gettext is installed.
-- Forcefully disable /usr/bin/foo-config detection.
-- Define RPM and CMake macros to use new cygwin-qt-qmake scheme.
+* Thu Sep 4 2008 Richard W.M. Jones <rjones@redhat.com> - 10-1
+- Provides certain base Windows DLLs (not literally).
-* Thu Jul 07 2011 Yaakov Selkowitz <cygwin-ports-general@lists.sourceforge.net> - 5-1
-- Define LIBTOOLIZE if cygwin-libtool is installed.
-- Set CMAKE_RC_COMPILER and CMAKE_LEGACY_CYGWIN_WIN32.
+* Thu Sep 4 2008 Richard W.M. Jones <rjones@redhat.com> - 9-1
+- Include RPM dependency generators and definitions.
-* Mon Apr 04 2011 Yaakov Selkowitz <cygwin-ports-general@lists.sourceforge.net> - 4-1
-- Honour PKG_CONFIG_PATH in i686-pc-cygwin-pkg-config when run outside of RPM.
-- Install _cygwin_datadir/aclocal.
-- Add _cygwin_autoreconf macro.
-- Provide more Windows DLLs.
+* Thu Sep 4 2008 Richard W.M. Jones <rjones@redhat.com> - 4-1
+- Add _cygwin_cc/cflags/etc. and _cygwin_configure macros.
-* Mon Mar 14 2011 Yaakov Selkowitz <cygwin-ports-general@lists.sourceforge.net> - 3-1
-- Added _cygwin_datadir/pkgconfig and _datadir/pkgconfig to PKG_CONFIG_LIBDIR.
+* Thu Sep 4 2008 Richard W.M. Jones <rjones@redhat.com> - 3-1
+- Add _cygwin_host macro.
-* Thu Feb 17 2011 Yaakov Selkowitz <cygwin-ports-general@lists.sourceforge.net> - 2-1
-- Added dependency on redhat-rpm-config for brp-strip-static-archive which
- respects $STRIP.
+* Thu Sep 4 2008 Richard W.M. Jones <rjones@redhat.com> - 2-1
+- Add _cygwin_sysroot macro.
+- Add _cygwin_target macro.
-* Wed Feb 16 2011 Yaakov Selkowitz <cygwin-ports-general@lists.sourceforge.net> - 1-1
-- Initial RPM release, largely based on mingw32-filesystem.
+* Thu Sep 4 2008 Richard W.M. Jones <rjones@redhat.com> - 1-1
+- Basic filesystem layout.
diff --git a/cygwin-find-debuginfo.sh b/cygwin-find-debuginfo.sh
index 83979e4..04ad72b 100755
--- a/cygwin-find-debuginfo.sh
+++ b/cygwin-find-debuginfo.sh
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/usr/bin/sh
# cygwin-find-debuginfo.sh - automagically generate debug info and file list
# for inclusion in an rpm spec file for cygwin-* packages.
@@ -10,7 +10,7 @@ fi
BUILDDIR=$1
shift
-for f in `find $RPM_BUILD_ROOT -type f -name "*.exe" -or -name "*.dll"`
+for f in `find $RPM_BUILD_ROOT -type f -name "*.exe" -or -name "*.dll" -or -name "*.pyd"`
do
case $(cygwin-objdump -h $f 2>/dev/null | egrep -o '(debug[\.a-z_]*|gnu.version)') in
*debuglink*) continue ;;
@@ -23,20 +23,24 @@ do
esac
echo extracting debug info from $f
- cygwin-objcopy --only-keep-debug $f $f.debug || :
- pushd `dirname $f`
+ dest=${RPM_BUILD_ROOT}/usr/lib/debug${f/$RPM_BUILD_ROOT/}.debug
+ mkdir -p `dirname $dest`
+ cygwin-objcopy --only-keep-debug $f $dest || :
+ pushd `dirname $dest`
keep_symbols=`mktemp`
- cygwin-nm --format=sysv --defined-only $f.debug | awk -F \| '{ if ($4 ~ "Function") print $1 }' | sort > "$keep_symbols"
- cygwin-objcopy --add-gnu-debuglink=`basename $f.debug` --strip-unneeded --keep-symbols="$keep_symbols" `basename $f` || :
+ cygwin-nm $dest --format=sysv --defined-only | awk -F \| '{ if ($4 ~ "Function") print $1 }' | sort > "$keep_symbols"
+ cygwin-objcopy --add-gnu-debuglink=`basename $dest` --strip-unneeded $f --keep-symbols="$keep_symbols" || :
rm -f "$keep_symbols"
popd
done
for target in $@; do
- prefix=`rpm --eval "%{${target}_prefix}"`
- if [ ! -d $RPM_BUILD_ROOT$prefix ] ; then
+ prefix=`rpm --eval "%{_prefix}/%{${target}_target}"`
+ if [ ! -d ${RPM_BUILD_ROOT}/usr/lib/debug/$prefix ] ; then
continue
fi
- find $RPM_BUILD_ROOT$prefix -type f -name "*.exe.debug" -or -name "*.dll.debug" |
+ find ${RPM_BUILD_ROOT}/usr/lib/debug/$prefix -type f -name "*.exe.debug" -or -name "*.dll.debug" -or -name "*.pyd.debug" |
sed -n -e "s#^$RPM_BUILD_ROOT##p" > $BUILDDIR/${target}-debugfiles.list
+ find ${RPM_BUILD_ROOT}/usr/lib/debug/$prefix/* -type d |
+ sed -n -e "s#^$RPM_BUILD_ROOT#%dir #p" >> $BUILDDIR/${target}-debugfiles.list
done
diff --git a/cygwin-find-requires.sh b/cygwin-find-requires.sh
deleted file mode 100755
index 69c607d..0000000
--- a/cygwin-find-requires.sh
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/bin/bash
-
-# This script reads filenames from STDIN and outputs any relevant provides
-# information that needs to be included in the package.
-
-[ -z "$OBJDUMP" ] && OBJDUMP=cygwin-objdump
-
-targets=$@
-if [ -z "$targets" ] ; then
- echo "Usage: $0 [ cygwin32 ] [ cygwin64 ]"
- exit 1
-fi
-
-# Get the list of files.
-
-filelist=`sed "s/['\"]/\\\&/g"`
-
-dlls=$(echo $filelist | tr [:blank:] '\n' | grep -Ei '\.(dll|exe)$')
-
-for target in $targets; do
- dll_found=false
- host_triplet=`rpm --eval "%{${target}_target}"`
- for f in $dlls; do
- if [[ $f =~ .*$host_triplet.* ]]; then
- $OBJDUMP -p $f | grep 'DLL Name' | grep -Eio '[-._\+[:alnum:]]+\.dll' |
- tr [:upper:] [:lower:] |
- sed "s/\(.*\)/$target(\1)/"
- dll_found=true
- fi
- done
- # Add a dependency on filesystem and crt if necessary
- if [ $dll_found = true ]; then
- echo "${target}-filesystem >= 8"
- fi
-done | sort -u
diff --git a/cygwin-rpmlint.config b/cygwin-rpmlint.config
index 92bc486..6f87f1e 100644
--- a/cygwin-rpmlint.config
+++ b/cygwin-rpmlint.config
@@ -1,12 +1,12 @@
# rpmlint overrides file.
# This file filters out Cygwin warnings.
-# See: http://fedoraproject.org/wiki/MinGW/Rpmlint
+# See: http://fedoraproject.org/wiki/Cygwin/Rpmlint
# Unconditionally remove devel-file-in-non-devel rpmlint warning.
addFilter ("^cygwin32-.*devel-file-in-non-devel")
-addFilter ("^cygwin32-.*devel-file-in-non-devel")
+addFilter ("^cygwin64-.*devel-file-in-non-devel")
-# /usr/*-pc-cygwin is permitted by MinGW packaging guidelines.
+# /usr/x86_64-pc-cygwin is permitted by Cygwin packaging guidelines.
addFilter ("^cygwin32-.*non-standard-dir-in-usr i686-pc-cygwin")
addFilter ("^cygwin64-.*non-standard-dir-in-usr x86_64-pc-cygwin")
@@ -19,6 +19,6 @@ addFilter ("^cygwin64-.*script-without-shebang.*\.la$")
addFilter ("^cygwin32-.*spurious-executable-perm.*\.dll\.a$")
addFilter ("^cygwin64-.*spurious-executable-perm.*\.dll\.a$")
-# *.dll.a files are permitted arch-independent objects.
-addFilter ("^cygwin32-.*arch-independent-package-contains-binary-or-object.*\.dll\.a$")
-addFilter ("^cygwin64-.*arch-independent-package-contains-binary-or-object.*\.dll\.a$")
+# *.a and *.dll.a files are permitted arch-independent objects.
+addFilter ("^cygwin32-.*arch-independent-package-contains-binary-or-object.*\.a$")
+addFilter ("^cygwin64-.*arch-independent-package-contains-binary-or-object.*\.a$")
diff --git a/cygwin-scripts.sh b/cygwin-scripts.sh
index 1a0324f..8dd78e2 100755
--- a/cygwin-scripts.sh
+++ b/cygwin-scripts.sh
@@ -41,5 +41,5 @@ fi
# NOTE: The use of 'eval' in combination with '$@' is a potential security risk
# We should find a more safe replacement for this command
-# Suggestions are welcome at the Fedora MinGW mailing list
+# Suggestions are welcome at the Fedora Cygwin mailing list
eval "CYGWIN_CMAKE_NO_VERBOSE=1 `rpm --eval "%{$NAME}"`" '"$@"'
diff --git a/cygwin-find-provides.sh b/cygwin.prov
index c92fe6c..006047c 100755
--- a/cygwin-find-provides.sh
+++ b/cygwin.prov
@@ -11,15 +11,13 @@ 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)"
- # for backwards compatibility
- [[ $f =~ .*i686-pc-cygwin.* ]] && echo "cygwin($basename)"
done
done
diff --git a/cygwin.req b/cygwin.req
new file mode 100755
index 0000000..0a84bc3
--- /dev/null
+++ b/cygwin.req
@@ -0,0 +1,66 @@
+#!/bin/bash
+
+# This script reads filenames from STDIN and outputs any relevant provides
+# information that needs to be included in the package.
+
+[ -z "$OBJDUMP" ] && OBJDUMP=cygwin-objdump
+
+targets=$@
+if [ -z "$targets" ] ; then
+ echo "Usage: $0 [ cygwin32 ] [ cygwin64 ]"
+ exit 1
+fi
+
+# Get the list of files.
+
+filelist=`sed "s/['\"]/\\\&/g"`
+
+dlls=$(echo $filelist | tr '[:blank:]' '\n' | grep -Ei '\.(dll|exe|pyd)$')
+pkgconfig_files=$(echo $filelist | tr '[:blank:]' '\n' | grep -Ei '\.(pc)$')
+py3_files=$(echo $filelist | tr '[:blank:]' '\n' | grep -Ei '\.(pyd?)$')
+
+for target in $targets; do
+ dll_found=false
+ host_triplet=`rpm --eval "%{${target}_target}"`
+ libdir=`rpm --eval "%{${target}_libdir}"`
+ for f in $dlls; do
+ if [[ $f =~ .*$host_triplet.* ]]; then
+ $OBJDUMP -p $f | grep 'DLL Name' | grep -Eio '[-._\+[:alnum:]]+\.dll' |
+ grep -v 'api-ms-win' | tr '[:upper:]' '[:lower:]' |
+ sed "s/\(.*\)/$target(\1)/"
+ dll_found=true
+ fi
+ done
+
+ # Add a dependency on filesystem and crt if necessary
+ if [ $dll_found = true ]; then
+ echo "${target}-filesystem >= 95"
+ echo "${target}-crt"
+ fi
+
+ pkgconfig_files_found=false
+ for f in $pkgconfig_files; do
+ if [[ $f =~ .*$host_triplet.* ]]; then
+ pkgconfig_files_found=true
+ break
+ fi
+ done
+
+ py3_files_found=false
+ for f in $py3_files; do
+ if [[ $f =~ .*$host_triplet.*lib/python3.* ]]; then
+ py3_files_found=true
+ break
+ fi
+ done
+
+ # Add a dependency on $target-pkg-config if necessary
+ if [ $pkgconfig_files_found = true ]; then
+ echo "${target}-pkg-config"
+ fi
+
+ # Add a dependency on python if necessary
+ if [ $py3_files_found = true ]; then
+ echo "${target}-python3";
+ fi
+done | sort -u
diff --git a/cygwin32.attr b/cygwin32.attr
index f0765ce..2a17505 100644
--- a/cygwin32.attr
+++ b/cygwin32.attr
@@ -1,3 +1,3 @@
-%__cygwin32_provides %{_rpmconfigdir}/cygwin-find-provides.sh cygwin32
-%__cygwin32_requires %{_rpmconfigdir}/cygwin-find-requires.sh cygwin32
-%__cygwin32_path ^%{cygwin32_prefix}/.*\.([Dd][Ll][Ll]|[Ee][Xx][Ee])$
+%__cygwin32_provides %{_rpmconfigdir}/cygwin.prov cygwin32
+%__cygwin32_requires %{_rpmconfigdir}/cygwin.req cygwin32
+%__cygwin32_path ^%{cygwin32_prefix}/.*\.([Dd][Ll][Ll]|[Ee][Xx][Ee]|[Pp][Yy][Dd]?|[Pp][Cc])$
diff --git a/cygwin64.attr b/cygwin64.attr
index ca56908..2b3762c 100644
--- a/cygwin64.attr
+++ b/cygwin64.attr
@@ -1,3 +1,3 @@
-%__cygwin64_provides %{_rpmconfigdir}/cygwin-find-provides.sh cygwin64
-%__cygwin64_requires %{_rpmconfigdir}/cygwin-find-requires.sh cygwin64
-%__cygwin64_path ^%{cygwin64_prefix}/.*\.([Dd][Ll][Ll]|[Ee][Xx][Ee])$
+%__cygwin64_provides %{_rpmconfigdir}/cygwin.prov cygwin64
+%__cygwin64_requires %{_rpmconfigdir}/cygwin.req cygwin64
+%__cygwin64_path ^%{cygwin64_prefix}/.*\.([Dd][Ll][Ll]|[Ee][Xx][Ee]|[Pp][Yy][Dd]?|[Pp][Cc])$
diff --git a/iso_3166.sed b/iso_3166.sed
new file mode 100644
index 0000000..705dbdb
--- /dev/null
+++ b/iso_3166.sed
@@ -0,0 +1,31 @@
+1,/<iso_3166_entries/b
+
+# on each new iso-code process the current one
+\!\(<iso_3166_entry\|</iso_3166_entries>\)!{
+ x
+ s/^$//
+ # we are on the first iso-code--nothing to process here
+ t
+ # process and write to output
+ s/\s\+/ /g
+ s/<iso_3166_entry//
+ s!/\s*>!!
+ # use '%' as a separator of parsed and unparsed input
+ s/\(.*\)alpha_2_code="\([^"]\+\)"\(.*\)/\2 % \1 \3/
+ s/\([^%]\+\)%\(.*\)alpha_3_code="\([^"]\+\)"\(.*\)/\1% \2 \4/
+ # clear subst. memory for the next t
+ t clear
+ :clear
+ s/\([^%]\+\)%\(.*\)numeric_code="\([^"]\+\)"\(.*\)/\1% \2 \4/
+ t name
+ # no 3166 code--write xx
+ s/%/\tXX %/
+ :name
+ s/\([^%]\+\)%\(.*\)name="\([^"]\+\)"\(.*\)/\1\t\3/
+ s/ \t/\t/g
+ p
+ b
+ :noout
+}
+
+H
diff --git a/iso_639.sed b/iso_639.sed
new file mode 100644
index 0000000..e7e4d05
--- /dev/null
+++ b/iso_639.sed
@@ -0,0 +1,31 @@
+1,/<iso_639_entries/b
+
+# on each new iso-code process the current one
+\!\(<iso_639_entry\|</iso_639_entries>\)!{
+ x
+ s/^$//
+ # we are on the first iso-code--nothing to process here
+ t
+ # process and write to output
+ s/\s\+/ /g
+ s/<iso_639_entry//
+ s!/\s*>!!
+ # use '%' as a separator of parsed and unparsed input
+ s/\(.*\)iso_639_2T_code="\([^"]\+\)"\(.*\)/\2 % \1 \3/
+ s/\([^%]\+\)%\(.*\)iso_639_2B_code="\([^"]\+\)"\(.*\)/\1\t\3 % \2 \4/
+ # clear subst. memory for the next t
+ t clear
+ :clear
+ s/\([^%]\+\)%\(.*\)iso_639_1_code="\([^"]\+\)"\(.*\)/\1\t\3 % \2 \4/
+ t name
+ # no 639-1 code--write xx
+ s/%/\tXX %/
+ :name
+ s/\([^%]\+\)%\(.*\)name="\([^"]\+\)"\(.*\)/\1\t\3/
+ s/ \t/\t/g
+ p
+ b
+ :noout
+}
+
+H
diff --git a/lang-exceptions b/lang-exceptions
new file mode 100644
index 0000000..8568e5f
--- /dev/null
+++ b/lang-exceptions
@@ -0,0 +1,99 @@
+# This file contains a list of locality-specifc locales for which we ship
+# translations.
+#
+# The easiest way to generate this file is something along the lines of:
+#
+# repoquery -qal | awk -F '/' '/^\/usr\/share\/locale\/[a-z]*[_@]+/ { print $5 }' | sort -u
+#
+# and then sorting out the various invalid entires. (all_languages, locales
+# with charset definitions (.UTF-8, etc.))
+af_ZA
+am_ET
+ast_ES
+az_IR
+bg_BG
+bn_IN
+ca@valencia
+ca_ES
+ca_ES@valencian
+cs_CZ
+de_AT
+de_CH
+de_DE
+default
+el_GR
+en_AU
+en_CA
+en_GB
+en_US
+en_NZ
+es_AR
+es_CL
+es_CO
+es_CR
+es_DO
+es_EC
+es_ES
+es_GT
+es_HN
+es_MX
+es_NI
+es_PA
+es_PE
+es_PR
+es_SV
+es_UY
+es_VE
+et_EE
+eu_ES
+fa_IR
+fi_FI
+fr_BE
+fr_CA
+fr_CH
+fr_FR
+gl_ES
+he_IL
+hr_HR
+hu_HU
+it_CH
+it_IT
+ja_JP
+ko_KR
+ks@devanagari
+lv_LV
+ms_MY
+my_MM
+nb_NO
+nds_DE
+nl_BE
+nl_NL
+pl_PL
+pt_BR
+pt_PT
+ru_RU
+sl_SI
+sq_AL
+sr_RS
+sv_SE
+uk_UA
+ur_PK
+zh_CN
+zh_CN.GB2312
+zh_HK
+zh_TW
+zh_TW.Big5
+en@boldquot
+en@quot
+nds@NFE
+sr@ije
+sr@ijekavian
+sr@ijekavianlatin
+sr@latin
+sr@Latn
+uz@cyrillic
+uz@Latn
+be@latin
+en@shaw
+brx
+brx_IN
diff --git a/macros.cygwin b/macros.cygwin
index 9e74224..14ea80d 100644
--- a/macros.cygwin
+++ b/macros.cygwin
@@ -1,4 +1,4 @@
-# RPM macros for the Fedora MinGW Cross Compiler collection
+# RPM macros for the Fedora Cygwin Cross Compiler collection
%cygwin_build_targets cygwin32 cygwin64
%cygwin_build_32bit 1
@@ -9,35 +9,30 @@
%cygwin_objcopy cygwin-objcopy
%cygwin_nm cygwin-nm
-%cygwin_findprovides %{_rpmconfigdir}/cygwin-find-provides.sh %{cygwin_build_targets}
-%cygwin_findrequires %{_rpmconfigdir}/cygwin-find-requires.sh %{cygwin_build_targets}
%cygwin_finddebuginfo %{_rpmconfigdir}/cygwin-find-debuginfo.sh
%cygwin_find_lang %{_rpmconfigdir}/cygwin-find-lang.sh %{buildroot}
%cygwin_debug_install_post %{cygwin_finddebuginfo} %{_builddir}/%{?buildsubdir} %{cygwin_build_targets}
-%cygwin_debug_package \
-%if 0%{?cygwin_build_32bit} == 1 \
-%{?cygwin32_debug_package} \
+%cygwin_debug_package \
+%if 0%{?cygwin_build_32bit} == 1 \
+%{?cygwin32_debug_package} \
%endif \
-%if 0%{?cygwin_build_64bit} == 1 \
-%{?cygwin64_debug_package} \
+%if 0%{?cygwin_build_64bit} == 1 \
+%{?cygwin64_debug_package} \
%endif \
%{nil}
-%cygwin_package_header \
-%global __strip %{cygwin_strip} \
-%global __objdump %{cygwin_objdump} \
-%if 0%{?rhel} == 6 \
-%global _use_internal_dependency_generator 0 \
-%global __find_requires %{cygwin_findrequires} \
-%global __find_provides %{cygwin_findprovides} \
-%endif \
-%global __debug_install_post %%{cygwin_debug_install_post} \
+%cygwin_package_header \
+%global __strip %{cygwin_strip} \
+%global __objdump %{cygwin_objdump} \
+%global __debug_install_post %%{cygwin_debug_install_post} \
%{nil}
%cygwin_autoreconf \
+run_cygwin_autoreconf() \
+{ \
if [ -x %{_bindir}/cygwin-libtoolize ]; then \
LIBTOOLIZE=%{_bindir}/cygwin-libtoolize; export LIBTOOLIZE; \
ACLOCAL_FLAGS="-I %{_datadir}/cygwin-libtool/m4"; \
@@ -53,94 +48,157 @@
eval gettext_`grep '^version=' %{cygwin32_bindir}/autopoint`; \
AUTOPOINT="%{cygwin32_bindir}/autopoint -V $gettext_version" ; export AUTOPOINT; \
fi; \
- autoreconf -fiv
+ autoreconf -fiv \
+} \
+run_cygwin_autoreconf
-%cygwin_configure \
-run_cygwin_configure() \
+%cygwin_configure \
+run_cygwin_configure() \
{ \
[ "%_configure_gnuconfig_hack" = 1 ] && for i in $(find . -name config.guess -o -name config.sub) ; do \
[ -f /usr/lib/rpm/redhat/$(basename $i) ] && %{__rm} -f $i && %{__cp} -fv /usr/lib/rpm/redhat/$(basename $i) $i ; \
done ; \
-%if 0%{?cygwin_build_32bit} == 1 \
-mkdir build_32bit$CYGWIN_BUILDDIR_SUFFIX \
-pushd build_32bit$CYGWIN_BUILDDIR_SUFFIX \
- %{?cygwin32_configure} "$@" \
+%if 0%{?cygwin_build_32bit} == 1 \
+mkdir build_32bit$CYGWIN_BUILDDIR_SUFFIX \
+pushd build_32bit$CYGWIN_BUILDDIR_SUFFIX \
+ %{?cygwin32_configure} "$@" \
popd \
%endif \
-%if 0%{?cygwin_build_64bit} == 1 \
-mkdir build_64bit$CYGWIN_BUILDDIR_SUFFIX \
-pushd build_64bit$CYGWIN_BUILDDIR_SUFFIX \
- %{?cygwin64_configure} "$@" \
+%if 0%{?cygwin_build_64bit} == 1 \
+mkdir build_64bit$CYGWIN_BUILDDIR_SUFFIX \
+pushd build_64bit$CYGWIN_BUILDDIR_SUFFIX \
+ %{?cygwin64_configure} "$@" \
popd \
%endif \
} \
run_cygwin_configure
-%cygwin_make \
-run_cygwin_make() \
+%cygwin_make \
+run_cygwin_make() \
{ \
-%if 0%{?cygwin_build_32bit} == 1 \
-make -C build_32bit$CYGWIN_BUILDDIR_SUFFIX "$@" $CYGWIN32_MAKE_ARGS \
+%if 0%{?cygwin_build_32bit} == 1 \
+%{__make} -C build_32bit$CYGWIN_BUILDDIR_SUFFIX "$@" $CYGWIN32_MAKE_ARGS \
%endif \
-%if 0%{?cygwin_build_64bit} == 1 \
-make -C build_64bit$CYGWIN_BUILDDIR_SUFFIX "$@" $CYGWIN64_MAKE_ARGS \
+%if 0%{?cygwin_build_64bit} == 1 \
+%{__make} -C build_64bit$CYGWIN_BUILDDIR_SUFFIX "$@" $CYGWIN64_MAKE_ARGS \
%endif \
} \
run_cygwin_make
-%cygwin_cmake \
-run_cygwin_cmake() \
+%cygwin_cmake \
+run_cygwin_cmake() \
{ \
-%if 0%{?cygwin_build_32bit} == 1 \
-mkdir build_32bit$CYGWIN_BUILDDIR_SUFFIX \
-pushd build_32bit$CYGWIN_BUILDDIR_SUFFIX \
- %{?cygwin32_cmake "$@"} \
+%if 0%{?cygwin_build_32bit} == 1 \
+mkdir build_32bit$CYGWIN_BUILDDIR_SUFFIX \
+pushd build_32bit$CYGWIN_BUILDDIR_SUFFIX \
+ %{?cygwin32_cmake "$@"} \
popd \
%endif \
-%if 0%{?cygwin_build_64bit} == 1 \
-mkdir build_64bit$CYGWIN_BUILDDIR_SUFFIX \
-pushd build_64bit$CYGWIN_BUILDDIR_SUFFIX \
- %{?cygwin64_cmake "$@"} \
+%if 0%{?cygwin_build_64bit} == 1 \
+mkdir build_64bit$CYGWIN_BUILDDIR_SUFFIX \
+pushd build_64bit$CYGWIN_BUILDDIR_SUFFIX \
+ %{?cygwin64_cmake "$@"} \
popd \
%endif \
} \
run_cygwin_cmake
-%cygwin_cmake_kde4 \
-run_cygwin_cmake_kde4() \
+%cygwin_cmake_kde4 \
+run_cygwin_cmake_kde4() \
{ \
-%if 0%{?cygwin_build_32bit} == 1 \
-mkdir build_32bit$CYGWIN_BUILDDIR_SUFFIX \
-pushd build_32bit$CYGWIN_BUILDDIR_SUFFIX \
- %{?cygwin32_cmake_kde4 "$@"} \
+%if 0%{?cygwin_build_32bit} == 1 \
+mkdir build_32bit$CYGWIN_BUILDDIR_SUFFIX \
+pushd build_32bit$CYGWIN_BUILDDIR_SUFFIX \
+ %{?cygwin32_cmake_kde4 "$@"} \
popd \
%endif \
-%if 0%{?cygwin_build_64bit} == 1 \
-mkdir build_64bit$CYGWIN_BUILDDIR_SUFFIX \
-pushd build_64bit$CYGWIN_BUILDDIR_SUFFIX \
- %{?cygwin64_cmake_kde4 "$@"} \
+%if 0%{?cygwin_build_64bit} == 1 \
+mkdir build_64bit$CYGWIN_BUILDDIR_SUFFIX \
+pushd build_64bit$CYGWIN_BUILDDIR_SUFFIX \
+ %{?cygwin64_cmake_kde4 "$@"} \
popd \
%endif \
} \
run_cygwin_cmake_kde4
-%cygwin_qmake_qt4 \
-run_cygwin_qmake_qt4() \
+%cygwin_qmake_qt4 \
+run_cygwin_qmake_qt4() \
{ \
-%if 0%{?cygwin_build_32bit} == 1 \
-mkdir build_32bit$CYGWIN_BUILDDIR_SUFFIX \
-pushd build_32bit$CYGWIN_BUILDDIR_SUFFIX \
- %{?cygwin32_qmake_qt4} "$@" \
+%if 0%{?cygwin_build_32bit} == 1 \
+mkdir build_32bit$CYGWIN_BUILDDIR_SUFFIX \
+pushd build_32bit$CYGWIN_BUILDDIR_SUFFIX \
+ %{?cygwin32_qmake_qt4} "$@" \
popd \
%endif \
-%if 0%{?cygwin_build_64bit} == 1 \
-mkdir build_64bit$CYGWIN_BUILDDIR_SUFFIX \
-pushd build_64bit$CYGWIN_BUILDDIR_SUFFIX \
- %{?cygwin64_qmake_qt4} "$@" \
+%if 0%{?cygwin_build_64bit} == 1 \
+mkdir build_64bit$CYGWIN_BUILDDIR_SUFFIX \
+pushd build_64bit$CYGWIN_BUILDDIR_SUFFIX \
+ %{?cygwin64_qmake_qt4} "$@" \
popd \
%endif \
} \
run_cygwin_qmake_qt4
-# Deprecated:
-%cygwin_make_install %cygwin_make install
+%cygwin_qmake_qt5 \
+run_cygwin_qmake_qt5() \
+{ \
+%if 0%{?cygwin_build_32bit} == 1 \
+mkdir build_32bit$CYGWIN_BUILDDIR_SUFFIX \
+pushd build_32bit$CYGWIN_BUILDDIR_SUFFIX \
+ %{?cygwin32_qmake_qt5} "$@" \
+popd \
+%endif \
+%if 0%{?cygwin_build_64bit} == 1 \
+mkdir build_64bit$CYGWIN_BUILDDIR_SUFFIX \
+pushd build_64bit$CYGWIN_BUILDDIR_SUFFIX \
+ %{?cygwin64_qmake_qt5} "$@" \
+popd \
+%endif \
+} \
+run_cygwin_qmake_qt5
+
+%cygwin_meson \
+run_cygwin_meson() \
+{ \
+%if 0%{?cygwin_build_32bit} == 1 \
+mkdir build_32bit$CYGWIN_BUILDDIR_SUFFIX \
+pushd build_32bit$CYGWIN_BUILDDIR_SUFFIX \
+ %{?cygwin32_meson "$@"} \
+popd \
+%endif \
+%if 0%{?cygwin_build_64bit} == 1 \
+mkdir build_64bit$CYGWIN_BUILDDIR_SUFFIX \
+pushd build_64bit$CYGWIN_BUILDDIR_SUFFIX \
+ %{?cygwin64_meson "$@"} \
+popd \
+%endif \
+} \
+run_cygwin_meson
+
+%cygwin_ninja \
+run_cygwin_ninja() \
+{ \
+%if 0%{?cygwin_build_32bit} == 1 \
+ninja -C build_32bit$CYGWIN_BUILDDIR_SUFFIX "$@" $CYGWIN32_NINJA_ARGS \
+%endif \
+%if 0%{?cygwin_build_64bit} == 1 \
+ninja -C build_64bit$CYGWIN_BUILDDIR_SUFFIX "$@" $CYGWIN64_NINJA_ARGS \
+%endif \
+} \
+run_cygwin_ninja
+
+%cygwin_ninja_install \
+run_cygwin_ninja_install() \
+{ \
+%if 0%{?cygwin_build_32bit} == 1 \
+DESTDIR=%{buildroot} ninja -C build_32bit$CYGWIN_BUILDDIR_SUFFIX install \
+%endif \
+%if 0%{?cygwin_build_64bit} == 1 \
+DESTDIR=%{buildroot} ninja -C build_64bit$CYGWIN_BUILDDIR_SUFFIX install \
+%endif \
+} \
+run_cygwin_ninja_install
+
+
+%cygwin_make_build %cygwin_make %{_make_output_sync} %{?_smp_mflags} %{_make_verbose}
+%cygwin_make_install %cygwin_make install DESTDIR=%{?buildroot} INSTALL="%{__install} -p"
diff --git a/macros.cygwin32 b/macros.cygwin32
index 7233d66..f6f34df 100644
--- a/macros.cygwin32
+++ b/macros.cygwin32
@@ -9,7 +9,7 @@
%cygwin32_exec_prefix %{cygwin32_prefix}
%cygwin32_bindir %{cygwin32_exec_prefix}/bin
%cygwin32_sbindir %{cygwin32_exec_prefix}/sbin
-%cygwin32_libexecdir %{cygwin32_exec_prefix}/lib
+%cygwin32_libexecdir %{cygwin32_exec_prefix}/libexec
%cygwin32_libdir %{cygwin32_exec_prefix}/lib
%cygwin32_datadir %{cygwin32_prefix}/share
%cygwin32_docdir %{cygwin32_prefix}/share/doc
@@ -23,9 +23,9 @@
# Build macros.
%cygwin32_host %{cygwin32_target}
-%cygwin32_cflags %{cygwin32_cppflags} -O2 -g -pipe -Wall
+%cygwin32_cflags %{cygwin32_cppflags} -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4
%cygwin32_cppflags %{nil}
-%cygwin32_ldflags %{nil}
+%cygwin32_ldflags -fstack-protector -lssp
%cygwin32_cc %{cygwin32_target}-gcc
%cygwin32_cxx %{cygwin32_target}-g++
@@ -33,7 +33,6 @@
%cygwin32_addr2line %{cygwin32_target}-addr2line
%cygwin32_ar %{cygwin32_target}-ar
%cygwin32_as %{cygwin32_target}-as
-%cygwin32_cxxfilt %{cygwin32_target}-c++filt
%cygwin32_dlltool %{cygwin32_target}-dlltool
%cygwin32_dllwrap %{cygwin32_target}-dllwrap
%cygwin32_gcov %{cygwin32_target}-gcov
@@ -50,43 +49,16 @@
%cygwin32_windmc %{cygwin32_target}-windmc
%cygwin32_windres %{cygwin32_target}-windres
-%cygwin32_qmake %{cygwin32_target}-qmake
-%cygwin32_moc %{cygwin32_target}-moc
-%cygwin32_rcc %{cygwin32_target}-rcc
-%cygwin32_uic %{cygwin32_target}-uic
-%cygwin32_uic3 %{cygwin32_target}-uic3
-%cygwin32_lrelease %{cygwin32_target}-lrelease
-%cygwin32_lupdate %{cygwin32_target}-lupdate
-%cygwin32_qdbuscpp2xml %{cygwin32_target}-qdbuscpp2xml
-%cygwin32_qdbusxml2cpp %{cygwin32_target}-qdbusxml2cpp
-
-%cygwin32_cache cygwin32-config.cache
-
-# Template for debug sub-package.
-%cygwin32_debug_package \
-%package -n %{cygwin32_pkg_name}-debuginfo \
-Summary: Debug information for package %{name} \
-Group: Development/Debug \
-%description -n %{cygwin32_pkg_name}-debuginfo \
-This package provides debug information for package %{name}. \
-Debug information is useful when developing applications that use this \
-package or when debugging this package. \
-%files -n %{cygwin32_pkg_name}-debuginfo -f cygwin32-debugfiles.list \
-%defattr(-,root,root,-) \
-%{nil}
-
-
-%cygwin32_env HOST_CC=gcc; export HOST_CC; \
- PKG_CONFIG_LIBDIR="%{cygwin32_libdir}/pkgconfig:%{cygwin32_datadir}/pkgconfig:%{_datadir}/pkgconfig"; \
- export PKG_CONFIG_LIBDIR; \
- PKG_CONFIG_SYSTEM_INCLUDE_PATH="%{cygwin32_includedir}"; \
- export PKG_CONFIG_SYSTEM_INCLUDE_PATH; \
- PKG_CONFIG_SYSTEM_LIBRARY_PATH="%{cygwin32_libdir}"; \
- export PKG_CONFIG_SYSTEM_LIBRARY_PATH; \
+%cygwin32_env unset $(/usr/bin/env | egrep '^(\w+)=(.*)$' | egrep -vw 'PWD|USER|LANG' | /usr/bin/cut -d= -f1); \
+ if test -z "$PATH_ORIG" ; then \
+ PATH_ORIG="$PATH"; export PATH_ORIG; \
+ fi; \
+ PATH="%{cygwin32_bindir}:$PATH_ORIG"; export PATH; \
+ HOST_CC=gcc; export HOST_CC; \
unset PKG_CONFIG_PATH; \
_PREFIX="%{_bindir}/%{cygwin32_target}-"; \
for i in `ls -1 ${_PREFIX}* | grep -v 'gcc-'`; do \
- x=`echo $i|sed "s,${_PREFIX},,"|tr "a-z+-\." "A-ZX__"`; \
+ x=`echo $i|sed "s,${_PREFIX},,"|tr "a-z+-." "A-ZX__"`; \
declare -x $x="$i" ; export $x; \
done; \
unset _PREFIX; \
@@ -102,27 +74,18 @@ package or when debugging this package. \
CXXFLAGS=; export CXXFLAGS; \
fi; \
LDFLAGS="${CYGWIN32_LDFLAGS:-%cygwin32_ldflags}"; export LDFLAGS; \
- for i in `ls %{_bindir}/*|grep -- "[-_]config\$"` ; do \
- case $i in *pkg-config) continue ; esac ; \
- x=`basename $i|tr "a-z+-\." "A-ZX__"`; \
- declare -x $x="no" ; export $x; \
- declare -x ac_cv_path_$x="no" ; export ac_cv_path_$x; \
- done; \
- for i in `ls %{cygwin32_bindir}/*|grep -- "[-_]config\$"` ; do \
- x=`basename $i|tr "a-z+-\." "A-ZX__"`; \
+ for i in `ls %{cygwin32_bindir}/*|grep -- "-config\$"` ; do \
+ x=`basename $i|tr "a-z+-." "A-ZX_"`; \
declare -x $x="$i" ; export $x; \
- declare -x ac_cv_path_$x="$i" ; export ac_cv_path_$x; \
done; \
unset x i
-%cygwin32_pkg_config %{cygwin32_target}-pkg-config
-
-%cygwin32_autoreconf %{cygwin_autoreconf}
+%cygwin32_pkg_config %{cygwin32_target}-pkg-config "$@"
+%cygwin32_pkgconfig_personalitydir %{cygwin32_datadir}/pkgconfig/personality.d
%cygwin32_configure %{cygwin32_env} ; \
- unset PKG_CONFIG_LIBDIR PKG_CONFIG_SYSTEM_INCLUDE_PATH PKG_CONFIG_SYSTEM_LIBRARY_PATH; \\\
- _cygwin32_topdir=.; if ! test -x configure; then _cygwin32_topdir=..; fi; \\\
- $_cygwin32_topdir/configure --cache-file=%{cygwin32_cache} \\\
+ __cygwin32_topdir=.; if ! test -x configure; then __cygwin32_topdir=..; fi; \\\
+ $__cygwin32_topdir/configure \\\
--host=%{cygwin32_host} \\\
--build=%_build \\\
--target=%{cygwin32_target} \\\
@@ -140,7 +103,7 @@ package or when debugging this package. \
--mandir=%{cygwin32_mandir} \\\
--infodir=%{cygwin32_infodir} \\\
${CYGWIN_CONFIGURE_ARGS} \\\
- ${CYGWIN32_CONFIGURE_ARGS}
+ ${CYGWIN32_CONFIGURE_ARGS} "$@"
%cygwin32_make %{cygwin32_env} ; \
make \\\
@@ -156,25 +119,79 @@ package or when debugging this package. \
localstatedir=%{cygwin32_localstatedir} \\\
sharedstatedir=%{cygwin32_sharedstatedir} \\\
mandir=%{cygwin32_mandir} \\\
- infodir=%{cygwin32_infodir}
-
-%cygwin32_cmake %{cygwin32_env} ; \
- if test "${CYGWIN_CMAKE_NO_VERBOSE}" == ""; then \\\
- CYGWIN32_CMAKE_ARGS="${CYGWIN32_CMAKE_ARGS} -DCMAKE_VERBOSE_MAKEFILE=ON" ; \\\
- fi ; \\\
- %__cmake \\\
- -Wno-dev \\\
- -DCMAKE_INSTALL_PREFIX:PATH=%{cygwin32_prefix} \\\
- -DCMAKE_INSTALL_LIBDIR:PATH=%{cygwin32_libdir} \\\
- -DINCLUDE_INSTALL_DIR:PATH=%{cygwin32_includedir} \\\
+ infodir=%{cygwin32_infodir} "$@"
+
+%cygwin32_cmake_generic %{cygwin32_env} ; \
+ PKG_CONFIG_LIBDIR="%{cygwin32_libdir}/pkgconfig:%{cygwin32_datadir}/pkgconfig"; export PKG_CONFIG_LIBDIR; \
+ if test -f CMakeLists.txt; then __cygwin32_topdir=.; \\\
+ elif test -f ../CMakeLists.txt; then __cygwin32_topdir=..; \\\
+ else __cygwin32_topdir=""; fi; \\\
+ if test "${CYGWIN_CMAKE_NO_VERBOSE}" == "" ; then \
+ CYGWIN32_CMAKE_ARGS="${CYGWIN32_CMAKE_ARGS} -DCMAKE_VERBOSE_MAKEFILE=ON" \
+ fi \
+ PATH=%{_prefix}/%{cygwin32_target}/bin:$PATH %__cmake \\\
+ -DCMAKE_TOOLCHAIN_FILE=/usr/share/cygwin/toolchain-cygwin32.cmake \\\
+ -DBUILD_SHARED_LIBS:BOOL=ON \\\
-DSYSCONF_INSTALL_DIR:PATH=%{cygwin32_sysconfdir} \\\
-DSHARE_INSTALL_PREFIX:PATH=%{cygwin32_datadir} \\\
- %{?_cmake_skip_rpath} \\\
- -DBUILD_SHARED_LIBS:BOOL=ON \\\
- -DCMAKE_TOOLCHAIN_FILE=/usr/share/cygwin/toolchain-cygwin32.cmake \\\
- ${CYGWIN_CMAKE_ARGS} \\\
- ${CYGWIN32_CMAKE_ARGS}
+ -DCMAKE_INSTALL_PREFIX:PATH=%{cygwin32_prefix} \\\
+ -DCMAKE_INSTALL_LIBDIR:PATH=%{cygwin32_libdir} \\\
+ ${CYGWIN_CMAKE_ARGS} \\\
+ ${CYGWIN32_CMAKE_ARGS} \\\
+ "$@" $__cygwin32_topdir
+
+%cygwin32_cmake \
+ CYGWIN32_CMAKE_ARGS="-DINCLUDE_INSTALL_DIR:PATH=%{cygwin32_includedir} ${CYGWIN32_CMAKE_ARGS}" \
+ %cygwin32_cmake_generic
+
+%cygwin32_cmake_kde4 \
+ CYGWIN32_CMAKE_ARGS="-DINCLUDE_INSTALL_DIR:PATH=%{cygwin32_includedir}/kde4 ${CYGWIN32_CMAKE_ARGS}" \
+ %cygwin32_cmake_generic
+
+%cygwin32_qmake_qt4 /usr/bin/cygwin32-qmake-qt4
+%cygwin32_qmake_qt5 /usr/bin/cygwin32-qmake-qt5
+
+%cygwin32_meson %{cygwin32_env} ; \
+ unset CC CFLAGS CPPFLAGS CXX CXXFLAGS LD LDFLAGS; \\\
+ CFLAGS="${CYGWIN32_CFLAGS-%cygwin32_cflags}"; export CFLAGS; \\\
+ CPPFLAGS="${CYGWIN32_CPPFLAGS-%cygwin32_cppflags}"; export CPPFLAGS; \\\
+ LDFLAGS="${CYGWIN32_LDFLAGS:-%cygwin32_ldflags}"; export LDFLAGS; \\\
+ if test -f meson.build; then __cygwin32_topdir=.; \\\
+ elif test -f ../meson.build; then __cygwin32_topdir=..; \\\
+ else __cygwin32_topdir=""; fi; \\\
+ %__meson \\\
+ --cross-file i686-pc-cygwin \\\
+ --default-library shared \\\
+ --prefix %{cygwin32_prefix} \\\
+ --bindir %{cygwin32_bindir} \\\
+ --sbindir %{cygwin32_sbindir} \\\
+ --sysconfdir %{cygwin32_sysconfdir} \\\
+ --datadir %{cygwin32_datadir} \\\
+ --includedir %{cygwin32_includedir} \\\
+ --libdir %{cygwin32_libdir} \\\
+ --libexecdir %{cygwin32_libexecdir} \\\
+ --localstatedir %{cygwin32_localstatedir} \\\
+ --sharedstatedir %{cygwin32_sharedstatedir} \\\
+ --mandir %{cygwin32_mandir} \\\
+ --infodir %{cygwin32_infodir} \\\
+ ${CYGWIN_MESON_ARGS} \\\
+ ${CYGWIN32_MESON_ARGS} \\\
+ "$@" $__cygwin32_topdir
%cygwin32_description This is the cross-compiled version of this library / tool.\
You should only install this package if you want to cross-compile programs for \
Cygwin i686.
+
+%cygwin32_debug_package \
+%package -n %{cygwin32_pkg_name}-debuginfo \
+Summary: Debug information for package %{cygwin32_pkg_name} \
+Group: Development/Debug \
+BuildArch: noarch \
+%description -n %{cygwin32_pkg_name}-debuginfo \
+This package provides debug information for package %{cygwin32_pkg_name}. \
+Debug information is useful when developing applications that use this \
+package or when debugging this package. \
+%files -n %{cygwin32_pkg_name}-debuginfo -f cygwin32-debugfiles.list \
+%defattr(-,root,root,-) \
+%{nil}
+
diff --git a/macros.cygwin64 b/macros.cygwin64
index f10534d..3832669 100644
--- a/macros.cygwin64
+++ b/macros.cygwin64
@@ -23,9 +23,9 @@
# Build macros.
%cygwin64_host %{cygwin64_target}
-%cygwin64_cflags %{cygwin64_cppflags} -O2 -g -pipe -Wall
+%cygwin64_cflags %{cygwin64_cppflags} -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4
%cygwin64_cppflags %{nil}
-%cygwin64_ldflags %{nil}
+%cygwin64_ldflags -fstack-protector -lssp
%cygwin64_cc %{cygwin64_target}-gcc
%cygwin64_cxx %{cygwin64_target}-g++
@@ -33,7 +33,6 @@
%cygwin64_addr2line %{cygwin64_target}-addr2line
%cygwin64_ar %{cygwin64_target}-ar
%cygwin64_as %{cygwin64_target}-as
-%cygwin64_cxxfilt %{cygwin64_target}-c++filt
%cygwin64_dlltool %{cygwin64_target}-dlltool
%cygwin64_dllwrap %{cygwin64_target}-dllwrap
%cygwin64_gcov %{cygwin64_target}-gcov
@@ -50,44 +49,16 @@
%cygwin64_windmc %{cygwin64_target}-windmc
%cygwin64_windres %{cygwin64_target}-windres
-%cygwin64_qmake %{cygwin64_target}-qmake
-%cygwin64_moc %{cygwin64_target}-moc
-%cygwin64_rcc %{cygwin64_target}-rcc
-%cygwin64_uic %{cygwin64_target}-uic
-%cygwin64_uic3 %{cygwin64_target}-uic3
-%cygwin64_lrelease %{cygwin64_target}-lrelease
-%cygwin64_lupdate %{cygwin64_target}-lupdate
-%cygwin64_qdbuscpp2xml %{cygwin64_target}-qdbuscpp2xml
-%cygwin64_qdbusxml2cpp %{cygwin64_target}-qdbusxml2cpp
-
-%cygwin64_cache cygwin64-config.cache
-
-
-# Template for debug sub-package.
-%cygwin64_debug_package \
-%package -n %{cygwin64_pkg_name}-debuginfo \
-Summary: Debug information for package %{name} \
-Group: Development/Debug \
-%description -n %{cygwin64_pkg_name}-debuginfo \
-This package provides debug information for package %{name}. \
-Debug information is useful when developing applications that use this \
-package or when debugging this package. \
-%files -n %{cygwin64_pkg_name}-debuginfo -f cygwin64-debugfiles.list \
-%defattr(-,root,root,-) \
-%{nil}
-
-
-%cygwin64_env HOST_CC=gcc; export HOST_CC; \
- PKG_CONFIG_LIBDIR="%{cygwin64_libdir}/pkgconfig:%{cygwin64_datadir}/pkgconfig:%{_datadir}/pkgconfig"; \
- export PKG_CONFIG_LIBDIR; \
- PKG_CONFIG_SYSTEM_INCLUDE_PATH="%{cygwin64_includedir}"; \
- export PKG_CONFIG_SYSTEM_INCLUDE_PATH; \
- PKG_CONFIG_SYSTEM_LIBRARY_PATH="%{cygwin64_libdir}"; \
- export PKG_CONFIG_SYSTEM_LIBRARY_PATH; \
+%cygwin64_env unset $(/usr/bin/env | egrep '^(\w+)=(.*)$' | egrep -vw 'PWD|USER|LANG' | /usr/bin/cut -d= -f1); \
+ if test -z "$PATH_ORIG" ; then \
+ PATH_ORIG="$PATH"; export PATH_ORIG; \
+ fi; \
+ PATH="%{cygwin64_bindir}:$PATH_ORIG"; export PATH; \
+ HOST_CC=gcc; export HOST_CC; \
unset PKG_CONFIG_PATH; \
_PREFIX="%{_bindir}/%{cygwin64_target}-"; \
for i in `ls -1 ${_PREFIX}* | grep -v 'gcc-'`; do \
- x=`echo $i|sed "s,${_PREFIX},,"|tr "a-z+-\." "A-ZX__"`; \
+ x=`echo $i|sed "s,${_PREFIX},,"|tr "a-z+-." "A-ZX__"`; \
declare -x $x="$i" ; export $x; \
done; \
unset _PREFIX; \
@@ -103,27 +74,18 @@ package or when debugging this package. \
CXXFLAGS=; export CXXFLAGS; \
fi; \
LDFLAGS="${CYGWIN64_LDFLAGS:-%cygwin64_ldflags}"; export LDFLAGS; \
- for i in `ls %{_bindir}/*|grep -- "[-_]config\$"` ; do \
- case $i in *pkg-config) continue ; esac ; \
- x=`basename $i|tr "a-z+-\." "A-ZX__"`; \
- declare -x $x="no" ; export $x; \
- declare -x ac_cv_path_$x="no" ; export ac_cv_path_$x; \
- done; \
- for i in `ls %{cygwin64_bindir}/*|grep -- "[-_]config\$"` ; do \
- x=`basename $i|tr "a-z+-\." "A-ZX__"`; \
+ for i in `ls %{cygwin64_bindir}/*|grep -- "-config\$"` ; do \
+ x=`basename $i|tr "a-z+-." "A-ZX_"`; \
declare -x $x="$i" ; export $x; \
- declare -x ac_cv_path_$x="$i" ; export ac_cv_path_$x; \
done; \
unset x i
-%cygwin64_pkg_config %{cygwin64_target}-pkg-config
-
-%cygwin64_autoreconf %{cygwin_autoreconf}
+%cygwin64_pkg_config %{cygwin64_target}-pkg-config "$@"
+%cygwin64_pkgconfig_personalitydir %{cygwin32_datadir}/pkgconfig/personality.d
%cygwin64_configure %{cygwin64_env} ; \
- unset PKG_CONFIG_LIBDIR PKG_CONFIG_SYSTEM_INCLUDE_PATH PKG_CONFIG_SYSTEM_LIBRARY_PATH; \\\
- _cygwin64_topdir=.; if ! test -x configure; then _cygwin64_topdir=..; fi; \\\
- $_cygwin64_topdir/configure --cache-file=%{cygwin64_cache} \\\
+ __cygwin64_topdir=.; if ! test -x configure; then __cygwin64_topdir=..; fi; \\\
+ $__cygwin64_topdir/configure \\\
--host=%{cygwin64_host} \\\
--build=%_build \\\
--target=%{cygwin64_target} \\\
@@ -141,7 +103,7 @@ package or when debugging this package. \
--mandir=%{cygwin64_mandir} \\\
--infodir=%{cygwin64_infodir} \\\
${CYGWIN_CONFIGURE_ARGS} \\\
- ${CYGWIN64_CONFIGURE_ARGS}
+ ${CYGWIN64_CONFIGURE_ARGS} "$@"
%cygwin64_make %{cygwin64_env} ; \
make \\\
@@ -157,42 +119,79 @@ package or when debugging this package. \
localstatedir=%{cygwin64_localstatedir} \\\
sharedstatedir=%{cygwin64_sharedstatedir} \\\
mandir=%{cygwin64_mandir} \\\
- infodir=%{cygwin64_infodir}
-
-%cygwin64_makeinstall %{cygwin64_env} ; \
- make \\\
- prefix=%{?buildroot:%{buildroot}}%{cygwin64_prefix} \\\
- exec_prefix=%{?buildroot:%{buildroot}}%{cygwin64_exec_prefix} \\\
- bindir=%{?buildroot:%{buildroot}}%{cygwin64_bindir} \\\
- sbindir=%{?buildroot:%{buildroot}}%{cygwin64_sbindir} \\\
- sysconfdir=%{?buildroot:%{buildroot}}%{cygwin64_sysconfdir} \\\
- datadir=%{?buildroot:%{buildroot}}%{cygwin64_datadir} \\\
- includedir=%{?buildroot:%{buildroot}}%{cygwin64_includedir} \\\
- libdir=%{?buildroot:%{buildroot}}%{cygwin64_libdir} \\\
- libexecdir=%{?buildroot:%{buildroot}}%{cygwin64_libexecdir} \\\
- localstatedir=%{?buildroot:%{buildroot}}%{cygwin64_localstatedir} \\\
- sharedstatedir=%{?buildroot:%{buildroot}}%{cygwin64_sharedstatedir} \\\
- mandir=%{?buildroot:%{buildroot}}%{cygwin64_mandir} \\\
- infodir=%{?buildroot:%{buildroot}}%{cygwin64_infodir} \\\
- install
-
-%cygwin64_cmake %{cygwin64_env} ; \
- if test "${CYGWIN_CMAKE_NO_VERBOSE}" == ""; then \\\
- CYGWIN64_CMAKE_ARGS="${CYGWIN64_CMAKE_ARGS} -DCMAKE_VERBOSE_MAKEFILE=ON" ; \\\
- fi ; \\\
- %__cmake \\\
- -Wno-dev \\\
- -DCMAKE_INSTALL_PREFIX:PATH=%{cygwin64_prefix} \\\
- -DCMAKE_INSTALL_LIBDIR:PATH=%{cygwin64_libdir} \\\
- -DINCLUDE_INSTALL_DIR:PATH=%{cygwin64_includedir} \\\
+ infodir=%{cygwin64_infodir} "$@"
+
+%cygwin64_cmake_generic %{cygwin64_env} ; \
+ PKG_CONFIG_LIBDIR="%{cygwin64_libdir}/pkgconfig:%{cygwin64_datadir}/pkgconfig"; export PKG_CONFIG_LIBDIR; \
+ if test -f CMakeLists.txt; then __cygwin64_topdir=.; \\\
+ elif test -f ../CMakeLists.txt; then __cygwin64_topdir=..; \\\
+ else __cygwin64_topdir=""; fi; \\\
+ if test "${CYGWIN_CMAKE_NO_VERBOSE}" == "" ; then \
+ CYGWIN64_CMAKE_ARGS="${CYGWIN64_CMAKE_ARGS} -DCMAKE_VERBOSE_MAKEFILE=ON" \
+ fi \
+ PATH=%{_prefix}/%{cygwin64_target}/bin:$PATH %__cmake \\\
+ -DCMAKE_TOOLCHAIN_FILE=/usr/share/cygwin/toolchain-cygwin64.cmake \\\
+ -DBUILD_SHARED_LIBS:BOOL=ON \\\
-DSYSCONF_INSTALL_DIR:PATH=%{cygwin64_sysconfdir} \\\
-DSHARE_INSTALL_PREFIX:PATH=%{cygwin64_datadir} \\\
- %{?_cmake_skip_rpath} \\\
- -DBUILD_SHARED_LIBS:BOOL=ON \\\
- -DCMAKE_TOOLCHAIN_FILE=/usr/share/cygwin/toolchain-cygwin64.cmake \\\
- ${CYGWIN_CMAKE_ARGS} \\\
- ${CYGWIN64_CMAKE_ARGS}
+ -DCMAKE_INSTALL_PREFIX:PATH=%{cygwin64_prefix} \\\
+ -DCMAKE_INSTALL_LIBDIR:PATH=%{cygwin64_libdir} \\\
+ ${CYGWIN_CMAKE_ARGS} \\\
+ ${CYGWIN64_CMAKE_ARGS} \\\
+ "$@" $__cygwin64_topdir
+
+%cygwin64_cmake \
+ CYGWIN64_CMAKE_ARGS="-DINCLUDE_INSTALL_DIR:PATH=%{cygwin64_includedir} ${CYGWIN64_CMAKE_ARGS}" \
+ %cygwin64_cmake_generic
+
+%cygwin64_cmake_kde4 \
+ CYGWIN64_CMAKE_ARGS="-DINCLUDE_INSTALL_DIR:PATH=%{cygwin64_includedir}/kde4 ${CYGWIN64_CMAKE_ARGS}" \
+ %cygwin64_cmake_generic
+
+%cygwin64_qmake_qt4 /usr/bin/cygwin64-qmake-qt4
+%cygwin64_qmake_qt5 /usr/bin/cygwin64-qmake-qt5
+
+%cygwin64_meson %{cygwin64_env} ; \
+ unset CC CFLAGS CPPFLAGS CXX CXXFLAGS LD LDFLAGS; \\\
+ CFLAGS="${CYGWIN64_CFLAGS-%cygwin64_cflags}"; export CFLAGS; \\\
+ CPPFLAGS="${CYGWIN64_CPPFLAGS-%cygwin64_cppflags}"; export CPPFLAGS; \\\
+ LDFLAGS="${CYGWIN64_LDFLAGS:-%cygwin64_ldflags}"; export LDFLAGS; \\\
+ if test -f meson.build; then __cygwin64_topdir=.; \\\
+ elif test -f ../meson.build; then __cygwin64_topdir=..; \\\
+ else __cygwin64_topdir=""; fi; \\\
+ %__meson \\\
+ --cross-file x86_64-pc-cygwin \\\
+ --default-library shared \\\
+ --prefix %{cygwin64_prefix} \\\
+ --bindir %{cygwin64_bindir} \\\
+ --sbindir %{cygwin64_sbindir} \\\
+ --sysconfdir %{cygwin64_sysconfdir} \\\
+ --datadir %{cygwin64_datadir} \\\
+ --includedir %{cygwin64_includedir} \\\
+ --libdir %{cygwin64_libdir} \\\
+ --libexecdir %{cygwin64_libexecdir} \\\
+ --localstatedir %{cygwin64_localstatedir} \\\
+ --sharedstatedir %{cygwin64_sharedstatedir} \\\
+ --mandir %{cygwin64_mandir} \\\
+ --infodir %{cygwin64_infodir} \\\
+ ${CYGWIN_MESON_ARGS} \\\
+ ${CYGWIN64_MESON_ARGS} \\\
+ "$@" $__cygwin64_topdir
%cygwin64_description This is the cross-compiled version of this library / tool.\
You should only install this package if you want to cross-compile programs for \
Cygwin x86_64.
+
+%cygwin64_debug_package \
+%package -n %{cygwin64_pkg_name}-debuginfo \
+Summary: Debug information for package %{cygwin64_pkg_name} \
+Group: Development/Debug \
+BuildArch: noarch \
+%description -n %{cygwin64_pkg_name}-debuginfo \
+This package provides debug information for package %{cygwin64_pkg_name}. \
+Debug information is useful when developing applications that use this \
+package or when debugging this package. \
+%files -n %{cygwin64_pkg_name}-debuginfo -f cygwin64-debugfiles.list \
+%defattr(-,root,root,-) \
+%{nil}
+
diff --git a/pkgconf-personality-cygwin32 b/pkgconf-personality-cygwin32
new file mode 100644
index 0000000..3a7891b
--- /dev/null
+++ b/pkgconf-personality-cygwin32
@@ -0,0 +1,6 @@
+# Cygwin 32-bit target
+Triplet: i686-pc-cygwin
+SysrootDir: /usr/i686-pc-cygwin/sys-root/usr
+DefaultSearchPaths: /usr/i686-pc-cygwin/sys-root/usr/lib/pkgconfig:/usr/i686-pc-cygwin/sys-root/usr/share/pkgconfig
+SystemIncludePaths: /usr/i686-pc-cygwin/sys-root/usr/include
+SystemLibraryPaths: /usr/i686-pc-cygwin/sys-root/usr/lib
diff --git a/pkgconf-personality-cygwin64 b/pkgconf-personality-cygwin64
new file mode 100644
index 0000000..9b786e7
--- /dev/null
+++ b/pkgconf-personality-cygwin64
@@ -0,0 +1,6 @@
+# Cygwin 64-bit target
+Triplet: x86_64-pc-cygwin
+SysrootDir: /usr/x86_64-pc-cygwin/sys-root/usr
+DefaultSearchPaths: /usr/x86_64-pc-cygwin/sys-root/usr/lib/pkgconfig:/usr/x86_64-pc-cygwin/sys-root/usr/share/pkgconfig
+SystemIncludePaths: /usr/x86_64-pc-cygwin/sys-root/usr/include
+SystemLibraryPaths: /usr/x86_64-pc-cygwin/sys-root/usr/lib
diff --git a/sources b/sources
deleted file mode 100644
index e69de29..0000000
--- a/sources
+++ /dev/null
diff --git a/toolchain-cygwin32.cmake b/toolchain-cygwin32.cmake
index c4678d1..f4d58d6 100644
--- a/toolchain-cygwin32.cmake
+++ b/toolchain-cygwin32.cmake
@@ -3,12 +3,15 @@ SET(CMAKE_SYSTEM_PROCESSOR x86)
SET(CMAKE_LEGACY_CYGWIN_WIN32 0)
# specify the cross compiler
-SET(CMAKE_C_COMPILER /usr/bin/i686-pc-cygwin-gcc)
-SET(CMAKE_CXX_COMPILER /usr/bin/i686-pc-cygwin-g++)
-SET(CMAKE_Fortran_COMPILER /usr/bin/i686-pc-cygwin-gfortran)
-SET(CMAKE_RC_COMPILER /usr/bin/i686-pc-cygwin-windres)
-SET(CMAKE_AR:FILEPATH /usr/bin/i686-pc-cygwin-ar)
-SET(CMAKE_RANLIB:FILEPATH /usr/bin/i686-pc-cygwin-ranlib)
+IF(NOT DEFINED ENV{CC})
+ SET(CMAKE_C_COMPILER /usr/bin/i686-pc-cygwin-gcc)
+ENDIF()
+IF(NOT DEFINED ENV{CXX})
+ SET(CMAKE_CXX_COMPILER /usr/bin/i686-pc-cygwin-g++)
+ENDIF()
+IF(NOT DEFINED ENV{FC})
+ SET(CMAKE_Fortran_COMPILER /usr/bin/i686-pc-cygwin-gfortran)
+ENDIF()
# where is the target environment
SET(CMAKE_FIND_ROOT_PATH /usr/i686-pc-cygwin/sys-root/usr)
@@ -19,19 +22,17 @@ SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
-SET(PKG_CONFIG_EXECUTABLE /usr/bin/i686-pc-cygwin-pkg-config)
-SET(PKGCONFIG_EXECUTABLE /usr/bin/i686-pc-cygwin-pkg-config)
+# Make sure Qt can be detected by CMake
+SET(QT_BINARY_DIR /usr/i686-pc-cygwin/bin /usr/bin)
+
+# set the resource compiler (RHBZ #652435)
+IF(NOT $ENV{RC})
+ SET(CMAKE_RC_COMPILER /usr/bin/i686-pc-cygwin-windres)
+ENDIF()
+
+# These are needed for compiling lapack (RHBZ #753906)
+SET(CMAKE_AR:FILEPATH /usr/bin/i686-pc-cygwin-ar)
+SET(CMAKE_RANLIB:FILEPATH /usr/bin/i686-pc-cygwin-ranlib)
-# FindQt4.cmake queries qmake to get information,
-# which doesn't work when crosscompiling
-SET(QT_QMAKE_EXECUTABLE /usr/bin/i686-pc-cygwin-qmake)
-SET(QT_MOC_EXECUTABLE /usr/bin/i686-pc-cygwin-moc)
-SET(QT_RCC_EXECUTABLE /usr/bin/i686-pc-cygwin-rcc)
-SET(QT_UIC_EXECUTABLE /usr/bin/i686-pc-cygwin-uic)
-SET(QT_UIC3_EXECUTABLE /usr/bin/i686-pc-cygwin-uic3)
-SET(QT_LRELEASE_EXECUTABLE /usr/bin/i686-pc-cygwin-lrelease)
-SET(QT_LUPDATE_EXECUTABLE /usr/bin/i686-pc-cygwin-lupdate)
-SET(QT_DBUSCPP2XML_EXECUTABLE /usr/bin/i686-pc-cygwin-qdbuscpp2xml)
-SET(QT_DBUSXML2CPP_EXECUTABLE /usr/bin/i686-pc-cygwin-qdbusxml2cpp)
-SET(QT_HEADERS_DIR ${CMAKE_FIND_ROOT_PATH}/include)
-SET(QT_LIBRARY_DIR ${CMAKE_FIND_ROOT_PATH}/lib)
+# Workaround failure to detect boost (see #2037724)
+SET(Boost_ARCHITECTURE "-x32")
diff --git a/toolchain-cygwin32.meson b/toolchain-cygwin32.meson
new file mode 100644
index 0000000..ce496c5
--- /dev/null
+++ b/toolchain-cygwin32.meson
@@ -0,0 +1,21 @@
+[binaries]
+c = 'i686-pc-cygwin-gcc'
+cpp = 'i686-pc-cygwin-g++'
+fortran = 'i686-pc-cygwin-gfortran'
+ar = '/usr/bin/i686-pc-cygwin-ar'
+pkgconfig = '/usr/bin/i686-pc-cygwin-pkg-config'
+ranlib = '/usr/bin/x86_64-pc-cygwin-ranlib'
+strip = '/usr/bin/i686-pc-cygwin-strip'
+windres = '/usr/bin/i686-pc-cygwin-windres'
+dlltool = '/usr/bin/i686-pc-cygwin-dlltool'
+libgcrypt-config = '/usr/i686-pc-cygwin/sys-root/usr/bin/libgcrypt-config'
+
+[properties]
+root = '/usr/i686-pc-cygwin/sys-root/usr'
+needs_exe_wrapper = true
+
+[host_machine]
+system = 'cygwin'
+cpu_family = 'x86'
+cpu = 'i686'
+endian = 'little'
diff --git a/toolchain-cygwin64.cmake b/toolchain-cygwin64.cmake
index df62c96..68f2906 100644
--- a/toolchain-cygwin64.cmake
+++ b/toolchain-cygwin64.cmake
@@ -3,12 +3,15 @@ SET(CMAKE_SYSTEM_PROCESSOR x86_64)
SET(CMAKE_LEGACY_CYGWIN_WIN32 0)
# specify the cross compiler
-SET(CMAKE_C_COMPILER /usr/bin/x86_64-pc-cygwin-gcc)
-SET(CMAKE_CXX_COMPILER /usr/bin/x86_64-pc-cygwin-g++)
-SET(CMAKE_Fortran_COMPILER /usr/bin/x86_64-pc-cygwin-gfortran)
-SET(CMAKE_RC_COMPILER /usr/bin/x86_64-pc-cygwin-windres)
-SET(CMAKE_AR:FILEPATH /usr/bin/x86_64-pc-cygwin-ar)
-SET(CMAKE_RANLIB:FILEPATH /usr/bin/x86_64-pc-cygwin-ranlib)
+IF(NOT DEFINED ENV{CC})
+ SET(CMAKE_C_COMPILER /usr/bin/x86_64-pc-cygwin-gcc)
+ENDIF()
+IF(NOT DEFINED ENV{CXX})
+ SET(CMAKE_CXX_COMPILER /usr/bin/x86_64-pc-cygwin-g++)
+ENDIF()
+IF(NOT DEFINED ENV{FC})
+ SET(CMAKE_Fortran_COMPILER /usr/bin/x86_64-pc-cygwin-gfortran)
+ENDIF()
# where is the target environment
SET(CMAKE_FIND_ROOT_PATH /usr/x86_64-pc-cygwin/sys-root/usr)
@@ -19,19 +22,17 @@ SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
-SET(PKG_CONFIG_EXECUTABLE /usr/bin/x86_64-pc-cygwin-pkg-config)
-SET(PKGCONFIG_EXECUTABLE /usr/bin/x86_64-pc-cygwin-pkg-config)
+# Make sure Qt can be detected by CMake
+SET(QT_BINARY_DIR /usr/x86_64-pc-cygwin/bin /usr/bin)
+
+# set the resource compiler (RHBZ #652435)
+IF(NOT $ENV{RC})
+ SET(CMAKE_RC_COMPILER /usr/bin/x86_64-pc-cygwin-windres)
+ENDIF()
+
+# These are needed for compiling lapack (RHBZ #753906)
+SET(CMAKE_AR:FILEPATH /usr/bin/x86_64-pc-cygwin-ar)
+SET(CMAKE_RANLIB:FILEPATH /usr/bin/x86_64-pc-cygwin-ranlib)
-# FindQt4.cmake queries qmake to get information,
-# which doesn't work when crosscompiling
-SET(QT_QMAKE_EXECUTABLE /usr/bin/x86_64-pc-cygwin-qmake)
-SET(QT_MOC_EXECUTABLE /usr/bin/x86_64-pc-cygwin-moc)
-SET(QT_RCC_EXECUTABLE /usr/bin/x86_64-pc-cygwin-rcc)
-SET(QT_UIC_EXECUTABLE /usr/bin/x86_64-pc-cygwin-uic)
-SET(QT_UIC3_EXECUTABLE /usr/bin/x86_64-pc-cygwin-uic3)
-SET(QT_LRELEASE_EXECUTABLE /usr/bin/x86_64-pc-cygwin-lrelease)
-SET(QT_LUPDATE_EXECUTABLE /usr/bin/x86_64-pc-cygwin-lupdate)
-SET(QT_DBUSCPP2XML_EXECUTABLE /usr/bin/x86_64-pc-cygwin-qdbuscpp2xml)
-SET(QT_DBUSXML2CPP_EXECUTABLE /usr/bin/x86_64-pc-cygwin-qdbusxml2cpp)
-SET(QT_HEADERS_DIR ${CMAKE_FIND_ROOT_PATH}/include)
-SET(QT_LIBRARY_DIR ${CMAKE_FIND_ROOT_PATH}/lib)
+# Workaround failure to detect boost (see #2037724)
+SET(Boost_ARCHITECTURE "-x64")
diff --git a/toolchain-cygwin64.meson b/toolchain-cygwin64.meson
new file mode 100644
index 0000000..3d8ff4d
--- /dev/null
+++ b/toolchain-cygwin64.meson
@@ -0,0 +1,21 @@
+[binaries]
+c = 'x86_64-pc-cygwin-gcc'
+cpp = 'x86_64-pc-cygwin-g++'
+fortran = 'x86_64-pc-cygwin-gfortran'
+ar = '/usr/bin/x86_64-pc-cygwin-ar'
+pkgconfig = '/usr/bin/x86_64-pc-cygwin-pkg-config'
+ranlib = '/usr/bin/x86_64-pc-cygwin-ranlib'
+strip = '/usr/bin/x86_64-pc-cygwin-strip'
+windres = '/usr/bin/x86_64-pc-cygwin-windres'
+dlltool = '/usr/bin/x86_64-pc-cygwin-dlltool'
+libgcrypt-config = '/usr/x86_64-pc-cygwin/sys-root/usr/bin/libgcrypt-config'
+
+[properties]
+root = '/usr/x86_64-pc-cygwin/sys-root/usr'
+needs_exe_wrapper = true
+
+[host_machine]
+system = 'cygwin'
+cpu_family = 'x86_64'
+cpu = 'x86_64'
+endian = 'little'