[Bug 604702] New: Custom Fedora patch to mingw32-libjpeg breaks 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.
Summary: Custom Fedora patch to mingw32-libjpeg breaks API
https://bugzilla.redhat.com/show_bug.cgi?id=604702
Summary: Custom Fedora patch to mingw32-libjpeg breaks API
Product: Fedora
Version: 13
Platform: All
OS/Version: Linux
Status: NEW
Severity: medium
Priority: low
Component: mingw32-libjpeg
AssignedTo: rjones(a)redhat.com
ReportedBy: adam(a)spicenitz.org
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
Description of problem:
The resolution of bug #497492 creates a source incompatible fork of libjpeg
that is not even compatible with the native libjpeg!
Version-Release number of selected component (if applicable):
mingw32-libjpeg-7-2.fc12.noarch
Steps to Reproduce:
1. Try to compile libtiff with standard Fedora configure, make.
2. Now try to compile libtiff with mingw32-configure, mingw32-make.
Actual results:
tif_jpeg.c:289: error: expected declaration specifiers or '...' before
'boolean'
etc.
I don't think we should fork libjpeg in Fedora. Bug #497492 should be reopened
and the programs that crash should be fixed.
--
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.
12 years, 1 month
jmorecfg.h INT32
by Nerijus Baliunas
Hello,
I am trying to compile poppler-0.16.7 on Fedora 15. mingw32-configure fails to link libopenjpeg:
checking for opj_cio_open in -lopenjpeg... no
checking openjpeg.h usability... yes
checking openjpeg.h presence... yes
checking for openjpeg.h... yes
Why? But running mingw32-cmake instead of mingw32-configure enables libopenjpeg support.
Later it fails:
In file included from /usr/i686-pc-mingw32/sys-root/mingw/include/winnt.h:192:0,
from /usr/i686-pc-mingw32/sys-root/mingw/include/windef.h:253,
from /home/nerijus/rpmbuild/BUILD/poppler-0.16.7/poppler/poppler-config.h:83,
from /home/nerijus/rpmbuild/BUILD/poppler-0.16.7/poppler/Error.h:33,
from /home/nerijus/rpmbuild/BUILD/poppler-0.16.7/goo/JpegWriter.cc:17:
/usr/i686-pc-mingw32/sys-root/mingw/include/basetsd.h:52:13: error: conflicting declaration 'typedef int INT32'
/usr/i686-pc-mingw32/sys-root/mingw/include/jmorecfg.h:164:14: error: 'INT32' has a previous declaration as 'typedef long int INT32'
It is a known problem, I know wxWidgets have workaround for it. Which one should I use?
Regards,
Nerijus
12 years, 2 months
remove .la files?
by Kalev Lember
Hello,
Currently the Fedora MinGW packaging guidelines have a special exception
which allows the packages to install .la files. For native packages,
however, they are explicitly banned, and with good reasons.
We've been talking about this for quite some time, and now I'd like to
propose that we remove the .la files from most mingw packages.
What do the .la files do?
-------------------------
They were originally designed for linking back in the time when there
were no shared libraries. Nowadays however we have dynamic libraries
(the .so and .dll files) which can already contain all the interesting
information that the .la files used to convey, making them largely useless.
Lets say we have 2 libraries and an executable:
1) libA;
2) libB, which uses a symbol from libA;
3) executable foobar, which uses a symbol from libB, but doesn't use
any symbols from libA.
Now, if we link libB to foobar, we'll somehow also need to make sure
that the symbol that libB uses from libA gets resolved. With dynamic
linking, elf .so files have the DT_NEEDED section (and .dll files have a
similar DLL Name section), so that the dynamic linker automatically also
loads libA.so when libB.so gets loaded.
With static linking, however, it's not automatic.
The .a files -- static libraries -- are just archives, with no metadata
about other dependant libraries. And because of that, when linking
foobar executable, we'll need to explicitly specify -lA and -lB on the
linker command line.
This is one of the things that the .la files try to work around: the
dependency_libs section specifies all other libraries that this one
depends on.
Why would we want to remove the .la files?
------------------------------------------
The dependency_libs section in .la files gets way too many entries,
making updates that change DLL names very painful.
Erik and I have been discussing libpng 1.4 -> 1.5 related rebuilds, and
the .la files make it much harder to do. Without the .la files, there
would just be 8 packages to rebuild:
$ repoquery --disablerepo='*' --enablerepo=rawhide --whatrequires
mingw32-libpng | sort | uniq | wc -l
8
But when taking into account the .la files dependency_libs section, the
list quickly grows to 19:
$ grep -l -E '^dependency_libs.*libpng(14)?.la' *.la | xargs rpm -qf |
sort | uniq | wc -l
19
When libtool is used for linking and one of the libraries in a .la
file's dependency_libs section is missing, the linking fails. And this
means that a simple library upgrade can result in tons of rebuilds, just
to make the .la files happy.
Why would we NOT want to remove the .la files?
----------------------------------------------
The .la files are still useful for linking static libs.
However, most of the packages that contain .la files contain no static
libs and the .la files should be safe to remove from there.
For static libs, the pkgconfig files have a special Libs.private section
with the same purpose. Most of the packages that use libtool also tend
to use pkg-config for linking, so they get the necessary information
also from the .pc files and the .la files are hopefully not needed.
--
Kalev
12 years, 2 months
[mingw32-freetype] Update to 2.4.8
by Kalev Lember
commit 63590dfbc05e52ca8874da75f5227844a2f8a893
Author: Kalev Lember <kalevlember(a)gmail.com>
Date: Tue Jan 31 22:17:29 2012 +0200
Update to 2.4.8
.gitignore | 2 +
freetype-2.4.2-CVE-2010-3311.patch | 37 ------------------------------------
mingw32-freetype.spec | 9 ++++---
sources | 4 +-
4 files changed, 9 insertions(+), 43 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index ae3ec1c..77411fd 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,3 +4,5 @@ freetype-doc-2.3.11.tar.gz
/freetype-doc-2.4.5.tar.bz2
/freetype-2.4.6.tar.bz2
/freetype-doc-2.4.6.tar.bz2
+/freetype-2.4.8.tar.bz2
+/freetype-doc-2.4.8.tar.bz2
diff --git a/mingw32-freetype.spec b/mingw32-freetype.spec
index 759bc36..4f52e1a 100644
--- a/mingw32-freetype.spec
+++ b/mingw32-freetype.spec
@@ -7,8 +7,8 @@
%{!?_with_subpixel_rendering: %{!?_without_subpixel_rendering: %define _without_subpixel_rendering --without-subpixel_rendering}}
Name: mingw32-freetype
-Version: 2.4.6
-Release: 2%{?dist}
+Version: 2.4.8
+Release: 1%{?dist}
Summary: Free and portable font rendering engine
License: FTL or GPLv2+
@@ -23,7 +23,6 @@ Patch21: freetype-2.3.0-enable-spr.patch
Patch46: freetype-2.2.1-enable-valid.patch
#Patch47: freetype-2.3.11-more-demos.patch
Patch88: freetype-multilib.patch
-Patch89: freetype-2.4.2-CVE-2010-3311.patch
BuildArch: noarch
@@ -51,7 +50,6 @@ MinGW Windows Freetype library.
#%patch47 -p1 -b .more-demos
%patch88 -p1 -b .multilib
-%patch89 -p1 -b .CVE-2010-3311
%build
@@ -83,6 +81,9 @@ make DESTDIR=$RPM_BUILD_ROOT install
%changelog
+* Mon Jan 30 2012 Kalev Lember <kalevlember(a)gmail.com> - 2.4.8-1
+- Update to 2.4.8
+
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 2.4.6-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
diff --git a/sources b/sources
index 3df77bc..75a4d70 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-5e6510613f612809d2d7862592b92ab7 freetype-2.4.6.tar.bz2
-e9ba39c2ca46e887e995d70f03284188 freetype-doc-2.4.6.tar.bz2
+dbf2caca1d3afd410a29217a9809d397 freetype-2.4.8.tar.bz2
+538c925059e90be23928b454c14df728 freetype-doc-2.4.8.tar.bz2
12 years, 2 months
[mingw32-filesystem] Remove the mingw32-pkg-config wrapper as well
by Kalev Lember
commit 32d11948823c958e8443d16d8dc1ca95701dd380
Author: Kalev Lember <kalevlember(a)gmail.com>
Date: Tue Jan 31 22:04:23 2012 +0200
Remove the mingw32-pkg-config wrapper as well
macros.mingw32 | 2 --
mingw32-filesystem.spec | 9 ++++++---
mingw32-scripts.sh | 6 +-----
3 files changed, 7 insertions(+), 10 deletions(-)
---
diff --git a/macros.mingw32 b/macros.mingw32
index 54cf300..d80d38e 100644
--- a/macros.mingw32
+++ b/macros.mingw32
@@ -99,8 +99,6 @@ package or when debugging this package.\
done; \
unset x i
-%_mingw32_pkg_config %{_mingw32_target}-pkg-config
-
%_mingw32_configure %{_mingw32_env} ; \
__mingw32_topdir=.; if ! test -x configure; then __mingw32_topdir=..; fi; \\\
$__mingw32_topdir/configure --cache-file=%{_mingw32_cache} \\\
diff --git a/mingw32-filesystem.spec b/mingw32-filesystem.spec
index 68034b2..5c571e4 100644
--- a/mingw32-filesystem.spec
+++ b/mingw32-filesystem.spec
@@ -2,7 +2,7 @@
Name: mingw32-filesystem
Version: 69
-Release: 12%{?dist}
+Release: 13%{?dist}
Summary: MinGW base filesystem and environment
Group: Development/Libraries
@@ -103,7 +103,7 @@ install -m 755 %{SOURCE6} $RPM_BUILD_ROOT%{_libexecdir}/mingw32-scripts
mkdir -p $RPM_BUILD_ROOT%{_bindir}
pushd $RPM_BUILD_ROOT%{_bindir}
-for i in mingw32-configure mingw32-make mingw32-pkg-config mingw32-cmake mingw32-qmake-qt4; do
+for i in mingw32-configure mingw32-make mingw32-cmake mingw32-qmake-qt4; do
ln -s %{_libexecdir}/mingw32-scripts $i
done
popd
@@ -179,7 +179,6 @@ install -m 644 %{SOURCE8} $RPM_BUILD_ROOT%{_datadir}/mingw32
%config(noreplace) %{_sysconfdir}/rpmlint/mingw32-rpmlint.config
%{_bindir}/mingw32-configure
%{_bindir}/mingw32-make
-%{_bindir}/mingw32-pkg-config
%{_bindir}/mingw32-cmake
%{_bindir}/mingw32-qmake-qt4
%{_libexecdir}/mingw32-scripts
@@ -190,6 +189,10 @@ install -m 644 %{SOURCE8} $RPM_BUILD_ROOT%{_datadir}/mingw32
%changelog
+* Tue Jan 31 2012 Kalev Lember <kalevlember(a)gmail.com> - 69-13
+- Remove the mingw32-pkg-config wrapper as well, now that we have separate
+ mingw32-pkg-config package
+
* Tue Jan 31 2012 Erik van Pienbroek <epienbro(a)fedoraproject.org> - 69-12
- Don't provide the wrapper i686-pc-mingw32-pkg-config anymore as we now
have a mingw32-pkg-config package
diff --git a/mingw32-scripts.sh b/mingw32-scripts.sh
index f068e0a..8f36dd2 100755
--- a/mingw32-scripts.sh
+++ b/mingw32-scripts.sh
@@ -21,11 +21,7 @@
# This is a useful command-line script through which one can use the
# macros from mingw32-macros.mingw32 cross-compilation.
-if [ "`basename $0`" = "i686-pc-mingw32-pkg-config" ] ; then
- NAME="_mingw32_pkg_config"
-else
- NAME="_`basename $0|tr -- - _`"
-fi
+NAME="_`basename $0|tr -- - _`"
# NOTE: The use of 'eval' in combination with '$@' is a potential security risk
# We should find a more safe replacement for this command
12 years, 2 months
[mingw32-filesystem] Fix filelist
by Erik van Pienbroek
commit adfc0e1651d0afb74ac56e66a67b3267e80c7739
Author: Erik van Pienbroek <epienbro(a)fedoraproject.org>
Date: Tue Jan 31 20:53:16 2012 +0100
Fix filelist
mingw32-filesystem.spec | 1 -
1 files changed, 0 insertions(+), 1 deletions(-)
---
diff --git a/mingw32-filesystem.spec b/mingw32-filesystem.spec
index ec2147f..68034b2 100644
--- a/mingw32-filesystem.spec
+++ b/mingw32-filesystem.spec
@@ -180,7 +180,6 @@ install -m 644 %{SOURCE8} $RPM_BUILD_ROOT%{_datadir}/mingw32
%{_bindir}/mingw32-configure
%{_bindir}/mingw32-make
%{_bindir}/mingw32-pkg-config
-%{_bindir}/i686-pc-mingw32-pkg-config
%{_bindir}/mingw32-cmake
%{_bindir}/mingw32-qmake-qt4
%{_libexecdir}/mingw32-scripts
12 years, 2 months