-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

S[mart|tupid] build[1] got a major update

= About =

sbuild is a set of scripts that build various free software packages for
Windows from the source, starting with a GCC toolchain (cross-compiled)
and MSYS2 core (cross-compiled), and ending with various applications
(msys2-git, msys2-subversion, mingw-gdb), libraries and frameworks
(GTK+, GNUnet, GStreamer). All buildscripts are written in
simple-to-understand-style of POSIX shell language, and a few small
utilities are in Python.

= Release Highlights =

== MSYS2 ==

Very few changes, mostly maintenance.

== MinGW ==

GCC-4.9.0 came out, and this release brings it to sbuild.

=== Sanitizer ===

One of the new things that seem to be working is the sanitizer.
Only Undefined Behaviour sanitizer works for now (Address sanitizer compiles,
but fails to initialize properly; ktietz promised to look into it).
To use it, add -fsanitize=undefined to C(XX)FLAGS, and add
- -Wc,-fsanitize=undefined to LDFLAGS for each individual libtool library (or,
if you're not using libtool, just add -fsanitize=undefined to gcc arguments
for linking); Adding that to global LDFLAGS will *not* work, and putting
unguarded -fsanitize=undefined into LDFLAGS will not work either (libtool
will remove it). Hopefully, this situation will improve.

=== LTO ===

Another thing that may be of interest is LTO.
Binutils in 5.0 has a hack[2] applied to it that enables static libraries
with LTO to be linked, which allows LTO to be used in many real-life programs.
To use LTO, add -flto to C(XX)FLAGS and LDFLAGS.
Some packages fail to build with LTO. For a complete list of such packages,
grep Gentoo forums.
A visible side-effect of using LTO is that shared libraries may export more
symbols than they used to. This can be improved by making use of
dllexport/visibility machinery (like GTK+ does), -export-symbols <deffile> or
- -export-symbols-regex <regex> for libtool.
I don't have any benchmar results that would (or would not) show performance
improvements due to LTO. Binaries sometimes come out smaller than they used
to, and sometimes slightly bigger.
Sadly, LTO completely botchers the debug info for the libraries built with
it. Because currently i don't do separate debug builds (all builds are with
- -g -O2 (rarely - -O3), and then debug info is split into separate files that
are optional to install), this makes LTO much less usable.

=== Other updates ===

GNU Guile is still at 2.0.9, because 2.0.11 (the latest version) fails to
build. I've been told that some people are working to fix this, so,
hopefully, guile will be updated later on.

In related news, gnutls-guile is now built again as part of gnutls. No idea
whether it works or not though.

All GStreamer packages got a major update to 1.3.1. Of note is the winks
plugin in -bad, which allows GStreamer to receive video from cameras on W32.
Also, gst-plugins-gl was merged into -bad, and is now available normally,
without pulling unreleased git snapshots from GStreamer repositories.

GTK+ received some W32 theme fixes upstream.
The issue of RGBA windows and client-side decoration was looked into: as long
as you're not using RDP (on client versions of Windows, where desktop
composition over RDP does not work (or where graphic goes through a
transition when RDP connection is made); server versions have a
policy-adjustable option to enable desktop composition over RDP), and not
using mirror display driver for VNC, GTK+ windows will retain their
decorations. In any event, newly-created windows will pick up on the
availability of desktop composition, and will be (un-)decorated accordingly.
While new GTK+-3.x works on XP, its support is waning.
I've only be able to do limited testing on Windows 8. GTK+ works, but there
are some quirks to work out.

Fontconfig got more options enabled by default, more Windows-compatible
config files installed by default. Freetype2 is built with harfbuzz support.
Hopefully, this improve font rendering when fontconfig backend is used.

dlfcn-win32 was suddenly brought back to life - it received some patches
upstream. Yay for the new maintainer!

Mercurial is now built. There are some quirks to work out, but at least
that's a start.

Ruby is now built. I've used it to build webkitgtk, so it appears to be
working to some degree.

libassuan and libksba are built. These are needed for gnupg. Gnupg itself is
not in the list yet, but it will be (buildscripts are available, just didn't
have time or incentives to merge them). Though i should mention that current
gnupg maintainer seems to regard any mingw+gcc+autotools build as
unsupported, so it will be mostly for internal use only.

== Issues that may have been fixed ==

xsltproc.exe from msys-xsltproc might segfault. Re-run the build from
the last step.
One of the patches to xsltproc was badly broken. It's fixed now. Whether this
also fix the segfault remains to be seen.

== Issues for which nothing is known ==

On one occasion gnome-doc-utils buildscript was reported to act in a
manner similar to a fork bomb (!?!?), repeatedly (on restarts of the
build process). Unable to reproduce, re-running the build from scratch
seemed to have helped.
No new reports of this bug.

gobject-introspection might fail to generate stuff (failure at
shutil.rmtree() in gdumpparser.py), especially on slow machines. Re-run
the build from the last step.
No new insights into this bug.

= List of new packages =

mingw-libassuan-2.1.1-1
mingw-libksba-1.3.0-1
mingw-ruby2.0-2.1.0-1
mingw-mercurial-2.9-1

= List of updated W32-compiled packages =

