S[mart|tupid] build[1] is updated to 6.0 [2] = 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 = == Migration to Launchpad == Since Gitorious is being closed down, i had to find new free software hosting for this project. Launchpad turned out to be the only one still-alive free AGPL-licensed hosting that would accept sbuild (Savannah is also alive, free and AGPL, but they are rather picky, and i wasn't sure they'd let me host the files there), so Launchpad it is. Sadly, this means migrating from git to bzr, but at least i'll finally have an opportunity to try this VCS for real. Hopefully, this won't be for long, as Launchpad may get[3] native git support later. A side-effect is that i've had to come to terms with the fact (which i was aware of, but it was easy to disregard it until now) that "sbuild" is not a unique name, so the Launchpad project is named StupidBuild. == Cross-compilation script rework == MSYS2 and MinGW-w64 cross-compilation scripts were significantly rewritten. Now both are written completely in Python (MSYS2 script was written in shell before, and MinGW-w64 script was driven by a top-level shell script) and are somewhat nicer. One good side-effect is that now cross-compiled packages will have proper -bld and -src packages and release notes - something that my MSYS2 cross-compiled packages lacked. == MSYS2 == Added a few packages that i thought useful: procps - provides a souped-up version of the "ps" program that stock MSYS2 lacks. colordiff & dwdiff - provide colored diff and a (also colored, if needed) word-based diff. I've supplied a "diffwc" script that adds a bit more colors to the output of dwdiff and calls it with all the appropriate flags, piping the output of an ordinary diff. Due to some problems with Debian's mingw-w64 packages i had trouble updating the W32API part of MSYS2 devfiles past the January 2015 version. The problems are temporary and are expected to eventually go away as Debian updates its mingw-w64 cross-compiler packages. For now there's a new feature in MSYS2 cross-compilation script to use the cross-compiler built by the MinGW branch of sbuild instead of the cross-compiler provided by Debian. Cross-compiled parts had massive version bumps all over the place, including newer bash, binutils, gcc, ca-certificates, gettext, ncurses and openssl. xz was not updated because of some incompatibilities with Cygwin. I've read that these were recently fixed, but this sbuild update was delayed for too long already, so newer xz will have to wait until next time. I've added some file list checks to the packing parts of the scripts, so now the list of installed files staged for packing is compared to the list of files actually packed. This allowed me to learn exactly which files were omitted and which files were packed twice (in different packages). That led to a few packaging bugs being fixed. igncr shell option is no longer enabled by default. This affects both MSYS and MinGW shell. A python2-utf8.sh startup script in /etc/profile.d forces Python to use UTF-8 encoding. I'm still unsure whether this will have any adverse effects. A matching change to console codepage (chcp 65001) was planned, but was disabled at the last moment, since it caused Python to error-out on write() to console. == MinGW == I *think* i've found the source of the strange bug in mercurial that caused it to crash sporadically - the culprit seems to be the use of msvcr90 and msvcrt in the same DLL. The only way to fix this was to hack on Python distutils. Until now sbuild relied on upstream W32 CPython, with was tweaked a bit with a few symlinks, import libraries and extra scripts, without changing Python itself. This is no longer true. If Python purity is important, i would suggest having a separate Python 2.7.x installation for sbuild use only. Note that this still doesn't fix some of the problems that arise from mixing msvcrXX and msvcrt. Namely, pyliblzma extension will segfault (presumably - because it uses a file object from msvcr90 with msvcrt functions), and mercurial will also segfault while trying to write into a file using a utility extension written in C (which is why it's been patched to use pure-Python version of that extension). The toolchain saw some updates - minor version bumps on bintuils, gcc, and a major one on mingw-w64 crt/headers (which is the reason why the update was delayed for so long - i've been waiting for MinGW-w64 4.x to be released). Bzr (and Cython as a prerequisite) was added. I think the only mainstream VCS missing in sbuild now is CVS... I finally gave up and axed Guile from the list of MinGW packages. I've read that some progress is being made on fixing the Windows port of Guile, but until then it's very not fun to build it. MSYS2 version of Guile is still there though. libgnurx was put to rest and replaced with libsystre - a thin wrapper that exposes an interface similar to libgnurx, but calls libtre underneath. The change was deemed necessary because libgnurx is abandonware with no future whatsoever. Now, libtre seems to be heading the same way, but at least it stopped getting updates a few years ago (instead of ... a decade? When was libgnurx last updated?). There's a RE2 regex library, which is (supposedly) well-written (even though it's C++) and secure, but creating a POSIX wrapper around it proved to be too much for my meager C++ skills *and* my lack of precise understanding of POSIX requirements for regular expressions. If anyone reading this knows POSIX regexps and C++, please consider writing such a wrapper. More -bad gstreamer plugins are built now (the libraries they depend on were added too), although some of them are comebacks from the days of yore (that is, 0.10 - the porting to 1.0 is still ongoing). = List of updated W32-compiled packages = MSYS packages: rebase 4.4.1-1 -> 4.4.1-2 dash 0.5.7-2 -> 0.5.8-1 unzip 6.0-3 -> 6.0-4 gdbm 1.10-2 -> 1.10-3 perl 5.18.0-5 -> 5.20.1-1 autoconf 13.1-1 -> 13.1-2 autoconf2.1 2.13-1 -> 2.13-2 autoconf2.5 2.64-1 -> 2.64-2 autoconf2.5 2.67-1 -> 2.67-2 autoconf2.5 2.69-1 -> 2.69-2 automake 9.1-1 -> 10.1-1 automake1.10 1.10.3-1 -> 1.10.3-2 automake1.11 1.11.6-1 -> 1.11.6-2 automake1.12 1.12.6-1 -> 1.12.6-2 automake1.13 1.13.4-1 -> 1.13.4-2 automake1.14 1.14-1 -> 1.14.1-1 pkg-config 0.28-2 -> 0.28-3 libffi 3.0.13-2 -> 3.2.1-1 which 2.20-2 -> 2.21-1 help2man 1.44.1-1 -> 1.46.4-1 texinfo 5.2-2 -> 5.2-3 libtasn1 3.4-1 -> 4.2-1 p11-kit 0.20.2-2 -> 0.22.1-1 icu4c 52.1-3 -> 54.1-1 sqlite3 3.8.2-1 -> 3.8.7.4-1 db4.8 4.8.30-2 -> 4.8.30-3 python2.7 2.7.6-2 -> 2.7.9-1 libxml2 2.9.1-2 -> 2.9.2-1 gnupg 1.4.16-1 -> 1.4.18-1 perl_vendor 5.18.0-10 -> 5.20.1-1 dos2unix 6.0.4-1 -> 7.1-1 libidn 1.28-2 -> 1.29-1 libmetalink 0.1.2-2 -> 0.1.2-3 tcp-wrappers 7.6-2 -> 7.6-3 libedit 20130712-2 -> 20141030-1 openssh 6.5p1-1 -> 6.7p1-1 apr-1 1.5.0-1 -> 1.5.1-1 apr-util-1 1.5.3-1 -> 1.5.4-1 swig 2.0.11-2 -> 3.0.3-1 getopt 1.1.5-2 -> 1.1.6-1 xmlto 0.0.25-1 -> 0.0.26-1 xorg-util-macros 1.18.0-1 -> 1.19.0-1 xproto 7.0.25-1 -> 7.0.27-1 lndir 1.0.3-2 -> 1.0.3-3 scons 2.3.0-1 -> 2.3.4-1 serf-1 1.3.3-1 -> 1.3.8-1 subversion 1.8.5-1 -> 1.8.11-1 libxslt 1.1.28-3 -> 1.1.28-4 asciidoc 8.6.9-1 -> 8.6.9-2 libssh2 1.4.3-2 -> 1.4.3-3 curl 7.35.0-1 -> 7.40.0-1 docbook-xsl 1.76.1-1 -> 1.78.1-1 git 1.8.5.3-1 -> 2.3.4-1 bash-completion 2.1-1 -> 2.1-1 libunistring 0.9.3-2 -> 0.9.5-1 libatomic_ops 7.4.2-1 -> 7.4.2-2 bdw-gc 7.4.0-2 -> 7.4.2-1 guile 2.0.9-2 -> 2.0.9-3 intltool 0.50.2-1 -> 0.50.2-2 gnome-doc-utils 0.20.10-2 -> 0.20.10-3 gperf 3.0.4-2 -> 3.0.4-3 vim 7.4-2 -> 7.4-3 Added MSYS packages: automake1.15-1.15-1 docbook2x-0.8.8-1 procps-ng-3.3.10-1 popt-1.16-1 cygutils-1.4.14-1 colordiff-1.0.13-1 dwdiff-2.0.10-1 Removed MinGW packages: libgnurx-2.5.1-6 guile-2.0.9-6 ruby2.0-2.1.2-1 Added MinGW packages: automake1.15-1.15-1 tre-git-c2f5d13-1 systre-1.0.1-1 python-docutils-0.12-1 Cython-0.22-1 bzr-2.6.0-1 xorg-util-macros-1.19.0-1 libepoxy-1.2-1 ruby2.2-2.2.1-1 speexdsp-1.2rc3-1 game-music-emu-0.6.0-1 neon-0.30.1-1 libkate-0.4.1-1 Updated MinGW packages: autoconf2.5 2.69-2 -> 2.69-3 autoconf2.5 2.64-3 -> 2.64-4 autoconf2.5 2.67-2 -> 2.67-3 autoconf2.1 2.13-1 -> 2.13-2 autoconf 12.1-2 -> 13.1-1 automake1.11 1.11.6-5 -> 1.11.6-6 automake1.12 1.12.6-3 -> 1.12.6-4 automake1.13 1.13.1-2 -> 1.13.4-1 automake1.14 1.14-1 -> 1.14.1-1 automake 9.1-1 -> 10.1-1 libtool 2.4.2-4 -> 2.4.6-1 pexports 0.46-5 -> 0.46-6 w32-cpython2.7-lib 1.0-4 -> 1.0-5 dlfcn-win32 r19-8 -> 1.0.0-1 zlib 1.2.8-4 -> 1.2.8-5 bzip2 1.0.6-4 -> 1.0.6-5 expat 2.1.0-4 -> 2.1.0-5 gettext 0.19.2-1 -> 0.19.4-1 pkg-config 0.28-4 -> 0.28-5 libiconv 1.14-5 -> 1.14-6 gdb 7.7.1-1 -> 7.9-1 tcl8.6 8.6.1-3 -> 8.6.4-1 tk8.6 8.6.1-3 -> 8.6.4-1 mercurial 2.9-2 -> 3.3.2-1 libunistring 0.9.3-6 -> 0.9.5-1 libffi 3.1-1 -> 3.2.1-1 xz 5.0.5-4 -> 5.0.8-1 libxml2 2.9.1-4 -> 2.9.2-1 libgpg-error 1.13-1 -> 1.18-1 libgcrypt 1.6.1-2 -> 1.6.3-1 libksba 1.3.0-1 -> 1.3.2-1 libassuan 2.1.1-1 -> 2.2.0-1 pyicon-naming-utils 0.8.90-3 -> 0.8.90-4 libxslt 1.1.28-7 -> 1.1.28-8 intltool 0.50.2-3 -> 0.51.0-1 libatomic_ops 7.4.2-1 -> 7.4.2-2 bdw-gc 7.4.0-3 -> 7.4.2-1 gtk-doc 1.21-1 -> 1.21-2 nettle 2.7.1-4 -> 2.7.1-5 libtasn1 4.0-1 -> 4.3-1 p11-kit 0.20.3-1 -> 0.23.1-1 glib-2.0 2.41.2-2 -> 2.44.0-1 dbus-1 1.8.6-1 -> 1.9.14-1 libcroco-0.6 0.6.8-2 -> 0.6.8-3 gnutls 3.2.16-1 -> 3.3.13-1 libidn 1.28-4 -> 1.30-1 rtmpdump git-a1900c3e152085406ecb87c1962c55ec9c6e4016-1 -> git-a1900c3e152085406ecb87c1962c55ec9c6e4016-2 curl 7.37.1-1 -> 7.41.0-1 gnurl 7.37.1-1 -> 7.41.0-1 ragel 6.8-4 -> 6.9-1 glpk 4.54-1 -> 4.55-1 libpng16 1.6.12-1 -> 1.6.16-1 freetype2 2.5.3-1 -> 2.5.5-1 fontconfig 2.11.1-2 -> 2.11.93-1 glew 1.10.0-5 -> 1.12.0-1 libarchive 3.1.2-4 -> 3.1.2-5 pixman-1 0.32.4-2 -> 0.32.6-1 cairo 1.12.16-3 -> 1.14.2-1 python-markupsafe 0.23-1 -> 0.23-2 python-mako 1.0.0-1 -> 1.0.1-1 gobject-introspection-1.0 1.41.4-1 -> 1.44.0-1 gsettings-desktop-schemas-3.0 3.13.2-1 -> 3.16.0-1 json-glib-1.0 1.0.2-1 -> 1.0.4-1 icu4c 52.1-3 -> 54.1-1 harfbuzz 0.9.33-1 -> 0.9.40-1 pango-1.0 1.36.5-1 -> 1.36.8-1 gnome-common 3.12.0-1 -> 3.14.0-1 atk-1.0 2.13.3-1 -> 2.16.0-1 yasm 1.2.0-6 -> 1.3.0-1 libjpeg-turbo 1.3.1-1 -> 1.4.0-1 cmake 3.0.0-1 -> 3.2.1-1 freeglut 2.8.1-4 -> 3.0.0-1 jbigkit 2.1-1 -> 2.1-2 tiff 4.0.3-5 -> 4.0.4beta-1 lcms2 2.6-1 -> 2.7-1 openjpeg 2.1.0-1 -> 2.1.0-2 jasper 1.900.1-7 -> 1.900.1-8 gdk-pixbuf-2.0 2.31.0-1 -> 2.31.3-1 gtk+-2.0 2.24.24-1 -> 2.24.27-1 gtk+-3.0 3.13.5-1 -> 3.16.0-1 librsvg 2.40.2-2 -> 2.40.8-1 gnome-icon-theme 3.12.0-2 -> 3.12.0-3 gnome-icon-theme-symbolic 3.12.0-1 -> 3.12.0-2 hicolor-icon-theme 0.13-1 -> 0.14-1 adwaita-icon-theme 3.13.4-1 -> 3.16.0-1 glade3.8 3.8.5-1 -> 3.8.5-2 glade 3.18.3-1 -> 3.18.3-2 gtksourceview 3.13.2-1 -> 3.16.0-1 py2cairo 1.10.0-2 -> 1.10.0-3 pygobject 3.13.3-1 -> 3.16.0-1 libpeas-1.0 1.10.1-1 -> 1.13.0-1 libgxps 0.2.2-1 -> 0.2.2-2 djvulibre 3.5.25.3-1 -> 3.5.27-1 poppler 0.26.3-1 -> 0.32.0-1 libsecret-1 0.18-1 -> 0.18-2 libplibc svn-r156-1 -> svn-r156-2 aspell-0.60.7 20131207-2 -> 20131207-3 aspell6-en-7.1 0-1 -> 0-2 hunspell 1.3.3-1 -> 1.3.3-2 hunspell-en-us 20070829-1 -> 20070829-2 hunspell-ru-yo 0.3.3-1 -> 0.3.5-1 enchant 1.6.0-4 -> 1.6.0-5 iso-codes 3.55-1 -> 3.57-1 gtkspell3 3.0.6-1 -> 3.0.7-1 gedit 3.13.4-1 -> 3.16.0-1 evince 3.13.3-1 -> 3.16.0-1 libogg 1.3.2-1 -> 1.3.2-2 libvorbis 1.3.4-2 -> 1.3.5-1 libmicrohttpd 0.9.37-1 -> 0.9.39-1 libtheora 1.2.0alpha1-6 -> 1.2.0alpha1-7 orc-0.4 0.4.21-1 -> 0.4.23-1 libvorbisidec svn-r18910-4 -> svn-r19427-1 libcaca 0.99.beta19-1 -> 0.99.beta19-2 flac 1.3.0-4 -> 1.3.1-1 speex 1.2rc1-6 -> 1.2rc2-1 libshout 2.3.1-5 -> 2.3.1-6 glib-networking 2.41.4-2 -> 2.44.0-1 sqlite3 3.8.5.0-1 -> 3.8.8.3-1 libsoup-2.4 2.47.4-1 -> 2.50.0-1 wavpack 4.70.0-2 -> 4.70.0-3 taglib 1.9.1-3 -> 1.9.1-4 liba52 svn-r613-6 -> svn-r613-7 opencore-amr 0.1.3-6 -> 0.1.3-7 libcddb 1.3.2-8 -> 1.3.2-9 libcdio git-d8e32350a6dd7c1ecca11d705ae4ba9973db1f55-1 -> 0.93-1 libdvdread 4.9.9-1 -> 5.0.0-1 libdvdnav 4.2.1-2 -> 5.0.1-1 libid3tag 0.15.1b-8 -> 0.15.1b-9 libmad 0.15.1b-7 -> 0.15.1b-8 lame 3.99.5-7 -> 3.99.5-8 libsndfile 1.0.25-6 -> 1.0.25-7 twolame 0.3.13-6 -> 0.3.13-7 libmpeg2 svn-r1206-6 -> svn-r1206-7 x264 20140729-2245-stable-1 -> 20141218-2245-stable-1 fribidi 0.19.6-2 -> 0.19.6-3 libass 0.11.2-1 -> 0.12.1-1 opus 1.1-2 -> 1.1.1beta-1 libdca svn-r91-6 -> svn-r91-7 gsm 1.0.13-6 -> 1.0.13-7 libmodplug 0.8.8.5-1 -> 0.8.8.5-2 mjpegtools 2.1.0-3 -> 2.1.0-4 zbar 0.10-6 -> 0.10-7 libvpx 1.3.0-2 -> 1.3.0-3 libvisual-0.4 0.4.0-7 -> 0.4.0-8 schroedinger-1.0 1.0.11-7 -> 1.0.11-8 soundtouch 1.8.0-2 -> 1.8.0-3 vo-aacenc 0.1.3-4 -> 0.1.3-5 vo-amrwbenc 0.1.3-4 -> 0.1.3-5 SDL 1.2.15-6 -> 1.2.15-7 qrencode 3.4.4-1 -> 3.4.4-2 faad2 2.7-4 -> 2.7-5 mpg123 1.20.1-1 -> 1.22.0-1 libmimic 1.0.4-4 -> 1.0.4-5 celt0 0.11.1-5 -> 0.11.1-6 check 0.9.14-1 -> 0.9.14-2 daala-git 9e3345cdaa141951f8b54d47d6dd0cdb1e67216a-1 -> eff84fbca3ebb38fb2a508e60a20513175e61294-1 giflib 5.1.0-1 -> 5.1.1-1 libwebp 0.4.0-2 -> 0.4.3-1 fluidsynth 1.1.6-2 -> 1.1.6-3 libmms 0.6.4-1 -> 0.6.4-2 openal-soft 1.15.1-1 -> 1.16.0-1 gstreamer-1.0 1.4.0-1 -> 1.4.5-1 gst-plugins-base-1.0 1.4.0-1 -> 1.4.5-1 gst-plugins-good-1.0 1.4.0-1 -> 1.4.5-1 gst-plugins-ugly-1.0 1.4.0-1 -> 1.4.5-1 gst-plugins-bad-1.0 1.4.0-1 -> 1.4.5-1 gst-libav-1.0 1.4.0-1 -> 1.4.5-1 libilbc git-b5f9b10b1a0e32d969d3e10e54be21454c526d75-4 -> 2.0.2-1 libav 10.2-1 -> 11.3-1 exiv2 0.24-2 -> 0.24-3 tidy-cvs 20091223-8 -> 20091223-9 libgsf-1 1.14.30-1 -> 1.14.32-1 libsmf 1.3-5 -> 1.3-6 file 5.19-1 -> 5.22-1 bsdiff 4.3-2 -> 4.3-3 libextractor svn-r34102-1 -> svn-r35438-1 gnunet svn-r34102-1 -> svn-r35458-1 gnunet-gtk svn-r34102-1 -> svn-r35404-1 = List of updated cross-compiled packages = MSYS packages with new versions: base-cygwin 3.3-1 -> 3.8-1 base-files 4.2-2 -> 4.2-3 bash 4.3 -> 4.3.33 binutils 2.24 -> 2.25 bison 3.0.2 -> 3.0.4 ca-certificates 1.97 -> 2.2-1 coreutils 8.22 -> 8.23 file 5.18 -> 5.22 findutils 4.5.12 -> 4.5.14 gcc 4.8.2 -> 4.9.2 gettext 0.18.3.2 -> 0.19.4 gmp 6.0.0 -> 6.0.0a grep 2.18 -> 2.21 groff 1.22.2 -> 1.22.3 libtool 2.4.2 -> 2.4.6 make git-85047eb9044d4b72d50e6620c505c675d55ab98b -> 4.1 mpc 1.0.2 -> 1.0.3 msys2 git-6e95f9f5eab763ba36c8d5c62a22a4db9cca1d7f -> git-0d7a2c23e9139108d99d28ccfa825cad164620c4 ncurses 5.9+20140118 -> 5.9-20150307 openssl 1.0.1g -> 1.0.2a patch 2.7.1 -> 2.7.5 pcre 8.35 -> 8.36 tar 1.27.1 -> 1.28 w32api svn-r6478 -> git-8bbe98a687b6aff31fe1253390d164c1590a4254 wget 1.15 -> 1.16.3 xz 5.0.5 -> 5.0.8 Other MSYS packages got a revision bump (no list is available) MinGW packages with new versions: mingw-w64-headers git-09564a0bef4cf9da72f2d4c4eb778909a6 -> git-8bbe98a687b6aff31fe1253390d164c1590a425 mingw-w64-crt git-09564a0bef4cf9da72f2d4c4eb778909a696cc ->git-8bbe98a687b6aff31fe1253390d164c1590a4254-1 winpthreads git-09564a0bef4cf9da72f2d4c4eb778909a696cc54 ->git-8bbe98a687b6aff31fe1253390d164c1590a4254-1 binutils git-90debf20f4cc4ddd7cfb6356fe0d3876a18604a6-1 -> 2.25-1 gcc 4.9.1-1 -> 4.9.2-1 mpc 1.0.2-3 -> 1.0.3-1 Other MinGW packages got a revision bump: cloog 0.18.1-4 -> 0.18.1-5 gmp 6.0.0a-2 -> 6.0.0a-3 libiconv 1.14-5 -> 1.14-6 mpfr 3.1.2-8 -> 3.1.2-9 == Known bugs == libx264 might sporadically fail to build with an error message: i686-w64-mingw32-strip.exe: unable to rename 'common/x86/const-a.o'; reason: No such file or directory libtheora might sporadically fail to build with an error message: i686-w64-mingw32-ar.exe: unable to rename '.libs/libtheoraenc.a'; reason: Permission denied libextractor might sporadically fail to build with an error message: i686-w64-mingw32-ranlib.exe: .libs/libextractor_wav.a: Permission denied Python 2.x scripts output in UTF-8. When they write directly into the console (using stdout/stderr), non-latin characters are garbled (because console codepage is not 65001). This can be worked around by feeding the output into intermediate program (`cat' or `less' will do fine). Compiled Python extensions will crash if they try to do CRT I/O on foreign CRT I/O objects, because Python is linked to msvcr90, whereas extensions are linked to msvcrt. [1] https://code.launchpad.net/stupidbuild [2] https://launchpad.net/stupidbuild/trunk/sbupidbuild-6.0/+download/stupidbuild-6.0.tar.xz [3] https://bugs.launchpad.net/launchpad/+bug/1032731 -- O< ascii ribbon - stop html email! - www.asciiribbon.org
0x922360B0.asc
Description: application/pgp-keys
signature.asc
Description: OpenPGP digital signature
------------------------------------------------------------------------------ Dive into the World of Parallel Programming The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials and more. Take a look and join the conversation now. http://goparallel.sourceforge.net/
_______________________________________________ Mingw-w64-public mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
