[Bug 642208] Review Request: mingw32-win-iconv - iconv implementation using Win32 API
by Red Hat Bugzilla
Please do not reply directly to this email. All additional
comments should be made in the comments box of this bug.
https://bugzilla.redhat.com/show_bug.cgi?id=642208
--- Comment #6 from Erik van Pienbroek <erik-fedora(a)vanpienbroek.nl> 2011-05-13 13:04:36 EDT ---
Thanks for approving it Kalev.
I think it would be wise to wait for some more days before requesting a git
repo. The reason behind this is the legal issues surrounding mingw-w64 support.
Once those are cleared (which should be any day now) we can decide to use the
new mingw packaging guidelines and thus the new naming for mingw packages
(mingw-* instead of mingw32-*). This package will only be introduced in rawhide
anyway, so nothing is lost is we wait for some more time
--
Configure bugmail: https://bugzilla.redhat.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
13 years, 1 month
[Bug 599227] New: mingw <pthread.h> is broken
by Red Hat Bugzilla
Please do not reply directly to this email. All additional
comments should be made in the comments box of this bug.
Summary: mingw <pthread.h> is broken
https://bugzilla.redhat.com/show_bug.cgi?id=599227
Summary: mingw <pthread.h> is broken
Product: Fedora
Version: 13
Platform: All
OS/Version: Linux
Status: NEW
Severity: medium
Priority: low
Component: mingw32-pthreads
AssignedTo: rjones(a)redhat.com
ReportedBy: eblake(a)redhat.com
QAContact: extras-qa(a)fedoraproject.org
CC: lfarkas(a)lfarkas.org, berrange(a)redhat.com,
rjones(a)redhat.com, erik-fedora(a)vanpienbroek.nl,
fedora-mingw(a)lists.fedoraproject.org
Classification: Fedora
Target Release: ---
Description of problem:
The cross-compilation header
/usr/i686-pc-mingw32/sys-root/mingw/include/pthread.h, installed as part of the
mingw32-pthreads package, has several coding bugs.
Version-Release number of selected component (if applicable):
mingw32-pthreads-2.8.0-10.fc13.noarch
How reproducible:
Always
Steps to Reproduce:
1. Try cross-compiling any code that uses localtime_r with a second argument
with side effects, or try calling (localtime_r)(arg1,arg2).
2. Try cross-compiling any project that uses gnulib's <time.h> replacement
header (libvirt is an example project; it includes a ./autobuild.sh script that
will automatically try a mingw cross-compilation, if you have installed a mingw
portablexdr library, although that library is not yet part of fedora).
Actual results:
The definition of localtime_r is broken, because it evaluates the second
argument twice. And, since POSIX allows one to #undef localtime_r, but there
is no localtime_r function in the library, you get a link failure if you bypass
the function-like macro. Finally, the pthreads-win32 library made the mistake
of installing <config.h>, which is asking for namespace collision with most
other autotooled packages.
Expected results:
<pthread.h> should not define any *_r functions, nor should it interfere with a
proper <time.h>. Also, the library should not install <config.h>, but should
instead modify its installed headers to be self-contained.
Additional info:
See this thread on bug-gnulib for more details:
http://lists.gnu.org/archive/html/bug-gnulib/2010-06/msg00007.html
--
Configure bugmail: https://bugzilla.redhat.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
13 years, 1 month
[mingw32-pthreads] Spec clean up from unnecessary cruft not needed in current Fedora releases
by Kalev Lember
commit 82932959185409c754581e2f4c5d989233e9d85d
Author: Kalev Lember <kalev(a)smartlink.ee>
Date: Thu May 12 17:53:29 2011 +0300
Spec clean up from unnecessary cruft not needed in current Fedora releases
mingw32-pthreads.spec | 11 ++---------
1 files changed, 2 insertions(+), 9 deletions(-)
---
diff --git a/mingw32-pthreads.spec b/mingw32-pthreads.spec
index be26d02..c9a4ef8 100644
--- a/mingw32-pthreads.spec
+++ b/mingw32-pthreads.spec
@@ -22,7 +22,6 @@ URL: http://sourceware.org/pthreads-win32/
# cvs -d :pserver:anoncvs@sourceware.org:/cvs/pthreads-win32 export -D 2011-05-11 -d pthreads-w32-20110511 pthreads
# tar cjf pthreads-w32-20110511.tar.bz2 pthreads-w32-20110511
Source0: pthreads-w32-%{prerelease_date}.tar.bz2
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch: noarch
@@ -30,7 +29,7 @@ Patch0: mingw32-pthreads-2.8.0-20110511-use-wine-for-tests.patch
Patch1: mingw32-pthreads-2.8.0-20110511-no-failing-tests.patch
Patch2: mingw32-pthreads-flags.patch
-BuildRequires: mingw32-filesystem >= 49
+BuildRequires: mingw32-filesystem
BuildRequires: mingw32-gcc
BuildRequires: mingw32-gcc-c++
BuildRequires: mingw32-binutils
@@ -84,8 +83,6 @@ popd
%install
-rm -rf $RPM_BUILD_ROOT
-
mkdir -p $RPM_BUILD_ROOT%{_mingw32_bindir}
mkdir -p $RPM_BUILD_ROOT%{_mingw32_libdir}
mkdir -p $RPM_BUILD_ROOT%{_mingw32_includedir}
@@ -101,12 +98,7 @@ install -m 0644 semaphore.h $RPM_BUILD_ROOT%{_mingw32_includedir}
ln -s libpthreadGC2.a $RPM_BUILD_ROOT%{_mingw32_libdir}/libpthread.a
-%clean
-rm -rf $RPM_BUILD_ROOT
-
-
%files
-%defattr(-,root,root)
%doc ANNOUNCE BUGS ChangeLog CONTRIBUTORS COPYING COPYING.LIB
%doc FAQ MAINTAINERS NEWS PROGRESS README README.NONPORTABLE TODO
%{_mingw32_bindir}/pthreadGC2.dll
@@ -122,6 +114,7 @@ rm -rf $RPM_BUILD_ROOT
- Update to 2011-05-11 cvs snapshot
- Dropped upstreamed mingw32-pthreads-2.8.0-w32.patch
- Don't install pthread.def
+- Spec clean up from unnecessary cruft not needed in current Fedora releases
* Thu May 12 2011 Kalev Lember <kalev(a)smartlink.ee> - 2.8.0-14
- Don't install private headers, most notably config.h
13 years, 1 month
[mingw32-pthreads] Don't install pthread.def
by Kalev Lember
commit 823b752a5ac64c0d0c8e3f5dd5727600d227081e
Author: Kalev Lember <kalev(a)smartlink.ee>
Date: Thu May 12 17:54:53 2011 +0300
Don't install pthread.def
mingw32-pthreads.spec | 3 +--
1 files changed, 1 insertions(+), 2 deletions(-)
---
diff --git a/mingw32-pthreads.spec b/mingw32-pthreads.spec
index ac6f1fe..be26d02 100644
--- a/mingw32-pthreads.spec
+++ b/mingw32-pthreads.spec
@@ -91,7 +91,6 @@ mkdir -p $RPM_BUILD_ROOT%{_mingw32_libdir}
mkdir -p $RPM_BUILD_ROOT%{_mingw32_includedir}
install -m 0755 *.dll $RPM_BUILD_ROOT%{_mingw32_bindir}
-install -m 0644 *.def $RPM_BUILD_ROOT%{_mingw32_bindir}
install -m 0644 *.a $RPM_BUILD_ROOT%{_mingw32_libdir}
install -m 0644 pthread.h $RPM_BUILD_ROOT%{_mingw32_includedir}
@@ -112,7 +111,6 @@ rm -rf $RPM_BUILD_ROOT
%doc FAQ MAINTAINERS NEWS PROGRESS README README.NONPORTABLE TODO
%{_mingw32_bindir}/pthreadGC2.dll
%{_mingw32_bindir}/pthreadGCE2.dll
-%{_mingw32_bindir}/pthread.def
%{_mingw32_libdir}/libpthread.a
%{_mingw32_libdir}/libpthreadGC2.a
%{_mingw32_libdir}/libpthreadGCE2.a
@@ -123,6 +121,7 @@ rm -rf $RPM_BUILD_ROOT
* Thu May 12 2011 Kalev Lember <kalev(a)smartlink.ee> - 2.8.0-15.20110511cvs
- Update to 2011-05-11 cvs snapshot
- Dropped upstreamed mingw32-pthreads-2.8.0-w32.patch
+- Don't install pthread.def
* Thu May 12 2011 Kalev Lember <kalev(a)smartlink.ee> - 2.8.0-14
- Don't install private headers, most notably config.h
13 years, 1 month
[mingw32-pthreads] Update to 2011-05-11 cvs snapshot
by Kalev Lember
commit 5b9069c334ab34007650489869344ae6b73296db
Author: Kalev Lember <kalev(a)smartlink.ee>
Date: Thu May 12 16:55:17 2011 +0300
Update to 2011-05-11 cvs snapshot
Dropped upstreamed mingw32-pthreads-2.8.0-w32.patch.
.gitignore | 1 +
...-pthreads-2.8.0-20110511-no-failing-tests.patch | 30 ++++++++++++++++++++
...threads-2.8.0-20110511-use-wine-for-tests.patch | 12 ++++----
mingw32-pthreads-2.8.0-no-failing-tests.patch | 24 ----------------
mingw32-pthreads-2.8.0-w32.patch | 11 -------
mingw32-pthreads-flags.patch | 4 +-
mingw32-pthreads.spec | 27 +++++++++--------
sources | 2 +-
8 files changed, 54 insertions(+), 57 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index c1cbd75..c9886d6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
pthreads-w32-2-8-0-release.tar.gz
+/pthreads-w32-20110511.tar.bz2
diff --git a/mingw32-pthreads-2.8.0-20110511-no-failing-tests.patch b/mingw32-pthreads-2.8.0-20110511-no-failing-tests.patch
new file mode 100644
index 0000000..7199239
--- /dev/null
+++ b/mingw32-pthreads-2.8.0-20110511-no-failing-tests.patch
@@ -0,0 +1,30 @@
+diff -up pthreads-w32-20110511/tests/GNUmakefile.wine pthreads-w32-20110511/tests/GNUmakefile
+--- pthreads-w32-20110511/tests/GNUmakefile.wine 2011-05-12 12:05:40.000000000 +0300
++++ pthreads-w32-20110511/tests/GNUmakefile 2011-05-12 12:06:17.000000000 +0300
+@@ -101,11 +101,11 @@ TESTS = \
+ mutex7 mutex7n mutex7e mutex7r mutex8 mutex8n mutex8e mutex8r \
+ robust1 robust2 robust3 robust4 robust5 \
+ count1 \
+- once1 once2 once3 once4 self2 \
++ once1 once2 self2 \
+ cancel1 cancel2 \
+ semaphore4 semaphore4t semaphore5 \
+ barrier1 barrier2 barrier3 barrier4 barrier5 barrier6 \
+- tsd1 tsd2 openmp1 delay1 delay2 eyal1 \
++ tsd1 tsd2 delay1 delay2 eyal1 \
+ condvar3 condvar3_1 condvar3_2 condvar3_3 \
+ condvar4 condvar5 condvar6 condvar7 condvar8 condvar9 \
+ errno1 \
+@@ -331,9 +331,9 @@ mutex8e.pass: mutex7e.pass
+ mutex8r.pass: mutex7r.pass
+ once1.pass: create1.pass
+ once2.pass: once1.pass
+-once3.pass: once2.pass
+-once4.pass: once3.pass
+-openmp1.pass: tsd2.pass
++#once3.pass: once2.pass
++#once4.pass: once3.pass
++#openmp1.pass: tsd2.pass
+ priority1.pass: join1.pass
+ priority2.pass: priority1.pass barrier3.pass
+ reuse1.pass: create2.pass
diff --git a/mingw32-pthreads-2.8.0-use-wine-for-tests.patch b/mingw32-pthreads-2.8.0-20110511-use-wine-for-tests.patch
similarity index 58%
rename from mingw32-pthreads-2.8.0-use-wine-for-tests.patch
rename to mingw32-pthreads-2.8.0-20110511-use-wine-for-tests.patch
index b5cf1f2..d155f59 100644
--- a/mingw32-pthreads-2.8.0-use-wine-for-tests.patch
+++ b/mingw32-pthreads-2.8.0-20110511-use-wine-for-tests.patch
@@ -1,10 +1,10 @@
---- pthreads-w32-2-8-0-release/tests/GNUmakefile.orig 2008-10-10 14:16:03.000000000 +0100
-+++ pthreads-w32-2-8-0-release/tests/GNUmakefile 2008-10-10 14:19:06.000000000 +0100
-@@ -316,20 +316,20 @@
+--- pthreads-w32-20110511/tests/GNUmakefile.orig 2011-05-12 11:43:08.000000000 +0300
++++ pthreads-w32-20110511/tests/GNUmakefile 2011-05-12 11:43:36.000000000 +0300
+@@ -379,20 +379,20 @@ valid2.pass: valid1.pass
sizes.pass: sizes.exe
@ $(ECHO) Running $*
-- $< > SIZES.$(TEST)
+- ./$< > SIZES.$(TEST)
+ wine $< > SIZES.$(TEST)
@ $(CAT) SIZES.$(TEST)
@ $(ECHO) Passed
@@ -12,14 +12,14 @@
%.pass: %.exe
@ $(ECHO) Running $*
-- $*
+- ./$*
+ wine $*
@ $(ECHO) Passed
@ $(TOUCH) $@
%.bench: $(LIB) $(DLL) $(HDR) $(QAPC) $(XXLIBS) %.exe
@ $(ECHO) Running $*
-- $*
+- ./$*
+ wine $*
@ $(ECHO) Done
@ $(TOUCH) $@
diff --git a/mingw32-pthreads-flags.patch b/mingw32-pthreads-flags.patch
index 6da6beb..61431e0 100644
--- a/mingw32-pthreads-flags.patch
+++ b/mingw32-pthreads-flags.patch
@@ -4,9 +4,9 @@
RANLIB = $(CROSS)ranlib
RC = $(CROSS)windres
--OPT = $(CLEANUP) -O3 -finline-functions
+-OPT = $(CLEANUP) -O3 # -finline-functions -findirect-inlining
-DOPT = $(CLEANUP) -g -O0
-+OPT = $(CLEANUP) -O3 -finline-functions -mms-bitfields
++OPT = $(CLEANUP) -O3 -mms-bitfields # -finline-functions -findirect-inlining
+DOPT = $(CLEANUP) -g -O0 -mms-bitfields
XOPT =
diff --git a/mingw32-pthreads.spec b/mingw32-pthreads.spec
index 4b7aaff..ac6f1fe 100644
--- a/mingw32-pthreads.spec
+++ b/mingw32-pthreads.spec
@@ -6,10 +6,11 @@
# The tests take ages to run and require Wine.
%define run_tests 0
+%define prerelease_date 20110511
Name: mingw32-pthreads
Version: 2.8.0
-Release: 14%{?dist}
+Release: 15.%{prerelease_date}cvs%{?dist}
Summary: MinGW pthread library
%define crazy_version %(echo %{version}|tr . -)
@@ -17,17 +18,17 @@ Summary: MinGW pthread library
License: LGPLv2+
Group: Development/Libraries
URL: http://sourceware.org/pthreads-win32/
-Source0: ftp://sourceware.org/pub/pthreads-win32/pthreads-w32-%{crazy_version}-rel...
+# cvs -d :pserver:anoncvs@sourceware.org:/cvs/pthreads-win32 login
+# cvs -d :pserver:anoncvs@sourceware.org:/cvs/pthreads-win32 export -D 2011-05-11 -d pthreads-w32-20110511 pthreads
+# tar cjf pthreads-w32-20110511.tar.bz2 pthreads-w32-20110511
+Source0: pthreads-w32-%{prerelease_date}.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch: noarch
-Patch0: mingw32-pthreads-2.8.0-use-wine-for-tests.patch
-Patch1: mingw32-pthreads-2.8.0-no-failing-tests.patch
-Patch2: mingw32-pthreads-flags.patch
-# Sent upstream via email http://sourceware.org/ml/pthreads-win32/2009/msg00057.html
-# and rename the patch from http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/mingw/pthrea...
-Patch3: mingw32-pthreads-2.8.0-w32.patch
+Patch0: mingw32-pthreads-2.8.0-20110511-use-wine-for-tests.patch
+Patch1: mingw32-pthreads-2.8.0-20110511-no-failing-tests.patch
+Patch2: mingw32-pthreads-flags.patch
BuildRequires: mingw32-filesystem >= 49
BuildRequires: mingw32-gcc
@@ -55,12 +56,11 @@ high-quality solution to this problem.
%prep
-%setup -q -n pthreads-w32-%{crazy_version}-release
+%setup -q -n pthreads-w32-%{prerelease_date}
%patch0 -p1
%patch1 -p1
%patch2 -p1
-%patch3 -p1
%build
@@ -98,9 +98,6 @@ install -m 0644 pthread.h $RPM_BUILD_ROOT%{_mingw32_includedir}
install -m 0644 sched.h $RPM_BUILD_ROOT%{_mingw32_includedir}
install -m 0644 semaphore.h $RPM_BUILD_ROOT%{_mingw32_includedir}
-# Fix up installed pthread.h to not include private config.h
-sed -i '/#include "config.h"/d' $RPM_BUILD_ROOT%{_mingw32_includedir}/pthread.h
-
# Create a symlink from libpthreadGC2.a to libpthread.a because of BZ #498616
ln -s libpthreadGC2.a $RPM_BUILD_ROOT%{_mingw32_libdir}/libpthread.a
@@ -123,6 +120,10 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Thu May 12 2011 Kalev Lember <kalev(a)smartlink.ee> - 2.8.0-15.20110511cvs
+- Update to 2011-05-11 cvs snapshot
+- Dropped upstreamed mingw32-pthreads-2.8.0-w32.patch
+
* Thu May 12 2011 Kalev Lember <kalev(a)smartlink.ee> - 2.8.0-14
- Don't install private headers, most notably config.h
diff --git a/sources b/sources
index b7472f6..299e825 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-6d30c693233b1464ef8983fedd8ccb22 pthreads-w32-2-8-0-release.tar.gz
+30200c77d2042bdb479a1c8cf6a44471 pthreads-w32-20110511.tar.bz2
13 years, 1 month