mingw-gtk+-3.0 to 3.13.1-1
mingw-glade to 3.18.2-1
mingw-gdb to 7.7-1
mingw-glib-2.0 to 2.40.0-1
mingw-curl to 7.36.0-1
mingw-gnurl to 7.36.0-1
mingw-glpk to 4.54-1
mingw-libatomic_ops to 7.4.2-1
mingw-libgpg-error to 1.13-1
mingw-libpng16 to 1.6.10-1
mingw-libtasn1 to 3.5-1
mingw-dbus-1 to 1.8.2-1
mingw-gnutls to 3.2.13-1
mingw-freetype2 to 2.5.3-1
mingw-fontconfig to 2.11.1-1
mingw-python-markupsafe to 0.21-1
mingw-gobject-introspection-1.0 to 1.40.0-1
mingw-gsettings-desktop-schemas-3.0 to 3.12.0-1
mingw-json-glib-1.0 to 1.0.0-1
mingw-harfbuzz to 0.9.27-1
mingw-pango-1.0 to 1.36.3-1
mingw-gnome-common to 3.12.0-1
mingw-atk-1.0 to 2.12.0-1
mingw-libjpeg-turbo to 1.3.1-1
mingw-jbigkit to 2.1-1
mingw-lcms2 to 2.6-1
mingw-gdk-pixbuf-2.0 to 2.30.7-1
mingw-gtk+-2.0 to 2.24.23-1
mingw-librsvg to 2.40.2-1
mingw-gnome-icon-theme to 3.12.0-1
mingw-gnome-icon-theme-symbolic to 3.12.0-1
mingw-gtksourceview to 3.12.1-1
mingw-pygobject to 3.12.1-1
mingw-libplibc to svn-r156-1
mingw-iso-codes to 3.52-1
mingw-gtkspell3 to 3.0.6-1
mingw-libmicrohttpd to 0.9.35-1
mingw-glib-networking to 2.40.1-1
mingw-sqlite3 to 3.8.4.3-1
mingw-orc-0.4 to 0.4.19-1
mingw-libsoup-2.4 to 2.46.0-1
mingw-libcdio to git-59e5c5a5c10796269b54b820bea2a1b048cc7e1a-1
mingw-libdvdread to 4.9.9-1
mingw-x264 to 20140425-2245-stable-1
mingw-libass to 0.11.2-1
mingw-libmodplug to 0.8.8.5-1
mingw-daala to git-b8ce3539fb9759d4118b04030abeb7e71176247e-1
mingw-mpg123 to 1.19.0-1
mingw-giflib to 5.0.6-1
mingw-gstreamer-1.0 to 1.3.1-1
mingw-gst-plugins-base-1.0 to 1.3.1-1
mingw-gst-plugins-good-1.0 to 1.3.1-1
mingw-gst-plugins-ugly-1.0 to 1.3.1-1
mingw-gst-plugins-bad-1.0 to 1.3.1-1
mingw-gst-libav-1.0 to 1.3.1-1
mingw-libav to 10-1
mingw-libgsf-1 to 1.14.30-1
mingw-file to 5.18-1
mingw-libextractor to svn-r33142-1
mingw-gnunet to svn-r33142-1
mingw-gnunet-gtk to svn-r33142-1

msys-libatomic_ops to 7.4.2-1

= List of updated cross-compiled packages =

mingw-mingw-w64-crt-svn-r6594-1
mingw-mingw-w64-headers-svn-r6594-1
mingw-winpthreads-svn-r6594-1
mingw-binutils-git-39d1b2aef3c1dbbf31d82e555624afcbda9d58e7-1
mingw-gcc-4.9.0-1
mingw-gmp-6.0.0a-1

msys-ca-certificates-1.97-1

All mingw packages that didn't have upstream updates by this point got a
revision bump to acknowledge the fact that they are being built with new GCC
version. Although some of them did get new patches along the way.


[1] https://www.gitorious.org/sbuild/sbuild/archive/5.0.1.tar.gz
[2] https://sourceware.org/bugzilla/show_bug.cgi?id=13557


- -- 
O< ascii ribbon - stop html email! - www.asciiribbon.org
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (MingW32)

iQEcBAEBAgAGBQJTayaeAAoJEOs4Jb6SI2CwVegH/isuvjMnIz7XocaysazlEJ8l
7kze6c68GbgnhyItv1jS8U5z9EUD2Tzoe1rH3QzCgdz4TIhyRpD6lawA8ZAyVaZ/
OYt2E3wc179oUicent3gIv9Zxy95JqtESdBtHL0Gx5gAmdlVeTxBxW184oDluSmR
C7Il9LnDu58GgEZwZBx/zlqPmjrNRYkQLHBPhdxCie+hCS+vYcJbjzJ8GaA2XS+u
b9m3ljZWLWj4J30NyZwpcDE641DsIaKHg6Ftd9dcyD67XnJpYBbAKaQkEMy2aOO1
XB92HIuxkS8VEuIHvcdgF32IxYKjtus1nR5DQoji2KH0Hy9CvNP3f5Au6WrJUno=
=cADs
-----END PGP SIGNATURE-----

------------------------------------------------------------------------------
Is your legacy SCM system holding you back? Join Perforce May 7 to find out:
&#149; 3 signs your SCM is hindering your productivity
&#149; Requirements for releasing software faster
&#149; Expert tips and advice for migrating your SCM now
http://p.sf.net/sfu/perforce
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to