Compare commits

..

No commits in common. "master" and "build-2016-10-12" have entirely different histories.

1025 changed files with 20032 additions and 71121 deletions

View File

@ -1,8 +1,2 @@
Please ensure all terminal or log output is correctly enclosed with
triple back-ticks. See the github markdown guide for more details:
https://guides.github.com/features/mastering-markdown/
If a package fails to build, please upload the entire log file to:
https://gist.github.com/
or your pastebin of choice
and put the link here.
If a package fails to build, upload the log file to
https://gist.github.com/ and put the link here.

1
.gitignore vendored
View File

@ -5,7 +5,6 @@
/pkg
/wip/
/tmp-*
/.ccache
# generated by build-pkg
/*-*.list

View File

@ -1,13 +1,9 @@
dist: trusty
language: c
sudo: false
script:
- make docs/build-matrix.html docs/packages.json OS_SHORT_NAME=disable-native-plugins MXE_TARGETS="`echo {i686-w64-mingw32,x86_64-w64-mingw32}.{static,shared}`"
- make docs/build-matrix.html docs/versions.json
- if [ "$GH_TOKEN" != "" ]; then ./tools/travis-push.sh; fi
# Package wxwidgets is downloaded for more than 10 minutes,
# Travis failed because of no output for 10 minutes.
- while true; do sleep 60; echo -n ' '; done &
- make download -j 6 -k MXE_PLUGIN_DIRS="$(./tools/plugins-with-additional-packages.sh)"
env:

View File

@ -46,4 +46,4 @@ websites for further details.
[issue-tracker]: https://github.com/mxe/mxe/issues
[config.guess]: https://github.com/mxe/mxe/blob/master/ext/config.guess#L3-L27
[gmsl]: https://github.com/mxe/mxe/blob/master/ext/gmsl#L8-L40
[packages]: https://mxe.cc/#packages
[packages]: http://mxe.cc/#packages

751
Makefile

File diff suppressed because it is too large Load Diff

View File

@ -3,11 +3,9 @@
[![License][license-badge]][license-page]
[license-page]: LICENSE.md
[license-badge]: https://img.shields.io/badge/License-MIT-brightgreen.svg
[license-badge]: http://img.shields.io/badge/License-MIT-brightgreen.svg
[![Async Chat (Trial))](https://img.shields.io/badge/zulip-join_chat-brightgreen.svg)](https://mxe.zulipchat.com/)
MXE (M cross environment) is a GNU Makefile that compiles a cross
MXE (M cross environment) is a Makefile that compiles a cross
compiler and cross compiles many free libraries such as SDL and
Qt. Thus, it provides a nice cross compiling environment for
various target platforms, which:
@ -20,7 +18,6 @@ various target platforms, which:
* is able to update the version numbers of all packages automatically
* directly uses source packages, thus ensuring the whole build mechanism is transparent
* allows inter-package and intra-package parallel builds whenever possible
* bundles [ccache](https://ccache.samba.org) to speed up repeated builds
* integrates well with autotools, cmake, qmake, and hand-written makefiles.
* has been in continuous development since 2007 and is used by several projects
@ -34,21 +31,7 @@ various target platforms, which:
- static
- shared
* GCC Threading Libraries (`winpthreads` is always available):
- [posix](https://github.com/mxe/mxe/pull/958) [(default)](https://github.com/mxe/mxe/issues/2258)
- win32 (supported by limited amount packages)
* GCC Exception Handling:
- Default
- i686: sjlj
- x86_64: seh
- [Alternatives (experimental)](https://github.com/mxe/mxe/pull/1664)
- i686: dw2
- x86_64: sjlj
- win32
- [posix (experimental)](https://github.com/mxe/mxe/pull/958)
Please see [mxe.cc](https://mxe.cc/) for further information and package support matrix.
## Shared Library Notes
There are several approaches to recursively finding DLL dependencies (alphabetical list):
* [go script](https://github.com/desertbit/gml/blob/master/cmd/gml-copy-dlls/main.go)
* [pe-util](https://github.com/gsauthof/pe-util) packaged with [mxe](https://github.com/mxe/mxe/blob/master/src/pe-util.mk)
* [python script](https://github.com/mxe/mxe/blob/master/tools/copydlldeps.py)
* [shell script](https://github.com/mxe/mxe/blob/master/tools/copydlldeps.md)
Please see [mxe.cc](http://mxe.cc/) for further information and package support matrix.

View File

@ -1 +1 @@
mxe.cc
mxe.cc

View File

@ -12,7 +12,3 @@ td.unsupported {
background-color: #f99;
text-align: center;
}
td.neutral {
background-color: #d1d1d1;
text-align: center;
}

File diff suppressed because it is too large Load Diff

View File

@ -22,7 +22,7 @@ include the GMSL in your Makefile do<br>
you have the right version of <span style="font-family: monospace;">gmsl</span>
use the <span style="font-family: monospace;">gmsl_compatible</span>
function (see
below). The current version is <span style="font-family: monospace;">1 1 6</span>.<br>
below). The current version is <span style="font-family: monospace;">1 1 7</span>.<br>
<br>
The GMSL package also includes a test suite for GMSL.&nbsp; Just run <span style="font-family: monospace;">make -f gmsl-tests</span>.<br>
<h2>Logical Operators</h2>GMSL has boolean $(true) (a non-empty string)
@ -393,25 +393,6 @@ integer<br>
Returns:&nbsp;&nbsp;&nbsp;Returns the integer division of the first
argument by the second<br>
</span>
<hr><b>int_modulo</b><br>
<br>
<span style="font-family: monospace;">Arguments: 1: A number in x's
representation<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2: Another
number in x's represntation<br>
Returns:&nbsp;&nbsp;&nbsp;Returns the remainder of integer division of
argument 1 divided<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; by
argument 2 in x's representation<br>
</span>
<hr><b>modulo (wrapped version of int_modulo)</b><br>
<br>
<span style="font-family: monospace;">Arguments: 1: An integer<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2: Another
integer<br>
Returns:&nbsp;&nbsp;&nbsp;Returns the remainder of integer division of the first
argument by the second<br>
</span>
<hr><b>int_max, int_min</b><br>
<br>
<span style="font-family: monospace;">Arguments: 1: A number in x's
@ -715,7 +696,7 @@ result in name and arguments being traced.<br>
</table>
<span style="font-family: monospace;"></span><br>
<hr>
Copyright (c) 2005-2018 <a href="http://www.jgc.org/">John Graham-Cumming</a>.<br>
Copyright (c) 2005-2014 <a href="http://www.jgc.org/">John Graham-Cumming</a>.<br>
<hr style="width: 100%; height: 2px;">
<table style="width: 100%; text-align: left;" border="0" cellpadding="2" cellspacing="2">
<tbody>

File diff suppressed because it is too large Load Diff

View File

@ -1,497 +0,0 @@
{
"a52dec": {"version": "0.7.4", "website": "https://liba52.sourceforge.io/", "description": "a52dec (aka. liba52)"},
"adwaita-icon-theme": {"version": "3.36.1", "website": "https://gtk.org/", "description": "GTK+"},
"agg": {"version": "2.5", "website": "https://antigrain.com/", "description": "Anti-Grain Geometry"},
"alure": {"version": "1.2", "website": "https://kcat.strangesoft.net/alure.html", "description": ""},
"apr": {"version": "1.5.2", "website": "https://apr.apache.org/", "description": "APR"},
"apr-util": {"version": "1.5.4", "website": "https://apr.apache.org/", "description": "APR-util"},
"armadillo": {"version": "8.200.2", "website": "https://arma.sourceforge.io/", "description": "Armadillo C++ linear algebra library"},
"aspell": {"version": "0.60.6.1", "website": "http://aspell.net/", "description": "Aspell"},
"assimp": {"version": "3.2", "website": "https://assimp.sourceforge.io/", "description": "Assimp Open Asset Import Library"},
"atk": {"version": "2.16.0", "website": "https://gtk.org/", "description": "ATK"},
"atkmm": {"version": "2.22.7", "website": "https://www.gtkmm.org/", "description": "ATKmm"},
"aubio": {"version": "0.4.2", "website": "https://www.aubio.org/", "description": ""},
"autotools": {"version": "1", "website": "https://en.wikipedia.org/wiki/GNU_Build_System", "description": "Dependency package to ensure the autotools work"},
"bfd": {"version": "2.28", "website": "https://www.gnu.org/software/binutils/", "description": "Binary File Descriptor library"},
"binutils": {"version": "2.28", "website": "https://www.gnu.org/software/binutils/", "description": "GNU Binutils"},
"blas": {"version": "3.8.0", "website": "https://www.netlib.org/blas/", "description": "Reference BLAS (Basic Linear Algebra Subprograms)"},
"boost": {"version": "1.60.0", "website": "https://www.boost.org/", "description": "Boost C++ Library"},
"box2d": {"version": "2.3.1", "website": "https://www.box2d.org/", "description": ""},
"bullet": {"version": "2.82-r2704", "website": "https://bulletphysics.org/", "description": "Bullet physics, version 2"},
"bzip2": {"version": "1.0.6", "website": "https://en.wikipedia.org/wiki/Bzip2", "description": ""},
"cairo": {"version": "1.16.0", "website": "https://cairographics.org/", "description": ""},
"cairomm": {"version": "1.11.2", "website": "https://cairographics.org/cairomm/", "description": ""},
"cblas": {"version": "3.8.0", "website": "https://www.netlib.org/blas/", "description": "C interface to Reference BLAS"},
"cc": {"version": "1", "website": "https://mxe.cc/", "description": "Dependency package for cross libraries"},
"ccache": {"version": "3.6", "website": "https://ccache.samba.org", "description": "ccache a fast compiler cache"},
"ccfits": {"version": "2.5", "website": "https://heasarc.gsfc.nasa.gov/fitsio/ccfits", "description": "CCfits"},
"cegui": {"version": "9726a2b505fb", "website": "http://cegui.org.uk/", "description": "Crazy Eddies GUI System (CEGUI)"},
"cfitsio": {"version": "3410", "website": "https://heasarc.gsfc.nasa.gov/fitsio/", "description": ""},
"cgal": {"version": "4.11", "website": "https://www.cgal.org/", "description": ""},
"check": {"version": "0.10.0", "website": "https://check.sourceforge.io/", "description": ""},
"chipmunk": {"version": "7.0.2", "website": "https://chipmunk-physics.net/", "description": "Chipmunk Physics"},
"chromaprint": {"version": "1.4.3", "website": "https://acoustid.org/chromaprint", "description": "Chromaprint"},
"cimg": {"version": "2.7.1", "website": "http://cimg.eu/", "description": "CImg Library"},
"cloog": {"version": "0.18.4", "website": "https://www.bastoul.net/cloog/", "description": "CLooG Code Generator"},
"cmake": {"version": "3.17.3", "website": "https://www.cmake.org/", "description": ""},
"cmake-conf": {"version": "1", "website": "", "description": ""},
"cmark": {"version": "0.28.3", "website": "https://github.com/commonmark/cmark", "description": "CommonMark parsing and rendering library and program in C"},
"cminpack": {"version": "1.3.4", "website": "http://devernay.free.fr/hacks/cminpack/cminpack.html", "description": ""},
"coda": {"version": "2.18.3", "website": "https://stcorp.nl/coda/", "description": "CODA"},
"coin": {"version": "3.1.3", "website": "https://bitbucket.org/Coin3D/", "description": "Coin3D"},
"cpp-netlib": {"version": "73d4024", "website": "https://cpp-netlib.org/", "description": "Boost C++ Networking Library"},
"cppunit": {"version": "1.13.2", "website": "https://www.freedesktop.org/wiki/Software/cppunit/", "description": "CppUnit"},
"cppzmq": {"version": "4.2.2", "website": "https://github.com/zeromq/cppzmq", "description": "C++ binding for 0MQ"},
"cryptopp": {"version": "5.6.3", "website": "https://www.cryptopp.com/", "description": "Crypto++ Library"},
"crystalhd": {"version": "1", "website": "https://www.broadcom.com/support/crystal_hd/", "description": "Broadcom Crystal HD Headers"},
"cunit": {"version": "2.1-3", "website": "https://cunit.sourceforge.io/", "description": ""},
"curl": {"version": "7.72.0", "website": "https://curl.haxx.se/libcurl/", "description": "cURL"},
"db": {"version": "6.1.26", "website": "https://www.oracle.com/technetwork/database/database-technologies/berkeleydb/overview/index.html", "description": "Oracle Berkeley DB"},
"dbus": {"version": "1.13.18", "website": "https://dbus.freedesktop.org/", "description": ""},
"dcmtk": {"version": "3.6.0", "website": "https://dicom.offis.de/dcmtk.php.en", "description": "DCMTK"},
"devil": {"version": "cba359b", "website": "https://openil.sourceforge.io/", "description": "DevIL"},
"djvulibre": {"version": "3.5.27", "website": "https://djvu.sourceforge.io/", "description": "DjVuLibre"},
"dlfcn-win32": {"version": "7f1a5e5", "website": "https://github.com/dlfcn-win32/dlfcn-win32", "description": "POSIX dlfcn wrapper for Windows"},
"eigen": {"version": "3.3.7", "website": "https://eigen.tuxfamily.org/", "description": ""},
"exiv2": {"version": "0.25", "website": "https://www.exiv2.org/", "description": "Exiv2"},
"expat": {"version": "2.2.9", "website": "https://github.com/libexpat/libexpat", "description": "Expat XML Parser"},
"faad2": {"version": "2.8.8", "website": "https://www.audiocoding.com/", "description": ""},
"fdk-aac": {"version": "2.0.0", "website": "https://github.com/mstorsjo/fdk-aac", "description": "FDK-AAC"},
"ffmpeg": {"version": "4.2.3", "website": "https://ffmpeg.org/", "description": ""},
"fftw": {"version": "3.3.8", "website": "http://www.fftw.org/", "description": ""},
"file": {"version": "5.24", "website": "https://www.darwinsys.com/file/", "description": ""},
"flac": {"version": "1.3.3", "website": "https://www.xiph.org/flac/", "description": "FLAC"},
"flann": {"version": "1.8.4", "website": "https://www.cs.ubc.ca/~mariusm/index.php/FLANN/FLANN", "description": "FLANN"},
"fltk": {"version": "1.3.5", "website": "https://www.fltk.org/", "description": "FLTK"},
"fluidsynth": {"version": "2.0.7", "website": "http://fluidsynth.org/", "description": "FluidSynth - a free software synthesizer based on the SoundFont 2 specifications"},
"fontconfig": {"version": "2.13.1", "website": "https://fontconfig.org/", "description": ""},
"freeglut": {"version": "3.2.1", "website": "https://freeglut.sourceforge.io/", "description": ""},
"freeimage": {"version": "3.15.4", "website": "https://freeimage.sourceforge.io/", "description": "FreeImage"},
"freetds": {"version": "1.2.4", "website": "https://www.freetds.org/", "description": "FreeTDS"},
"freetype": {"version": "2.10.2", "website": "https://www.freetype.org/", "description": ""},
"freetype-bootstrap": {"version": "2.10.2", "website": "https://www.freetype.org/", "description": "freetype (without harfbuzz)"},
"freexl": {"version": "1.0.5", "website": "https://www.gaia-gis.it/fossil/freexl/index", "description": "FreeXL"},
"fribidi": {"version": "1.0.8", "website": "https://fribidi.org/", "description": "FriBidi"},
"ftgl": {"version": "2.1.3~rc5", "website": "https://sourceforge.net/projects/ftgl/", "description": ""},
"gc": {"version": "7.4.6", "website": "https://github.com/ivmai/bdwgc", "description": ""},
"gcc": {"version": "5.5.0", "website": "https://gcc.gnu.org/", "description": "GCC"},
"gd": {"version": "2.1.0", "website": "https://libgd.github.io/", "description": "GD (without support for xpm)"},
"gdal": {"version": "2.2.4", "website": "https://www.gdal.org/", "description": "GDAL"},
"gdb": {"version": "9.2", "website": "https://www.gnu.org/software/gdb/", "description": ""},
"gdk-pixbuf": {"version": "2.32.3", "website": "https://gtk.org/", "description": "GDK-pixbuf"},
"gendef": {"version": "7.0.0", "website": "https://sourceforge.net/p/mingw-w64/wiki2/gendef/", "description": ""},
"geoip-database": {"version": "20150317-1", "website": "https://www.maxmind.com/", "description": "GeoIP Legacy Database"},
"geos": {"version": "3.6.2", "website": "https://trac.osgeo.org/geos/", "description": "GEOS"},
"gettext": {"version": "0.20.2", "website": "https://www.gnu.org/software/gettext/", "description": ""},
"ghostscript": {"version": "9.50", "website": "https://www.ghostscript.com/", "description": ""},
"giflib": {"version": "5.1.4", "website": "https://sourceforge.net/projects/libungif/", "description": ""},
"glew": {"version": "2.1.0", "website": "https://glew.sourceforge.io/", "description": "GLEW"},
"glfw2": {"version": "2.7.9", "website": "https://www.glfw.org/", "description": "GLFW 2.x"},
"glfw3": {"version": "3.2.1", "website": "https://www.glfw.org/", "description": "GLFW 3.x"},
"glib": {"version": "2.50.2", "website": "https://gtk.org/", "description": "GLib"},
"glib-networking": {"version": "2.54.1", "website": "https://www.gnome.org", "description": "Network-related GIO modules for glib"},
"glibmm": {"version": "2.42.0", "website": "https://www.gtkmm.org/", "description": "GLibmm"},
"glm": {"version": "0.9.9.0", "website": "https://glm.g-truc.net/", "description": "GLM - OpenGL Mathematics"},
"glpk": {"version": "4.65", "website": "https://www.gnu.org/software/glpk/", "description": "GNU Linear Programming Kit"},
"gmp": {"version": "6.1.2", "website": "https://gmplib.org/", "description": "GMP"},
"gnutls": {"version": "3.6.15", "website": "https://www.gnu.org/software/gnutls/", "description": "GnuTLS"},
"googlemock": {"version": "1.7.0", "website": "https://github.com/google/googlemock", "description": "Google Mock"},
"googletest": {"version": "1.8.1", "website": "https://github.com/google/googletest", "description": "Google Test"},
"gpgme": {"version": "1.14.0", "website": "https://www.gnupg.org/related_software/gpgme/", "description": "gpgme"},
"grantlee": {"version": "5.2.0", "website": "https://github.com/steveire/grantlee", "description": "Grantlee is a set of Free Software libraries written using the Qt framework"},
"graphicsmagick": {"version": "1.3.33", "website": "http://www.graphicsmagick.org/", "description": "GraphicsMagick"},
"gsl": {"version": "2.6", "website": "https://www.gnu.org/software/gsl/", "description": "GSL"},
"gsoap": {"version": "2.8.106", "website": "https://www.genivia.com/dev.html", "description": "gSOAP"},
"gst-libav": {"version": "1.16.2", "website": "https://gstreamer.freedesktop.org/modules/gst-libav.html", "description": ""},
"gst-plugins-bad": {"version": "1.16.2", "website": "https://gstreamer.freedesktop.org/modules/gst-plugins-bad.html", "description": ""},
"gst-plugins-base": {"version": "1.16.2", "website": "https://gstreamer.freedesktop.org/modules/gst-plugins-base.html", "description": ""},
"gst-plugins-good": {"version": "1.16.2", "website": "https://gstreamer.freedesktop.org/modules/gst-plugins-good.html", "description": ""},
"gst-plugins-ugly": {"version": "1.16.2", "website": "https://gstreamer.freedesktop.org/modules/gst-plugins-ugly.html", "description": ""},
"gstreamer": {"version": "1.16.2", "website": "https://gstreamer.freedesktop.org/modules/gstreamer.html", "description": ""},
"gta": {"version": "1.0.8", "website": "https://www.nongnu.org/gta/", "description": ""},
"gtk2": {"version": "2.24.29", "website": "https://gtk.org/", "description": "GTK+"},
"gtk3": {"version": "3.22.7", "website": "https://gtk.org/", "description": "GTK+"},
"gtkglarea": {"version": "2.0.1", "website": "https://www.mono-project.com/GtkGLArea/", "description": "GtkGLArea"},
"gtkglext": {"version": "1.2.0", "website": "https://gtkglext.sourceforge.io/", "description": "GtkGLExt"},
"gtkglextmm": {"version": "1.2.0", "website": "https://gtkglext.sourceforge.io/", "description": "GtkGLExtmm"},
"gtkimageview": {"version": "1.6.4", "website": "https://web.archive.org/web/20130517010338/trac.bjourne.webfactional.com/", "description": "GtkImageView"},
"gtkmm2": {"version": "2.24.4", "website": "https://www.gtkmm.org/", "description": "GTKMM"},
"gtkmm3": {"version": "3.14.0", "website": "https://www.gtkmm.org/", "description": "GTKMM"},
"gtksourceview": {"version": "2.10.5", "website": "https://projects.gnome.org/gtksourceview/", "description": "GTKSourceView"},
"gtksourceviewmm2": {"version": "2.10.3", "website": "https://projects.gnome.org/gtksourceview/", "description": "GtkSourceViewmm"},
"guile": {"version": "1.8.8", "website": "https://www.gnu.org/software/guile/", "description": "GNU Guile"},
"gumbo": {"version": "0.10.1", "website": "https://github.com/google/gumbo-parser", "description": "Gumbo, an HTML5 parsing library"},
"hamlib": {"version": "3.3", "website": "https://hamlib.github.io/", "description": "HamLib"},
"harfbuzz": {"version": "2.7.2", "website": "https://wiki.freedesktop.org/www/Software/HarfBuzz/", "description": "HarfBuzz"},
"hdf-eos2": {"version": "20v1.00", "website": "https://hdfeos.org/software/library.php", "description": "HDF-EOS2"},
"hdf-eos5": {"version": "1.16", "website": "https://hdfeos.org/software/library.php", "description": "HDF-EOS5"},
"hdf4": {"version": "4.2.10", "website": "https://www.hdfgroup.org/hdf4/", "description": "HDF4"},
"hdf5": {"version": "1.8.12", "website": "https://www.hdfgroup.org/hdf5/", "description": "HDF5"},
"hidapi": {"version": "a6a622f", "website": "https://github.com/signal11/hidapi/", "description": "HIDAPI"},
"hunspell": {"version": "1.7.0", "website": "https://hunspell.github.io/", "description": "Hunspell"},
"hyperscan": {"version": "4.3.2", "website": "https://01.org/hyperscan", "description": "Hyperscan"},
"icu4c": {"version": "66.1", "website": "https://github.com/unicode-org/icu", "description": "ICU4C"},
"id3lib": {"version": "3.8.3", "website": "https://id3lib.sourceforge.io/", "description": ""},
"ilmbase": {"version": "2.2.0", "website": "https://www.openexr.com/", "description": "IlmBase"},
"imagemagick": {"version": "7.0.8-63", "website": "https://www.imagemagick.org/", "description": "ImageMagick"},
"intel-tbb": {"version": "c28c8be", "website": "https://www.threadingbuildingblocks.org", "description": "Intel Threading Building Blocks"},
"isl": {"version": "0.15", "website": "https://isl.gforge.inria.fr/", "description": "Integer Set Library"},
"itk": {"version": "5.0.1", "website": "https://www.itk.org/", "description": "Insight Segmentation and Registration Toolkit (ITK)"},
"itpp": {"version": "4.3.1", "website": "https://itpp.sourceforge.io/", "description": ""},
"jack": {"version": "1.9.10", "website": "https://jackaudio.org/", "description": "JACK Audio Connection Kit"},
"jansson": {"version": "2.12", "website": "http://www.digip.org/jansson/", "description": "Jansson"},
"jasper": {"version": "2.0.19", "website": "https://www.ece.uvic.ca/~mdadams/jasper/", "description": "JasPer"},
"jpeg": {"version": "9d", "website": "https://www.ijg.org/", "description": ""},
"json-c": {"version": "0.13.1", "website": "https://github.com/json-c/json-c/wiki", "description": ""},
"json-glib": {"version": "1.0.4", "website": "https://wiki.gnome.org/action/show/Projects/JsonGlib", "description": "JSON-Glib"},
"json_spirit": {"version": "4.08", "website": "https://www.codeproject.com/Articles/20027/JSON-Spirit-A-C-JSON-Parser-Generator-Implemented", "description": ""},
"jsoncpp": {"version": "1.9.1", "website": "https://github.com/open-source-parsers/jsoncpp", "description": "A C++ library for interacting with JSON"},
"lame": {"version": "3.100", "website": "https://lame.sourceforge.io/", "description": ""},
"lapack": {"version": "3.8.0", "website": "https://www.netlib.org/lapack/", "description": "Reference LAPACKLinear Algebra PACKage"},
"lcms": {"version": "2.11", "website": "http://www.littlecms.com/", "description": ""},
"lcms1": {"version": "1.19", "website": "http://www.littlecms.com/", "description": ""},
"lensfun": {"version": "0.3.2", "website": "https://lensfun.sourceforge.io/", "description": ""},
"levmar": {"version": "2.6", "website": "https://www.ics.forth.gr/~lourakis/levmar", "description": ""},
"libaacs": {"version": "0.9.0", "website": "https://www.videolan.org/developers/libaacs.html", "description": ""},
"libao": {"version": "1.2.2", "website": "https://www.xiph.org/libao/", "description": "AO"},
"libarchive": {"version": "3.4.0", "website": "https://www.libarchive.org/", "description": "Libarchive"},
"libass": {"version": "0.14.0", "website": "https://code.google.com/p/libass/", "description": ""},
"libassuan": {"version": "2.5.3", "website": "https://www.gnupg.org/related_software/libassuan/", "description": "libassuan"},
"libatomic_ops": {"version": "7.4.8", "website": "https://github.com/ivmai/libatomic_ops", "description": "The atomic_ops project (Atomic memory update operations portable implementation)"},
"libbluray": {"version": "0.9.2", "website": "https://www.videolan.org/developers/libbluray.html", "description": ""},
"libbs2b": {"version": "3.1.0", "website": "https://bs2b.sourceforge.io/", "description": "Bauer Stereophonic-to-Binaural library"},
"libcaca": {"version": "0.99.beta19", "website": "http://caca.zoy.org/wiki/libcaca", "description": ""},
"libcddb": {"version": "1.3.2", "website": "https://sourceforge.net/projects/libcddb/", "description": "Access data on a CDDB"},
"libcdio": {"version": "2.1.0", "website": "https://www.gnu.org/software/libcdio/", "description": "Libcdio"},
"libcdio-paranoia": {"version": "10.2+0.93+1", "website": "https://www.gnu.org/software/libcdio/", "description": "Libcdio-paranoia"},
"libcint": {"version": "3.0.18", "website": "https://github.com/sunqm/libcint", "description": "General GTO integrals for quantum chemistry"},
"libcomm14cux": {"version": "2.1.1", "website": "https://github.com/colinbourassa/libcomm14cux/", "description": ""},
"libcroco": {"version": "0.6.2", "website": "http://www.linuxfromscratch.org/blfs/view/svn/general/libcroco.html", "description": "Libcroco"},
"libdnet": {"version": "1.11", "website": "https://libdnet.sourceforge.io/", "description": ""},
"libdvbpsi": {"version": "1.3.2", "website": "https://www.videolan.org/developers/libdvbpsi.html", "description": ""},
"libdvdcss": {"version": "1.4.2", "website": "https://www.videolan.org/developers/libdvdcss.html", "description": ""},
"libdvdetect": {"version": "0.71", "website": "https://www.dvdetect.de/", "description": "Fast database lookup for DVDs"},
"libdvdnav": {"version": "6.0.0", "website": "https://www.videolan.org/developers/libdvdnav.html", "description": ""},
"libdvdread": {"version": "6.0.1", "website": "https://www.videolan.org/developers/libdvdnav.html", "description": ""},
"libechonest": {"version": "2.3.1", "website": "https://github.com/lfranchi/libechonest", "description": ""},
"libepoxy": {"version": "1.3.1", "website": "https://github.com/anholt/libepoxy", "description": ""},
"libevent": {"version": "2.1.11", "website": "https://libevent.org/", "description": ""},
"libf2c": {"version": "1", "website": "https://www.netlib.org/f2c/", "description": ""},
"libfcgi": {"version": "2.4.2", "website": "https://github.com/FastCGI-Archives", "description": "FastCGI"},
"libffi": {"version": "3.2.1", "website": "https://sourceware.org/libffi/", "description": ""},
"libftdi": {"version": "0.20", "website": "https://www.intra2net.com/en/developer/libftdi/index.php", "description": "LibFTDI"},
"libftdi1": {"version": "1.4", "website": "https://www.intra2net.com/en/developer/libftdi/index.php", "description": "LibFTDI1"},
"libgcrypt": {"version": "1.8.6", "website": "https://directory.fsf.org/wiki/Libgcrypt", "description": ""},
"libgda": {"version": "4.2.13", "website": "https://www.gnome-db.org/", "description": ""},
"libgdamm": {"version": "4.1.3", "website": "https://launchpad.net/libgdamm", "description": ""},
"libgee": {"version": "0.20.1", "website": "https://wiki.gnome.org/Projects/Libgee", "description": ""},
"libgeotiff": {"version": "1.4.2", "website": "https://trac.osgeo.org/geotiff/", "description": "GeoTiff"},
"libgit2": {"version": "1.0.0", "website": "https://libgit2.github.com/", "description": ""},
"libglade": {"version": "2.6.4", "website": "https://glade.gnome.org/", "description": "glade"},
"libgnurx": {"version": "2.6.1", "website": "https://sourceforge.net/projects/mingw/files/UserContributed/regex/", "description": ""},
"libgpg_error": {"version": "1.39", "website": "https://www.gnupg.org/related_software/libgpg-error/", "description": "libgpg-error"},
"libgsasl": {"version": "1.8.1", "website": "https://www.gnu.org/software/gsasl/", "description": "Libgsasl"},
"libgsf": {"version": "1.14.30", "website": "https://developer.gnome.org/gsf/", "description": ""},
"libharu": {"version": "2.3.0", "website": "http://libharu.org/", "description": ""},
"libiberty": {"version": "2.28", "website": "https://gcc.gnu.org/onlinedocs/libiberty/", "description": ""},
"libical": {"version": "2.0.0", "website": "https://libical.github.io/libical/", "description": ""},
"libiconv": {"version": "1.16", "website": "https://www.gnu.org/software/libiconv/", "description": ""},
"libid3tag": {"version": "0.15.1b", "website": "https://sourceforge.net/projects/mad/files/libid3tag/", "description": ""},
"libidn": {"version": "1.36", "website": "https://www.gnu.org/software/libidn/", "description": "Libidn"},
"libidn2": {"version": "2.3.0", "website": "https://www.gnu.org/software/libidn/#libidn2", "description": "implementation of IDNA2008/TR46 internationalized domain names"},
"libieee1284": {"version": "0.2.11", "website": "http://cyberelk.net/tim/software/libieee1284/", "description": ""},
"libircclient": {"version": "1.10", "website": "https://sourceforge.net/projects/libircclient/", "description": ""},
"libjpeg-turbo": {"version": "2.0.5", "website": "https://libjpeg-turbo.virtualgl.org/", "description": ""},
"liblastfm": {"version": "1.0.9", "website": "https://github.com/lastfm/liblastfm", "description": "A Qt C++ library for the Last.fm webservices"},
"liblastfm_qt4": {"version": "1.0.9", "website": "https://github.com/lastfm/liblastfm", "description": "A Qt C++ library for the Last.fm webservices"},
"liblaxjson": {"version": "1.0.5", "website": "https://github.com/andrewrk/liblaxjson", "description": ""},
"liblo": {"version": "0.29", "website": "https://liblo.sourceforge.io/", "description": ""},
"liblqr-1": {"version": "0.4.2", "website": "https://liblqr.wikidot.com/", "description": ""},
"liblsmash": {"version": "2.14.5", "website": "https://l-smash.github.io/l-smash/", "description": "L-SMASH"},
"libltdl": {"version": "2.4.6", "website": "https://www.gnu.org/software/libtool/manual/html_node/Using-libltdl.html", "description": "GNU Libtool Library (libltdl)"},
"libmad": {"version": "0.15.1b", "website": "https://www.underbit.com/products/mad/", "description": ""},
"libmicrohttpd": {"version": "0.9.38", "website": "https://www.gnu.org/software/libmicrohttpd/", "description": "GNU Libmicrohttpd"},
"libmikmod": {"version": "3.3.7", "website": "http://mikmod.raphnet.net/", "description": "libMikMod"},
"libmms": {"version": "0.6.4", "website": "https://sourceforge.net/projects/libmms/", "description": "a library for downloading (streaming) media files using the mmst and mmsh protocols"},
"libmng": {"version": "2.0.3", "website": "https://www.libmng.com/", "description": ""},
"libmodplug": {"version": "0.8.8.4", "website": "https://modplug-xmms.sourceforge.io/", "description": ""},
"libmpcdec": {"version": "1.2.6", "website": "https://www.musepack.net/", "description": ""},
"libmpeg2": {"version": "0.5.1", "website": "https://libmpeg2.sourceforge.io/", "description": "libmpeg2 - a free MPEG-2 video stream decoder"},
"libmysqlclient": {"version": "6.1.6", "website": "https://dev.mysql.com/downloads/connector/c/", "description": ""},
"libnice": {"version": "0.1.16", "website": "https://libnice.freedesktop.org", "description": ""},
"libntlm": {"version": "1.6", "website": "https://www.nongnu.org/libntlm/", "description": "Libntlm"},
"liboauth": {"version": "1.0.3", "website": "https://liboauth.sourceforge.io/", "description": ""},
"libodbc++": {"version": "0.2.5", "website": "https://libodbcxx.sourceforge.io/", "description": ""},
"liboil": {"version": "0.3.17", "website": "https://liboil.freedesktop.org/", "description": ""},
"libomemo": {"version": "0.6.1", "website": "https://github.com/gkdr/libomemo", "description": "Implementation of OMEMO in C"},
"libotr": {"version": "4.1.1", "website": "https://otr.cypherpunks.ca/", "description": "Off-the-Record Messaging"},
"libpano13": {"version": "2.9.18", "website": "https://panotools.sourceforge.io/", "description": ""},
"libpaper": {"version": "1.1.24+nmu5", "website": "https://packages.debian.org/unstable/libpaper1", "description": ""},
"libplist": {"version": "2.0.0", "website": "https://github.com/libimobiledevice/libplist", "description": ""},
"libpng": {"version": "1.6.37", "website": "http://www.libpng.org/", "description": ""},
"libqrencode": {"version": "4.0.2", "website": "https://fukuchi.org/works/qrencode/", "description": "a fast and compact QR Code encoding library"},
"libraw": {"version": "0.19.5", "website": "https://libraw.org", "description": "A library for reading RAW files obtained from digital photo cameras"},
"librosco": {"version": "0.1.11", "website": "https://github.com/colinbourassa/librosco/", "description": ""},
"librsvg": {"version": "2.40.5", "website": "https://librsvg.sourceforge.io/", "description": ""},
"librtmp": {"version": "fa8646d", "website": "https://rtmpdump.mplayerhq.hu/", "description": ""},
"libsamplerate": {"version": "0.1.9", "website": "http://www.mega-nerd.com/SRC/", "description": ""},
"libserialport": {"version": "0.1.1", "website": "https://sigrok.org/wiki/Libserialport", "description": "libserialport"},
"libshout": {"version": "2.4.1", "website": "https://icecast.org/", "description": ""},
"libsigc++": {"version": "2.4.0", "website": "https://libsigc.sourceforge.io/", "description": ""},
"libsignal-protocol-c": {"version": "2.3.2", "website": "https://github.com/signalapp/libsignal-protocol-c", "description": "libsignal-protocol-c"},
"libsigrok": {"version": "0.5.0", "website": "https://www.sigrok.org/wiki/Libsigrok", "description": "libsigrok"},
"libsndfile": {"version": "1.0.28", "website": "http://www.mega-nerd.com/libsndfile/", "description": ""},
"libsodium": {"version": "1.0.18", "website": "https://download.libsodium.org/doc/", "description": ""},
"libsoup": {"version": "2.57.1", "website": "https://github.com/GNOME/libsoup", "description": "HTTP client/server library for GNOME"},
"libspatialindex": {"version": "1.8.5", "website": "https://libspatialindex.github.io/", "description": "libspatialindex"},
"libspectre": {"version": "0.2.8", "website": "https://libspectre.freedesktop.org/", "description": ""},
"libssh": {"version": "0.9.1", "website": "https://www.libssh.org", "description": "SSHv2 and SSHv1 protocol on client and server side"},
"libssh2": {"version": "1.9.0", "website": "https://libssh2.org/", "description": ""},
"libsvm": {"version": "3.22", "website": "https://www.csie.ntu.edu.tw/~cjlin/libsvm", "description": ""},
"libtasn1": {"version": "4.16.0", "website": "https://www.gnu.org/software/libtasn1/", "description": "GnuTLS"},
"libtool": {"version": "2.4.6", "website": "https://www.gnu.org/software/libtool/", "description": "GNU Libtool"},
"libtorrent-rasterbar": {"version": "1.1.6", "website": "https://www.libtorrent.org/", "description": ""},
"libunistring": {"version": "0.9.10", "website": "https://www.gnu.org/software/libunistring/", "description": ""},
"libusb": {"version": "1.2.6.0", "website": "https://libusb-win32.sourceforge.io/", "description": "LibUsb"},
"libusb1": {"version": "1.0.23", "website": "https://libusb.info/", "description": "LibUsb-1.0"},
"libuv": {"version": "1.30.1", "website": "https://libuv.org", "description": ""},
"libvpx": {"version": "1.8.2", "website": "https://www.webmproject.org/code/", "description": "vpx"},
"libwebp": {"version": "1.0.3", "website": "https://developers.google.com/speed/webp/", "description": ""},
"libwebsockets": {"version": "2.4.2", "website": "https://libwebsockets.org/", "description": ""},
"libxml++": {"version": "2.40.1", "website": "https://libxmlplusplus.sourceforge.io/", "description": "libxml2"},
"libxml2": {"version": "2.9.10", "website": "http://xmlsoft.org/", "description": ""},
"libxslt": {"version": "1.1.34", "website": "http://xmlsoft.org/XSLT/", "description": ""},
"libyaml": {"version": "0.2.5", "website": "https://github.com/yaml/libyaml", "description": "A C library for parsing and emitting YAML."},
"libzip": {"version": "1.5.2", "website": "https://libzip.org/", "description": ""},
"libzmq": {"version": "c89390f", "website": "https://github.com/zeromq/libzmq", "description": "ZeroMQ core engine in C++, implements ZMTP/3.0"},
"llvm": {"version": "10.0.0", "website": "https://llvm.org/", "description": ""},
"log4cxx": {"version": "0.10.0", "website": "https://logging.apache.org/log4cxx/", "description": ""},
"lua": {"version": "5.3.3", "website": "https://www.lua.org/", "description": "Lua"},
"luabind": {"version": "0.9.1", "website": "https://github.com/luabind/luabind", "description": "Luabind"},
"luajit": {"version": "2.0.5", "website": "https://luajit.org/luajit.html", "description": "LuaJIT"},
"lz4": {"version": "1.9.2", "website": "https://github.com/lz4/lz4", "description": "lossless compression algorithm optimized for speed"},
"lzma": {"version": "1900", "website": "https://www.7-zip.org/sdk.html", "description": "LZMA SDK"},
"lzo": {"version": "2.10", "website": "https://www.oberhumer.com/opensource/lzo/", "description": ""},
"matio": {"version": "1.5.2", "website": "https://sourceforge.net/projects/matio/", "description": ""},
"mdbtools": {"version": "0.7.1", "website": "https://sourceforge.net/projects/mdbtools/", "description": ""},
"mesa": {"version": "18.3.6", "website": "", "description": ""},
"metis": {"version": "5.1.0", "website": "glaros.dtc.umn.edu", "description": "metis"},
"mingw-w64": {"version": "7.0.0", "website": "https://mingw-w64.sourceforge.io/", "description": "MinGW-w64 Runtime"},
"miniupnpc": {"version": "2.0", "website": "http://miniupnp.free.fr/", "description": ""},
"minizip": {"version": "2aa369c", "website": "https://www.winimage.com/zLibDll/minizip.html", "description": ""},
"mman-win32": {"version": "9f115ad", "website": "https://code.google.com/p/mman-win32/", "description": "MMA-Win32"},
"mpc": {"version": "1.1.0", "website": "http://www.multiprecision.org/", "description": "GNU MPC"},
"mpfr": {"version": "4.0.2", "website": "https://www.mpfr.org/", "description": ""},
"mpg123": {"version": "1.26.3", "website": "https://www.mpg123.de/", "description": ""},
"muparser": {"version": "2.2.5", "website": "https://beltoforion.de/article.php?a=muparser", "description": "muParser"},
"muparserx": {"version": "4.0.7", "website": "https://beltoforion.de/article.php?a=muparserx", "description": "muParserX"},
"mxe-conf": {"version": "1", "website": "", "description": ""},
"mxml": {"version": "3.1", "website": "https://michaelrsweet.github.io/mxml/", "description": "Mini-XML"},
"nasm": {"version": "2.14.02", "website": "https://www.nasm.us/", "description": "NASM - The Netwide Assembler"},
"ncurses": {"version": "e14300b", "website": "https://www.gnu.org/software/ncurses/", "description": "Ncurses"},
"neon": {"version": "0.30.2", "website": "https://web.archive.org/web/webdav.org/neon/", "description": "HTTP and WebDAV client library (libneon)"},
"netcdf": {"version": "4.6.1", "website": "https://www.unidata.ucar.edu/software/netcdf/", "description": "NetCDF"},
"netcdf-cxx4": {"version": "4.3.0", "website": "https://www.unidata.ucar.edu/software/netcdf/", "description": "NetCDF-CXX4"},
"netpbm": {"version": "10.35.96", "website": "https://netpbm.sourceforge.io/", "description": "Netpbm"},
"nettle": {"version": "3.6", "website": "https://www.lysator.liu.se/~nisse/nettle/", "description": ""},
"nlopt": {"version": "2.6.1", "website": "https://nlopt.readthedocs.io/en/latest/", "description": "NLopt"},
"nsis": {"version": "3.06.1", "website": "https://nsis.sourceforge.io/", "description": "NSIS"},
"ocaml-cairo": {"version": "1.2.0", "website": "https://cairographics.org/cairo-ocaml/", "description": "cairo-ocaml"},
"ocaml-camlimages": {"version": "4.0.1", "website": "http://gallium.inria.fr/camlimages", "description": "camlimages"},
"ocaml-core": {"version": "4.00.1", "website": "https://caml.inria.fr/", "description": "ocaml"},
"ocaml-findlib": {"version": "1.4", "website": "http://download.camlcity.org/", "description": "findlib"},
"ocaml-flexdll": {"version": "0.31", "website": "http://alain.frisch.fr/", "description": "flexdll"},
"ocaml-lablgl": {"version": "1.05", "website": "http://wwwfun.kurims.kyoto-u.ac.jp/soft/lsl/lablgl.html", "description": "lablgl"},
"ocaml-lablgtk2": {"version": "2.16.0", "website": "https://forge.ocamlcore.org/", "description": "lablgtk2"},
"ocaml-native": {"version": "4.00.1", "website": "https://caml.inria.fr/", "description": "ocaml"},
"ocaml-xml-light": {"version": "2.2", "website": "http://tech.motion-twin.com/xmllight.html", "description": "xml-light"},
"oce": {"version": "0.18.2", "website": "https://github.com/tpaviot/oce", "description": "Open CASCADE Community Edition"},
"ogg": {"version": "1.3.4", "website": "https://www.xiph.org/ogg/", "description": "OGG"},
"old": {"version": "0.17", "website": "https://blitiri.com.ar/p/old/", "description": ""},
"openal": {"version": "1.19.1", "website": "https://openal-soft.org/", "description": ""},
"openblas": {"version": "0.3.6", "website": "https://www.openblas.net/", "description": "OpenBLAS"},
"opencore-amr": {"version": "0.1.3", "website": "https://opencore-amr.sourceforge.io/", "description": ""},
"opencsg": {"version": "1.4.2", "website": "http://www.opencsg.org/", "description": ""},
"opencv": {"version": "3.3.0", "website": "https://opencv.org/", "description": "OpenCV"},
"openexr": {"version": "2.2.0", "website": "https://www.openexr.com/", "description": "OpenEXR"},
"openjpeg": {"version": "2.3.1", "website": "https://www.openjpeg.org/", "description": "OpenJPEG"},
"openmp-validation": {"version": "ff8cf0c", "website": "https://github.com/uhhpctools/omp-validation", "description": "OpenMP Validation Suite"},
"openscenegraph": {"version": "3.6.3", "website": "http://www.openscenegraph.org/", "description": "OpenSceneGraph"},
"openssl": {"version": "1.1.1g", "website": "https://www.openssl.org/", "description": ""},
"openthreads": {"version": "3.6.3", "website": "http://www.openscenegraph.org/", "description": "OpenThreads"},
"opus": {"version": "1.3.1", "website": "https://opus-codec.org/", "description": ""},
"opusfile": {"version": "0.11", "website": "https://opus-codec.org/", "description": ""},
"osgearth": {"version": "2.10", "website": "http://osgearth.org/", "description": "Geospatial SDK for OpenSceneGraph"},
"ossim": {"version": "43a071a", "website": "https://trac.osgeo.org/ossim", "description": "OSSIM"},
"pango": {"version": "1.37.4", "website": "https://www.pango.org/", "description": "Pango"},
"pangomm": {"version": "2.34.0", "website": "https://www.pango.org/", "description": "Pangomm"},
"pcl": {"version": "1.9.1", "website": "http://www.pointclouds.org/", "description": "PCL (Point Cloud Library)"},
"pcre": {"version": "8.44", "website": "https://www.pcre.org/", "description": "PCRE"},
"pcre2": {"version": "10.35", "website": "https://www.pcre.org/", "description": "PCRE2"},
"pdcurses": {"version": "3.4", "website": "https://pdcurses.sourceforge.io/", "description": "PDcurses"},
"pdflib_lite": {"version": "7.0.5p3", "website": "https://www.pdflib.com/download/free-software/pdflib-lite-7/", "description": "PDFlib Lite"},
"pe-parse": {"version": "64989f6", "website": "https://github.com/trailofbits/pe-parse", "description": "Principled, lightweight C/C++ PE parser"},
"pe-util": {"version": "5b07cb3", "website": "https://github.com/gsauthof/pe-util", "description": "List shared object dependencies of a portable executable (PE)"},
"pfstools": {"version": "2.0.4", "website": "https://pfstools.sourceforge.io/", "description": ""},
"physfs": {"version": "3.0.2", "website": "https://icculus.org/physfs/", "description": ""},
"picomodel": {"version": "1142ad8", "website": "https://code.google.com/p/picomodel/", "description": ""},
"pire": {"version": "0.0.5", "website": "https://github.com/yandex/pire", "description": "PIRE"},
"pixman": {"version": "0.33.6", "website": "https://cairographics.org/", "description": ""},
"pkgconf": {"version": "da179fd", "website": "https://github.com/pkgconf/pkgconf", "description": ""},
"plib": {"version": "1.8.5-rc1", "website": "https://plib.sourceforge.io/", "description": "Plib"},
"plibc": {"version": "cd7ed09", "website": "https://plibc.sourceforge.io/", "description": "Plibc"},
"plotmm": {"version": "0.1.2", "website": "https://plotmm.sourceforge.io/", "description": "PlotMM"},
"plotutils": {"version": "2.6", "website": "https://www.gnu.org/software/plotutils/", "description": ""},
"poco": {"version": "1.9.4", "website": "https://pocoproject.org/", "description": "POCO C++ Libraries"},
"polarssl": {"version": "1.3.9", "website": "https://tls.mbed.org/", "description": "Polar SSL Library"},
"poppler": {"version": "20.09.0", "website": "https://poppler.freedesktop.org/", "description": ""},
"popt": {"version": "1.16", "website": "https://web.archive.org/web/20190425081726/rpm5.org/", "description": ""},
"portablexdr": {"version": "4.9.1", "website": "https://people.redhat.com/~rjones/portablexdr/", "description": "PortableXDR"},
"portaudio": {"version": "190600_20161030", "website": "http://www.portaudio.com/", "description": ""},
"portmidi": {"version": "217", "website": "https://portmedia.sourceforge.io/portmidi/", "description": ""},
"postgresql": {"version": "9.2.4", "website": "https://www.postgresql.org/", "description": "PostgreSQL"},
"primesieve": {"version": "7.4", "website": "https://primesieve.org/", "description": "Primesieve"},
"proj": {"version": "5.1.0", "website": "https://trac.osgeo.org/proj/", "description": ""},
"protobuf": {"version": "3.9.0", "website": "https://github.com/google/protobuf", "description": ""},
"pthreads": {"version": "POSIX 1003.1-2001", "website": "https://en.wikipedia.org/wiki/POSIX_Threads", "description": "POSIX Threads"},
"pugixml": {"version": "1.8", "website": "https://pugixml.org/", "description": "Light-weight, simple, and fast XML parser for C++ with XPath support"},
"qca": {"version": "2.3.1", "website": "https://userbase.kde.org/QCA", "description": "Qt Cryptographic Architecture"},
"qdbm": {"version": "1.8.78", "website": "https://fallabs.com/qdbm/", "description": "QDBM"},
"qhttpengine": {"version": "1.0.1", "website": "https://github.com/nitroshare/qhttpengine", "description": ""},
"qjson": {"version": "0.9.0", "website": "https://qjson.sourceforge.io/", "description": "QJson"},
"qscintilla2": {"version": "2.11.2", "website": "https://www.riverbankcomputing.com/software/qscintilla/intro", "description": "QScintilla2"},
"qt": {"version": "4.8.7", "website": "https://www.qt.io/", "description": "Qt"},
"qt3d": {"version": "5.15.1", "website": "https://www.qt.io/", "description": "Qt"},
"qt5": {"version": "5.15.1", "website": "https://www.qt.io/", "description": "Qt"},
"qtactiveqt": {"version": "5.15.1", "website": "https://www.qt.io/", "description": "Qt"},
"qtbase": {"version": "5.15.1", "website": "https://www.qt.io/", "description": "Qt"},
"qtcharts": {"version": "5.15.1", "website": "https://www.qt.io/", "description": "Qt"},
"qtconnectivity": {"version": "5.15.1", "website": "https://www.qt.io/", "description": "Qt"},
"qtdatavis3d": {"version": "5.15.1", "website": "https://www.qt.io/", "description": "Qt"},
"qtdeclarative": {"version": "5.15.1", "website": "https://www.qt.io/", "description": "Qt"},
"qtgamepad": {"version": "5.15.1", "website": "https://www.qt.io/", "description": "Qt"},
"qtgraphicaleffects": {"version": "5.15.1", "website": "https://www.qt.io/", "description": "Qt"},
"qtifw": {"version": "3.2.2", "website": "https://doc.qt.io/qtinstallerframework/index.html", "description": "Qt Installer Framework"},
"qtimageformats": {"version": "5.15.1", "website": "https://www.qt.io/", "description": "Qt"},
"qtkeychain": {"version": "0.9.1", "website": "https://github.com/frankosterfeld/qtkeychain", "description": "QtKeychain"},
"qtlocation": {"version": "5.15.1", "website": "https://www.qt.io/", "description": "Qt"},
"qtlottie": {"version": "5.15.1", "website": "https://www.qt.io/", "description": "Qt"},
"qtmultimedia": {"version": "5.15.1", "website": "https://www.qt.io/", "description": "Qt"},
"qtnetworkauth": {"version": "5.15.1", "website": "https://www.qt.io/", "description": "Qt"},
"qtofficeopenxml": {"version": "02dda4a", "website": "https://github.com/dbzhang800/QtOfficeOpenXml/", "description": "QtOfficeOpenXml"},
"qtpurchasing": {"version": "5.15.1", "website": "https://www.qt.io/", "description": "Qt"},
"qtquick3d": {"version": "5.15.1", "website": "https://www.qt.io/", "description": "Qt"},
"qtquickcontrols": {"version": "5.15.1", "website": "https://www.qt.io/", "description": "Qt"},
"qtquickcontrols2": {"version": "5.15.1", "website": "https://www.qt.io/", "description": "Qt"},
"qtremoteobjects": {"version": "5.15.1", "website": "https://www.qt.io/", "description": "Qt"},
"qtscript": {"version": "5.15.1", "website": "https://www.qt.io/", "description": "Qt"},
"qtscxml": {"version": "5.15.1", "website": "https://www.qt.io/", "description": "Qt"},
"qtsensors": {"version": "5.15.1", "website": "https://www.qt.io/", "description": "Qt"},
"qtserialbus": {"version": "5.15.1", "website": "https://www.qt.io/", "description": "Qt"},
"qtserialport": {"version": "5.15.1", "website": "https://www.qt.io/", "description": "Qt"},
"qtserialport_qt4": {"version": "5c3b6cc", "website": "https://www.qt.io/", "description": "Qt"},
"qtservice": {"version": "ee17851", "website": "https://qt.gitorious.org/qt-solutions/", "description": "Qt Solutions"},
"qtsparkle": {"version": "4c852e5", "website": "https://github.com/davidsansome/qtsparkle", "description": "Qt auto-updater lib"},
"qtsparkle_qt4": {"version": "4c852e5", "website": "https://github.com/davidsansome/qtsparkle", "description": "Qt auto-updater lib"},
"qtspeech": {"version": "5.15.1", "website": "https://www.qt.io/", "description": "Qt"},
"qtsvg": {"version": "5.15.1", "website": "https://www.qt.io/", "description": "Qt"},
"qtsystems": {"version": "e3332ee", "website": "https://www.qt.io/", "description": "Qt"},
"qttools": {"version": "5.15.1", "website": "https://www.qt.io/", "description": "Qt"},
"qttranslations": {"version": "5.15.1", "website": "https://www.qt.io/", "description": "Qt"},
"qtvirtualkeyboard": {"version": "5.15.1", "website": "https://www.qt.io/", "description": "Qt"},
"qtwebchannel": {"version": "5.15.1", "website": "https://www.qt.io/", "description": "Qt"},
"qtwebkit": {"version": "5.13.1", "website": "https://github.com/annulen/webkit", "description": "QtWebKit"},
"qtwebsockets": {"version": "5.15.1", "website": "https://www.qt.io/", "description": "Qt"},
"qtwebview": {"version": "5.15.1", "website": "https://www.qt.io/", "description": "Qt"},
"qtwinextras": {"version": "5.15.1", "website": "https://www.qt.io/", "description": "Qt"},
"qtxlsxwriter": {"version": "d3bd83b", "website": "https://github.com/VSRonin/QtXlsxWriter/", "description": "QtXlsxWriter"},
"qtxmlpatterns": {"version": "5.15.1", "website": "https://www.qt.io/", "description": "Qt"},
"quazip": {"version": "0.8.1", "website": "https://github.com/stachenov/quazip", "description": ""},
"qwt": {"version": "6.1.5", "website": "https://qwt.sourceforge.io/", "description": "Qwt"},
"qwtplot3d": {"version": "d80c908", "website": "https://github.com/sintegrial/qwtplot3d", "description": "QwtPlot3D"},
"ragel": {"version": "6.9", "website": "https://www.colm.net/open-source/ragel/", "description": "Ragel"},
"readline": {"version": "8.0", "website": "https://tiswww.case.edu/php/chet/readline/rltop.html", "description": "Readline"},
"rubberband": {"version": "1.8.1", "website": "https://breakfastquay.com/rubberband/", "description": "Rubberband"},
"rucksack": {"version": "3.1.0", "website": "https://github.com/andrewrk/rucksack", "description": ""},
"scons-local": {"version": "3.1.2", "website": "https://scons.org/", "description": "Standalone SCons"},
"sdl": {"version": "1.2.15", "website": "https://www.libsdl.org/", "description": "SDL"},
"sdl2": {"version": "2.0.12", "website": "https://www.libsdl.org/", "description": "SDL2"},
"sdl2_gfx": {"version": "1.0.4", "website": "https://www.ferzkopp.net/joomla/content/view/19/14/", "description": "SDL2_gfx"},
"sdl2_image": {"version": "2.0.5", "website": "https://www.libsdl.org/", "description": "SDL2_image"},
"sdl2_mixer": {"version": "2.0.4", "website": "https://www.libsdl.org/", "description": "SDL2_mixer"},
"sdl2_net": {"version": "2.0.0", "website": "https://www.libsdl.org/", "description": ""},
"sdl2_ttf": {"version": "2.0.14", "website": "https://www.libsdl.org/", "description": "SDL2_ttf"},
"sdl_gfx": {"version": "2.0.26", "website": "https://www.ferzkopp.net/joomla/content/view/19/14/", "description": "SDL_gfx"},
"sdl_image": {"version": "1.2.12", "website": "https://www.libsdl.org/projects/SDL_image/", "description": "SDL_image"},
"sdl_mixer": {"version": "1.2.12", "website": "https://www.libsdl.org/projects/SDL_mixer/", "description": "SDL_mixer"},
"sdl_net": {"version": "1.2.8", "website": "https://www.libsdl.org/projects/SDL_net/", "description": "SDL_net"},
"sdl_pango": {"version": "0.1.2", "website": "https://sdlpango.sourceforge.io/", "description": "SDL_Pango"},
"sdl_rwhttp": {"version": "0.2.0", "website": "https://github.com/mgerhardy/SDL_rwhttp/", "description": "SDL_rwhttp"},
"sdl_sound": {"version": "1.0.3", "website": "https://icculus.org/SDL_sound/", "description": "SDL_sound"},
"sdl_ttf": {"version": "2.0.11", "website": "https://www.libsdl.org/projects/SDL_ttf/", "description": "SDL_ttf"},
"sfml": {"version": "2.5.1", "website": "https://www.sfml-dev.org/", "description": "SFML"},
"smpeg": {"version": "0.4.5+cvs20030824", "website": "https://icculus.org/smpeg/", "description": ""},
"smpeg2": {"version": "2.0.0", "website": "https://icculus.org/smpeg/", "description": "smpeg"},
"smtpclient-for-qt": {"version": "f715bb9", "website": "https://github.com/bluetiger9/SmtpClient-for-Qt/", "description": "SmtpClient-for-Qt"},
"sox": {"version": "14.4.2", "website": "https://sox.sourceforge.io/", "description": "SoX"},
"sparsehash": {"version": "2.0.3", "website": "https://github.com/sparsehash/sparsehash", "description": ""},
"spatialite": {"version": "4.4.0-RC1", "website": "https://www.gaia-gis.it/fossil/libspatialite/index", "description": "SpatiaLite"},
"speex": {"version": "1.2.0", "website": "https://speex.org/", "description": "Speex"},
"speexdsp": {"version": "1.2rc3", "website": "https://speex.org/", "description": "SpeexDSP"},
"sqlcipher": {"version": "3.4.2", "website": "https://www.zetetic.net/sqlcipher/", "description": "SQLite extension that provides 256 bit AES encryption of database files"},
"sqlite": {"version": "3330000", "website": "https://www.sqlite.org/", "description": "SQLite"},
"subversion": {"version": "1.9.7", "website": "https://subversion.apache.org/", "description": ""},
"suitesparse": {"version": "4.5.6", "website": "http://faculty.cse.tamu.edu/davis/suitesparse.html", "description": "SuiteSparse"},
"t4k_common": {"version": "0.1.1", "website": "https://tux4kids.alioth.debian.org/", "description": ""},
"taglib": {"version": "2918602", "website": "https://taglib.org/", "description": "TagLib"},
"tcl": {"version": "8.6.10", "website": "https://tcl.tk/", "description": ""},
"tclap": {"version": "1.2.1", "website": "https://tclap.sourceforge.io/", "description": ""},
"teem": {"version": "1.11.0", "website": "https://teem.sourceforge.io/", "description": "Teem"},
"termcap": {"version": "1.3.1", "website": "https://www.gnu.org/software/termutils/", "description": "Termcap"},
"theora": {"version": "1.1.1", "website": "https://theora.org/", "description": "Theora"},
"tidy-html5": {"version": "5.6.0", "website": "https://www.html-tidy.org/", "description": "HTML/XML syntax checker and reformatter"},
"tiff": {"version": "4.1.0", "website": "http://simplesystems.org/libtiff/", "description": "LibTIFF"},
"tinyxml": {"version": "2.6.2", "website": "https://sourceforge.net/projects/tinyxml/", "description": ""},
"tinyxml2": {"version": "7.0.1", "website": "http://grinninglizard.com/tinyxml2/", "description": ""},
"tre": {"version": "0.8.0", "website": "https://laurikari.net/tre/", "description": "TRE"},
"twolame": {"version": "0.4.0", "website": "http://www.twolame.org/", "description": "TwoLAME"},
"ucl": {"version": "1.03", "website": "https://www.oberhumer.com/opensource/ucl/", "description": "UCL"},
"unrtf": {"version": "0.21.9", "website": "https://www.gnu.org/software/unrtf/", "description": "unRTF"},
"unzip": {"version": "6.10b", "website": "https://infozip.sourceforge.io/UnZip.html", "description": "Info-ZIP"},
"upx": {"version": "3.91", "website": "https://upx.github.io/", "description": "UPX"},
"vamp-plugin-sdk": {"version": "2.5", "website": "https://vamp-plugins.org/", "description": "Vamp Plugins SDK"},
"vc": {"version": "1.3.3", "website": "https://github.com/VcDevel/Vc", "description": "SIMD Vector Classes for C++"},
"vcdimager": {"version": "2.0.1", "website": "https://www.gnu.org/software/vcdimager/", "description": ""},
"vidstab": {"version": "1.1.0", "website": "http://public.hronopik.de/vid.stab/features.php?lang=en", "description": "vid.stab video stablizer"},
"vigra": {"version": "1.9.0", "website": "https://ukoethe.github.io/vigra/", "description": ""},
"vmime": {"version": "6c4bd0d", "website": "https://www.vmime.org/", "description": "VMime"},
"vo-aacenc": {"version": "0.1.3", "website": "https://github.com/mstorsjo/vo-aacenc", "description": "VO-AACENC"},
"vo-amrwbenc": {"version": "0.1.3", "website": "https://github.com/mstorsjo/vo-amrwbenc", "description": "VO-AMRWBENC"},
"vorbis": {"version": "1.3.7", "website": "https://xiph.org/vorbis/", "description": "Vorbis"},
"vtk": {"version": "8.2.0", "website": "", "description": ""},
"waf": {"version": "1.8.17", "website": "https://waf.io/", "description": "Waf: the meta build system"},
"wavpack": {"version": "5.3.0", "website": "http://www.wavpack.com/", "description": "WavPack"},
"wget": {"version": "1.20.3", "website": "https://www.gnu.org/software/wget/", "description": ""},
"widl": {"version": "7.0.0", "website": "https://www.winehq.org/docs/widl/", "description": "Wine IDL Compiler"},
"winpcap": {"version": "4_1_3", "website": "https://www.winpcap.org/", "description": "WinPcap"},
"wt": {"version": "4.3.1", "website": "https://www.webtoolkit.eu/", "description": "Wt"},
"wxwidgets": {"version": "3.0.5.1", "website": "https://www.wxwidgets.org/", "description": "wxWidgets"},
"x264": {"version": "20180806-2245", "website": "https://www.videolan.org/developers/x264.html", "description": ""},
"x265": {"version": "2.4", "website": "http://x265.org/", "description": ""},
"xapian-core": {"version": "1.4.16", "website": "https://xapian.org/", "description": "Xapian-Core"},
"xerces": {"version": "3.1.4", "website": "https://xerces.apache.org/xerces-c/", "description": "Xerces-C++"},
"xmlrpc-c": {"version": "d4364f4", "website": "https://xmlrpc-c.sourceforge.io/", "description": ""},
"xmlsec": {"version": "1.2.29", "website": "https://www.aleksey.com/xmlsec/", "description": ""},
"xmlwrapp": {"version": "0.7.0", "website": "https://sourceforge.net/projects/xmlwrapp/", "description": ""},
"xorg-macros": {"version": "1.19.0", "website": "https://cgit.freedesktop.org/xorg/util/macros/", "description": "X.org utility macros"},
"xvidcore": {"version": "1.3.4", "website": "https://www.xvid.com/", "description": ""},
"xxhash": {"version": "0.7.2", "website": "https://cyan4973.github.io/xxHash/", "description": "xxHash"},
"xz": {"version": "5.2.5", "website": "https://tukaani.org/xz/", "description": "XZ"},
"yaml-cpp": {"version": "0.6.2", "website": "https://github.com/jbeder/yaml-cpp", "description": "A YAML parser and emitter for C++"},
"yasm": {"version": "1.3.0", "website": "https://yasm.tortall.net/", "description": "Yasm"},
"zip": {"version": "3.0", "website": "https://infozip.sourceforge.io/Zip.html", "description": "Info-ZIP"},
"zlib": {"version": "1.2.11", "website": "https://zlib.net/", "description": ""},
"zstd": {"version": "1.4.5", "website": "https://github.com/facebook/zstd", "description": "Zstandard is a fast lossless compression algorithm"},
"zziplib": {"version": "0.13.69", "website": "https://github.com/gdraheim/zziplib", "description": "ZZIPlib"},
"": null
}

424
docs/versions.json Normal file
View File

@ -0,0 +1,424 @@
{
"a52dec": "0.7.4",
"agg": "2.5",
"alure": "1.2",
"apr": "1.5.2",
"apr-util": "1.5.4",
"armadillo": "6.400.3",
"aspell": "0.60.6.1",
"assimp": "3.2",
"atk": "2.16.0",
"atkmm": "2.22.7",
"aubio": "0.4.2",
"bfd": "2.25.1",
"binutils": "2.25.1",
"blas": "3.5.0",
"boost": "1.60.0",
"box2d": "2.3.1",
"bullet": "2.82-r2704",
"bzip2": "1.0.6",
"cairo": "1.14.6",
"cairomm": "1.11.2",
"cblas": "1",
"ccfits": "2.4",
"cegui": "9726a2b505fb",
"cfitsio": "3370",
"cgal": "4.6.3",
"check": "0.10.0",
"chipmunk": "6.2.2",
"chromaprint": "1.1",
"cimg": "1.6.3",
"cloog": "0.18.1",
"cmake": "3.5.2",
"cminpack": "1.3.4",
"coda": "2.15.1",
"coin": "3.1.3",
"cpp-netlib": "0.11.2",
"cppunit": "1.13.2",
"cryptopp": "5.6.3",
"crystalhd": "1",
"cunit": "2.1-3",
"curl": "7.50.3",
"db": "6.1.26",
"dbus": "1.11.4",
"dcmtk": "3.6.0",
"devil": "1.7.8",
"djvulibre": "3.5.27",
"dlfcn-win32": "e19bf07",
"eigen": "3.2.5",
"exiv2": "0.25",
"expat": "2.2.0",
"faad2": "2.7",
"fdk-aac": "0.1.4",
"ffmpeg": "3.1.1",
"fftw": "3.3.4",
"file": "5.24",
"flac": "1.3.1",
"flann": "1.8.4",
"fltk": "1.3.3",
"fontconfig": "2.12.0",
"freeglut": "3.0.0",
"freeimage": "3.15.4",
"freetds": "1.00.15",
"freetype": "2.7",
"freetype-bootstrap": "2.7",
"fribidi": "0.19.6",
"ftgl": "2.1.3~rc5",
"gc": "7.2e",
"gcc": "4.9.4",
"gd": "2.1.0",
"gdal": "2.1.0",
"gdb": "7.11.1",
"gdk-pixbuf": "2.32.3",
"gendef": "4.0.6",
"geoip-database": "20150317-1",
"geos": "3.4.2",
"gettext": "0.19.8.1",
"ghostscript": "9.19",
"giflib": "5.1.4",
"glew": "1.12.0",
"glfw2": "2.7.9",
"glfw3": "3.1.2",
"glib": "2.44.1",
"glibmm": "2.42.0",
"glm": "0.9.7.6",
"glpk": "4.60",
"gmp": "6.1.1",
"gnutls": "3.4.15",
"graphicsmagick": "1.3.21",
"gsl": "1.16",
"gsoap": "2.8.22",
"gst-plugins-bad": "1.6.2",
"gst-plugins-base": "1.6.2",
"gst-plugins-good": "1.6.2",
"gst-plugins-ugly": "1.6.2",
"gstreamer": "1.6.2",
"gta": "1.0.7",
"gtk2": "2.24.29",
"gtk3": "3.14.4",
"gtkglarea": "2.0.1",
"gtkglext": "1.2.0",
"gtkglextmm": "1.2.0",
"gtkimageview": "1.6.4",
"gtkmm2": "2.24.4",
"gtkmm3": "3.14.0",
"gtksourceview": "2.10.5",
"gtksourceviewmm2": "2.10.3",
"guile": "1.8.8",
"harfbuzz": "1.3.2",
"hdf-eos2": "19v1.00",
"hdf-eos5": "1.15",
"hdf4": "4.2.10",
"hdf5": "1.8.12",
"hunspell": "1.3.3",
"hyperscan": "4.3.1",
"icu4c": "56.1",
"id3lib": "3.8.3",
"ilmbase": "2.2.0",
"imagemagick": "6.9.0-0",
"isl": "0.12.2",
"itk": "4.8.2",
"jack": "1.9.10",
"jansson": "2.7",
"jasper": "1.900.1",
"jpeg": "9b",
"json-c": "0.12",
"json-glib": "1.0.4",
"json_spirit": "4.08",
"jsoncpp": "1.6.5",
"lame": "3.99.5",
"lapack": "3.6.0",
"lcms": "2.7",
"lcms1": "1.19",
"lensfun": "0.3.0",
"levmar": "2.6",
"libaacs": "0.8.1",
"libarchive": "3.1.2",
"libass": "0.13.1",
"libbluray": "0.9.2",
"libbs2b": "3.1.0",
"libcaca": "0.99.beta19",
"libcdio": "0.93",
"libcdio-paranoia": "10.2+0.93+1",
"libcomm14cux": "2.1.1",
"libcroco": "0.6.2",
"libdnet": "1.11",
"libdvbpsi": "1.2.0",
"libdvdcss": "1.3.0",
"libdvdnav": "5.0.1",
"libdvdread": "5.0.0",
"libechonest": "2.3.1",
"libepoxy": "1.3.1",
"libevent": "2.0.21",
"libf2c": "1",
"libffi": "3.2.1",
"libftdi": "0.20",
"libftdi1": "1.2",
"libgcrypt": "1.7.3",
"libgda": "4.2.13",
"libgdamm": "4.1.3",
"libgee": "0.5.0",
"libgeotiff": "1.4.0",
"libgit2": "0.23.2",
"libglade": "2.6.4",
"libgnurx": "2.6.1",
"libgpg_error": "1.24",
"libgsasl": "1.8.0",
"libgsf": "1.14.30",
"libharu": "2.2.1",
"libiberty": "2.25.1",
"libical": "2.0.0",
"libiconv": "1.14",
"libid3tag": "0.15.1b",
"libidn": "1.33",
"libieee1284": "0.2.11",
"libircclient": "1.8",
"libjpeg-turbo": "1.5.0",
"liblaxjson": "1.0.5",
"liblo": "0.28rc",
"liblqr-1": "0.4.2",
"liblsmash": "2.9.1",
"libltdl": "2.4.4",
"libmad": "0.15.1b",
"libmicrohttpd": "0.9.38",
"libmikmod": "3.3.7",
"libmng": "2.0.3",
"libmodplug": "0.8.8.4",
"libmpcdec": "1.2.6",
"libmysqlclient": "6.1.6",
"libntlm": "1.4",
"liboauth": "1.0.3",
"libodbc++": "0.2.5",
"liboil": "0.3.17",
"libpano13": "2.9.18",
"libpaper": "1.1.24+nmu4",
"libplist": "1.12",
"libpng": "1.6.25",
"librosco": "0.1.11",
"librsvg": "2.40.5",
"librtmp": "a107cef",
"libsamplerate": "0.1.8",
"libshout": "2.4.1",
"libsigc++": "2.4.0",
"libsndfile": "1.0.27",
"libsodium": "1.0.6",
"libsoup": "2.54.0.1",
"libspectre": "0.2.8",
"libssh2": "1.7.0",
"libsvm": "3.20",
"libtool": "2.4.4",
"libtorrent-rasterbar": "1.1.0",
"libunistring": "0.9.4",
"libusb": "1.2.6.0",
"libusb1": "1.0.19",
"libuv": "1.9.1",
"libvpx": "1.5.0",
"libwebp": "0.4.4",
"libwebsockets": "1.4-chrome43-firefox-36",
"libxml++": "2.37.2",
"libxml2": "2.9.4",
"libxslt": "1.1.29",
"libzip": "0.11.2",
"llvm": "3.4",
"log4cxx": "0.10.0",
"lua": "5.3.3",
"luabind": "0.9.1",
"luajit": "2.0.4",
"lzma": "920",
"lzo": "2.09",
"matio": "1.5.2",
"mdbtools": "0.7.1",
"mingw-w64": "4.0.6",
"miniupnpc": "1.9",
"minizip": "0b46a2b",
"mman-win32": "b7ec370",
"mpc": "1.0.2",
"mpfr": "3.1.5",
"mpg123": "1.22.4",
"muparser": "2.2.5",
"muparserx": "4.0.4",
"mxe-conf": "1",
"mxml": "2.9",
"ncurses": "e14300b",
"netcdf": "4.3.0",
"netpbm": "10.35.96",
"nettle": "3.3",
"nlopt": "2.4.2",
"nsis": "2.51",
"ocaml-cairo": "1.2.0",
"ocaml-camlimages": "4.0.1",
"ocaml-core": "4.00.1",
"ocaml-findlib": "1.4",
"ocaml-flexdll": "0.31",
"ocaml-lablgl": "1.05",
"ocaml-lablgtk2": "2.16.0",
"ocaml-native": "4.00.1",
"ocaml-xml-light": "2.2",
"oce": "0.17.2",
"ogg": "1.3.2",
"old": "0.17",
"openal": "1.16.0",
"openblas": "0.2.15",
"opencore-amr": "0.1.3",
"opencsg": "1.4.1",
"opencv": "2.4.10",
"openexr": "2.2.0",
"openjpeg": "2.1.0",
"openmp-validation": "3.1",
"openscenegraph": "3.4.0",
"openssl": "1.0.2i",
"openthreads": "3.4.0",
"opus": "1.1.1",
"opusfile": "0.6",
"ossim": "1.8.20",
"pango": "1.37.4",
"pangomm": "2.34.0",
"pcl": "1.8.0",
"pcre": "8.39",
"pdcurses": "3.4",
"pdflib_lite": "7.0.5p3",
"pfstools": "2.0.4",
"physfs": "2.0.3",
"picomodel": "1142ad8",
"pire": "0.0.5",
"pixman": "0.33.6",
"pkgconf": "da179fd",
"plib": "1.8.5-rc1",
"plibc": "cd7ed09",
"plotmm": "0.1.2",
"plotutils": "2.6",
"poco": "1.4.7p1",
"polarssl": "1.3.9",
"poppler": "0.30.0",
"popt": "1.16",
"portablexdr": "4.9.1",
"portaudio": "19_20140130",
"portmidi": "217",
"postgresql": "9.2.4",
"primesieve": "5.5.0",
"proj": "4.9.2",
"protobuf": "2.6.1",
"pthreads": "POSIX 1003.1-2001",
"qdbm": "1.8.78",
"qhttpengine": "0.1.0",
"qjson": "0.8.1",
"qscintilla2": "2.8.4",
"qt": "4.8.7",
"qt3d": "5.7.0",
"qt5": "5.7.0",
"qtactiveqt": "5.7.0",
"qtbase": "5.7.0",
"qtcanvas3d": "5.7.0",
"qtcharts": "5.7.0",
"qtconnectivity": "5.7.0",
"qtdatavis3d": "5.7.0",
"qtdeclarative": "5.7.0",
"qtdeclarative-render2d": "5.7.0",
"qtgamepad": "5.7.0",
"qtgraphicaleffects": "5.7.0",
"qtimageformats": "5.7.0",
"qtlocation": "5.7.0",
"qtmultimedia": "5.7.0",
"qtofficeopenxml": "02dda4a46f92a843eaba5f5a021952860eadfe01",
"qtpurchasing": "5.7.0",
"qtquickcontrols": "5.7.0",
"qtquickcontrols2": "5.7.0",
"qtscript": "5.7.0",
"qtscxml": "5.7.0",
"qtsensors": "5.7.0",
"qtserialbus": "5.7.0",
"qtserialport": "5.7.0",
"qtserialport_qt4": "5c3b6cc770",
"qtservice": "ad9bc46",
"qtsparkle_qt4": "8882e6ef86cdb79db7932307309d005411fd0c20",
"qtsvg": "5.7.0",
"qtsystems": "4e3a7ed",
"qttools": "5.7.0",
"qttranslations": "5.7.0",
"qtvirtualkeyboard": "5.7.0",
"qtwebchannel": "5.7.0",
"qtwebengine": "5.7.0",
"qtwebkit": "5.7.0",
"qtwebsockets": "5.7.0",
"qtwebview": "5.7.0",
"qtwinextras": "5.7.0",
"qtxlsxwriter": "3c474f376d1eb098793c45c2f512b216e696052b",
"qtxmlpatterns": "5.7.0",
"qwt": "6.1.3",
"qwt_qt4": "6.1.3",
"qwtplot3d": "0.2.7",
"ragel": "6.9",
"readline": "6.3",
"rubberband": "1.8.1",
"rucksack": "3.1.0",
"sdl": "1.2.15",
"sdl2": "2.0.4",
"sdl2_gfx": "1.0.1",
"sdl2_image": "2.0.0",
"sdl2_mixer": "2.0.0",
"sdl2_net": "2.0.0",
"sdl2_ttf": "2.0.12",
"sdl_gfx": "2.0.25",
"sdl_image": "1.2.12",
"sdl_mixer": "1.2.12",
"sdl_net": "1.2.8",
"sdl_pango": "0.1.2",
"sdl_rwhttp": "0.2.0",
"sdl_sound": "1.0.3",
"sdl_ttf": "2.0.11",
"sfml": "2.3.2",
"smpeg": "0.4.5+cvs20030824",
"smpeg2": "2.0.0",
"sox": "14.4.2",
"sparsehash": "2.0.3",
"speex": "1.2rc2",
"speexdsp": "1.2rc3",
"sqlite": "3140200",
"subversion": "1.9.4",
"suitesparse": "4.2.1",
"t4k_common": "0.1.1",
"taglib": "1.10",
"tclap": "1.2.1",
"teem": "1.11.0",
"termcap": "1.3.1",
"theora": "1.1.1",
"tiff": "4.0.6",
"tinyxml": "2.6.2",
"tinyxml2": "4.0.1",
"tre": "0.8.0",
"twolame": "0.3.13",
"ucl": "1.03",
"unrtf": "0.21.9",
"upx": "3.91",
"vamp-plugin-sdk": "2.5",
"vcdimager": "0.7.24",
"vidstab": "0.98b",
"vigra": "1.9.0",
"vmime": "b133ce8",
"vo-aacenc": "0.1.3",
"vo-amrwbenc": "0.1.3",
"vorbis": "1.3.5",
"vtk": "5.8.0",
"vtk6": "6.3.0",
"waf": "1.8.17",
"wavpack": "4.75.2",
"wget": "1.18",
"widl": "4.0.6",
"winpcap": "4_1_3",
"wt": "3.3.6",
"wxwidgets": "3.0.2",
"x264": "20160706-2245",
"xapian-core": "1.2.21",
"xerces": "3.1.4",
"xmlrpc-c": "d4364f4",
"xmlwrapp": "0.7.0",
"xorg-macros": "1.19.0",
"xvidcore": "1.3.4",
"xxhash": "0.6.1",
"xz": "5.2.2",
"yaml-cpp": "0.5.3",
"yasm": "1.3.0",
"zlib": "1.2.8",
"zziplib": "0.13.62",
"": null
}

View File

@ -5,7 +5,7 @@
# A library of functions to be used with GNU Make's $(call) that
# provides functionality not available in standard GNU Make.
#
# Copyright (c) 2005-2018 John Graham-Cumming
# Copyright (c) 2005-2014 John Graham-Cumming
#
# This file is part of GMSL
#
@ -42,7 +42,7 @@
# This is the GNU Make Standard Library version number as a list with
# three items: major, minor, revision
gmsl_version := 1 1 8
gmsl_version := 1 1 7
__gmsl_name := GNU Make Standard Library
@ -510,7 +510,7 @@ set_equal = $(__gmsl_tr2)$(call seq,$1,$2)
# Returns: Returns the integer for human consumption that is represented
# by the string of x's
# ----------------------------------------------------------------------------
int_decode = $(__gmsl_tr1)$(if $1,$(if $(call seq,$(word 1,$1),x),$(words $1),$1),0)
int_decode = $(__gmsl_tr1)$(words $1)
# ----------------------------------------------------------------------------
# Function: int_encode
@ -602,7 +602,8 @@ multiply = $(__gmsl_tr2)$(call __gmsl_int_wrap,int_multiply,$1,$2)
# by argument 2 in x's representation
# ----------------------------------------------------------------------------
int_divide = $(__gmsl_tr2)$(strip $(if $1,$(if $2, \
$(subst M,x,$(filter-out x,$(subst $2,M,$1))), \
$(if $(call int_gte,$1,$2), \
x $(call int_divide,$(call int_subtract,$1,$2),$2),), \
$(call __gmsl_error,Division by zero))))
# ----------------------------------------------------------------------------
@ -613,26 +614,6 @@ int_divide = $(__gmsl_tr2)$(strip $(if $1,$(if $2, \
# ----------------------------------------------------------------------------
divide = $(__gmsl_tr2)$(call __gmsl_int_wrap,int_divide,$1,$2)
# ----------------------------------------------------------------------------
# Function: int_modulo
# Arguments: 1: A number in x's representation
# 2: Another number in x's represntation
# Returns: Returns the remainder of integer division of argument 1 divided
# by argument 2 in x's representation
# ----------------------------------------------------------------------------
int_modulo = $(__gmsl_tr2)$(strip $(if $1,$(if $2, \
$(filter-out M,$(subst $2,M,$1)), \
$(call __gmsl_error,Division by zero))))
# ----------------------------------------------------------------------------
# Function: modulo (wrapped version of int_modulo)
# Arguments: 1: An integer
# 2: Another integer
# Returns: Returns the remainder of integer division of the first argument
# by the second
# ----------------------------------------------------------------------------
modulo = $(__gmsl_tr2)$(call __gmsl_int_wrap,int_modulo,$1,$2)
# ----------------------------------------------------------------------------
# Function: int_max, int_min
# Arguments: 1: A number in x's representation

974
ext/config.guess vendored

File diff suppressed because it is too large Load Diff

View File

@ -5,7 +5,7 @@
# A library of functions to be used with GNU Make's $(call) that
# provides functionality not available in standard GNU Make.
#
# Copyright (c) 2005-2018 John Graham-Cumming
# Copyright (c) 2005-2014 John Graham-Cumming
#
# This file is part of GMSL
#

View File

@ -1,187 +0,0 @@
# This file is part of MXE. See LICENSE.md for licensing information.
# Standardise GitHub downloads and updates
# Download API has three forms:
# Archive:
# url = <owner>/<repo>/archive/<ref>.tar.gz
# dir = <repo>-<ref>
# if <ref> starts with a single `v`, it is removed from dir
#
# Release:
# Manually uploaded distribution tarballs, especially useful for
# autotools packages with generated sources. No universal convention,
# but the default is:
# url = <owner>/<repo>/releases/downloads/<ref>/<repo>-<version>.[archive extension] | tar.gz
# dir = <repo>-<version>
#
#
# Tarball:
# url = <owner>/<repo>/tarball/<ref>/output-file.tar.gz
# dir = <owner>-<repo>-<short sha>
# Filename doesn't matter as we stream the url to a name of our choosing.
#
# The archive API could be used for all packages, however, if the reference
# is any sort of SHA, the full SHA is used for the directory. We could `cd`
# into it without knowing the SHA beforehand, but the directory length would
# be comical in logs etc.
#
# The release API is based on tags but the uploaded tarballs may use
# any naming convention for the filename and subdir, and also other
# archive types e.g. *.xz
#
# The tarball API accepts references to commits or tags, always using the
# short SHA as the directory. In this case, tag tracking packages would have
# to store the SHA (see #1002). However, this only works for lightweight
# tags, not annotated tags that most projects use for releases.
#
# In summary, we have to use all three.
# The tarball API determines the short SHA length used in the directory name.
# Chances of a collision on a "given" commit seem to decrease as the chance
# of "any" collision increases. If that changes in the future, `make update`
# will fix it.
# Currently (2015-12) the API sets the short SHA length to:
GITHUB_SHA_LENGTH := 7
# Packages must set the following metadata:
# Track branch - Tarball API
# GH_CONF := owner/repo/branches/branch
# updates will use the last commit from the specified branch as
# a version string and bypass `sort -V`
#
# Track releases - Release API
# GH_CONF := owner/repo/releases[/latest], tag prefix, tag suffix, tag filter-out, version separator, archive extension
# updates can optionally use the latest non-prerelease with /latest
# or manually specify version numbering based on:
# <tag prefix><s/<version sep>/./version><tag suffix>
#
# Track tags - Archive API
# GH_CONF := owner/repo/tags, tag prefix, tag suffix, tag filter-out, version separator
# updates will construct a version number based on:
# <tag prefix><s/<version sep>/./version><tag suffix>
#
GH_APIS := branches releases tags
# common tag filtering is applied with `grep -v`:
GITHUB_TAG_FILTER := alpha\|beta\|rc
# More complex filters can fall back to `MXE_GET_GH_TAGS` which returns
# a list for post-processing.
# ...and finally, auto-configure packages based on above metadata:
# - `eval` these snippets during PKG_RULE loop (where PKG is in scope).
# - `call` or `eval` from package makefiles requires complex quoting
# and looks out of place.
# - don't redefine manually set standard variables (FILE, SUBDIR, URL, UPDATE)
GH_OWNER = $(word 1,$(subst /,$(space),$(word 1,$(subst $(comma),$(space),$($(PKG)_GH_CONF)))))
GH_REPO = $(word 2,$(subst /,$(space),$(word 1,$(subst $(comma),$(space),$($(PKG)_GH_CONF)))))
GH_API = $(word 3,$(subst /,$(space),$(word 1,$(subst $(comma),$(space),$($(PKG)_GH_CONF)))))
GH_BRANCH = $(and $(filter branches,$(GH_API)),$(word 4,$(subst /,$(space),$(word 1,$(subst $(comma),$(space),$($(PKG)_GH_CONF))))))
GH_LATEST = $(and $(filter releases,$(GH_API)),$(word 4,$(subst /,$(space),$(word 1,$(subst $(comma),$(space),$($(PKG)_GH_CONF))))))
GH_TAG_VARS = $(call rest,$(subst $(comma),$(space)$(__gmsl_aa_magic),$(subst $(space),,$($(PKG)_GH_CONF))))
GH_TAG_PREFIX = $(subst $(__gmsl_aa_magic),,$(word 1,$(GH_TAG_VARS)))
GH_TAG_SUFFIX = $(subst $(__gmsl_aa_magic),,$(word 2,$(GH_TAG_VARS)))
GH_TAG_FILTER = $(subst $(__gmsl_aa_magic),,$(word 3,$(GH_TAG_VARS)))
GH_VERSION_SEP = $(subst $(__gmsl_aa_magic),,$(word 4,$(GH_TAG_VARS)))
GH_ARCHIVE_EXT = $(subst $(__gmsl_aa_magic),,$(word 5,$(GH_TAG_VARS)))
define MXE_SETUP_GITHUB
$(PKG)_GH_OWNER := $(GH_OWNER)
$(PKG)_GH_REPO := $(GH_REPO)
$(PKG)_GH_LATEST := $(if $(GH_LATEST),/latest)
$(PKG)_BRANCH := $(GH_BRANCH)
$(PKG)_TAG_VARS := $(GH_TAG_VARS)
$(PKG)_TAG_PREFIX := $(GH_TAG_PREFIX)
$(PKG)_TAG_SUFFIX := $(GH_TAG_SUFFIX)
$(PKG)_TAG_FILTER := $(GH_TAG_FILTER)
$(PKG)_VERSION_SEP := $(or $(GH_VERSION_SEP),.)
$(PKG)_ARCHIVE_EXT := $(or $(GH_ARCHIVE_EXT),.tar.gz)
$(PKG)_FILE := $(or $($(PKG)_FILE),$(PKG)-$$(filter-out $$(PKG)-,$$($$(PKG)_TAG_PREFIX))$($(PKG)_VERSION)$$($$(PKG)_TAG_SUFFIX)$$($$(PKG)_ARCHIVE_EXT))
$(if $(and $(GH_BRANCH),$(GH_TAG_VARS)),\
$(error $(newline) $(PKG) specifies both branch and tag variables $(newline)))
$(if $(filter-out $(GH_APIS),$(GH_API))$(filter x,x$(GH_API)),\
$(error $(newline) $(PKG) has unknown API in GH_CONF := $($(PKG)_GH_CONF) $(newline)\
must be $(call merge,|,$(GH_APIS))))
$(value MXE_SETUP_GITHUB_$(call uc,$(GH_API)))
endef
define MXE_SETUP_GITHUB_BRANCHES
$(PKG)_SUBDIR := $(or $($(PKG)_SUBDIR),$($(PKG)_GH_OWNER)-$($(PKG)_GH_REPO)-$($(PKG)_VERSION))
$(PKG)_URL := $(or $($(PKG)_URL),https://github.com/$($(PKG)_GH_OWNER)/$($(PKG)_GH_REPO)/tarball/$($(PKG)_VERSION)/$($(PKG)_FILE))
$(PKG)_UPDATE := $(or $($(PKG)_UPDATE),$(call MXE_GET_GH_SHA,$($(PKG)_GH_OWNER)/$($(PKG)_GH_REPO),$($(PKG)_BRANCH)))
endef
define MXE_SETUP_GITHUB_RELEASES
$(PKG)_SUBDIR := $(or $($(PKG)_SUBDIR),$($(PKG)_GH_REPO)-$(if $(call sne,v,$($(PKG)_TAG_PREFIX)),$($(PKG)_TAG_PREFIX))$(subst .,$($(PKG)_VERSION_SEP),$($(PKG)_VERSION))$($(PKG)_TAG_SUFFIX))
$(PKG)_TAG_REF := $(or $($(PKG)_TAG_REF),$($(PKG)_TAG_PREFIX)$(subst .,$($(PKG)_VERSION_SEP),$($(PKG)_VERSION))$($(PKG)_TAG_SUFFIX))
$(PKG)_URL := $(or $($(PKG)_URL),https://github.com/$($(PKG)_GH_OWNER)/$($(PKG)_GH_REPO)/releases/download/$($(PKG)_TAG_REF)/$($(PKG)_SUBDIR)$($(PKG)_ARCHIVE_EXT))
$(PKG)_URL_2 := $(or $($(PKG)_URL_2),https://github.com/$($(PKG)_GH_OWNER)/$($(PKG)_GH_REPO)/archive/$($(PKG)_TAG_REF).tar.gz)
$(PKG)_UPDATE := $(or $($(PKG)_UPDATE),$(call MXE_GET_GH_RELEASE,$($(PKG)_GH_OWNER)/$($(PKG)_GH_REPO)/releases$($(PKG)_GH_LATEST),$($(PKG)_TAG_PREFIX),$($(PKG)_TAG_SUFFIX),$(or $($(PKG)_TAG_FILTER),$(GITHUB_TAG_FILTER)),$($(PKG)_VERSION_SEP)))
endef
define MXE_SETUP_GITHUB_TAGS
$(PKG)_SUBDIR := $(or $($(PKG)_SUBDIR),$($(PKG)_GH_REPO)-$(if $(call sne,v,$($(PKG)_TAG_PREFIX)),$($(PKG)_TAG_PREFIX))$(subst .,$($(PKG)_VERSION_SEP),$($(PKG)_VERSION))$($(PKG)_TAG_SUFFIX))
$(PKG)_TAR_GZ := $(or $($(PKG)_TAR_GZ),$($(PKG)_TAG_PREFIX)$(subst .,$($(PKG)_VERSION_SEP),$($(PKG)_VERSION))$($(PKG)_TAG_SUFFIX))
$(PKG)_URL := $(or $($(PKG)_URL),https://github.com/$($(PKG)_GH_OWNER)/$($(PKG)_GH_REPO)/archive/$($(PKG)_TAR_GZ).tar.gz)
$(PKG)_UPDATE := $(or $($(PKG)_UPDATE),$(call MXE_GET_GH_TAG,$($(PKG)_GH_OWNER)/$($(PKG)_GH_REPO),$($(PKG)_TAG_PREFIX),$($(PKG)_TAG_SUFFIX),$(or $($(PKG)_TAG_FILTER),$(GITHUB_TAG_FILTER)),$($(PKG)_VERSION_SEP)))
endef
# called with owner/repo/releases[/latest],tag prefix, tag suffix, filter-out, version sep
define MXE_GET_GH_RELEASE
$(WGET) -q -O- 'https://github.com/$(strip $(1))' \
| $(SED) -n 's,.*releases/tag/\([^"&;]*\)".*,\1,p' \
| $(if $(4),grep -vi '$(strip $(4))') \
| $(SED) -n 's,^$(strip $(2))\([^"]*\)$(strip $(3))$$,\1,p' \
| tr '$(strip $(5))' '.' \
| $(SORT) -V \
| tail -1
endef
# called with owner/repo,branch
define MXE_GET_GH_SHA
$(WGET) -q -O- 'https://api.github.com/repos/$(strip $(1))/git/refs/heads/$(strip $(2))' \
| $(SED) -n 's#.*"sha": "\([^"]\{$(GITHUB_SHA_LENGTH)\}\).*#\1#p' \
| head -1
endef
# called with owner/repo
define MXE_GET_GH_TAGS
$(WGET) -q -O- 'https://github.com/$(strip $(1))/tags' \
| $(SED) -n 's#.*releases/tag/\([^"]*\).*#\1#p'
endef
# called with owner/repo, tag prefix, tag suffix, filter-out, version sep
define MXE_GET_GH_TAG
$(MXE_GET_GH_TAGS) \
| $(if $(4),grep -vi '$(strip $(4))') \
| $(SED) -n 's,^$(strip $(2))\([^"]*\)$(strip $(3))$$,\1,p' \
| tr '$(strip $(5))' '.' \
| $(SORT) -V \
| tail -1
endef
GITHUB_PKGS = $(patsubst %_GH_CONF,%,$(filter %_GH_CONF,$(.VARIABLES)))
# test downloads, updates, and source directory
# make check-gh-conf MXE_PLUGIN_DIRS="`find plugins -name '*.mk' -print0 | xargs -0 -n1 dirname | sort | uniq | tr '\n' ' '`"
# a test of many package updates may hit rate limit of 60/hr
# https://developer.github.com/v3/#rate-limiting
.PHONY: check-gh-conf check-gh-conf-%
check-gh-conf-pkg-%: check-update-package-%
@$(MAKE) -f '$(MAKEFILE)' 'download-only-$(*)' \
REMOVE_DOWNLOAD=true \
MXE_NO_BACKUP_DL=true \
--no-print-directory
@$(PRINTF_FMT) '[prep-src]' '$(*)' | $(RTRIM)
@($(MAKE) -f '$(MAKEFILE)' 'prepare-pkg-source-$(*)') &> '$(LOG_DIR)/$(*)-prep-src'
@rm -rf '$(call TMP_DIR,$(*))'
# secondexpansion here since this file is included before pkg makefiles
.SECONDEXPANSION:
check-gh-conf: $$(addprefix check-gh-conf-pkg-,$$(GITHUB_PKGS))
github-pkgs: $$(GITHUB_PKGS)

View File

@ -1,79 +0,0 @@
# This file is part of MXE. See LICENSE.md for licensing information.
# Generic updater
# $(call GET_LATEST_VERSION, base url[, prefix, ext, filter, separator])
# base url : required page returning list of versions
# e.g https://ftp.gnu.org/gnu/libfoo
# prefix : segment before version
# defaults to lastword of url with dash i.e. `libfoo-`
# ext : segment ending version - default `\.tar`
# filter : `grep -i` filter-out pattern - default alpha\|beta\|rc
# separator: transform char to `.` - typically `_`
#
# test changes with:
# make check-get-latest-version
#
# and update tools/skeleton.py with usage notes
define GET_LATEST_VERSION
$(WGET) -q -O- '$(strip $(1))' | \
$(SED) -n 's,.*<a href=".*$(strip $(or $(2),$(lastword $(subst /,$(space),$(1)))-))\([0-9][^"]*\)$(strip $(or $(3),\.tar)).*,\1,p' | \
grep -vi '$(strip $(or $(4),alpha\|beta\|rc))' | \
tr '$(strip $(5))' '.' | \
$(SORT) -V | \
tail -1
endef
ALL_DIRS := $(MXE_PLUGIN_DIRS) $(shell find $(realpath $(TOP_DIR)/plugins) -type d)
GET_LATEST_VERSION_PKGS := $(sort \
$(basename $(notdir $(shell grep -l GET_LATEST_VERSION -r $(ALL_DIRS)))))
.PHONY: check-get-latest-version
check-get-latest-version:
@$(MAKE) -f '$(MAKEFILE)' \
$(addprefix check-update-package-,$(GET_LATEST_VERSION_PKGS)) \
MXE_PLUGIN_DIRS='$(ALL_DIRS)'
COMPARE_VERSIONS = $(strip \
$(if $($(1)_BRANCH),$(call seq,$($(1)_VERSION),$(2)),\
$(filter $(2),$(shell printf '$($(1)_VERSION)\n$(2)' | $(SORT) -V | head -1))))
.PHONY: update
define UPDATE
$(if $(2),
$(if $(filter $($(1)_IGNORE),$(2)),
$(info IGNORED $(1) $(2)),
$(if $(COMPARE_VERSIONS),
$(if $(filter $(2),$($(1)_VERSION)),
$(info . $(1) $(2)),
$(info OLD $(1) $($(1)_VERSION) --> $(2) ignoring)),
$(info NEW $(1) $($(1)_VERSION) --> $(2))
$(if $(findstring undefined, $(origin UPDATE_DRYRUN)),
$(SED) -i 's/^\([^ ]*_VERSION *:=\).*/\1 $(2)/' '$($(1)_MAKEFILE)'
$(MAKE) -f '$(MAKEFILE)' 'update-checksum-$(1)' \
|| { $(SED) -i 's/^\([^ ]*_VERSION *:=\).*/\1 $($(1)_VERSION)/' '$($(1)_MAKEFILE)'; \
exit 1; }))),
$(info Unable to update version number of package $(1) \
$(newline)$(newline)$($(1)_UPDATE)$(newline)))
endef
update:
$(foreach PKG,$(PKGS),\
$(and $($(PKG)_UPDATE),$(call UPDATE,$(PKG),$(shell $($(PKG)_UPDATE)))))
update-package-%:
$(if $(call set_is_member,$*,$(PKGS)), \
$(and $($*_UPDATE),$(call UPDATE,$*,$(shell $($*_UPDATE)))), \
$(error Package $* not found))
@echo -n
check-update-package-%: UPDATE_DRYRUN = true
check-update-package-%: update-package-% ;
update-checksum-%: MXE_NO_BACKUP_DL = true
update-checksum-%: SKIP_CHECHSUM = true
update-checksum-%:
$(if $(call set_is_member,$*,$(PKGS)), \
$(call DOWNLOAD_PKG_ARCHIVE,$*) && \
$(SED) -i 's/^\([^ ]*_CHECKSUM *:=\).*/\1 '"`$(call PKG_CHECKSUM,$*)`"'/' '$($*_MAKEFILE)', \
$(error Package $* not found))

View File

@ -11,7 +11,7 @@ PATCH_NAME = 1-fixes
# can't use PKG_PATCHES here, because it returns existing patches
# while export-patch creates new patch
PATCH_BY_NAME = $(patsubst %.mk,%-$(2).patch,$($(1)_MAKEFILE))
PATCH_BY_NAME = $(patsubst %.mk,%-$(2).patch,$(PKG_MAKEFILES))
define INIT_GIT
# unpack to gits/tmp/pkg
@ -25,7 +25,7 @@ define INIT_GIT
find '$(call GIT_DIR,$(1))' -name .git -prune -exec sh -c 'mv "$$0" "$$0"_' {} \;
# initialize git
$(call GIT_CMD,$(1)) init
$(call GIT_CMD,$(1)) add -A -f
$(call GIT_CMD,$(1)) add -A
$(call GIT_CMD,$(1)) commit -m "init"
$(call GIT_CMD,$(1)) tag dist
endef
@ -46,7 +46,7 @@ define EXPORT_PATCH
echo 'Contains ad hoc patches for cross building.'; \
echo ''; \
$(call GIT_CMD,$(1)) format-patch \
--numbered \
--no-numbered \
-p \
--no-signature \
--stdout \
@ -54,73 +54,35 @@ define EXPORT_PATCH
-M9 \
dist..HEAD \
| $(SED) 's/^From [0-9a-f]\{40\} /From 0000000000000000000000000000000000000000 /' \
| $(SED) 's/^index .......*\.\........* /index 1111111..2222222 /' \
| $(SED) 's/^index .......\.\......../index 1111111..2222222/' \
) > '$(PATCH_BY_NAME)'
endef
_init-git-%: TIMESTAMP = patch
_init-git-%: download-only-%
init-git-%: download-only-%
$(if $(call set_is_member,$*,$(PKGS)), \
$(if $(wildcard $(call GIT_DIR,$*)), \
$(error $(call GIT_DIR,$*) already exists), \
$(call INIT_GIT,$*)), \
$(error Package $* not found))
$(error Package $* not found in docs/index.html))
_import-patch-%:
import-patch-%:
$(if $(call set_is_member,$*,$(PKGS)), \
$(if $(wildcard $(call GIT_DIR,$*)), \
$(call IMPORT_PATCH,$*,$(call PATCH_BY_NAME,$*,$(PATCH_NAME))), \
$(error $(call GIT_DIR,$*) does not exist)), \
$(error Package $* not found))
$(error Package $* not found in docs/index.html))
_import-all-patches-%:
import-all-patches-%:
$(if $(call set_is_member,$*,$(PKGS)), \
$(if $(wildcard $(call GIT_DIR,$*)), \
$(foreach PKG_PATCH,$(call PKG_PATCHES,$*), \
$(call IMPORT_PATCH,$*,$(PKG_PATCH))), \
$(error $(call GIT_DIR,$*) does not exist)), \
$(error Package $* not found))
$(error Package $* not found in docs/index.html))
_export-patch-%:
export-patch-%:
$(if $(call set_is_member,$*,$(PKGS)), \
$(if $(wildcard $(call GIT_DIR,$*)), \
$(call EXPORT_PATCH,$*,$(PATCH_NAME)), \
$(error $(call GIT_DIR,$*) does not exist)), \
$(error Package $* not found))
# use .SECONDARY: when refreshing all patches if you don't
# want to unpack everything every time
#.SECONDARY:
init-git-%: $(PREFIX)/installed/patch/init-git-% ;
import-patch-%: $(PREFIX)/installed/patch/import-patch-% ;
import-all-patches-%: $(PREFIX)/installed/patch/import-all-patches-% ;
export-patch-%: $(PREFIX)/installed/patch/export-patch-% ;
refresh-patch-%: $(PREFIX)/installed/patch/refresh-patch-% ;
$(PREFIX)/installed/patch/refresh-patch-%:
@rm -rf $(PWD)/tmp-patch/$*
@$(MAKE) -f '$(MAKEFILE)' init-git-$* GITS_DIR=$(PWD)/tmp-patch/$*
@$(MAKE) -f '$(MAKEFILE)' import-patch-$* GITS_DIR=$(PWD)/tmp-patch/$*
@$(MAKE) -f '$(MAKEFILE)' export-patch-$* GITS_DIR=$(PWD)/tmp-patch/$*
@# darwin sometimes chokes deleting large git repos
@rm -rf $(PWD)/tmp-patch/$* || sleep 5; rm -rf $(PWD)/tmp-patch/$*
+@mkdir -p '$(dir $@)'
@touch '$@'
$(PREFIX)/installed/patch/%:
@echo '[$*]'
@[ -d '$(LOG_DIR)/patch' ] || mkdir -p '$(LOG_DIR)/patch'
@(time $(MAKE) -f '$(MAKEFILE)' _$*) &> '$(LOG_DIR)/patch/$*'
+@mkdir -p '$(dir $@)'
@touch '$@'
PATCH_FORMAT_PATCHES := $(shell find $(MXE_PLUGIN_DIRS) plugins -name "*-$(PATCH_NAME).patch")
PATCH_FORMAT_PKGS := $(sort $(subst -$(PATCH_NAME),,$(basename $(notdir $(PATCH_FORMAT_PATCHES)))))
PATCH_FORMAT_DIRS := $(sort $(basename $(dir $(PATCH_FORMAT_PATCHES))))
.PHONY: refresh-patches
refresh-patches:
@$(MAKE) -f '$(MAKEFILE)' -j '$(JOBS)'\
$(addprefix refresh-patch-,$(PATCH_FORMAT_PKGS)) \
MXE_PLUGIN_DIRS='$(PATCH_FORMAT_DIRS)'
$(error Package $* not found in docs/index.html))

View File

@ -111,7 +111,7 @@ This type of package will also work with normal MXE features such as updates
and patches.
The customisation style (override/overlay) can be trickier since any arbitrary
`make` statements can be used. Most normal variables should be overridden with
`make` statements can be used. Most normal variables should be overriden with
[simply expanded variables](https://www.gnu.org/software/make/manual/html_node/Flavors.html#Flavors)
i.e. using `:=` instead of `=`. For example, to change a package version:
@ -141,7 +141,7 @@ foo_PATCHES :=
To alter dependencies and components:
```make
qt_DEPS := cc dbus jpeg libmng libpng openssl tiff zlib
qt_DEPS := gcc dbus jpeg libmng libpng openssl tiff zlib
qt_BUILD := \
$(subst -accessibility ,-no-accessibility ,\

View File

@ -1,201 +0,0 @@
This file is part of MXE. See LICENSE.md for licensing information.
Contains ad hoc patches for cross building.
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Pavel Vatagin <pavelvat@gmail.com>
Date: Tue, 31 Jan 2017 22:15:13 +0300
Subject: [PATCH 1/4] fix build
diff --git a/3rdparty/libprojectm/CMakeLists.txt b/3rdparty/libprojectm/CMakeLists.txt
index 1111111..2222222 100644
--- a/3rdparty/libprojectm/CMakeLists.txt
+++ b/3rdparty/libprojectm/CMakeLists.txt
@@ -176,6 +176,8 @@ if(BUNDLE_PROJECTM_PRESETS)
COPY_ONLY
)
endforeach (preset)
+ elseif (WIN32)
+ INSTALL(FILES ${presets} DESTINATION ${CMAKE_INSTALL_PREFIX}/bin/projectm-presets)
else (APPLE)
INSTALL(FILES ${presets} DESTINATION ${CMAKE_INSTALL_PREFIX}/share/clementine/projectm-presets)
endif (APPLE)
diff --git a/3rdparty/libprojectm/glew.h b/3rdparty/libprojectm/glew.h
index 1111111..2222222 100644
--- a/3rdparty/libprojectm/glew.h
+++ b/3rdparty/libprojectm/glew.h
@@ -149,7 +149,7 @@ typedef unsigned short wchar_t;
# endif
#endif
#if !defined(_PTRDIFF_T_DEFINED) && !defined(_PTRDIFF_T_)
-# ifdef _WIN64
+# if defined(_WIN64) && !defined(__MINGW32__)
typedef __int64 ptrdiff_t;
# else
typedef _W64 int ptrdiff_t;
diff --git a/3rdparty/qtsingleapplication/qtlocalpeer.cpp b/3rdparty/qtsingleapplication/qtlocalpeer.cpp
index 1111111..2222222 100644
--- a/3rdparty/qtsingleapplication/qtlocalpeer.cpp
+++ b/3rdparty/qtsingleapplication/qtlocalpeer.cpp
@@ -54,14 +54,12 @@ static PProcessIdToSessionId pProcessIdToSessionId = 0;
#include <time.h>
#endif
-namespace QtLP_Private {
#include "qtlockedfile.cpp"
#if defined(Q_OS_WIN)
#include "qtlockedfile_win.cpp"
#else
#include "qtlockedfile_unix.cpp"
#endif
-}
const char* QtLocalPeer::ack = "ack";
@@ -113,7 +111,7 @@ bool QtLocalPeer::isClient()
if (lockFile.isLocked())
return false;
- if (!lockFile.lock(QtLP_Private::QtLockedFile::WriteLock, false))
+ if (!lockFile.lock(QtLockedFile::WriteLock, false))
return true;
bool res = server->listen(socketName);
diff --git a/3rdparty/qtsingleapplication/qtlocalpeer.h b/3rdparty/qtsingleapplication/qtlocalpeer.h
index 1111111..2222222 100644
--- a/3rdparty/qtsingleapplication/qtlocalpeer.h
+++ b/3rdparty/qtsingleapplication/qtlocalpeer.h
@@ -67,7 +67,7 @@ protected:
QString id;
QString socketName;
QLocalServer* server;
- QtLP_Private::QtLockedFile lockFile;
+ QtLockedFile lockFile;
private:
static const char* ack;
diff --git a/3rdparty/qtsingleapplication/qtlockedfile.h b/3rdparty/qtsingleapplication/qtlockedfile.h
index 1111111..2222222 100644
--- a/3rdparty/qtsingleapplication/qtlockedfile.h
+++ b/3rdparty/qtsingleapplication/qtlockedfile.h
@@ -61,8 +61,6 @@
# define QT_QTLOCKEDFILE_EXPORT
#endif
-namespace QtLP_Private {
-
class QT_QTLOCKEDFILE_EXPORT QtLockedFile : public QFile
{
public:
@@ -92,5 +90,5 @@ private:
#endif
LockMode m_lock_mode;
};
-}
+
#endif
diff --git a/3rdparty/qtsingleapplication/qtlockedfile_win.cpp b/3rdparty/qtsingleapplication/qtlockedfile_win.cpp
index 1111111..2222222 100644
--- a/3rdparty/qtsingleapplication/qtlockedfile_win.cpp
+++ b/3rdparty/qtsingleapplication/qtlockedfile_win.cpp
@@ -62,7 +62,7 @@ Qt::HANDLE QtLockedFile::getMutexHandle(int idx, bool doCreate)
QT_WA( { mutex = CreateMutexW(NULL, FALSE, (TCHAR*)mname.utf16()); },
{ mutex = CreateMutexA(NULL, FALSE, mname.toLocal8Bit().constData()); } );
#else
- mutex = CreateMutexW(NULL, FALSE, (TCHAR*)mname.utf16());
+ mutex = CreateMutexW(NULL, FALSE, (WCHAR*)mname.utf16());
#endif
if (!mutex) {
qErrnoWarning("QtLockedFile::lock(): CreateMutex failed");
@@ -74,7 +74,7 @@ Qt::HANDLE QtLockedFile::getMutexHandle(int idx, bool doCreate)
QT_WA( { mutex = OpenMutexW(SYNCHRONIZE | MUTEX_MODIFY_STATE, FALSE, (TCHAR*)mname.utf16()); },
{ mutex = OpenMutexA(SYNCHRONIZE | MUTEX_MODIFY_STATE, FALSE, mname.toLocal8Bit().constData()); } );
#else
- mutex = OpenMutexW(SYNCHRONIZE | MUTEX_MODIFY_STATE, FALSE, (TCHAR*)mname.utf16());
+ mutex = OpenMutexW(SYNCHRONIZE | MUTEX_MODIFY_STATE, FALSE, (WCHAR*)mname.utf16());
#endif
if (!mutex) {
if (GetLastError() != ERROR_FILE_NOT_FOUND)
diff --git a/3rdparty/tinysvcmdns/CMakeLists.txt b/3rdparty/tinysvcmdns/CMakeLists.txt
index 1111111..2222222 100644
--- a/3rdparty/tinysvcmdns/CMakeLists.txt
+++ b/3rdparty/tinysvcmdns/CMakeLists.txt
@@ -7,7 +7,7 @@ set(TINYSVCMDNS-SOURCES
)
find_library(PTHREAD
- pthreadGC2
+ pthread
)
add_library(tinysvcmdns STATIC
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Alexander Golubev <fatzer2@gmail.com>
Date: Thu, 16 Mar 2017 14:54:55 +0300
Subject: [PATCH 2/4] core/database: configure fts3 tokenizer support
Original patch by Arfrever
This fixes https://github.com/clementine-player/Clementine/issues/5297
https://github.com/clementine-player/Clementine/pull/5669
diff --git a/src/core/database.cpp b/src/core/database.cpp
index 1111111..2222222 100644
--- a/src/core/database.cpp
+++ b/src/core/database.cpp
@@ -265,6 +265,20 @@ QSqlDatabase Database::Connect() {
StaticInit();
{
+
+#ifdef SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER
+ // In case sqlite>=3.12 is compiled without -DSQLITE_ENABLE_FTS3_TOKENIZER (generally a good idea
+ // due to security reasons) the fts3 support should be enabled explicitly.
+ // see https://github.com/clementine-player/Clementine/issues/5297
+ QVariant v = db.driver()->handle();
+ if (v.isValid() && qstrcmp(v.typeName(), "sqlite3*") == 0) {
+ sqlite3* handle = *static_cast<sqlite3**>(v.data());
+ if (handle) {
+ sqlite3_db_config(handle, SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER, 1, NULL);
+ }
+ }
+#endif
+
QSqlQuery set_fts_tokenizer(db);
set_fts_tokenizer.prepare("SELECT fts3_tokenizer(:name, :pointer)");
set_fts_tokenizer.bindValue(":name", "unicode");
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Pavel Vatagin <pavelvat@gmail.com>
Date: Mon, 24 Jul 2017 20:49:21 +0300
Subject: [PATCH 4/4] fix qtsparkle headers
diff --git a/src/main.cpp b/src/main.cpp
index 1111111..2222222 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -95,7 +95,7 @@ const QDBusArgument& operator>>(const QDBusArgument& arg, QImage& image);
#endif
#ifdef Q_OS_WIN32
-#include <qtsparkle/Updater>
+#include <qtsparkle-qt5/Updater>
#endif
// Load sqlite plugin on windows and mac.
diff --git a/src/ui/mainwindow.cpp b/src/ui/mainwindow.cpp
index 1111111..2222222 100644
--- a/src/ui/mainwindow.cpp
+++ b/src/ui/mainwindow.cpp
@@ -38,7 +38,7 @@
#include <QtDebug>
#ifdef Q_OS_WIN32
-#include <qtsparkle/Updater>
+#include <qtsparkle-qt5/Updater>
#endif
#include "core/appearance.h"

View File

@ -1,9 +0,0 @@
diff -ruN clementine-player-Clementine-4619a4c.orig/3rdparty/libmygpo-qt5/src/CMakeLists.txt clementine-player-Clementine-4619a4c/3rdparty/libmygpo-qt5/src/CMakeLists.txt
--- clementine-player-Clementine-4619a4c.orig/3rdparty/libmygpo-qt5/src/CMakeLists.txt 2018-05-23 15:23:21.000000000 +0200
+++ clementine-player-Clementine-4619a4c/3rdparty/libmygpo-qt5/src/CMakeLists.txt 2018-06-07 21:27:00.817420485 +0200
@@ -86,4 +86,4 @@
add_library( ${MYGPO_QT_TARGET_NAME} STATIC ${LIBMYGPO_QT_SRC} ${LIBMYGPO_QT_MOC_SRC} )
target_link_libraries( ${MYGPO_QT_TARGET_NAME} ${QJSON_LIBRARIES} ${QT_QTCORE_LIBRARY} ${QT_QTNETWORK_LIBRARY} )
-qt5_use_modules( ${MYGPO_QT_TARGET_NAME} Core Network )
+target_link_libraries( ${MYGPO_QT_TARGET_NAME} Qt5::Core Qt5::Network )

View File

@ -1,78 +0,0 @@
# This file is part of MXE. See LICENSE.md for licensing information.
PKG := clementine
$(PKG)_IGNORE :=
$(PKG)_VERSION := 4619a4c
$(PKG)_CHECKSUM := 332e834438b151f8614a3e70c9df77a0bdc57d372353d03ea6f604d396224e61
$(PKG)_GH_CONF := clementine-player/Clementine/branches/qt5
$(PKG)_WEBSITE := https://www.clementine-player.org/
$(PKG)_OWNER := https://github.com/pavelvat
$(PKG)_DEPS := cc boost chromaprint cryptopp fftw glew gst-libav gst-plugins-bad \
gst-plugins-good gst-plugins-ugly liblastfm \
libmpcdec protobuf qtsparkle sparsehash
define $(PKG)_BUILD
cd '$(BUILD_DIR)' && $(TARGET)-cmake '$(SOURCE_DIR)' \
-DCMAKE_INSTALL_PREFIX=$(PREFIX)/$(TARGET)/apps/$(PKG)
$(MAKE) -C '$(BUILD_DIR)' -j $(JOBS)
$(MAKE) -C '$(BUILD_DIR)' -j 1 install
$(if $(BUILD_SHARED),
$(INSTALL) -d '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstapetag.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstapp.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstasf.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstaudioconvert.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstaudiofx.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstaudioparsers.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstaudioresample.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstaudiotestsrc.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstautodetect.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstcdio.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstcoreelements.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstdirectsound.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstequalizer.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstfaad.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstflac.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstgdp.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstgio.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgsticydemux.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstid3demux.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstisomp4.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstlame.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstlibav.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstmms.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstogg.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstopus.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstplayback.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstreplaygain.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstsoup.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstspectrum.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstspeex.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgsttaglib.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgsttcp.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgsttypefindfunctions.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstudp.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstvolume.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstvorbis.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstwavpack.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstwavparse.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) -d '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/imageformats'
$(INSTALL) '$(PREFIX)/$(TARGET)/qt5/plugins/imageformats/qgif.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/imageformats'
$(INSTALL) '$(PREFIX)/$(TARGET)/qt5/plugins/imageformats/qjpeg.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/imageformats'
$(INSTALL) -d '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/platforms'
$(INSTALL) '$(PREFIX)/$(TARGET)/qt5/plugins/platforms/qwindows.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/platforms'
'$(TOP_DIR)/tools/copydlldeps.sh' -c \
-d '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin' \
-F '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin' \
-F '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins' \
-F '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/imageformats' \
-X '$(PREFIX)/$(TARGET)/apps' \
-R '$(PREFIX)/$(TARGET)';
)
endef
$(PKG)_BUILD_STATIC =

View File

@ -1,85 +0,0 @@
This file is part of MXE. See LICENSE.md for licensing information.
Contains ad hoc patches for cross building.
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Pavel Vatagin <pavelvat@gmail.com>
Date: Sat, 5 Nov 2016 02:19:37 +0300
Subject: [PATCH 1/2] fix clementine
diff --git a/3rdparty/libprojectm/CMakeLists.txt b/3rdparty/libprojectm/CMakeLists.txt
index 1111111..2222222 100644
--- a/3rdparty/libprojectm/CMakeLists.txt
+++ b/3rdparty/libprojectm/CMakeLists.txt
@@ -174,6 +174,8 @@ if(BUNDLE_PROJECTM_PRESETS)
COPY_ONLY
)
endforeach (preset)
+ elseif (WIN32)
+ INSTALL(FILES ${presets} DESTINATION ${CMAKE_INSTALL_PREFIX}/bin/projectm-presets)
else (APPLE)
INSTALL(FILES ${presets} DESTINATION ${CMAKE_INSTALL_PREFIX}/share/clementine/projectm-presets)
endif (APPLE)
diff --git a/3rdparty/libprojectm/glew.h b/3rdparty/libprojectm/glew.h
index 1111111..2222222 100644
--- a/3rdparty/libprojectm/glew.h
+++ b/3rdparty/libprojectm/glew.h
@@ -149,7 +149,7 @@ typedef unsigned short wchar_t;
# endif
#endif
#if !defined(_PTRDIFF_T_DEFINED) && !defined(_PTRDIFF_T_)
-# ifdef _WIN64
+# if defined(_WIN64) && !defined(__MINGW32__)
typedef __int64 ptrdiff_t;
# else
typedef _W64 int ptrdiff_t;
diff --git a/3rdparty/tinysvcmdns/CMakeLists.txt b/3rdparty/tinysvcmdns/CMakeLists.txt
index 1111111..2222222 100644
--- a/3rdparty/tinysvcmdns/CMakeLists.txt
+++ b/3rdparty/tinysvcmdns/CMakeLists.txt
@@ -7,7 +7,7 @@ set(TINYSVCMDNS-SOURCES
)
find_library(PTHREAD
- pthreadGC2
+ pthread
)
add_library(tinysvcmdns STATIC
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Alexander Golubev <fatzer2@gmail.com>
Date: Thu, 16 Mar 2017 14:54:55 +0300
Subject: [PATCH 2/2] core/database: configure fts3 tokenizer support
Original patch by Arfrever
This fixes https://github.com/clementine-player/Clementine/issues/5297
https://github.com/clementine-player/Clementine/pull/5669
diff --git a/src/core/database.cpp b/src/core/database.cpp
index 1111111..2222222 100644
--- a/src/core/database.cpp
+++ b/src/core/database.cpp
@@ -265,6 +265,20 @@ QSqlDatabase Database::Connect() {
StaticInit();
{
+
+#ifdef SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER
+ // In case sqlite>=3.12 is compiled without -DSQLITE_ENABLE_FTS3_TOKENIZER (generally a good idea
+ // due to security reasons) the fts3 support should be enabled explicitly.
+ // see https://github.com/clementine-player/Clementine/issues/5297
+ QVariant v = db.driver()->handle();
+ if (v.isValid() && qstrcmp(v.typeName(), "sqlite3*") == 0) {
+ sqlite3* handle = *static_cast<sqlite3**>(v.data());
+ if (handle) {
+ sqlite3_db_config(handle, SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER, 1, NULL);
+ }
+ }
+#endif
+
QSqlQuery set_fts_tokenizer("SELECT fts3_tokenizer(:name, :pointer)", db);
set_fts_tokenizer.bindValue(":name", "unicode");
set_fts_tokenizer.bindValue(

View File

@ -1,84 +0,0 @@
# This file is part of MXE. See LICENSE.md for licensing information.
# lconvert and lupdate are not provided by MXE for Qt4,
# so for Debian/Ubuntu you need install packages qt4-linguist-tools
# (this package contains lupdate and lrelease) and qt4-dev-tools
# (this package contains lconvert):
# apt-get install qt4-linguist-tools qt4-dev-tools
# Or you may use lupdate, lrelease, lconvert from Qt5:
# apt-get install qttools5-dev-tools
PKG := clementine_qt4
$(PKG)_IGNORE :=
$(PKG)_VERSION := 925e74f
$(PKG)_CHECKSUM := 9da96ca2dc8adbba9dc9b6921def258a18d8c004eebacb897369b7821ec0c320
$(PKG)_GH_CONF := clementine-player/Clementine/branches/master
$(PKG)_WEBSITE := https://www.clementine-player.org/
$(PKG)_OWNER := https://github.com/pavelvat
$(PKG)_DEPS := cc boost chromaprint cryptopp fftw glew gst-libav gst-plugins-bad \
gst-plugins-good gst-plugins-ugly libechonest liblastfm_qt4 \
libmpcdec protobuf qtsparkle_qt4 sparsehash
define $(PKG)_BUILD
cd '$(BUILD_DIR)' && $(TARGET)-cmake '$(SOURCE_DIR)' \
-DCMAKE_INSTALL_PREFIX=$(PREFIX)/$(TARGET)/apps/$(PKG)
$(MAKE) -C '$(BUILD_DIR)' -j $(JOBS)
$(MAKE) -C '$(BUILD_DIR)' -j 1 install
$(if $(BUILD_SHARED),
$(INSTALL) -d '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstapetag.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstapp.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstasf.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstaudioconvert.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstaudiofx.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstaudioparsers.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstaudioresample.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstaudiotestsrc.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstautodetect.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstcdio.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstcoreelements.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstdirectsound.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstequalizer.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstfaad.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstflac.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstgdp.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstgio.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgsticydemux.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstid3demux.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstisomp4.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstlame.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstlibav.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstmms.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstogg.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstopus.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstplayback.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstreplaygain.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstsoup.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstspectrum.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstspeex.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgsttaglib.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgsttcp.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgsttypefindfunctions.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstudp.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstvolume.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstvorbis.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstwavpack.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstwavparse.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) -d '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/imageformats'
$(INSTALL) '$(PREFIX)/$(TARGET)/qt/plugins/imageformats/qgif4.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/imageformats'
$(INSTALL) '$(PREFIX)/$(TARGET)/qt/plugins/imageformats/qjpeg4.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/imageformats'
'$(TOP_DIR)/tools/copydlldeps.sh' -c \
-d '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin' \
-F '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin' \
-F '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins' \
-F '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/imageformats' \
-X '$(PREFIX)/$(TARGET)/apps' \
-R '$(PREFIX)/$(TARGET)';
)
endef
# libechonest doesn't support static builds
$(PKG)_BUILD_STATIC =

View File

@ -9,7 +9,7 @@ $(PKG)_FILE := $(PKG)-$($(PKG)_VERSION).tar.gz
$(PKG)_URL := https://www.keepassx.org/releases/$($(PKG)_VERSION)/$($(PKG)_FILE)
$(PKG)_WEBSITE := https://www.keepassx.org
$(PKG)_OWNER := https://github.com/starius
$(PKG)_DEPS := cc qt
$(PKG)_DEPS := gcc qt
define $(PKG)_UPDATE
$(WGET) -q -O- 'https://www.keepassx.org/downloads/' | \

View File

@ -1,30 +0,0 @@
# This file is part of MXE. See LICENSE.md for licensing information.
PKG := msmtp
$(PKG)_IGNORE :=
$(PKG)_VERSION := 1.6.6
$(PKG)_CHECKSUM := da15db1f62bd0201fce5310adb89c86188be91cd745b7cb3b62b81a501e7fb5e
$(PKG)_SUBDIR := $(PKG)-$($(PKG)_VERSION)
$(PKG)_FILE := $(PKG)-$($(PKG)_VERSION).tar.xz
$(PKG)_URL := https://$(SOURCEFORGE_MIRROR)/project/$(PKG)/$(PKG)/$($(PKG)_VERSION)/$($(PKG)_FILE)
$(PKG)_OWNER := https://github.com/andrew-strong
$(PKG)_DEPS := cc gnutls libgcrypt libgpg_error libgsasl libiconv libidn libntlm
define $(PKG)_UPDATE
$(WGET) -q -O- 'https://sourceforge.net/projects/msmtp/files/msmtp/' | \
$(SED) -n 's,.*/\([0-9][^"]*\)/".*,\1,p' | \
head -1
endef
define $(PKG)_BUILD
cd '$(BUILD_DIR)' && '$(SOURCE_DIR)/configure' \
$(MXE_CONFIGURE_OPTS) \
--infodir='$(BUILD_DIR)/sink' \
--disable-nls \
--without-libsecret \
--without-macosx-keyring \
--with-tls=gnutls \
--with-libidn
$(MAKE) -C $(BUILD_DIR) -j '$(JOBS)'
$(MAKE) -C $(BUILD_DIR) -j 1 install $(MXE_DISABLE_DOCS)
endef

View File

@ -5,7 +5,7 @@ Contains ad hoc patches for cross building.
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Boris Nagaev <bnagaev@gmail.com>
Date: Sun, 30 Aug 2015 00:28:50 +0200
Subject: [PATCH 1/3] do not check qmake existence
Subject: [PATCH] do not check qmake existance
Fix ./configure error:
@ -57,7 +57,7 @@ index 1111111..2222222 100755
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Boris Nagaev <bnagaev@gmail.com>
Date: Sun, 29 May 2016 23:35:25 +0200
Subject: [PATCH 2/3] link with boost_random and boost_chrono
Subject: [PATCH] link with boost_random and boost_chrono
libtorrent-rasterbar 1.1.0 uses them
@ -85,7 +85,7 @@ index 1111111..2222222 100644
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Boris Nagaev <bnagaev@gmail.com>
Date: Mon, 30 May 2016 00:09:20 +0200
Subject: [PATCH 3/3] disable BOOST_ASIO_SEPARATE_COMPILATION
Subject: [PATCH] disable BOOST_ASIO_SEPARATE_COMPILATION
After upgrading libtorrent-rasterbar to 1.1.0, qbittorrent fails to link
main executable with undefined symbols in boost_asio:

View File

@ -6,13 +6,11 @@ $(PKG)_VERSION := 3.3.4
$(PKG)_CHECKSUM := c0d0d4b72c240f113b59a061146803bc1b7926d3d7f39b06b50a4d26f5ad91b8
$(PKG)_SUBDIR := $(PKG)-$($(PKG)_VERSION)
$(PKG)_FILE := $(PKG)-$($(PKG)_VERSION).tar.xz
$(PKG)_URL := https://$(SOURCEFORGE_MIRROR)/project/$(PKG)/$(PKG)/$(PKG)-$($(PKG)_VERSION)/$($(PKG)_FILE)
$(PKG)_WEBSITE := https://qbittorrent.org/
$(PKG)_OWNER := https://github.com/starius
$(PKG)_DEPS := cc boost libtorrent-rasterbar qt $(BUILD)~geoip-database
$(PKG)_URL := http://$(SOURCEFORGE_MIRROR)/project/$(PKG)/$(PKG)/$(PKG)-$($(PKG)_VERSION)/$($(PKG)_FILE)
$(PKG)_DEPS := gcc libtorrent-rasterbar qt boost
define $(PKG)_UPDATE
$(WGET) -q -O- 'https://www.qbittorrent.org/download.php' | \
$(WGET) -q -O- 'http://www.qbittorrent.org/download.php' | \
$(SED) -n 's,.*qbittorrent-\([0-9][^"]*\)\.tar.*,\1,p' | \
head -1
endef

View File

@ -1,22 +0,0 @@
This file is part of MXE. See LICENSE.md for licensing information.
Contains ad hoc patches for cross building.
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Tony Theodore <tonyt@logyst.com>
Date: Mon, 26 Feb 2018 22:45:37 +1100
Subject: [PATCH 1/1] add missing include
diff --git a/src/utils/SecureRNG.cpp b/src/utils/SecureRNG.cpp
index 1111111..2222222 100644
--- a/src/utils/SecureRNG.cpp
+++ b/src/utils/SecureRNG.cpp
@@ -37,6 +37,7 @@
#include <limits.h>
#ifdef Q_OS_WIN
+#include <windows.h>
#include <wincrypt.h>
#endif

View File

@ -1,22 +0,0 @@
# This file is part of MXE. See LICENSE.md for licensing information.
PKG := ricochet
$(PKG)_WEBSITE := https://ricochet.im/
$(PKG)_OWNER := https://github.com/starius
$(PKG)_IGNORE :=
$(PKG)_VERSION := 1.1.4
$(PKG)_CHECKSUM := 4eb9000bc3f6c6a18659479015af980c16f971d468d10410ebeac8ada720d2cd
$(PKG)_GH_CONF := ricochet-im/ricochet/tags, v
$(PKG)_DEPS := cc openssl protobuf qtbase qtdeclarative qtmultimedia qtquickcontrols qttools
define $(PKG)_BUILD
# TODO: add libasan and libubsan and let ricochet use them.
# See https://github.com/ricochet-im/ricochet/blob/master/BUILDING.md#hardening
cd '$(BUILD_DIR)' && \
'$(TARGET)-qmake-qt5' \
OPENSSLDIR='$(PREFIX)/$(TARGET)' \
PROTOBUFDIR='$(PREFIX)/$(TARGET)' \
'$(SOURCE_DIR)'
$(MAKE) -C '$(BUILD_DIR)' -j '$(JOBS)'
cp '$(BUILD_DIR)'/release/ricochet.exe '$(PREFIX)/$(TARGET)/bin/'
endef

View File

@ -0,0 +1,49 @@
This file is part of MXE. See LICENSE.md for licensing information.
Contains ad hoc patches for cross building.
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Boris Nagaev <bnagaev@gmail.com>
Date: Sun, 21 Feb 2016 22:51:30 +0300
Subject: [PATCH] do not use mman-win32
tor can be compiled without mman-win32, because it has own
implementation of mmap using Windows API. But if mman-win32
is installed, tor tries to use it resulting in linking errors.
(In MXE mman-win32 installs DLLs even for static targets!)
diff --git a/src/common/compat.c b/src/common/compat.c
index 1111111..2222222 100644
--- a/src/common/compat.c
+++ b/src/common/compat.c
@@ -101,7 +101,7 @@
#ifdef HAVE_SYS_UTIME_H
#include <sys/utime.h>
#endif
-#ifdef HAVE_SYS_MMAN_H
+#if 0
#include <sys/mman.h>
#endif
#ifdef HAVE_SYS_SYSLIMITS_H
@@ -191,7 +191,7 @@ tor_rename(const char *path_old, const char *path_new)
sandbox_intern_string(path_new));
}
-#if defined(HAVE_SYS_MMAN_H) || defined(RUNNING_DOXYGEN)
+#if 0
/** Try to create a memory mapping for <b>filename</b> and return it. On
* failure, return NULL. Sets errno properly, using ERANGE to mean
* "empty file". */
diff --git a/src/common/compat.h b/src/common/compat.h
index 1111111..2222222 100644
--- a/src/common/compat.h
+++ b/src/common/compat.h
@@ -285,7 +285,7 @@ typedef struct tor_mmap_t {
size_t size; /**< Size of the file. */
/* None of the fields below should be accessed from outside compat.c */
-#ifdef HAVE_SYS_MMAN_H
+#if 0
size_t mapping_size; /**< Size of the actual mapping. (This is this file
* size, rounded up to the nearest page.) */
#elif defined _WIN32

View File

@ -2,14 +2,12 @@
PKG := tor
$(PKG)_IGNORE :=
$(PKG)_VERSION := 0.4.3.5
$(PKG)_CHECKSUM := 616a0e4ae688d0e151d46e3e4258565da4d443d1ddbd316db0b90910e2d5d868
$(PKG)_VERSION := 0.2.6.10
$(PKG)_CHECKSUM := 0542c0efe43b86619337862fa7eb02c7a74cb23a79d587090628a5f0f1224b8d
$(PKG)_SUBDIR := $(PKG)-$($(PKG)_VERSION)
$(PKG)_FILE := $(PKG)-$($(PKG)_VERSION).tar.gz
$(PKG)_URL := https://torproject.org/dist/$($(PKG)_FILE)
$(PKG)_WEBSITE := https://torproject.org/
$(PKG)_OWNER := https://github.com/starius
$(PKG)_DEPS := cc libevent openssl zlib
$(PKG)_DEPS := gcc libevent openssl zlib
define $(PKG)_UPDATE
$(WGET) -q -O- 'https://torproject.org/download/download' | \
@ -18,11 +16,11 @@ $(WGET) -q -O- 'https://torproject.org/download/download' | \
endef
define $(PKG)_BUILD
cd '$(BUILD_DIR)' && \
cd '$(1)' && \
LIBS="`'$(TARGET)-pkg-config' --libs-only-l openssl`" \
'$(SOURCE_DIR)/configure' \
./configure \
$(MXE_CONFIGURE_OPTS)
$(SED) 's@#define HAVE_SYS_MMAN_H 1@// Disabled in MXE #define HAVE_SYS_MMAN_H 1@' -i '$(BUILD_DIR)/orconfig.h'
$(MAKE) -C '$(BUILD_DIR)' -j '$(JOBS)' $(MXE_DISABLE_DOCS)
$(MAKE) -C '$(BUILD_DIR)' -j 1 install $(MXE_DISABLE_DOCS)
$(MAKE) -C '$(1)' -j '$(JOBS)' install $(MXE_DISABLE_DOCS)
endef
$(PKG)_BUILD_SHARED =

View File

@ -5,7 +5,7 @@ Contains ad hoc patches for cross building.
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Boris Nagaev <bnagaev@gmail.com>
Date: Sun, 20 Mar 2016 16:36:20 +0100
Subject: [PATCH 1/8] rename conflicting constants
Subject: [PATCH] rename conflicting constants
diff --git a/src/net.c b/src/net.c
@ -174,7 +174,7 @@ index 1111111..2222222 100644
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Boris Nagaev <bnagaev@gmail.com>
Date: Sun, 20 Mar 2016 21:34:38 +0100
Subject: [PATCH 2/8] rename zcalloc (conflict with zlib)
Subject: [PATCH] rename zcalloc (conflict with zlib)
diff --git a/src/stats.c b/src/stats.c
@ -251,7 +251,7 @@ index 1111111..2222222 100644
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Boris Nagaev <bnagaev@gmail.com>
Date: Tue, 22 Mar 2016 23:04:35 +0100
Subject: [PATCH 3/8] allow to specify EXTRA_CFLAGS and EXTRA_LIBS
Subject: [PATCH] allow to specify EXTRA_CFLAGS and EXTRA_LIBS
diff --git a/Makefile b/Makefile
@ -270,9 +270,9 @@ index 1111111..2222222 100644
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Boris Nagaev <bnagaev@gmail.com>
Date: Tue, 22 Mar 2016 23:05:26 +0100
Subject: [PATCH 4/8] reorder -lssl and -lcrypto
Subject: [PATCH] reorder -lssl and -lcrypto
See https://stackoverflow.com/a/27136346
See http://stackoverflow.com/a/27136346
diff --git a/Makefile b/Makefile
index 1111111..2222222 100644
@ -289,7 +289,7 @@ index 1111111..2222222 100644
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Boris Nagaev <bnagaev@gmail.com>
Date: Tue, 22 Mar 2016 23:14:32 +0100
Subject: [PATCH 5/8] option to use external installation of LuaJIT
Subject: [PATCH] option to use external installation of LuaJIT
LUA_PATH is provided to avoid changing directory to LuaJIT's tree.
@ -336,7 +336,7 @@ index 1111111..2222222 100644
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Boris Nagaev <bnagaev@gmail.com>
Date: Tue, 22 Mar 2016 23:21:51 +0100
Subject: [PATCH 6/8] embed bytecode via header instead of object file
Subject: [PATCH] embed bytecode via header instead of object file
Embedding via object file requires -Wl,-E which doesn't work on MinGW.
Embedding via header is more portable.
@ -410,7 +410,7 @@ index 1111111..2222222 100644
luaL_openlibs(L);
- (void) luaL_dostring(L, "wrk = require \"wrk\"");
+
+ // Taken from https://stackoverflow.com/a/19426724
+ // Taken from http://stackoverflow.com/a/19426724
+ lua_getglobal(L, "package");
+ lua_getfield(L, -1, "preload");
+ luaL_loadbuffer(L, luaJIT_BC_wrk, luaJIT_BC_wrk_SIZE, NULL);
@ -427,7 +427,7 @@ index 1111111..2222222 100644
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Boris Nagaev <bnagaev@gmail.com>
Date: Tue, 22 Mar 2016 23:28:09 +0100
Subject: [PATCH 7/8] use send/recv for sockets instead of write/read
Subject: [PATCH] use send/recv for sockets instead of write/read
write/read returns Bad file descriptor for sockets in MinGW.
@ -456,7 +456,7 @@ index 1111111..2222222 100644
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Boris Nagaev <bnagaev@gmail.com>
Date: Wed, 23 Mar 2016 22:48:52 +0100
Subject: [PATCH 8/8] compatibility with MinGW
Subject: [PATCH] compatibility with MinGW
diff --git a/Makefile b/Makefile

View File

@ -1,13 +1,17 @@
# This file is part of MXE. See LICENSE.md for licensing information.
PKG := wrk
$(PKG)_WEBSITE := https://github.com/wg/wrk
$(PKG)_OWNER := https://github.com/starius
$(PKG)_IGNORE :=
$(PKG)_VERSION := 4.0.1
$(PKG)_CHECKSUM := c03bbc283836cb4b706eb6bfd18e724a8ce475e2c16154c13c6323a845b4327d
$(PKG)_GH_CONF := wg/wrk/tags
$(PKG)_DEPS := cc luajit openssl pthreads $(BUILD)~luajit
$(PKG)_SUBDIR := $(PKG)-$($(PKG)_VERSION)
$(PKG)_FILE := $(PKG)-$($(PKG)_VERSION).tar.gz
$(PKG)_URL := https://github.com/wg/wrk/archive/$($(PKG)_VERSION).tar.gz
$(PKG)_DEPS := gcc luajit openssl pthreads
define $(PKG)_UPDATE
$(call MXE_GET_GITHUB_TAGS, wg/wrk)
endef
define $(PKG)_BUILD
$(MAKE) \

View File

@ -1,8 +1,8 @@
# This file is part of MXE. See LICENSE.md for licensing information.
# MXE provides a fully featured build of Qt. Some users want more control...
# https://lists.nongnu.org/archive/html/mingw-cross-env-list/2013-08/msg00010.html
# https://lists.nongnu.org/archive/html/mingw-cross-env-list/2012-05/msg00019.html
# http://lists.nongnu.org/archive/html/mingw-cross-env-list/2013-08/msg00010.html
# http://lists.nongnu.org/archive/html/mingw-cross-env-list/2012-05/msg00019.html
#
# build of qt and deps is (say): 25 mins with 12.5 MB test program
# custom with minimal deps is: 4 mins with 7.6 MB test program
@ -12,7 +12,7 @@
$(info == Custom Qt overrides: $(lastword $(MAKEFILE_LIST)))
qt_DEPS := cc
qt_DEPS := gcc
define qt_BUILD
$(SED) -i 's,\(^QMAKE_CFLAGS_RELEASE\).*,\1 = -pipe -Os -fomit-frame-pointer -momit-leaf-frame-pointer -fdata-sections -ffunction-sections,g' '$(1)/mkspecs/win32-g++/qmake.conf'

View File

@ -45,11 +45,8 @@ terminal emulators:
#### Make
```
make make-host MXE_PLUGIN_DIRS=plugins/examples/host-toolchain/
```
This will cross-compile GNU Make from source (without guile support).
Make is difficult to cross-compile so it is downloaded from the [source
recommended by the GNU Make team](http://git.savannah.gnu.org/cgit/make.git/tree/README.W32.template).
#### pkgconf/pkg-config
@ -68,7 +65,8 @@ with non-standard include paths.
make qt5-host-tools MXE_PLUGIN_DIRS=plugins/examples/host-toolchain/
```
This will build `qtbase` and cross-compile the toolchain/qt tools/make
This will build `qtbase`, cross-compile the toolchain and qt tools, and
download `make` binaries.
On a windows machine, execute
`usr\{target}\qt5\test-qt5-host-tools\test-qt5-host-tools.bat` to build and
@ -85,7 +83,7 @@ running a Linux VM on Windows).
[cmake-generators]:https://cmake.org/cmake/help/latest/manual/cmake-generators.7.html
[cmder]:https://cmder.net/
[cmder]:http://cmder.net/
[conemu]:https://conemu.github.io/
[git-win]:https://git-for-windows.github.io/
[msys2]:https://msys2.github.io/

View File

@ -8,7 +8,7 @@ $(PKG)_SUBDIR = $(binutils_SUBDIR)
$(PKG)_FILE = $(binutils_FILE)
$(PKG)_URL = $(binutils_URL)
$(PKG)_URL_2 = $(binutils_URL_2)
$(PKG)_DEPS := cc
$(PKG)_DEPS := gcc
define $(PKG)_UPDATE
echo $(binutils_VERSION)
@ -24,7 +24,8 @@ define $(PKG)_BUILD
--prefix='$(PREFIX)/$(TARGET)' \
--program-prefix='$(TARGET)-' \
--host='$(TARGET)',\
$(binutils_BUILD))
$(subst install, install-strip,\
$(binutils_BUILD)))
# install unprefixed versions also
for p in $($(PKG)_PROGS); do \

View File

@ -8,7 +8,7 @@ $(PKG)_SUBDIR = $(cmake_SUBDIR)
$(PKG)_FILE = $(cmake_FILE)
$(PKG)_URL = $(cmake_URL)
$(PKG)_URL_2 = $(cmake_URL_2)
$(PKG)_DEPS := cc
$(PKG)_DEPS := gcc
define $(PKG)_UPDATE
echo $(cmake_VERSION)

View File

@ -6,10 +6,10 @@ $(PKG)_VERSION = $(gcc_VERSION)
$(PKG)_CHECKSUM = $(gcc_CHECKSUM)
$(PKG)_SUBDIR = $(gcc_SUBDIR)
$(PKG)_FILE = $(gcc_FILE)
$(PKG)_PATCHES = $(gcc_PATCHES)
$(PKG)_PATCHES = $(realpath $(sort $(wildcard $(addsuffix /gcc-[0-9]*.patch, $(TOP_DIR)/src))))
$(PKG)_URL = $(gcc_URL)
$(PKG)_URL_2 = $(gcc_URL_2)
$(PKG)_DEPS := cc binutils-host gmp isl mpc mpfr pthreads
$(PKG)_DEPS := gcc binutils-host cloog gmp isl mpfr mpc pthreads
define $(PKG)_UPDATE
echo $(gcc_VERSION)
@ -35,13 +35,11 @@ define $(PKG)_BUILD
--disable-win32-registry \
--enable-threads=$(MXE_GCC_THREADS) \
--enable-libgomp \
--with-{gmp,isl,mpc,mpfr}='$(PREFIX)/$(TARGET)' \
--with-{cloog,gmp,isl,mpc,mpfr}='$(PREFIX)/$(TARGET)' \
$($(PKG)_CONFIGURE_OPTS)
# `all-target-libstdc++-v3` sometimes has parallel failure
$(MAKE) -C '$(BUILD_DIR)' -j '$(JOBS)' all-target-libstdc++-v3 || $(MAKE) -C '$(BUILD_DIR)' -j 1 all-target-libstdc++-v3
$(MAKE) -C '$(BUILD_DIR)' -j '$(JOBS)'
$(MAKE) -C '$(BUILD_DIR)' -j 1 $(INSTALL_STRIP_TOOLCHAIN)
$(MAKE) -C '$(BUILD_DIR)' -j 1 install-strip
# shared libgcc isn't installed to version-specific locations
# so install correctly to simplify cleanup (see gcc.mk)

View File

@ -1,51 +0,0 @@
# This file is part of MXE. See LICENSE.md for licensing information.
PKG := make-host
$(PKG)_IGNORE :=
$(PKG)_VERSION := 4.2.1
$(PKG)_CHECKSUM := d6e262bf3601b42d2b1e4ef8310029e1dcf20083c5446b4b7aa67081fdffc589
$(PKG)_SUBDIR := make-$($(PKG)_VERSION)
$(PKG)_FILE := make-$($(PKG)_VERSION).tar.bz2
$(PKG)_URL := https://ftp.gnu.org/gnu/make/$($(PKG)_FILE)
$(PKG)_URL_2 := https://ftpmirror.gnu.org/make/$($(PKG)_FILE)
$(PKG)_DEPS := cc
define $(PKG)_UPDATE
$(WGET) -q -O- 'https://ftp.gnu.org/gnu/make/?C=M;O=D' | \
$(SED) -n 's,.*<a href="make-\([0-9][^"]*\)\.tar.*,\1,p' | \
$(SORT) -V | \
tail -1
endef
$(PKG)_SRCS := ar.c arscan.c commands.c default.c dir.c expand.c file.c \
function.c getloadavg.c getopt.c getopt1.c glob/fnmatch.c \
glob/glob.c guile.c hash.c implicit.c job.c load.c loadapi.c \
main.c misc.c output.c read.c remake.c remote-stub.c rule.c \
signame.c strcache.c variable.c version.c vpath.c \
w32/compat/posixfcn.c w32/pathstuff.c w32/subproc/misc.c \
w32/subproc/sub_proc.c w32/subproc/w32err.c w32/w32os.c
define $(PKG)_BUILD
cd '$(BUILD_DIR)' && mkdir -p glob w32/compat w32/subproc
cp '$(SOURCE_DIR)/config.h.W32' '$(BUILD_DIR)/config.h'
$(foreach FILE,$($(PKG)_SRCS),\
'$(TARGET)-gcc' \
-mthreads -Wall -std=gnu99 -O2 -DWINDOWS32 -DHAVE_CONFIG_H \
-I'$(SOURCE_DIR)' \
-I'$(BUILD_DIR)' \
-I'$(SOURCE_DIR)/glob' \
-I'$(SOURCE_DIR)/w32/include' \
-o '$(BUILD_DIR)/$(FILE).o' \
-c '$(SOURCE_DIR)/$(FILE)'$(\n))
cd '$(BUILD_DIR)' && \
'$(TARGET)-gcc' \
-mthreads -Wl,--subsystem,console -s \
-o '$(BUILD_DIR)/make.exe' \
$(addsuffix .o,$($(PKG)_SRCS)) -ladvapi32 -luser32
$(INSTALL) -d '$(PREFIX)/$(TARGET)/bin'
$(INSTALL) '$(BUILD_DIR)/make.exe' '$(PREFIX)/$(TARGET)/bin/make.exe'
endef

View File

@ -0,0 +1,21 @@
# This file is part of MXE. See LICENSE.md for licensing information.
PKG := make-w32-bin
$(PKG)_IGNORE :=
$(PKG)_VERSION := 4.2
$(PKG)_CHECKSUM := 6cab11301e601996ab0cb7b3b903e5a55d5bd795614946cf6bd025cd61c710c6
$(PKG)_SUBDIR := .
$(PKG)_FILE := make-$($(PKG)_VERSION)-without-guile-w32-bin.zip
$(PKG)_URL := http://$(SOURCEFORGE_MIRROR)/project/ezwinports/$($(PKG)_FILE)
$(PKG)_DEPS :=
define $(PKG)_UPDATE
$(WGET) -q -O- 'http://sourceforge.net/projects/ezwinports/files/' | \
$(SED) -n 's,.*/make-\([0-9.]*\)-without-guile.*,\1,p' | \
head -1
endef
define $(PKG)_BUILD
cp '$(1)/bin/'* '$(PREFIX)/$(TARGET)/bin/'
cp '$(1)/lib/'* '$(PREFIX)/$(TARGET)/lib/'
endef

View File

@ -8,7 +8,7 @@ $(PKG)_SUBDIR = $(pkgconf_SUBDIR)
$(PKG)_FILE = $(pkgconf_FILE)
$(PKG)_URL = $(pkgconf_URL)
$(PKG)_URL_2 = $(pkgconf_URL_2)
$(PKG)_DEPS := cc libffi
$(PKG)_DEPS := gcc libffi
define $(PKG)_UPDATE
echo $(pkgconf_VERSION)

View File

@ -4,7 +4,7 @@ PKG := $(basename $(notdir $(lastword $(MAKEFILE_LIST))))
$(PKG)_FILE = $(qtbase_FILE)
$(PKG)_PATCHES = $(realpath $(sort $(wildcard $(addsuffix /qtbase-[0-9]*.patch, $(TOP_DIR)/src))))
$(PKG)_SUBDIR = $(qtbase_SUBDIR)
$(PKG)_DEPS := cc gcc-host make-host qtbase winpthreads-host
$(PKG)_DEPS := gcc gcc-host make-w32-bin qtbase winpthreads-host
# main configure options: -platform -host-option -external-hostbindir
# further testing needed: -prefix -extprefix -hostprefix -sysroot -no-gcc-sysroot

View File

@ -6,10 +6,9 @@ $(PKG)_VERSION = $(mingw-w64_VERSION)
$(PKG)_CHECKSUM = $(mingw-w64_CHECKSUM)
$(PKG)_SUBDIR = $(mingw-w64_SUBDIR)
$(PKG)_FILE = $(mingw-w64_FILE)
$(PKG)_PATCHES = $(mingw-w64_PATCHES)
$(PKG)_URL = $(mingw-w64_URL)
$(PKG)_URL_2 = $(mingw-w64_URL_2)
$(PKG)_DEPS := cc
$(PKG)_DEPS := gcc
define $(PKG)_UPDATE
echo $(mingw-w64_VERSION)

View File

@ -1,593 +0,0 @@
This file is part of MXE. See LICENSE.md for licensing information.
Contains ad hoc patches for cross building.
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Mark Brand <mabrand@mabrand.nl>
Date: Wed, 8 Jan 2014 02:19:10 +0100
Subject: [PATCH 1/2] winsock2
-This patch has been taken from:
-https://rt.openssl.org/Ticket/Display.html?id=2285&user=guest&pass=guest
diff --git a/ssl/dtls1.h b/ssl/dtls1.h
index 1111111..2222222 100644
--- a/ssl/dtls1.h
+++ b/ssl/dtls1.h
@@ -68,7 +68,7 @@
# endif
# ifdef OPENSSL_SYS_WIN32
/* Needed for struct timeval */
-# include <winsock.h>
+# include <winsock2.h>
# elif defined(OPENSSL_SYS_NETWARE) && !defined(_WINSOCK2API_)
# include <sys/timeval.h>
# else
diff --git a/ssl/ssltest.c b/ssl/ssltest.c
index 1111111..2222222 100644
--- a/ssl/ssltest.c
+++ b/ssl/ssltest.c
@@ -198,7 +198,7 @@
#define _XOPEN_SOURCE_EXTENDED 1
#ifdef OPENSSL_SYS_WINDOWS
-# include <winsock.h>
+# include <winsock2.h>
#else
# include OPENSSL_UNISTD
#endif
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Tom Molesworth <tom@entitymodel.com>
Date: Wed, 8 Jan 2014 02:20:21 +0100
Subject: [PATCH 2/2] Patch OpenSSL POD docs for perl-5.16+
Stricter validation in recent Perl versions means the install
stage fails without these applied.
Should be harmless for earlier versions of perl.
diff --git a/doc/apps/cms.pod b/doc/apps/cms.pod
index 1111111..2222222 100644
--- a/doc/apps/cms.pod
+++ b/doc/apps/cms.pod
@@ -483,28 +483,28 @@ with caution. For a fuller description see L<CMS_decrypt(3)|CMS_decrypt(3)>).
=over 4
-=item Z<>0
+=item * Z<>0
the operation was completely successfully.
-=item Z<>1
+=item * Z<>1
an error occurred parsing the command options.
-=item Z<>2
+=item * Z<>2
one of the input files could not be read.
-=item Z<>3
+=item * Z<>3
an error occurred creating the CMS file or when reading the MIME
message.
-=item Z<>4
+=item * Z<>4
an error occurred decrypting or verifying the message.
-=item Z<>5
+=item * Z<>5
the message was verified correctly but an error occurred writing out
the signers certificates.
diff --git a/doc/apps/smime.pod b/doc/apps/smime.pod
index 1111111..2222222 100644
--- a/doc/apps/smime.pod
+++ b/doc/apps/smime.pod
@@ -313,28 +313,28 @@ remains DER.
=over 4
-=item Z<>0
+=item * Z<>0
the operation was completely successfully.
-=item Z<>1
+=item * Z<>1
an error occurred parsing the command options.
-=item Z<>2
+=item * Z<>2
one of the input files could not be read.
-=item Z<>3
+=item * Z<>3
an error occurred creating the PKCS#7 file or when reading the MIME
message.
-=item Z<>4
+=item * Z<>4
an error occurred decrypting or verifying the message.
-=item Z<>5
+=item * Z<>5
the message was verified correctly but an error occurred writing out
the signers certificates.
diff --git a/doc/crypto/rand.pod b/doc/crypto/rand.pod
index 1111111..2222222 100644
--- a/doc/crypto/rand.pod
+++ b/doc/crypto/rand.pod
@@ -74,16 +74,16 @@ First up I will state the things I believe I need for a good RNG.
=over 4
-=item 1
+=item * 1
A good hashing algorithm to mix things up and to convert the RNG 'state'
to random numbers.
-=item 2
+=item * 2
An initial source of random 'state'.
-=item 3
+=item * 3
The state should be very large. If the RNG is being used to generate
4096 bit RSA keys, 2 2048 bit random strings are required (at a minimum).
@@ -93,13 +93,13 @@ carried away on this last point but it does indicate that it may not be
a bad idea to keep quite a lot of RNG state. It should be easier to
break a cipher than guess the RNG seed data.
-=item 4
+=item * 4
Any RNG seed data should influence all subsequent random numbers
generated. This implies that any random seed data entered will have
an influence on all subsequent random numbers generated.
-=item 5
+=item * 5
When using data to seed the RNG state, the data used should not be
extractable from the RNG state. I believe this should be a
@@ -108,12 +108,12 @@ data would be a private key or a password. This data must
not be disclosed by either subsequent random numbers or a
'core' dump left by a program crash.
-=item 6
+=item * 6
Given the same initial 'state', 2 systems should deviate in their RNG state
(and hence the random numbers generated) over time if at all possible.
-=item 7
+=item * 7
Given the random number output stream, it should not be possible to determine
the RNG state or the next random number.
diff --git a/doc/ssl/SSL_COMP_add_compression_method.pod b/doc/ssl/SSL_COMP_add_compression_method.pod
index 1111111..2222222 100644
--- a/doc/ssl/SSL_COMP_add_compression_method.pod
+++ b/doc/ssl/SSL_COMP_add_compression_method.pod
@@ -59,11 +59,11 @@ SSL_COMP_add_compression_method() may return the following values:
=over 4
-=item Z<>0
+=item * Z<>0
The operation succeeded.
-=item Z<>1
+=item * Z<>1
The operation failed. Check the error queue to find out the reason.
diff --git a/doc/ssl/SSL_CTX_add_session.pod b/doc/ssl/SSL_CTX_add_session.pod
index 1111111..2222222 100644
--- a/doc/ssl/SSL_CTX_add_session.pod
+++ b/doc/ssl/SSL_CTX_add_session.pod
@@ -52,13 +52,13 @@ The following values are returned by all functions:
=over 4
-=item Z<>0
+=item * Z<>0
The operation failed. In case of the add operation, it was tried to add
the same (identical) session twice. In case of the remove operation, the
session was not found in the cache.
-=item Z<>1
+=item * Z<>1
The operation succeeded.
diff --git a/doc/ssl/SSL_CTX_load_verify_locations.pod b/doc/ssl/SSL_CTX_load_verify_locations.pod
index 1111111..2222222 100644
--- a/doc/ssl/SSL_CTX_load_verify_locations.pod
+++ b/doc/ssl/SSL_CTX_load_verify_locations.pod
@@ -100,13 +100,13 @@ The following return values can occur:
=over 4
-=item Z<>0
+=item * Z<>0
The operation failed because B<CAfile> and B<CApath> are NULL or the
processing at one of the locations specified failed. Check the error
stack to find out the reason.
-=item Z<>1
+=item * Z<>1
The operation succeeded.
diff --git a/doc/ssl/SSL_CTX_set_client_CA_list.pod b/doc/ssl/SSL_CTX_set_client_CA_list.pod
index 1111111..2222222 100644
--- a/doc/ssl/SSL_CTX_set_client_CA_list.pod
+++ b/doc/ssl/SSL_CTX_set_client_CA_list.pod
@@ -66,13 +66,13 @@ values:
=over 4
-=item Z<>0
+=item * Z<>0
A failure while manipulating the STACK_OF(X509_NAME) object occurred or
the X509_NAME could not be extracted from B<cacert>. Check the error stack
to find out the reason.
-=item Z<>1
+=item * Z<>1
The operation succeeded.
diff --git a/doc/ssl/SSL_CTX_set_session_id_context.pod b/doc/ssl/SSL_CTX_set_session_id_context.pod
index 1111111..2222222 100644
--- a/doc/ssl/SSL_CTX_set_session_id_context.pod
+++ b/doc/ssl/SSL_CTX_set_session_id_context.pod
@@ -64,13 +64,13 @@ return the following values:
=over 4
-=item Z<>0
+=item * Z<>0
The length B<sid_ctx_len> of the session id context B<sid_ctx> exceeded
the maximum allowed length of B<SSL_MAX_SSL_SESSION_ID_LENGTH>. The error
is logged to the error stack.
-=item Z<>1
+=item * Z<>1
The operation succeeded.
diff --git a/doc/ssl/SSL_CTX_set_ssl_version.pod b/doc/ssl/SSL_CTX_set_ssl_version.pod
index 1111111..2222222 100644
--- a/doc/ssl/SSL_CTX_set_ssl_version.pod
+++ b/doc/ssl/SSL_CTX_set_ssl_version.pod
@@ -42,11 +42,11 @@ and SSL_set_ssl_method():
=over 4
-=item Z<>0
+=item * Z<>0
The new choice failed, check the error stack to find out the reason.
-=item Z<>1
+=item * Z<>1
The operation succeeded.
diff --git a/doc/ssl/SSL_CTX_use_psk_identity_hint.pod b/doc/ssl/SSL_CTX_use_psk_identity_hint.pod
index 1111111..2222222 100644
--- a/doc/ssl/SSL_CTX_use_psk_identity_hint.pod
+++ b/doc/ssl/SSL_CTX_use_psk_identity_hint.pod
@@ -83,7 +83,7 @@ Return values from the server callback are interpreted as follows:
=over 4
-=item Z<>0
+=item * Z<>0
PSK identity was not found. An "unknown_psk_identity" alert message
will be sent and the connection setup fails.
diff --git a/doc/ssl/SSL_accept.pod b/doc/ssl/SSL_accept.pod
index 1111111..2222222 100644
--- a/doc/ssl/SSL_accept.pod
+++ b/doc/ssl/SSL_accept.pod
@@ -41,18 +41,18 @@ The following return values can occur:
=over 4
-=item Z<>0
+=item * Z<>0
The TLS/SSL handshake was not successful but was shut down controlled and
by the specifications of the TLS/SSL protocol. Call SSL_get_error() with the
return value B<ret> to find out the reason.
-=item Z<>1
+=item * Z<>1
The TLS/SSL handshake was successfully completed, a TLS/SSL connection has been
established.
-=item E<lt>0
+=item * E<lt>0
The TLS/SSL handshake was not successful because a fatal error occurred either
at the protocol level or a connection failure occurred. The shutdown was
diff --git a/doc/ssl/SSL_clear.pod b/doc/ssl/SSL_clear.pod
index 1111111..2222222 100644
--- a/doc/ssl/SSL_clear.pod
+++ b/doc/ssl/SSL_clear.pod
@@ -56,12 +56,12 @@ The following return values can occur:
=over 4
-=item Z<>0
+=item * Z<>0
The SSL_clear() operation could not be performed. Check the error stack to
find out the reason.
-=item Z<>1
+=item * Z<>1
The SSL_clear() operation was successful.
diff --git a/doc/ssl/SSL_connect.pod b/doc/ssl/SSL_connect.pod
index 1111111..2222222 100644
--- a/doc/ssl/SSL_connect.pod
+++ b/doc/ssl/SSL_connect.pod
@@ -41,18 +41,18 @@ The following return values can occur:
=over 4
-=item Z<>0
+=item * Z<>0
The TLS/SSL handshake was not successful but was shut down controlled and
by the specifications of the TLS/SSL protocol. Call SSL_get_error() with the
return value B<ret> to find out the reason.
-=item Z<>1
+=item * Z<>1
The TLS/SSL handshake was successfully completed, a TLS/SSL connection has been
established.
-=item E<lt>0
+=item * E<lt>0
The TLS/SSL handshake was not successful, because a fatal error occurred either
at the protocol level or a connection failure occurred. The shutdown was
diff --git a/doc/ssl/SSL_do_handshake.pod b/doc/ssl/SSL_do_handshake.pod
index 1111111..2222222 100644
--- a/doc/ssl/SSL_do_handshake.pod
+++ b/doc/ssl/SSL_do_handshake.pod
@@ -42,18 +42,18 @@ The following return values can occur:
=over 4
-=item Z<>0
+=item * Z<>0
The TLS/SSL handshake was not successful but was shut down controlled and
by the specifications of the TLS/SSL protocol. Call SSL_get_error() with the
return value B<ret> to find out the reason.
-=item Z<>1
+=item * Z<>1
The TLS/SSL handshake was successfully completed, a TLS/SSL connection has been
established.
-=item E<lt>0
+=item * E<lt>0
The TLS/SSL handshake was not successful because a fatal error occurred either
at the protocol level or a connection failure occurred. The shutdown was
diff --git a/doc/ssl/SSL_get_ex_data_X509_STORE_CTX_idx.pod b/doc/ssl/SSL_get_ex_data_X509_STORE_CTX_idx.pod
index 1111111..2222222 100644
--- a/doc/ssl/SSL_get_ex_data_X509_STORE_CTX_idx.pod
+++ b/doc/ssl/SSL_get_ex_data_X509_STORE_CTX_idx.pod
@@ -36,11 +36,11 @@ before the SSL index is created.
=over 4
-=item E<gt>=0
+=item * E<gt>=0
The index value to access the pointer.
-=item E<lt>0
+=item * E<lt>0
An error occurred, check the error stack for a detailed error message.
diff --git a/doc/ssl/SSL_get_fd.pod b/doc/ssl/SSL_get_fd.pod
index 1111111..2222222 100644
--- a/doc/ssl/SSL_get_fd.pod
+++ b/doc/ssl/SSL_get_fd.pod
@@ -26,12 +26,12 @@ The following return values can occur:
=over 4
-=item -1
+=item * -1
The operation failed, because the underlying BIO is not of the correct type
(suitable for file descriptors).
-=item E<gt>=0
+=item * E<gt>=0
The file descriptor linked to B<ssl>.
diff --git a/doc/ssl/SSL_read.pod b/doc/ssl/SSL_read.pod
index 1111111..2222222 100644
--- a/doc/ssl/SSL_read.pod
+++ b/doc/ssl/SSL_read.pod
@@ -81,16 +81,16 @@ The following return values can occur:
=over 4
-=item E<gt> 0
+=item * E<gt> 0
The read operation was successful.
The return value is the number of bytes actually read from the TLS/SSL
connection.
-=item Z<><= 0
+=item * Z<><= 0
-=item E<lt>0
+=item * E<lt>0
The read operation was not successful, because either the connection was closed,
an error occurred or action must be taken by the calling process.
diff --git a/doc/ssl/SSL_session_reused.pod b/doc/ssl/SSL_session_reused.pod
index 1111111..2222222 100644
--- a/doc/ssl/SSL_session_reused.pod
+++ b/doc/ssl/SSL_session_reused.pod
@@ -27,11 +27,11 @@ The following return values can occur:
=over 4
-=item Z<>0
+=item * Z<>0
A new session was negotiated.
-=item Z<>1
+=item * Z<>1
A session was reused.
diff --git a/doc/ssl/SSL_set_fd.pod b/doc/ssl/SSL_set_fd.pod
index 1111111..2222222 100644
--- a/doc/ssl/SSL_set_fd.pod
+++ b/doc/ssl/SSL_set_fd.pod
@@ -35,11 +35,11 @@ The following return values can occur:
=over 4
-=item Z<>0
+=item * Z<>0
The operation failed. Check the error stack to find out why.
-=item Z<>1
+=item * Z<>1
The operation succeeded.
diff --git a/doc/ssl/SSL_set_session.pod b/doc/ssl/SSL_set_session.pod
index 1111111..2222222 100644
--- a/doc/ssl/SSL_set_session.pod
+++ b/doc/ssl/SSL_set_session.pod
@@ -37,11 +37,11 @@ The following return values can occur:
=over 4
-=item Z<>0
+=item * Z<>0
The operation failed; check the error stack to find out the reason.
-=item Z<>1
+=item * Z<>1
The operation succeeded.
diff --git a/doc/ssl/SSL_set_shutdown.pod b/doc/ssl/SSL_set_shutdown.pod
index 1111111..2222222 100644
--- a/doc/ssl/SSL_set_shutdown.pod
+++ b/doc/ssl/SSL_set_shutdown.pod
@@ -24,16 +24,16 @@ The shutdown state of an ssl connection is a bitmask of:
=over 4
-=item Z<>0
+=item * Z<>0
No shutdown setting, yet.
-=item SSL_SENT_SHUTDOWN
+=item * SSL_SENT_SHUTDOWN
A "close notify" shutdown alert was sent to the peer, the connection is being
considered closed and the session is closed and correct.
-=item SSL_RECEIVED_SHUTDOWN
+=item * SSL_RECEIVED_SHUTDOWN
A shutdown alert was received form the peer, either a normal "close notify"
or a fatal error.
diff --git a/doc/ssl/SSL_shutdown.pod b/doc/ssl/SSL_shutdown.pod
index 1111111..2222222 100644
--- a/doc/ssl/SSL_shutdown.pod
+++ b/doc/ssl/SSL_shutdown.pod
@@ -92,19 +92,19 @@ The following return values can occur:
=over 4
-=item Z<>0
+=item * Z<>0
The shutdown is not yet finished. Call SSL_shutdown() for a second time,
if a bidirectional shutdown shall be performed.
The output of L<SSL_get_error(3)|SSL_get_error(3)> may be misleading, as an
erroneous SSL_ERROR_SYSCALL may be flagged even though no error occurred.
-=item Z<>1
+=item * Z<>1
The shutdown was successfully completed. The "close notify" alert was sent
and the peer's "close notify" alert was received.
-=item E<lt>0
+=item * E<lt>0
The shutdown was not successful because a fatal error occurred either
at the protocol level or a connection failure occurred. It can also occur if
diff --git a/doc/ssl/SSL_write.pod b/doc/ssl/SSL_write.pod
index 1111111..2222222 100644
--- a/doc/ssl/SSL_write.pod
+++ b/doc/ssl/SSL_write.pod
@@ -74,12 +74,12 @@ The following return values can occur:
=over 4
-=item E<gt> 0
+=item * E<gt> 0
The write operation was successful, the return value is the number of
bytes actually written to the TLS/SSL connection.
-=item Z<><= 0
+=item * Z<><= 0
The write operation was not successful, because either the connection was
closed, an error occurred or action must be taken by the calling process.

View File

@ -1,7 +0,0 @@
# This file is part of MXE. See LICENSE.md for licensing information.
$(PLUGIN_HEADER)
# override relevant variables to build against frozen v1.0.x series
dcmtk_CONFIGURE_OPTS := --with-openssl
dcmtk_DEPS := $(filter-out openssl,$(dcmtk_DEPS)) openssl1.0

View File

@ -1,48 +0,0 @@
# This file is part of MXE. See LICENSE.md for licensing information.
PKG := openssl1.0
$(PKG)_WEBSITE := https://www.openssl.org/
$(PKG)_IGNORE :=
$(PKG)_VERSION := 1.0.2n
$(PKG)_CHECKSUM := 370babb75f278c39e0c50e8c4e7493bc0f18db6867478341a832a982fd15a8fe
$(PKG)_SUBDIR := openssl-$($(PKG)_VERSION)
$(PKG)_FILE := openssl-$($(PKG)_VERSION).tar.gz
$(PKG)_URL := https://www.openssl.org/source/$($(PKG)_FILE)
$(PKG)_URL_2 := https://www.openssl.org/source/old/$(call tr,$([a-z]),,$($(PKG)_VERSION))/$($(PKG)_FILE)
$(PKG)_DEPS := cc zlib
define $(PKG)_UPDATE
$(WGET) -q -O- 'https://www.openssl.org/source/' | \
grep "openssl-1.0.2" | \
$(SED) -n 's,.*openssl-\([0-9][0-9a-z.]*\)\.tar.*,\1,p' | \
$(SORT) -V | \
tail -1
endef
define $(PKG)_BUILD
# remove previous install
rm -rfv '$(PREFIX)/$(TARGET)/include/openssl'
rm -rfv '$(PREFIX)/$(TARGET)/bin/engines'
rm -fv '$(PREFIX)/$(TARGET)/'*/{libcrypto*,libssl*}
rm -fv '$(PREFIX)/$(TARGET)/lib/pkgconfig/'{libcrypto*,libssl*,openssl*}
cd '$(1)' && CC='$(TARGET)-gcc' RC='$(TARGET)-windres' ./Configure \
@openssl-target@ \
zlib \
$(if $(BUILD_STATIC),no-,)shared \
no-capieng \
--prefix='$(PREFIX)/$(TARGET)'
$(MAKE) -C '$(1)' all install_sw -j 1 \
CC='$(TARGET)-gcc' \
RANLIB='$(TARGET)-ranlib' \
AR='$(TARGET)-ar rcu' \
CROSS_COMPILE='$(TARGET)-'
# no way to configure engines subdir install
$(if $(BUILD_SHARED),
rm -rf '$(PREFIX)/$(TARGET)/bin/engines' && \
mv -vf '$(PREFIX)/$(TARGET)/lib/engines' '$(PREFIX)/$(TARGET)/bin/')
endef
$(PKG)_BUILD_i686-w64-mingw32 = $(subst @openssl-target@,mingw,$($(PKG)_BUILD))
$(PKG)_BUILD_x86_64-w64-mingw32 = $(subst @openssl-target@,mingw64,$($(PKG)_BUILD))

View File

@ -1,190 +0,0 @@
if (CMAKE_VERSION VERSION_LESS 3.1.0)
message(FATAL_ERROR "Qt 5 Quick module requires at least CMake version 3.1.0")
endif()
get_filename_component(_qt5Quick_install_prefix "${CMAKE_CURRENT_LIST_DIR}/../../../" ABSOLUTE)
# For backwards compatibility only. Use Qt5Quick_VERSION instead.
set(Qt5Quick_VERSION_STRING 5.7.1)
set(Qt5Quick_LIBRARIES Qt5::Quick)
macro(_qt5_Quick_check_file_exists file)
if(NOT EXISTS "${file}" )
message(FATAL_ERROR "The imported target \"Qt5::Quick\" references the file
\"${file}\"
but this file does not exist. Possible reasons include:
* The file was deleted, renamed, or moved to another location.
* An install or uninstall procedure did not complete successfully.
* The installation package was faulty and contained
\"${CMAKE_CURRENT_LIST_FILE}\"
but not all the files it references.
")
endif()
endmacro()
macro(_populate_Quick_target_properties Configuration LIB_LOCATION IMPLIB_LOCATION)
set_property(TARGET Qt5::Quick APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
set(imported_location "${_qt5Quick_install_prefix}/bin/${LIB_LOCATION}")
_qt5_Quick_check_file_exists(${imported_location})
set_target_properties(Qt5::Quick PROPERTIES
"INTERFACE_LINK_LIBRARIES" "${_Qt5Quick_LIB_DEPENDENCIES}"
"IMPORTED_LOCATION_${Configuration}" ${imported_location}
# For backward compatibility with CMake < 2.8.12
"IMPORTED_LINK_INTERFACE_LIBRARIES_${Configuration}" "${_Qt5Quick_LIB_DEPENDENCIES}"
)
set(imported_implib "${_qt5Quick_install_prefix}/lib/${IMPLIB_LOCATION}")
_qt5_Quick_check_file_exists(${imported_implib})
if(NOT "${IMPLIB_LOCATION}" STREQUAL "")
set_target_properties(Qt5::Quick PROPERTIES
"IMPORTED_IMPLIB_${Configuration}" ${imported_implib}
)
endif()
endmacro()
if (NOT TARGET Qt5::Quick)
set(_Qt5Quick_OWN_INCLUDE_DIRS "${_qt5Quick_install_prefix}/include/" "${_qt5Quick_install_prefix}/include/QtQuick")
set(Qt5Quick_PRIVATE_INCLUDE_DIRS
"${_qt5Quick_install_prefix}/include/QtQuick/5.7.1"
"${_qt5Quick_install_prefix}/include/QtQuick/5.7.1/QtQuick"
)
foreach(_dir ${_Qt5Quick_OWN_INCLUDE_DIRS})
_qt5_Quick_check_file_exists(${_dir})
endforeach()
# Only check existence of private includes if the Private component is
# specified.
list(FIND Qt5Quick_FIND_COMPONENTS Private _check_private)
if (NOT _check_private STREQUAL -1)
foreach(_dir ${Qt5Quick_PRIVATE_INCLUDE_DIRS})
_qt5_Quick_check_file_exists(${_dir})
endforeach()
endif()
set(Qt5Quick_INCLUDE_DIRS ${_Qt5Quick_OWN_INCLUDE_DIRS})
set(Qt5Quick_DEFINITIONS -DQT_QUICK_LIB)
set(Qt5Quick_COMPILE_DEFINITIONS QT_QUICK_LIB)
set(_Qt5Quick_MODULE_DEPENDENCIES "Qml;Gui;Core")
set(Qt5Quick_OWN_PRIVATE_INCLUDE_DIRS ${Qt5Quick_PRIVATE_INCLUDE_DIRS})
set(_Qt5Quick_FIND_DEPENDENCIES_REQUIRED)
if (Qt5Quick_FIND_REQUIRED)
set(_Qt5Quick_FIND_DEPENDENCIES_REQUIRED REQUIRED)
endif()
set(_Qt5Quick_FIND_DEPENDENCIES_QUIET)
if (Qt5Quick_FIND_QUIETLY)
set(_Qt5Quick_DEPENDENCIES_FIND_QUIET QUIET)
endif()
set(_Qt5Quick_FIND_VERSION_EXACT)
if (Qt5Quick_FIND_VERSION_EXACT)
set(_Qt5Quick_FIND_VERSION_EXACT EXACT)
endif()
set(Qt5Quick_EXECUTABLE_COMPILE_FLAGS "")
foreach(_module_dep ${_Qt5Quick_MODULE_DEPENDENCIES})
if (NOT Qt5${_module_dep}_FOUND)
find_package(Qt5${_module_dep}
5.7.1 ${_Qt5Quick_FIND_VERSION_EXACT}
${_Qt5Quick_DEPENDENCIES_FIND_QUIET}
${_Qt5Quick_FIND_DEPENDENCIES_REQUIRED}
PATHS "${CMAKE_CURRENT_LIST_DIR}/.." NO_DEFAULT_PATH
)
endif()
if (NOT Qt5${_module_dep}_FOUND)
set(Qt5Quick_FOUND False)
return()
endif()
list(APPEND Qt5Quick_INCLUDE_DIRS "${Qt5${_module_dep}_INCLUDE_DIRS}")
list(APPEND Qt5Quick_PRIVATE_INCLUDE_DIRS "${Qt5${_module_dep}_PRIVATE_INCLUDE_DIRS}")
list(APPEND Qt5Quick_DEFINITIONS ${Qt5${_module_dep}_DEFINITIONS})
list(APPEND Qt5Quick_COMPILE_DEFINITIONS ${Qt5${_module_dep}_COMPILE_DEFINITIONS})
list(APPEND Qt5Quick_EXECUTABLE_COMPILE_FLAGS ${Qt5${_module_dep}_EXECUTABLE_COMPILE_FLAGS})
endforeach()
list(REMOVE_DUPLICATES Qt5Quick_INCLUDE_DIRS)
list(REMOVE_DUPLICATES Qt5Quick_PRIVATE_INCLUDE_DIRS)
list(REMOVE_DUPLICATES Qt5Quick_DEFINITIONS)
list(REMOVE_DUPLICATES Qt5Quick_COMPILE_DEFINITIONS)
list(REMOVE_DUPLICATES Qt5Quick_EXECUTABLE_COMPILE_FLAGS)
set(_Qt5Quick_LIB_DEPENDENCIES "Qt5::Qml;Qt5::Gui;Qt5::Core")
add_library(Qt5::Quick SHARED IMPORTED)
set_property(TARGET Qt5::Quick PROPERTY
INTERFACE_INCLUDE_DIRECTORIES ${_Qt5Quick_OWN_INCLUDE_DIRS})
set_property(TARGET Qt5::Quick PROPERTY
INTERFACE_COMPILE_DEFINITIONS QT_QUICK_LIB)
set_property(TARGET Qt5::Quick PROPERTY INTERFACE_QT_ENABLED_FEATURES )
set_property(TARGET Qt5::Quick PROPERTY INTERFACE_QT_DISABLED_FEATURES d3d12)
set(_Qt5Quick_PRIVATE_DIRS_EXIST TRUE)
foreach (_Qt5Quick_PRIVATE_DIR ${Qt5Quick_OWN_PRIVATE_INCLUDE_DIRS})
if (NOT EXISTS ${_Qt5Quick_PRIVATE_DIR})
set(_Qt5Quick_PRIVATE_DIRS_EXIST FALSE)
endif()
endforeach()
if (_Qt5Quick_PRIVATE_DIRS_EXIST)
add_library(Qt5::QuickPrivate INTERFACE IMPORTED)
set_property(TARGET Qt5::QuickPrivate PROPERTY
INTERFACE_INCLUDE_DIRECTORIES ${Qt5Quick_OWN_PRIVATE_INCLUDE_DIRS}
)
set(_Qt5Quick_PRIVATEDEPS)
foreach(dep ${_Qt5Quick_LIB_DEPENDENCIES})
if (TARGET ${dep}Private)
list(APPEND _Qt5Quick_PRIVATEDEPS ${dep}Private)
endif()
endforeach()
set_property(TARGET Qt5::QuickPrivate PROPERTY
INTERFACE_LINK_LIBRARIES Qt5::Quick ${_Qt5Quick_PRIVATEDEPS}
)
endif()
_populate_Quick_target_properties(RELEASE "Qt5Quick.dll" "libQt5Quick.a" )
if (EXISTS
"${_qt5Quick_install_prefix}/bin/Qt5Quickd.dll"
AND EXISTS
"${_qt5Quick_install_prefix}/lib/libQt5Quickd.a" )
_populate_Quick_target_properties(DEBUG "Qt5Quickd.dll" "libQt5Quickd.a" )
endif()
file(GLOB pluginTargets "${CMAKE_CURRENT_LIST_DIR}/Qt5Quick_*Plugin.cmake")
macro(_populate_Quick_plugin_properties Plugin Configuration PLUGIN_LOCATION)
set_property(TARGET Qt5::${Plugin} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
set(imported_location "${_qt5Quick_install_prefix}/plugins/${PLUGIN_LOCATION}")
_qt5_Quick_check_file_exists(${imported_location})
set_target_properties(Qt5::${Plugin} PROPERTIES
"IMPORTED_LOCATION_${Configuration}" ${imported_location}
)
endmacro()
if (pluginTargets)
foreach(pluginTarget ${pluginTargets})
include(${pluginTarget})
endforeach()
endif()
_qt5_Quick_check_file_exists("${CMAKE_CURRENT_LIST_DIR}/Qt5QuickConfigVersion.cmake")
endif()

View File

@ -1,79 +0,0 @@
Freezing Qt5 version
--------------------------------
This plugin demonstrates freezing a version of Qt5 in a local plugin,
possibly for Win XP support (see #1827, #1734). It's possible to simply
stay on a git checkout, but then other toolchain features are also
frozen. This example uses 5.7.1, but 5.6 is an LTS release and probably
a better option.
*N.B.* This is unsupported and exists solely as an example of how one
might maintain a local version.
##### Overview
Basic outline is to checkout a version, copy the makefile and patches,
and lock the patches to the ones in this directory instead of core
MXE src:
```
export PLUGIN_DIR=plugins/examples/qt5-freeze
rm -rf $PLUGIN_DIR
mkdir -p $PLUGIN_DIR
# parent of Qt 5.8 update
git checkout a0f9e61
# find all Qt5 modules and copy
export QT5_PKGS=`grep -l qtbase_VERSION src/*.mk | sed -n 's,src/\(.*\)\.mk.*,\1,p' | tr '\n' ','`
export QT5_PKGS=${QT5_PKGS}qtbase
cp `eval echo src/{$QT5_PKGS}.mk` $PLUGIN_DIR
cp `eval echo src/{$QT5_PKGS}-*.patch` $PLUGIN_DIR
# copy other relevant sources
cp -R src/qttools-test $PLUGIN_DIR
# set $(PKG)_PATCHES to only look for patches in the current directory
# on macos, use `gsed` instead of `sed`
find $PLUGIN_DIR -name "qt[^5]*.mk" -exec sed -i '9i$(PKG)_PATCHES := $(realpath $(sort $(wildcard $(dir $(lastword $(MAKEFILE_LIST)))/$(PKG)-[0-9]*.patch)))' {} \;
git checkout master
```
Now you'll have all the right versions, just some minor changes since
`mysql` doesn't support XP (see #1394). In a real local scenario, the
package should also be removed from `$(PKG)_DEPS` and `qtbase.mk`
modified. `MXE_PLUGIN_DIRS` can also be added to `settings.mk`
```
make qt5 MXE_PLUGIN_DIRS=$PLUGIN_DIR qtbase_CONFIGURE_OPTS='-no-sql-mysql'
```
##### Side-by-side install
Qt can have multiple installs since it puts everything under a single
prefix. You can set the variable `qtbase_VERSION_ID=qt5.7` and
it should be fine for qmake-based projects using the full path
`${prefix}/${target}/qt5.7/bin/qmake` or `${target}-qmake-qt5.7`.
See #1980:
```
# WinXp
make \
qt5 libzip libusb1 libftdi1 glibmm boost check \
MXE_TARGETS='x86_64-w64-mingw32.static.posix i686-w64-mingw32.static.posix' \
MXE_PLUGIN_DIRS='plugins/gcc7 plugins/examples/qt5-freeze' \
qtbase_VERSION_ID=qt5.7 \
qtbase_CONFIGURE_OPTS='-no-sql-mysql'
rm usr/*/installed/qtbase
# Other - will only build qtbase and downstream
make \
qt5 \
MXE_TARGETS='x86_64-w64-mingw32.static.posix i686-w64-mingw32.static.posix' \
MXE_PLUGIN_DIRS='plugins/gcc7'
```
There could be issues for pkg-config and cmake projects, the simple
`qtbase` and `qttools` tests build - any tips and notes are welcome.

View File

@ -1,42 +0,0 @@
# This file is part of MXE. See LICENSE.md for licensing information.
PKG := openssl
$(PKG)_WEBSITE := https://www.openssl.org/
$(PKG)_IGNORE :=
$(PKG)_VERSION := 1.0.2o
$(PKG)_CHECKSUM := ec3f5c9714ba0fd45cb4e087301eb1336c317e0d20b575a125050470e8089e4d
$(PKG)_PATCHES := $(realpath $(sort $(wildcard $(dir $(lastword $(MAKEFILE_LIST)))/$(PKG)-[0-9]*.patch)))
$(PKG)_SUBDIR := openssl-$($(PKG)_VERSION)
$(PKG)_FILE := openssl-$($(PKG)_VERSION).tar.gz
$(PKG)_URL := https://www.openssl.org/source/$($(PKG)_FILE)
$(PKG)_URL_2 := https://www.openssl.org/source/old/$(call tr,$([a-z]),,$($(PKG)_VERSION))/$($(PKG)_FILE)
$(PKG)_DEPS := cc zlib
define $(PKG)_UPDATE
$(WGET) -q -O- 'https://www.openssl.org/source/' | \
$(SED) -n 's,.*openssl-\([0-9][0-9a-z.]*\)\.tar.*,\1,p' | \
$(SORT) -V | \
tail -1
endef
define $(PKG)_BUILD
cd '$(1)' && CC='$(TARGET)-gcc' RC='$(TARGET)-windres' ./Configure \
@openssl-target@ \
zlib \
$(if $(BUILD_STATIC),no-,)shared \
no-capieng \
--prefix='$(PREFIX)/$(TARGET)'
$(MAKE) -C '$(1)' all install_sw -j 1 \
CC='$(TARGET)-gcc' \
RANLIB='$(TARGET)-ranlib' \
AR='$(TARGET)-ar rcu' \
CROSS_COMPILE='$(TARGET)-'
# no way to configure engines subdir install
$(if $(BUILD_SHARED),
rm -rf '$(PREFIX)/$(TARGET)/bin/engines' && \
mv -vf '$(PREFIX)/$(TARGET)/lib/engines' '$(PREFIX)/$(TARGET)/bin/')
endef
$(PKG)_BUILD_i686-w64-mingw32 = $(subst @openssl-target@,mingw,$($(PKG)_BUILD))
$(PKG)_BUILD_x86_64-w64-mingw32 = $(subst @openssl-target@,mingw64,$($(PKG)_BUILD))

View File

@ -1,137 +0,0 @@
This file is part of MXE. See LICENSE.md for licensing information.
Contains ad hoc patches for cross building.
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: "a@a.org" <a@a.org>
Date: Mon, 24 Oct 2011 14:02:33 +0200
Subject: [PATCH 1/4] use unix style names for openssl on mingw-cross-env
diff --git a/configure.in b/configure.in
index 1111111..2222222 100644
--- a/configure.in
+++ b/configure.in
@@ -926,13 +926,8 @@ fi
if test "$with_openssl" = yes ; then
dnl Order matters!
- if test "$PORTNAME" != "win32"; then
- AC_CHECK_LIB(crypto, CRYPTO_new_ex_data, [], [AC_MSG_ERROR([library 'crypto' is required for OpenSSL])])
- AC_CHECK_LIB(ssl, SSL_library_init, [], [AC_MSG_ERROR([library 'ssl' is required for OpenSSL])])
- else
- AC_SEARCH_LIBS(CRYPTO_new_ex_data, eay32 crypto, [], [AC_MSG_ERROR([library 'eay32' or 'crypto' is required for OpenSSL])])
- AC_SEARCH_LIBS(SSL_library_init, ssleay32 ssl, [], [AC_MSG_ERROR([library 'ssleay32' or 'ssl' is required for OpenSSL])])
- fi
+ AC_CHECK_LIB(crypto, CRYPTO_new_ex_data, [], [AC_MSG_ERROR([library 'crypto' is required for OpenSSL])])
+ AC_CHECK_LIB(ssl, SSL_library_init, [], [AC_MSG_ERROR([library 'ssl' is required for OpenSSL])])
fi
if test "$with_pam" = yes ; then
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: "a@a.org" <a@a.org>
Date: Mon, 24 Oct 2011 14:09:38 +0200
Subject: [PATCH 2/4] do not check autoconf version
diff --git a/configure.in b/configure.in
index 1111111..2222222 100644
--- a/configure.in
+++ b/configure.in
@@ -19,10 +19,6 @@ m4_pattern_forbid(^PGAC_)dnl to catch undefined macros
AC_INIT([PostgreSQL], [9.2.4], [pgsql-bugs@postgresql.org])
-m4_if(m4_defn([m4_PACKAGE_VERSION]), [2.63], [], [m4_fatal([Autoconf version 2.63 is required.
-Untested combinations of 'autoconf' and PostgreSQL versions are not
-recommended. You can remove the check from 'configure.in' but it is then
-your responsibility whether the result works or not.])])
AC_COPYRIGHT([Copyright (c) 1996-2012, PostgreSQL Global Development Group])
AC_CONFIG_SRCDIR([src/backend/access/common/heaptuple.c])
AC_CONFIG_AUX_DIR(config)
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Timothy Gu <timothygu99@gmail.com>
Date: Tue, 1 Jul 2014 14:27:21 -0700
Subject: [PATCH 3/4] Fix shared lib install location
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
diff --git a/src/Makefile.shlib b/src/Makefile.shlib
index 1111111..2222222 100644
--- a/src/Makefile.shlib
+++ b/src/Makefile.shlib
@@ -293,6 +293,7 @@ endif
ifeq ($(PORTNAME), win32)
ifdef SO_MAJOR_VERSION
shlib = lib$(NAME)$(DLSUFFIX)
+ stlib = lib$(NAME)$(DLSUFFIX).a
endif
haslibarule = yes
endif
@@ -447,14 +448,16 @@ ifeq ($(PORTNAME), darwin)
endif
ifeq ($(enable_shared), yes)
-install-lib-shared: $(shlib) installdirs-lib
+install-lib-shared: $(shlib)
+ifeq (, $(filter $(PORTNAME), win32 cygwin))
+install-lib-shared: installdirs-lib
+endif # not win32 or cygwin
ifdef soname
# we don't install $(shlib) on AIX
# (see http://archives.postgresql.org/message-id/52EF20B2E3209443BC37736D00C3C1380A6E79FE@EXADV1.host.magwien.gv.at)
ifneq ($(PORTNAME), aix)
+ifeq (, $(filter $(PORTNAME), win32 cygwin))
$(INSTALL_SHLIB) $< '$(DESTDIR)$(libdir)/$(shlib)'
-ifneq ($(PORTNAME), cygwin)
-ifneq ($(PORTNAME), win32)
ifneq ($(shlib), $(shlib_major))
cd '$(DESTDIR)$(libdir)' && \
rm -f $(shlib_major) && \
@@ -465,8 +468,9 @@ ifneq ($(shlib), $(shlib_bare))
rm -f $(shlib_bare) && \
$(LN_S) $(shlib) $(shlib_bare)
endif
-endif # not win32
-endif # not cygwin
+else # win32 or cygwin
+ $(INSTALL_SHLIB) $< '$(DESTDIR)$(bindir)/$(shlib)'
+endif # not win32 or cygwin
endif # not aix
else # no soname
$(INSTALL_SHLIB) $< '$(DESTDIR)$(pkglibdir)/$(shlib)'
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Timothy Gu <timothygu99@gmail.com>
Date: Tue, 1 Jul 2014 14:41:44 -0700
Subject: [PATCH 4/4] Don't build shared lib on win32 if --disable-shared is
set
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
diff --git a/src/Makefile.shlib b/src/Makefile.shlib
index 1111111..2222222 100644
--- a/src/Makefile.shlib
+++ b/src/Makefile.shlib
@@ -291,11 +291,15 @@ ifeq ($(PORTNAME), cygwin)
endif
ifeq ($(PORTNAME), win32)
- ifdef SO_MAJOR_VERSION
- shlib = lib$(NAME)$(DLSUFFIX)
- stlib = lib$(NAME)$(DLSUFFIX).a
+ ifeq ($(enable_shared), yes)
+ ifdef SO_MAJOR_VERSION
+ shlib = lib$(NAME)$(DLSUFFIX)
+ stlib = lib$(NAME)$(DLSUFFIX).a
+ endif
+ haslibarule = yes
+ else
+ shlib =
endif
- haslibarule = yes
endif

View File

@ -1,29 +0,0 @@
This file is part of MXE. See LICENSE.md for licensing information.
Contains ad hoc patches for cross building.
see https://github.com/mxe/mxe/issues/672
From b18fec680ef90c65247d998e3f68e7574d45e83e Mon Sep 17 00:00:00 2001
From: "Avi Halachmi (:avih)" <avihpit@yahoo.com>
Date: Fri, 24 Apr 2015 07:25:04 +0300
Subject: [PATCH] autoconf: require minimum version 2.50
---
configure.in | 1 +
1 file changed, 1 insertion(+)
diff --git a/configure.in b/configure.in
index 1257071..24f91cd 100644
--- a/configure.in
+++ b/configure.in
@@ -17,6 +17,7 @@ dnl Read the Autoconf manual for details.
dnl
m4_pattern_forbid(^PGAC_)dnl to catch undefined macros
+AC_PREREQ(2.63)
AC_INIT([PostgreSQL], [9.2.4], [pgsql-bugs@postgresql.org])
AC_COPYRIGHT([Copyright (c) 1996-2012, PostgreSQL Global Development Group])
--
1.9.1

View File

@ -1,152 +0,0 @@
--- postgresql-9.2.4/src/interfaces/libpq/fe-connect.c.orig 2013-08-15 09:08:59.850609595 -0500
+++ postgresql-9.2.4/src/interfaces/libpq/fe-connect.c 2013-08-15 09:42:59.001463906 -0500
@@ -1778,10 +1778,16 @@
if (connect(conn->sock, addr_cur->ai_addr,
addr_cur->ai_addrlen) < 0)
{
+#ifndef WIN32
if (SOCK_ERRNO == EINPROGRESS ||
SOCK_ERRNO == EWOULDBLOCK ||
SOCK_ERRNO == EINTR ||
+#else
+ if (SOCK_ERRNO == WSAEINPROGRESS ||
+ SOCK_ERRNO == WSAEWOULDBLOCK ||
+ SOCK_ERRNO == WSAEINTR ||
SOCK_ERRNO == 0)
+#endif
{
/*
* This is fine - we're in non-blocking mode, and
--- postgresql-9.2.4/src/interfaces/libpq/fe-misc.c.orig 2013-04-01 13:20:36.000000000 -0500
+++ postgresql-9.2.4/src/interfaces/libpq/fe-misc.c 2013-08-15 10:08:03.190928760 -0500
@@ -656,7 +656,11 @@
conn->inBufSize - conn->inEnd);
if (nread < 0)
{
+#ifndef WIN32
if (SOCK_ERRNO == EINTR)
+#else
+ if (SOCK_ERRNO == WSAEINTR)
+#endif
goto retry3;
/* Some systems return EAGAIN/EWOULDBLOCK for no data */
#ifdef EAGAIN
@@ -664,12 +668,20 @@
return someread;
#endif
#if defined(EWOULDBLOCK) && (!defined(EAGAIN) || (EWOULDBLOCK != EAGAIN))
+#ifndef WIN32
if (SOCK_ERRNO == EWOULDBLOCK)
+#else
+ if (SOCK_ERRNO == WSAEWOULDBLOCK)
+#endif
return someread;
#endif
/* We might get ECONNRESET here if using TCP and backend died */
#ifdef ECONNRESET
+#ifndef WIN32
if (SOCK_ERRNO == ECONNRESET)
+#else
+ if (SOCK_ERRNO == WSAECONNRESET)
+#endif
goto definitelyFailed;
#endif
/* pqsecure_read set the error message for us */
@@ -749,7 +761,11 @@
conn->inBufSize - conn->inEnd);
if (nread < 0)
{
+#ifndef WIN32
if (SOCK_ERRNO == EINTR)
+#else
+ if (SOCK_ERRNO == WSAEINTR)
+#endif
goto retry4;
/* Some systems return EAGAIN/EWOULDBLOCK for no data */
#ifdef EAGAIN
@@ -757,12 +773,20 @@
return 0;
#endif
#if defined(EWOULDBLOCK) && (!defined(EAGAIN) || (EWOULDBLOCK != EAGAIN))
+#ifndef WIN32
if (SOCK_ERRNO == EWOULDBLOCK)
+#else
+ if (SOCK_ERRNO == WSAEWOULDBLOCK)
+#endif
return 0;
#endif
/* We might get ECONNRESET here if using TCP and backend died */
#ifdef ECONNRESET
+#ifndef WIN32
if (SOCK_ERRNO == ECONNRESET)
+#else
+ if (SOCK_ERRNO == WSAECONNRESET)
+#endif
goto definitelyFailed;
#endif
/* pqsecure_read set the error message for us */
@@ -838,10 +862,18 @@
break;
#endif
#if defined(EWOULDBLOCK) && (!defined(EAGAIN) || (EWOULDBLOCK != EAGAIN))
+#ifndef WIN32
case EWOULDBLOCK:
+#else
+ case WSAEWOULDBLOCK:
+#endif
break;
#endif
+#ifndef WIN32
case EINTR:
+#else
+ case WSAEINTR:
+#endif
continue;
default:
--- postgresql-9.2.4/src/interfaces/libpq/fe-secure.c.orig 2013-08-15 10:10:44.039355056 -0500
+++ postgresql-9.2.4/src/interfaces/libpq/fe-secure.c 2013-08-15 10:22:57.767650717 -0500
@@ -433,12 +433,20 @@
#if defined(EWOULDBLOCK) && (!defined(EAGAIN) || (EWOULDBLOCK != EAGAIN))
case EWOULDBLOCK:
#endif
+#ifndef WIN32
case EINTR:
+#else
+ case WSAEWOULDBLOCK:
+ case WSAEINTR:
+#endif
/* no error message, caller is expected to retry */
break;
#ifdef ECONNRESET
case ECONNRESET:
+#ifdef WIN32
+ case WSAECONNRESET:
+#endif
printfPQExpBuffer(&conn->errorMessage,
libpq_gettext(
"server closed the connection unexpectedly\n"
@@ -617,7 +625,12 @@
#if defined(EWOULDBLOCK) && (!defined(EAGAIN) || (EWOULDBLOCK != EAGAIN))
case EWOULDBLOCK:
#endif
+#ifndef WIN32
case EINTR:
+#else
+ case WSAEWOULDBLOCK:
+ case WSAEINTR:
+#endif
/* no error message, caller is expected to retry */
break;
@@ -629,6 +642,9 @@
#ifdef ECONNRESET
case ECONNRESET:
#endif
+#ifdef WIN32
+ case WSAECONNRESET:
+#endif
printfPQExpBuffer(&conn->errorMessage,
libpq_gettext(
"server closed the connection unexpectedly\n"

View File

@ -1,87 +0,0 @@
# This file is part of MXE. See LICENSE.md for licensing information.
PKG := postgresql
$(PKG)_WEBSITE := https://www.postgresql.org/
$(PKG)_DESCR := PostgreSQL
$(PKG)_IGNORE :=
$(PKG)_VERSION := 9.2.4
$(PKG)_CHECKSUM := d97dd918a88a4449225998f46aafa85216a3f89163a3411830d6890507ffae93
$(PKG)_PATCHES := $(realpath $(sort $(wildcard $(dir $(lastword $(MAKEFILE_LIST)))/$(PKG)-[0-9]*.patch)))
$(PKG)_SUBDIR := postgresql-$($(PKG)_VERSION)
$(PKG)_FILE := postgresql-$($(PKG)_VERSION).tar.bz2
$(PKG)_URL := https://ftp.postgresql.org/pub/source/v$($(PKG)_VERSION)/$($(PKG)_FILE)
$(PKG)_DEPS := cc openssl pthreads zlib
define $(PKG)_UPDATE
$(WGET) -q -O- 'https://git.postgresql.org/gitweb?p=postgresql.git;a=tags' | \
grep 'refs/tags/REL9[0-9_]*"' | \
$(SED) 's,.*refs/tags/REL\(.*\)".*,\1,g;' | \
$(SED) 's,_,.,g' | \
$(SORT) -V | \
tail -1
endef
define $(PKG)_BUILD
cd '$(1)' && autoconf
cp -Rp '$(1)' '$(1).native'
# Since we build only client library, use bogus tzdata to satisfy configure.
# pthreads is needed in both LIBS and PTHREAD_LIBS
cd '$(1)' && ./configure \
$(MXE_CONFIGURE_OPTS) \
--disable-rpath \
--without-tcl \
--without-perl \
--without-python \
--without-gssapi \
--without-krb5 \
--without-pam \
--without-ldap \
--without-bonjour \
--with-openssl \
--without-readline \
--without-ossp-uuid \
--without-libxml \
--without-libxslt \
--with-zlib \
--with-system-tzdata=/dev/null \
LIBS="-lsecur32 `'$(TARGET)-pkg-config' openssl pthreads --libs`" \
ac_cv_func_getaddrinfo=no
# enable_thread_safety means "build internal pthreads" on windows
# disable it and link mingw-w64 pthreads to and avoid name conflicts
$(MAKE) -C '$(1)'/src/interfaces/libpq -j '$(JOBS)' \
install \
enable_thread_safety=no \
PTHREAD_LIBS="`'$(TARGET)-pkg-config' pthreads --libs`"
$(MAKE) -C '$(1)'/src/port -j '$(JOBS)'
$(MAKE) -C '$(1)'/src/bin/psql -j '$(JOBS)' install
$(INSTALL) -m644 '$(1)/src/include/pg_config.h' '$(PREFIX)/$(TARGET)/include/'
$(INSTALL) -m644 '$(1)/src/include/postgres_ext.h' '$(PREFIX)/$(TARGET)/include/'
$(INSTALL) -d '$(PREFIX)/$(TARGET)/include/libpq'
$(INSTALL) -m644 '$(1)'/src/include/libpq/* '$(PREFIX)/$(TARGET)/include/libpq/'
# Build a native pg_config.
$(SED) -i 's,-DVAL_,-D_DISABLED_VAL_,g' '$(1).native'/src/bin/pg_config/Makefile
cd '$(1).native' && ./configure \
--prefix='$(PREFIX)/$(TARGET)' \
--disable-shared \
--disable-rpath \
--without-tcl \
--without-perl \
--without-python \
--without-gssapi \
--without-krb5 \
--without-pam \
--without-ldap \
--without-bonjour \
--without-openssl \
--without-readline \
--without-ossp-uuid \
--without-libxml \
--without-libxslt \
--without-zlib \
--with-system-tzdata=/dev/null
$(MAKE) -C '$(1).native'/src/port -j '$(JOBS)'
$(MAKE) -C '$(1).native'/src/bin/pg_config -j '$(JOBS)' install
ln -sf '$(PREFIX)/$(TARGET)/bin/pg_config' '$(PREFIX)/bin/$(TARGET)-pg_config'
endef

View File

@ -1,23 +0,0 @@
# This file is part of MXE. See LICENSE.md for licensing information.
PKG := qt3d
$(PKG)_WEBSITE := https://www.qt.io/
$(PKG)_DESCR := Qt
$(PKG)_IGNORE :=
$(PKG)_VERSION = $(qtbase_VERSION)
$(PKG)_CHECKSUM := 1d74cf431777b8086d771ab0d4d2c01f9c28eb14cc2d73d7f838a665d1f707ea
$(PKG)_PATCHES := $(realpath $(sort $(wildcard $(dir $(lastword $(MAKEFILE_LIST)))/$(PKG)-[0-9]*.patch)))
$(PKG)_SUBDIR = $(subst qtbase,qt3d,$(qtbase_SUBDIR))
$(PKG)_FILE = $(subst qtbase,qt3d,$(qtbase_FILE))
$(PKG)_URL = $(subst qtbase,qt3d,$(qtbase_URL))
$(PKG)_DEPS := cc qtbase qtdeclarative
define $(PKG)_UPDATE
echo $(qtbase_VERSION)
endef
define $(PKG)_BUILD
cd '$(BUILD_DIR)' && $(QMAKE_EXECUTABLE) '$(SOURCE_DIR)'
$(MAKE) -C '$(BUILD_DIR)' -j '$(JOBS)' || $(MAKE) -C '$(BUILD_DIR)' -j 1
$(MAKE) -C '$(BUILD_DIR)' -j 1 install
endef

View File

@ -1,10 +0,0 @@
# This file is part of MXE. See LICENSE.md for licensing information.
PKG := qt5
$(PKG)_WEBSITE := https://www.qt.io/
$(PKG)_DESCR := Qt
$(PKG)_VERSION = $(qtbase_VERSION)
$(PKG)_DEPS := $(subst qt5, qtbase, \
$(patsubst $(dir $(lastword $(MAKEFILE_LIST)))/%.mk,%,\
$(shell grep -l 'qtbase_VERSION' \
$(dir $(lastword $(MAKEFILE_LIST)))/qt*.mk)))

View File

@ -1,24 +0,0 @@
This file is part of MXE. See LICENSE.md for licensing information.
From 72357fef95ee2247f79032b2096b3c23938882d5 Mon Sep 17 00:00:00 2001
From: Mark Brand <mabrand@mabrand.nl>
Date: Wed, 21 May 2014 08:59:53 +0200
Subject: [PATCH] Revert "idc is a host tool"
This reverts commit a52db1a707f84eae74ce1cc3d1058f026e81ac13.
Conflicts:
src/tools/idc/idc.pro
diff --git a/src/tools/idc/idc.pro b/src/tools/idc/idc.pro
index 1898ed5..524ee2e 100644
--- a/src/tools/idc/idc.pro
+++ b/src/tools/idc/idc.pro
@@ -1,4 +1,3 @@
-option(host_build)
CONFIG += force_bootstrap
SOURCES = main.cpp
--
2.1.4

View File

@ -1,21 +0,0 @@
# This file is part of MXE. See LICENSE.md for licensing information.
PKG := qtactiveqt
$(PKG)_WEBSITE := https://www.qt.io/
$(PKG)_DESCR := Qt
$(PKG)_IGNORE :=
$(PKG)_VERSION = $(qtbase_VERSION)
$(PKG)_CHECKSUM := 0c09920de273fa12e40f6486a4715267e2fe54991303b6ddfdac69fe9a24a1d5
$(PKG)_PATCHES := $(realpath $(sort $(wildcard $(dir $(lastword $(MAKEFILE_LIST)))/$(PKG)-[0-9]*.patch)))
$(PKG)_SUBDIR = $(subst qtbase,qtactiveqt,$(qtbase_SUBDIR))
$(PKG)_FILE = $(subst qtbase,qtactiveqt,$(qtbase_FILE))
$(PKG)_URL = $(subst qtbase,qtactiveqt,$(qtbase_URL))
$(PKG)_DEPS := cc qtbase
define $(PKG)_UPDATE
echo $(qtbase_VERSION)
endef
define $(PKG)_BUILD
$(QMAKE_MAKE_INSTALL)
endef

View File

@ -1,273 +0,0 @@
This file is part of MXE. See LICENSE.md for licensing information.
Contains ad hoc patches for cross building.
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Mark Brand <mabrand@mabrand.nl>
Date: Thu, 6 Aug 2015 23:35:08 +0200
Subject: [PATCH 1/9] fix qwindows plugin linking with system-freetype (MXE
specific)
Change-Id: I8783e3ab2d19011b083dd3c471107298a17293c4
diff --git a/src/3rdparty/freetype_dependency.pri b/src/3rdparty/freetype_dependency.pri
index 1111111..2222222 100644
--- a/src/3rdparty/freetype_dependency.pri
+++ b/src/3rdparty/freetype_dependency.pri
@@ -4,4 +4,5 @@ contains(QT_CONFIG, freetype) {
} else:contains(QT_CONFIG, system-freetype) {
# pull in the proper freetype2 include directory
include($$QT_SOURCE_TREE/config.tests/unix/freetype/freetype.pri)
+ win32:shared:LIBS_PRIVATE += -lfreetype
}
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Mark Brand <mabrand@mabrand.nl>
Date: Sat, 21 Jun 2014 13:12:49 +0200
Subject: [PATCH 2/9] use pkg-config for harfbuzz (MXE specific)
Change-Id: Id4e4c37d68b63c9f480d72a561d95d4d2a5ded50
diff --git a/config.tests/unix/harfbuzz/harfbuzz.pro b/config.tests/unix/harfbuzz/harfbuzz.pro
index 1111111..2222222 100644
--- a/config.tests/unix/harfbuzz/harfbuzz.pro
+++ b/config.tests/unix/harfbuzz/harfbuzz.pro
@@ -1,3 +1,4 @@
SOURCES = harfbuzz.cpp
CONFIG -= qt dylib
-LIBS += -lharfbuzz
+CONFIG += link_pkgconfig
+PKGCONFIG += harfbuzz
diff --git a/src/3rdparty/harfbuzz_dependency.pri b/src/3rdparty/harfbuzz_dependency.pri
index 1111111..2222222 100644
--- a/src/3rdparty/harfbuzz_dependency.pri
+++ b/src/3rdparty/harfbuzz_dependency.pri
@@ -2,5 +2,6 @@ contains(QT_CONFIG, harfbuzz) {
INCLUDEPATH += $$PWD/harfbuzz-ng/include
LIBS_PRIVATE += -L$$QT_BUILD_TREE/lib -lqtharfbuzzng$$qtPlatformTargetSuffix()
} else:contains(QT_CONFIG, system-harfbuzz) {
- LIBS_PRIVATE += -lharfbuzz
+ CONFIG += link_pkgconfig
+ PKGCONFIG += harfbuzz
}
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Mark Brand <mabrand@mabrand.nl>
Date: Mon, 8 Dec 2014 14:15:12 +0100
Subject: [PATCH 3/9] fix oci config test on windows
Change-Id: If1ce2241682259ca495b0ba68bf18410f8548922
diff --git a/config.tests/unix/oci/oci.pro b/config.tests/unix/oci/oci.pro
index 1111111..2222222 100644
--- a/config.tests/unix/oci/oci.pro
+++ b/config.tests/unix/oci/oci.pro
@@ -1,3 +1,3 @@
SOURCES = oci.cpp
CONFIG -= qt dylib
-LIBS += -lclntsh
+!win32:LIBS += -lclntsh
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Mark Brand <mabrand@mabrand.nl>
Date: Thu, 6 Aug 2015 13:24:56 +0200
Subject: [PATCH 4/9] configure: don't set QT_NO_SYSTEMSEMAPHORE for Windows
Change-Id: I53c110ef40e3d14cc49fa23aa5d294611cac2ffa
diff --git a/configure b/configure
index 1111111..2222222 100755
--- a/configure
+++ b/configure
@@ -4677,7 +4677,7 @@ fi
[ "$XPLATFORM_ANDROID" != "no" ] && QMakeVar add styles "android"
# check IPC support
-if ! compileTest unix/ipc_sysv "ipc_sysv" ; then
+if [ "$XPLATFORM_MINGW" = "no" ] && ! compileTest unix/ipc_sysv "ipc_sysv" ; then
# SYSV IPC is not supported - check POSIX IPC
if compileTest unix/ipc_posix "ipc_posix" ; then
QCONFIG_FLAGS="$QCONFIG_FLAGS QT_POSIX_IPC"
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Mark Brand <mabrand@mabrand.nl>
Date: Tue, 6 Oct 2015 09:53:20 +0200
Subject: [PATCH 5/9] fix building mysql driver under mingw
Change-Id: I9c4e821d5b3a6919566c6b684cb4916827feb6a9
diff --git a/src/sql/drivers/mysql/qsql_mysql.pri b/src/sql/drivers/mysql/qsql_mysql.pri
index 1111111..2222222 100644
--- a/src/sql/drivers/mysql/qsql_mysql.pri
+++ b/src/sql/drivers/mysql/qsql_mysql.pri
@@ -4,7 +4,7 @@ SOURCES += $$PWD/qsql_mysql.cpp
QMAKE_CXXFLAGS *= $$QT_CFLAGS_MYSQL
LIBS += $$QT_LFLAGS_MYSQL
-unix {
+if (unix|mingw) {
isEmpty(QT_LFLAGS_MYSQL) {
!contains(LIBS, .*mysqlclient.*):!contains(LIBS, .*mysqld.*) {
use_libmysqlclient_r:LIBS += -lmysqlclient_r
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Ray Donnelly <mingw.android@gmail.com>
Date: Wed, 26 Aug 2015 12:45:43 +0100
Subject: [PATCH 6/9] cmake: Rearrange STATIC vs INTERFACE targets
Otherwise we attempt to add_library(Qt5::UiPlugin STATIC IMPORTED)
for header-only modules when building Qt5 statically.
Source: https://git.io/vzWJz
See also: https://github.com/mxe/mxe/issues/1185
diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
index 1111111..2222222 100644
--- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
+++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
@@ -222,12 +222,12 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
endif()
!!ENDIF
+!!IF equals(TEMPLATE, aux)
+ add_library(Qt5::$${CMAKE_MODULE_NAME} INTERFACE IMPORTED)
+!!ELSE
!!IF !isEmpty(CMAKE_STATIC_TYPE)
add_library(Qt5::$${CMAKE_MODULE_NAME} STATIC IMPORTED)
set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY IMPORTED_LINK_INTERFACE_LANGUAGES "CXX")
-!!ELSE
-!!IF equals(TEMPLATE, aux)
- add_library(Qt5::$${CMAKE_MODULE_NAME} INTERFACE IMPORTED)
!!ELSE
add_library(Qt5::$${CMAKE_MODULE_NAME} SHARED IMPORTED)
!!ENDIF
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Tony Theodore <tonyt@logyst.com>
Date: Sat, 16 Jul 2016 20:31:07 +1000
Subject: [PATCH 7/9] Fix pkgconfig file and library naming
See: https://codereview.qt-project.org/#/c/165394/
https://bugreports.qt.io/browse/QTBUG-30898
Currently, *.pc files are generated with debug suffix `d` in `-release`
mode and without the suffix in `-debug` or `-debug-and-release`. This
can be worked around by `CONIFG-=debug_and_release`, however, a more
predictable and consistent naming approach would be preferable.
This change mimics the *.prl file and lib conventions:
-release: creates normal *.pc files and lib names
-release -force-debug-info: normal as above
-debug: creates *d.pc and *d lib names
-debug-and-release: creates both
-default: creates both (default link: debug)
and should be unsurprising to users of `pkg-config`. At very least,
it's deterministic and easily incorporated into build systems.
Task-number: 30898
Change-Id: If75336ec7d21a7ec0cb6d245fe87c64afcb5a644
diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf
index 1111111..2222222 100644
--- a/mkspecs/features/qt_module.prf
+++ b/mkspecs/features/qt_module.prf
@@ -244,6 +244,10 @@ load(qt_installs)
load(qt_targets)
+# Set TARGET towards the end but before pkgconfig setup to keep naming
+# conventions consistent with *prl files
+TARGET = $$qt5LibraryTarget($$TARGET$$QT_LIBINFIX)
+
# this builds on top of qt_common
!internal_module:!lib_bundle:if(unix|mingw) {
CONFIG += create_pc
@@ -254,12 +258,12 @@ load(qt_targets)
QMAKE_PKGCONFIG_LIBDIR = $$[QT_INSTALL_LIBS/raw]
QMAKE_PKGCONFIG_INCDIR = $$[QT_INSTALL_HEADERS/raw]
QMAKE_PKGCONFIG_CFLAGS = -I${includedir}/$$MODULE_INCNAME
- QMAKE_PKGCONFIG_NAME = $$replace(TARGET, ^Qt, "Qt$$QT_MAJOR_VERSION ")
- QMAKE_PKGCONFIG_FILE = $$replace(TARGET, ^Qt, Qt$$QT_MAJOR_VERSION)
+ QMAKE_PKGCONFIG_NAME = $$replace(TARGET, ^Qt$$QT_MAJOR_VERSION, "Qt$$QT_MAJOR_VERSION ")
+ QMAKE_PKGCONFIG_FILE = $$TARGET
for(i, MODULE_DEPENDS): \
- QMAKE_PKGCONFIG_REQUIRES += $$replace(QT.$${i}.name, ^Qt, Qt$$eval(QT.$${i}.MAJOR_VERSION))
+ QMAKE_PKGCONFIG_REQUIRES += $$replace(QT.$${i}.name, ^Qt, Qt$$eval(QT.$${i}.MAJOR_VERSION))$$qtPlatformTargetSuffix()
isEmpty(QMAKE_PKGCONFIG_DESCRIPTION): \
- QMAKE_PKGCONFIG_DESCRIPTION = $$replace(TARGET, ^Qt, "Qt ") module
+ QMAKE_PKGCONFIG_DESCRIPTION = $$replace(TARGET, ^Qt$$QT_MAJOR_VERSION, "Qt ") module
pclib_replace.match = $$lib_replace.match
!isEmpty(lib_replace.replace): \
pclib_replace.replace = $$QMAKE_PKGCONFIG_LIBDIR
@@ -293,5 +297,3 @@ win32 {
# On other platforms, Qt's own compilation goes needs to compile the Qt 5.0 API
DEFINES *= QT_DISABLE_DEPRECATED_BEFORE=0x050000
}
-
-TARGET = $$qt5LibraryTarget($$TARGET$$QT_LIBINFIX) # Do this towards the end
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Mark Brand <mabrand@mabrand.nl>
Date: Thu, 15 Dec 2016 17:20:56 +0100
Subject: [PATCH 8/9] fix mysql config test
The config test already gets link flags which should include
the library. Blindly adding it to the end of the list can break
static linking.
Change-Id: Ief71c4ad64cbbb1b141b0ef5549f42a36bbd125b
diff --git a/config.tests/unix/mysql/mysql.pro b/config.tests/unix/mysql/mysql.pro
index 1111111..2222222 100644
--- a/config.tests/unix/mysql/mysql.pro
+++ b/config.tests/unix/mysql/mysql.pro
@@ -1,3 +1,3 @@
SOURCES = mysql.cpp
CONFIG -= qt dylib
-LIBS += -lmysqlclient
+LIBS *= -lmysqlclient
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Tony Theodore <tonyt@logyst.com>
Date: Sun, 1 Jul 2018 17:45:34 +1000
Subject: [PATCH 9/9] Fix build with GCC 8: memset/memcpy/memmove of
non-trivials
diff --git a/src/corelib/tools/qarraydataops.h b/src/corelib/tools/qarraydataops.h
index 1111111..2222222 100644
--- a/src/corelib/tools/qarraydataops.h
+++ b/src/corelib/tools/qarraydataops.h
@@ -60,7 +60,7 @@ struct QPodArrayOps
Q_ASSERT(newSize > uint(this->size));
Q_ASSERT(newSize <= this->alloc);
- ::memset(this->end(), 0, (newSize - this->size) * sizeof(T));
+ ::memset(static_cast<void *>(this->end()), 0, (newSize - this->size) * sizeof(T));
this->size = int(newSize);
}
@@ -115,8 +115,9 @@ struct QPodArrayOps
Q_ASSERT(e <= where || b > this->end()); // No overlap
Q_ASSERT(size_t(e - b) <= this->alloc - uint(this->size));
- ::memmove(where + (e - b), where, (static_cast<const T*>(this->end()) - where) * sizeof(T));
- ::memcpy(where, b, (e - b) * sizeof(T));
+ ::memmove(static_cast<void *>(where + (e - b)), static_cast<void *>(where),
+ (static_cast<const T*>(this->end()) - where) * sizeof(T));
+ ::memcpy(static_cast<void *>(where), static_cast<const void *>(b), (e - b) * sizeof(T));
this->size += (e - b);
}
@@ -127,7 +128,8 @@ struct QPodArrayOps
Q_ASSERT(b >= this->begin() && b < this->end());
Q_ASSERT(e > this->begin() && e < this->end());
- ::memmove(b, e, (static_cast<T *>(this->end()) - e) * sizeof(T));
+ ::memmove(static_cast<void *>(b), static_cast<void *>(e),
+ (static_cast<T *>(this->end()) - e) * sizeof(T));
this->size -= (e - b);
}
};

View File

@ -1,119 +0,0 @@
# This file is part of MXE. See LICENSE.md for licensing information.
PKG := qtbase
$(PKG)_WEBSITE := https://www.qt.io/
$(PKG)_DESCR := Qt
$(PKG)_IGNORE :=
$(PKG)_VERSION := 5.7.1
$(PKG)_CHECKSUM := edcdf549d94d98aff08e201dcb3ca25bc3628a37b1309e320d5f556b6b66557e
$(PKG)_PATCHES := $(realpath $(sort $(wildcard $(dir $(lastword $(MAKEFILE_LIST)))/$(PKG)-[0-9]*.patch)))
$(PKG)_SUBDIR := $(PKG)-opensource-src-$($(PKG)_VERSION)
$(PKG)_FILE := $(PKG)-opensource-src-$($(PKG)_VERSION).tar.xz
$(PKG)_URL := https://download.qt.io/new_archive/qt/5.7/$($(PKG)_VERSION)/submodules/$($(PKG)_FILE)
$(PKG)_DEPS := cc dbus fontconfig freetds freetype harfbuzz jpeg libmysqlclient libpng openssl pcre postgresql sqlite zlib
# allows for side-by-side install with later Qt
# pkg-config and cmake will need tweaking to really get working
$(PKG)_VERSION_ID := qt5
QMAKE_EXECUTABLE = $(TARGET)-qmake-$(qtbase_VERSION_ID)
define QMAKE_MAKE_INSTALL
cd '$(BUILD_DIR)' && $(QMAKE_EXECUTABLE) '$(SOURCE_DIR)'
$(MAKE) -C '$(BUILD_DIR)' -j '$(JOBS)'
$(MAKE) -C '$(BUILD_DIR)' -j 1 install
endef
define $(PKG)_UPDATE
$(WGET) -q -O- https://download.qt-project.org/official_releases/qt/5.5/ | \
$(SED) -n 's,.*href="\(5\.[0-9]\.[^/]*\)/".*,\1,p' | \
grep -iv -- '-rc' | \
sort |
tail -1
endef
define $(PKG)_BUILD
# ICU is buggy. See #653. TODO: reenable it some time in the future.
cd '$(1)' && \
OPENSSL_LIBS="`'$(TARGET)-pkg-config' --libs-only-l openssl`" \
PSQL_LIBS="-lpq -lsecur32 `'$(TARGET)-pkg-config' --libs-only-l openssl pthreads` -lws2_32" \
SYBASE_LIBS="-lsybdb `'$(TARGET)-pkg-config' --libs-only-l gnutls` -liconv -lws2_32" \
./configure \
-opensource \
-c++std c++11 \
-confirm-license \
-xplatform win32-g++ \
-device-option CROSS_COMPILE=${TARGET}- \
-device-option PKG_CONFIG='${TARGET}-pkg-config' \
-force-pkg-config \
-no-use-gold-linker \
-release \
-static \
-prefix '$(PREFIX)/$(TARGET)/$($(PKG)_VERSION_ID)' \
-no-icu \
-opengl desktop \
-no-glib \
-accessibility \
-nomake examples \
-nomake tests \
-plugin-sql-mysql \
-mysql_config $(PREFIX)/$(TARGET)/bin/mysql_config \
-plugin-sql-sqlite \
-plugin-sql-odbc \
-plugin-sql-psql \
-plugin-sql-tds -D Q_USE_SYBASE \
-system-zlib \
-system-libpng \
-system-libjpeg \
-system-sqlite \
-fontconfig \
-system-freetype \
-system-harfbuzz \
-system-pcre \
-openssl-linked \
-dbus-linked \
-no-pch \
-v \
$($(PKG)_CONFIGURE_OPTS)
$(MAKE) -C '$(1)' -j '$(JOBS)'
rm -rf '$(PREFIX)/$(TARGET)/$($(PKG)_VERSION_ID)'
$(MAKE) -C '$(1)' -j 1 install
ln -sf '$(PREFIX)/$(TARGET)/$($(PKG)_VERSION_ID)/bin/qmake' '$(PREFIX)/bin/$(TARGET)'-qmake-$($(PKG)_VERSION_ID)
mkdir '$(1)/test-qt'
cd '$(1)/test-qt' && '$(PREFIX)/$(TARGET)/$($(PKG)_VERSION_ID)/bin/qmake' '$(PWD)/src/qt-test.pro'
$(MAKE) -C '$(1)/test-qt' -j '$(JOBS)' $(BUILD_TYPE)
$(INSTALL) -m755 '$(1)/test-qt/$(BUILD_TYPE)/test-qt5.exe' '$(PREFIX)/$(TARGET)/bin/test-$($(PKG)_VERSION_ID).exe'
# build test the manual way
mkdir '$(1)/test-$(PKG)-pkgconfig'
'$(PREFIX)/$(TARGET)/$($(PKG)_VERSION_ID)/bin/uic' -o '$(1)/test-$(PKG)-pkgconfig/ui_qt-test.h' '$(TOP_DIR)/src/qt-test.ui'
'$(PREFIX)/$(TARGET)/$($(PKG)_VERSION_ID)/bin/moc' \
-o '$(1)/test-$(PKG)-pkgconfig/moc_qt-test.cpp' \
-I'$(1)/test-$(PKG)-pkgconfig' \
'$(TOP_DIR)/src/qt-test.hpp'
'$(PREFIX)/$(TARGET)/$($(PKG)_VERSION_ID)/bin/rcc' -name qt-test -o '$(1)/test-$(PKG)-pkgconfig/qrc_qt-test.cpp' '$(TOP_DIR)/src/qt-test.qrc'
'$(TARGET)-g++' \
-W -Wall -std=c++0x -pedantic \
'$(TOP_DIR)/src/qt-test.cpp' \
'$(1)/test-$(PKG)-pkgconfig/moc_qt-test.cpp' \
'$(1)/test-$(PKG)-pkgconfig/qrc_qt-test.cpp' \
-o '$(PREFIX)/$(TARGET)/bin/test-$($(PKG)_VERSION_ID)-pkgconfig.exe' \
-I'$(1)/test-$(PKG)-pkgconfig' \
`PKG_CONFIG_PATH_$(subst .,_,$(subst -,_,$(TARGET)))=$(PREFIX)/$(TARGET)/$($(PKG)_VERSION_ID)/lib/pkgconfig \
'$(TARGET)-pkg-config' Qt5Widgets$(BUILD_TYPE_SUFFIX) --cflags --libs`
# setup cmake toolchain
echo 'set(CMAKE_SYSTEM_PREFIX_PATH "$(PREFIX)/$(TARGET)/$($(PKG)_VERSION_ID)" ${CMAKE_SYSTEM_PREFIX_PATH})' > '$(CMAKE_TOOLCHAIN_DIR)/$(PKG)-$($(PKG)_VERSION_ID).cmake'
# batch file to run test programs
(printf 'set PATH=..\\lib;..\\$($(PKG)_VERSION_ID)\\bin;..\\$($(PKG)_VERSION_ID)\\lib;%%PATH%%\r\n'; \
printf 'set QT_QPA_PLATFORM_PLUGIN_PATH=..\\$($(PKG)_VERSION_ID)\\plugins\r\n'; \
printf 'test-$($(PKG)_VERSION_ID).exe\r\n'; \
printf 'test-$($(PKG)_VERSION_ID)-pkgconfig.exe\r\n';) \
> '$(PREFIX)/$(TARGET)/bin/test-$($(PKG)_VERSION_ID).bat'
endef
$(PKG)_BUILD_SHARED = $(subst -static ,-shared ,\
$($(PKG)_BUILD))

View File

@ -1,21 +0,0 @@
# This file is part of MXE. See LICENSE.md for licensing information.
PKG := qtcharts
$(PKG)_WEBSITE := https://www.qt.io/
$(PKG)_DESCR := Qt
$(PKG)_IGNORE :=
$(PKG)_VERSION = $(qtbase_VERSION)
$(PKG)_CHECKSUM := 85feee6992cdef1ab42947a83cbf806a29224d704ee5dc97ee5038c75b633fe3
$(PKG)_PATCHES := $(realpath $(sort $(wildcard $(dir $(lastword $(MAKEFILE_LIST)))/$(PKG)-[0-9]*.patch)))
$(PKG)_SUBDIR = $(subst qtbase,qtcharts,$(qtbase_SUBDIR))
$(PKG)_FILE = $(subst qtbase,qtcharts,$(qtbase_FILE))
$(PKG)_URL = $(subst qtbase,qtcharts,$(qtbase_URL))
$(PKG)_DEPS := cc qtbase qtdeclarative qtmultimedia
define $(PKG)_UPDATE
echo $(qtbase_VERSION)
endef
define $(PKG)_BUILD
$(QMAKE_MAKE_INSTALL)
endef

View File

@ -1,21 +0,0 @@
# This file is part of MXE. See LICENSE.md for licensing information.
PKG := qtconnectivity
$(PKG)_WEBSITE := https://www.qt.io/
$(PKG)_DESCR := Qt
$(PKG)_IGNORE :=
$(PKG)_VERSION = $(qtbase_VERSION)
$(PKG)_CHECKSUM := b3e8b9068304dc5605a8fdf0695102032fd1a216f2c2d4d53a7e4d4dda3ab966
$(PKG)_PATCHES := $(realpath $(sort $(wildcard $(dir $(lastword $(MAKEFILE_LIST)))/$(PKG)-[0-9]*.patch)))
$(PKG)_SUBDIR = $(subst qtbase,qtconnectivity,$(qtbase_SUBDIR))
$(PKG)_FILE = $(subst qtbase,qtconnectivity,$(qtbase_FILE))
$(PKG)_URL = $(subst qtbase,qtconnectivity,$(qtbase_URL))
$(PKG)_DEPS := cc qtbase qtdeclarative
define $(PKG)_UPDATE
echo $(qtbase_VERSION)
endef
define $(PKG)_BUILD
$(QMAKE_MAKE_INSTALL)
endef

View File

@ -1,21 +0,0 @@
# This file is part of MXE. See LICENSE.md for licensing information.
PKG := qtdatavis3d
$(PKG)_WEBSITE := https://www.qt.io/
$(PKG)_DESCR := Qt
$(PKG)_IGNORE :=
$(PKG)_VERSION = $(qtbase_VERSION)
$(PKG)_CHECKSUM := 1bff85dcdeed98ad8f0e191f77e7c0e9d57af719c51791044b9c15e939b800f8
$(PKG)_PATCHES := $(realpath $(sort $(wildcard $(dir $(lastword $(MAKEFILE_LIST)))/$(PKG)-[0-9]*.patch)))
$(PKG)_SUBDIR = $(subst qtbase,qtdatavis3d,$(qtbase_SUBDIR))
$(PKG)_FILE = $(subst qtbase,qtdatavis3d,$(qtbase_FILE))
$(PKG)_URL = $(subst qtbase,qtdatavis3d,$(qtbase_URL))
$(PKG)_DEPS := cc qtbase qtdeclarative qtmultimedia
define $(PKG)_UPDATE
echo $(qtbase_VERSION)
endef
define $(PKG)_BUILD
$(QMAKE_MAKE_INSTALL)
endef

View File

@ -1,25 +0,0 @@
# This file is part of MXE. See LICENSE.md for licensing information.
PKG := qtdeclarative
$(PKG)_WEBSITE := https://www.qt.io/
$(PKG)_DESCR := Qt
$(PKG)_IGNORE :=
$(PKG)_VERSION = $(qtbase_VERSION)
$(PKG)_CHECKSUM := fd13dd3059d20694a857ed30ee56a2ade908c0cb93246f9804a65f7a2d775d56
$(PKG)_PATCHES := $(realpath $(sort $(wildcard $(dir $(lastword $(MAKEFILE_LIST)))/$(PKG)-[0-9]*.patch)))
$(PKG)_SUBDIR = $(subst qtbase,qtdeclarative,$(qtbase_SUBDIR))
$(PKG)_FILE = $(subst qtbase,qtdeclarative,$(qtbase_FILE))
$(PKG)_URL = $(subst qtbase,qtdeclarative,$(qtbase_URL))
$(PKG)_DEPS := cc qtbase qtsvg qtxmlpatterns
define $(PKG)_UPDATE
echo $(qtbase_VERSION)
endef
define $(PKG)_BUILD
$(QMAKE_MAKE_INSTALL)
# Workaround for fixing build of current version of QtWebkit with Qt 5.7.1
cp $(PWD)/plugins/examples/qt5-freeze/Qt5QuickConfig.cmake \
$(PREFIX)/$(TARGET)/qt5/lib/cmake/Qt5Quick/
endef

View File

@ -1,21 +0,0 @@
# This file is part of MXE. See LICENSE.md for licensing information.
PKG := qtgamepad
$(PKG)_WEBSITE := https://www.qt.io/
$(PKG)_DESCR := Qt
$(PKG)_IGNORE :=
$(PKG)_VERSION = $(qtbase_VERSION)
$(PKG)_CHECKSUM := bb2b2165e3bcbf37a7e03c3e1cac4fe9771b087dad7ab9566ba5f7f4f4929182
$(PKG)_PATCHES := $(realpath $(sort $(wildcard $(dir $(lastword $(MAKEFILE_LIST)))/$(PKG)-[0-9]*.patch)))
$(PKG)_SUBDIR = $(subst qtbase,qtgamepad,$(qtbase_SUBDIR))
$(PKG)_FILE = $(subst qtbase,qtgamepad,$(qtbase_FILE))
$(PKG)_URL = $(subst qtbase,qtgamepad,$(qtbase_URL))
$(PKG)_DEPS := cc qtbase qtdeclarative
define $(PKG)_UPDATE
echo $(qtbase_VERSION)
endef
define $(PKG)_BUILD
$(QMAKE_MAKE_INSTALL)
endef

View File

@ -1,21 +0,0 @@
# This file is part of MXE. See LICENSE.md for licensing information.
PKG := qtgraphicaleffects
$(PKG)_WEBSITE := https://www.qt.io/
$(PKG)_DESCR := Qt
$(PKG)_IGNORE :=
$(PKG)_VERSION = $(qtbase_VERSION)
$(PKG)_CHECKSUM := 2c68fabe599fa2f318562dc22003df6797e91d00761dbf1f337cdc7fbacd4dc8
$(PKG)_PATCHES := $(realpath $(sort $(wildcard $(dir $(lastword $(MAKEFILE_LIST)))/$(PKG)-[0-9]*.patch)))
$(PKG)_SUBDIR = $(subst qtbase,qtgraphicaleffects,$(qtbase_SUBDIR))
$(PKG)_FILE = $(subst qtbase,qtgraphicaleffects,$(qtbase_FILE))
$(PKG)_URL = $(subst qtbase,qtgraphicaleffects,$(qtbase_URL))
$(PKG)_DEPS := cc qtbase qtdeclarative
define $(PKG)_UPDATE
echo $(qtbase_VERSION)
endef
define $(PKG)_BUILD
$(QMAKE_MAKE_INSTALL)
endef

View File

@ -1,21 +0,0 @@
# This file is part of MXE. See LICENSE.md for licensing information.
PKG := qtimageformats
$(PKG)_WEBSITE := https://www.qt.io/
$(PKG)_DESCR := Qt
$(PKG)_IGNORE :=
$(PKG)_VERSION = $(qtbase_VERSION)
$(PKG)_CHECKSUM := 4f97a2a2b269f8a45576256ad9f452320c9c9de6d9c7cc1751fdeac36b0f77f4
$(PKG)_PATCHES := $(realpath $(sort $(wildcard $(dir $(lastword $(MAKEFILE_LIST)))/$(PKG)-[0-9]*.patch)))
$(PKG)_SUBDIR = $(subst qtbase,qtimageformats,$(qtbase_SUBDIR))
$(PKG)_FILE = $(subst qtbase,qtimageformats,$(qtbase_FILE))
$(PKG)_URL = $(subst qtbase,qtimageformats,$(qtbase_URL))
$(PKG)_DEPS := cc jasper libmng libwebp qtbase tiff
define $(PKG)_UPDATE
echo $(qtbase_VERSION)
endef
define $(PKG)_BUILD
$(QMAKE_MAKE_INSTALL)
endef

View File

@ -1,21 +0,0 @@
# This file is part of MXE. See LICENSE.md for licensing information.
PKG := qtlocation
$(PKG)_WEBSITE := https://www.qt.io/
$(PKG)_DESCR := Qt
$(PKG)_IGNORE :=
$(PKG)_VERSION = $(qtbase_VERSION)
$(PKG)_CHECKSUM := f9e9e64e757008c2341504a1916a219ee0cf2b1b42bfa72156e62dfe9dfbf39f
$(PKG)_PATCHES := $(realpath $(sort $(wildcard $(dir $(lastword $(MAKEFILE_LIST)))/$(PKG)-[0-9]*.patch)))
$(PKG)_SUBDIR = $(subst qtbase,qtlocation,$(qtbase_SUBDIR))
$(PKG)_FILE = $(subst qtbase,qtlocation,$(qtbase_FILE))
$(PKG)_URL = $(subst qtbase,qtlocation,$(qtbase_URL))
$(PKG)_DEPS := cc qtbase qtdeclarative qtmultimedia
define $(PKG)_UPDATE
echo $(qtbase_VERSION)
endef
define $(PKG)_BUILD
$(QMAKE_MAKE_INSTALL)
endef

View File

@ -1,70 +0,0 @@
This file is part of MXE. See LICENSE.md for licensing information.
Contains ad hoc patches for cross building.
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Boris Pek <tehnick-8@yandex.ru>
Date: Tue, 29 Oct 2019 01:41:03 +0300
Subject: [PATCH 1/1] mingw-w64 6.x fixed (see QTBUG-63905, QTBUG-70630,
QTBUG-70655)
diff --git a/src/plugins/common/evr/evrdefs.h b/src/plugins/common/evr/evrdefs.h
index f898209b..4f3dd832 100644
--- a/src/plugins/common/evr/evrdefs.h
+++ b/src/plugins/common/evr/evrdefs.h
@@ -83,7 +83,8 @@ HRESULT WINAPI Direct3DCreate9Ex(UINT SDKVersion, IDirect3D9Ex**);
#define MF_E_TRANSFORM_NEED_MORE_INPUT ((HRESULT)0xC00D6D72L)
#endif
-#ifdef __GNUC__
+#if defined(__GNUC__) && !defined(_MFVideoNormalizedRect_)
+#define _MFVideoNormalizedRect_
typedef struct MFVideoNormalizedRect {
float left;
float top;
diff --git a/src/plugins/directshow/directshow.pro b/src/plugins/directshow/directshow.pro
index 117b02ad..27bb3abb 100644
--- a/src/plugins/directshow/directshow.pro
+++ b/src/plugins/directshow/directshow.pro
@@ -1,23 +1,31 @@
TARGET = dsengine
-win32:!qtHaveModule(opengl)|contains(QT_CONFIG,dynamicgl) {
+QT += multimedia-private
+
+win32:!qtHaveModule(opengl)|qtConfig(dynamicgl) {
LIBS_PRIVATE += -lgdi32 -luser32
}
-QT += multimedia-private
-
HEADERS += dsserviceplugin.h
SOURCES += dsserviceplugin.cpp
-!config_wmsdk: DEFINES += QT_NO_WMSDK
+# Remove WINVER/_WIN32_WINNT definitions added to qt_build_config.prf
+# by qtbase/d57a7c41712f8627a462d893329dc3f0dbb52d32 since the multimedia
+# headers of MinGW 5.3/7.1 are too broken to compile with 0x0601.
+mingw {
+ DEFINES -= WINVER=0x0601 _WIN32_WINNT=0x0601
+ DEFINES += NO_DSHOW_STRSAFE
+}
-mingw: DEFINES += NO_DSHOW_STRSAFE
+mingw {
+ LIBS_PRIVATE += -lamstrmid
+}
-!config_wmf: include(player/player.pri)
-!wince: include(camera/camera.pri)
+include(common/common.pri)
+include(player/player.pri)
+include(camera/camera.pri)
OTHER_FILES += \
- directshow.json \
- directshow_camera.json
+ directshow.json
PLUGIN_TYPE = mediaservice
PLUGIN_CLASS_NAME = DSServicePlugin

View File

@ -1,21 +0,0 @@
# This file is part of MXE. See LICENSE.md for licensing information.
PKG := qtmultimedia
$(PKG)_WEBSITE := https://www.qt.io/
$(PKG)_DESCR := Qt
$(PKG)_IGNORE :=
$(PKG)_VERSION = $(qtbase_VERSION)
$(PKG)_CHECKSUM := a52b177fbf02600a0c8bd995ce7c2041c673bc1332c02b60e0e95bb9ebab7def
$(PKG)_PATCHES := $(realpath $(sort $(wildcard $(dir $(lastword $(MAKEFILE_LIST)))/$(PKG)-[0-9]*.patch)))
$(PKG)_SUBDIR = $(subst qtbase,qtmultimedia,$(qtbase_SUBDIR))
$(PKG)_FILE = $(subst qtbase,qtmultimedia,$(qtbase_FILE))
$(PKG)_URL = $(subst qtbase,qtmultimedia,$(qtbase_URL))
$(PKG)_DEPS := cc qtbase
define $(PKG)_UPDATE
echo $(qtbase_VERSION)
endef
define $(PKG)_BUILD
$(QMAKE_MAKE_INSTALL)
endef

View File

@ -1,21 +0,0 @@
# This file is part of MXE. See LICENSE.md for licensing information.
PKG := qtpurchasing
$(PKG)_WEBSITE := https://www.qt.io/
$(PKG)_DESCR := Qt
$(PKG)_IGNORE :=
$(PKG)_VERSION = $(qtbase_VERSION)
$(PKG)_CHECKSUM := f694757929cefa31643daab4bde1fbda8d76c79eda0ee6094e1d86efd4cb7b42
$(PKG)_PATCHES := $(realpath $(sort $(wildcard $(dir $(lastword $(MAKEFILE_LIST)))/$(PKG)-[0-9]*.patch)))
$(PKG)_SUBDIR = $(subst qtbase,qtpurchasing,$(qtbase_SUBDIR))
$(PKG)_FILE = $(subst qtbase,qtpurchasing,$(qtbase_FILE))
$(PKG)_URL = $(subst qtbase,qtpurchasing,$(qtbase_URL))
$(PKG)_DEPS := cc qtbase qtdeclarative
define $(PKG)_UPDATE
echo $(qtbase_VERSION)
endef
define $(PKG)_BUILD
$(QMAKE_MAKE_INSTALL)
endef

View File

@ -1,21 +0,0 @@
# This file is part of MXE. See LICENSE.md for licensing information.
PKG := qtquickcontrols
$(PKG)_WEBSITE := https://www.qt.io/
$(PKG)_DESCR := Qt
$(PKG)_IGNORE :=
$(PKG)_VERSION = $(qtbase_VERSION)
$(PKG)_CHECKSUM := 6feb1a736bf93af98c40d04cde6b36c113e4cdf84ccb9b306ca92ef9b1779e9d
$(PKG)_PATCHES := $(realpath $(sort $(wildcard $(dir $(lastword $(MAKEFILE_LIST)))/$(PKG)-[0-9]*.patch)))
$(PKG)_SUBDIR = $(subst qtbase,qtquickcontrols,$(qtbase_SUBDIR))
$(PKG)_FILE = $(subst qtbase,qtquickcontrols,$(qtbase_FILE))
$(PKG)_URL = $(subst qtbase,qtquickcontrols,$(qtbase_URL))
$(PKG)_DEPS := cc qtbase qtdeclarative
define $(PKG)_UPDATE
echo $(qtbase_VERSION)
endef
define $(PKG)_BUILD
$(QMAKE_MAKE_INSTALL)
endef

View File

@ -1,21 +0,0 @@
# This file is part of MXE. See LICENSE.md for licensing information.
PKG := qtquickcontrols2
$(PKG)_WEBSITE := https://www.qt.io/
$(PKG)_DESCR := Qt
$(PKG)_IGNORE :=
$(PKG)_VERSION = $(qtbase_VERSION)
$(PKG)_CHECKSUM := f2e8acd0badbf604f28258b063c94ba71e28147c53c435ae9eb484497cf3e7ec
$(PKG)_PATCHES := $(realpath $(sort $(wildcard $(dir $(lastword $(MAKEFILE_LIST)))/$(PKG)-[0-9]*.patch)))
$(PKG)_SUBDIR = $(subst qtbase,qtquickcontrols2,$(qtbase_SUBDIR))
$(PKG)_FILE = $(subst qtbase,qtquickcontrols2,$(qtbase_FILE))
$(PKG)_URL = $(subst qtbase,qtquickcontrols2,$(qtbase_URL))
$(PKG)_DEPS := cc qtbase qtdeclarative
define $(PKG)_UPDATE
echo $(qtbase_VERSION)
endef
define $(PKG)_BUILD
$(QMAKE_MAKE_INSTALL)
endef

View File

@ -1,21 +0,0 @@
# This file is part of MXE. See LICENSE.md for licensing information.
PKG := qtscript
$(PKG)_WEBSITE := https://www.qt.io/
$(PKG)_DESCR := Qt
$(PKG)_IGNORE :=
$(PKG)_VERSION = $(qtbase_VERSION)
$(PKG)_CHECKSUM := 5bf91a1c53020d91d454d4bb0f930ada98c5fc008fda78f2d7171152920da426
$(PKG)_PATCHES := $(realpath $(sort $(wildcard $(dir $(lastword $(MAKEFILE_LIST)))/$(PKG)-[0-9]*.patch)))
$(PKG)_SUBDIR = $(subst qtbase,qtscript,$(qtbase_SUBDIR))
$(PKG)_FILE = $(subst qtbase,qtscript,$(qtbase_FILE))
$(PKG)_URL = $(subst qtbase,qtscript,$(qtbase_URL))
$(PKG)_DEPS := cc qtbase
define $(PKG)_UPDATE
echo $(qtbase_VERSION)
endef
define $(PKG)_BUILD
$(QMAKE_MAKE_INSTALL)
endef

View File

@ -1,21 +0,0 @@
# This file is part of MXE. See LICENSE.md for licensing information.
PKG := qtscxml
$(PKG)_WEBSITE := https://www.qt.io/
$(PKG)_DESCR := Qt
$(PKG)_IGNORE :=
$(PKG)_VERSION = $(qtbase_VERSION)
$(PKG)_CHECKSUM := 9dad4ab220a715b6a63df1d4a196bfa963a1ce7e6e57e7b36462c5dab09db38c
$(PKG)_PATCHES := $(realpath $(sort $(wildcard $(dir $(lastword $(MAKEFILE_LIST)))/$(PKG)-[0-9]*.patch)))
$(PKG)_SUBDIR = $(subst qtbase,qtscxml,$(qtbase_SUBDIR))
$(PKG)_FILE = $(subst qtbase,qtscxml,$(qtbase_FILE))
$(PKG)_URL = $(subst qtbase,qtscxml,$(qtbase_URL))
$(PKG)_DEPS := cc qtbase qtdeclarative
define $(PKG)_UPDATE
echo $(qtbase_VERSION)
endef
define $(PKG)_BUILD
$(QMAKE_MAKE_INSTALL)
endef

View File

@ -1,21 +0,0 @@
# This file is part of MXE. See LICENSE.md for licensing information.
PKG := qtsensors
$(PKG)_WEBSITE := https://www.qt.io/
$(PKG)_DESCR := Qt
$(PKG)_IGNORE :=
$(PKG)_VERSION = $(qtbase_VERSION)
$(PKG)_CHECKSUM := ccb3942edb5e615e9a43c147d87a09f19690eafbc56be0cdf4f73b7e510f3b10
$(PKG)_PATCHES := $(realpath $(sort $(wildcard $(dir $(lastword $(MAKEFILE_LIST)))/$(PKG)-[0-9]*.patch)))
$(PKG)_SUBDIR = $(subst qtbase,qtsensors,$(qtbase_SUBDIR))
$(PKG)_FILE = $(subst qtbase,qtsensors,$(qtbase_FILE))
$(PKG)_URL = $(subst qtbase,qtsensors,$(qtbase_URL))
$(PKG)_DEPS := cc qtbase
define $(PKG)_UPDATE
echo $(qtbase_VERSION)
endef
define $(PKG)_BUILD
$(QMAKE_MAKE_INSTALL)
endef

View File

@ -1,21 +0,0 @@
# This file is part of MXE. See LICENSE.md for licensing information.
PKG := qtserialbus
$(PKG)_WEBSITE := https://www.qt.io/
$(PKG)_DESCR := Qt
$(PKG)_IGNORE :=
$(PKG)_VERSION = $(qtbase_VERSION)
$(PKG)_CHECKSUM := 727edbe0f29659119cfcfbc9ce7c7063af319ec441bc9a5156ebda28e820b157
$(PKG)_PATCHES := $(realpath $(sort $(wildcard $(dir $(lastword $(MAKEFILE_LIST)))/$(PKG)-[0-9]*.patch)))
$(PKG)_SUBDIR = $(subst qtbase,qtserialbus,$(qtbase_SUBDIR))
$(PKG)_FILE = $(subst qtbase,qtserialbus,$(qtbase_FILE))
$(PKG)_URL = $(subst qtbase,qtserialbus,$(qtbase_URL))
$(PKG)_DEPS := cc qtbase qtserialport
define $(PKG)_UPDATE
echo $(qtbase_VERSION)
endef
define $(PKG)_BUILD
$(QMAKE_MAKE_INSTALL)
endef

View File

@ -1,21 +0,0 @@
# This file is part of MXE. See LICENSE.md for licensing information.
PKG := qtserialport
$(PKG)_WEBSITE := https://www.qt.io/
$(PKG)_DESCR := Qt
$(PKG)_IGNORE :=
$(PKG)_VERSION = $(qtbase_VERSION)
$(PKG)_CHECKSUM := 76d5e19bd392b72602ba3bfe3c0d03c10962674604cf814efa2c910f98cf5a26
$(PKG)_PATCHES := $(realpath $(sort $(wildcard $(dir $(lastword $(MAKEFILE_LIST)))/$(PKG)-[0-9]*.patch)))
$(PKG)_SUBDIR = $(subst qtbase,qtserialport,$(qtbase_SUBDIR))
$(PKG)_FILE = $(subst qtbase,qtserialport,$(qtbase_FILE))
$(PKG)_URL = $(subst qtbase,qtserialport,$(qtbase_URL))
$(PKG)_DEPS := cc qtbase
define $(PKG)_UPDATE
echo $(qtbase_VERSION)
endef
define $(PKG)_BUILD
$(QMAKE_MAKE_INSTALL)
endef

View File

@ -1,21 +0,0 @@
# This file is part of MXE. See LICENSE.md for licensing information.
PKG := qtsvg
$(PKG)_WEBSITE := https://www.qt.io/
$(PKG)_DESCR := Qt
$(PKG)_IGNORE :=
$(PKG)_VERSION = $(qtbase_VERSION)
$(PKG)_CHECKSUM := b0f017db8cf18e655e8a6635bc4ddbdbad6f8ef839857451b78942630a4c3947
$(PKG)_PATCHES := $(realpath $(sort $(wildcard $(dir $(lastword $(MAKEFILE_LIST)))/$(PKG)-[0-9]*.patch)))
$(PKG)_SUBDIR = $(subst qtbase,qtsvg,$(qtbase_SUBDIR))
$(PKG)_FILE = $(subst qtbase,qtsvg,$(qtbase_FILE))
$(PKG)_URL = $(subst qtbase,qtsvg,$(qtbase_URL))
$(PKG)_DEPS := cc qtbase
define $(PKG)_UPDATE
echo $(qtbase_VERSION)
endef
define $(PKG)_BUILD
$(QMAKE_MAKE_INSTALL)
endef

View File

@ -1,30 +0,0 @@
# This file is part of MXE. See LICENSE.md for licensing information.
PKG := qttools
$(PKG)_WEBSITE := https://www.qt.io/
$(PKG)_DESCR := Qt
$(PKG)_IGNORE :=
$(PKG)_VERSION = $(qtbase_VERSION)
$(PKG)_CHECKSUM := 64197022686c3d8b11a8639f102e2caf03cc325a30e7a32ba66881648ac2dfac
$(PKG)_PATCHES := $(realpath $(sort $(wildcard $(dir $(lastword $(MAKEFILE_LIST)))/$(PKG)-[0-9]*.patch)))
$(PKG)_SUBDIR = $(subst qtbase,qttools,$(qtbase_SUBDIR))
$(PKG)_FILE = $(subst qtbase,qttools,$(qtbase_FILE))
$(PKG)_URL = $(subst qtbase,qttools,$(qtbase_URL))
$(PKG)_DEPS := cc qtactiveqt qtbase qtdeclarative
$(PKG)_TEST_DIR := $(dir $(lastword $(MAKEFILE_LIST)))/qttools-test
define $(PKG)_UPDATE
echo $(qtbase_VERSION)
endef
define $(PKG)_BUILD
$(QMAKE_MAKE_INSTALL)
# test QUiLoader
mkdir '$(BUILD_DIR)'.test
cd '$(BUILD_DIR)'.test && '$(TARGET)-cmake' '$($(PKG)_TEST_DIR)'
$(MAKE) -C '$(BUILD_DIR)'.test
cp '$(BUILD_DIR)'.test/mxe-cmake-qtuitools.exe \
'$(PREFIX)/$(TARGET)/bin/test-qttools.exe'
endef

View File

@ -1,22 +0,0 @@
# This file is part of MXE. See LICENSE.md for licensing information.
PKG := qttranslations
$(PKG)_WEBSITE := https://www.qt.io/
$(PKG)_DESCR := Qt
$(PKG)_IGNORE :=
$(PKG)_VERSION = $(qtbase_VERSION)
$(PKG)_CHECKSUM := 16ecdb09532724e80fa6202e5604d80877923b652b771b6020cea36bee0258e7
$(PKG)_PATCHES := $(realpath $(sort $(wildcard $(dir $(lastword $(MAKEFILE_LIST)))/$(PKG)-[0-9]*.patch)))
$(PKG)_SUBDIR = $(subst qtbase,qttranslations,$(qtbase_SUBDIR))
$(PKG)_FILE = $(subst qtbase,qttranslations,$(qtbase_FILE))
$(PKG)_URL = $(subst qtbase,qttranslations,$(qtbase_URL))
$(PKG)_DEPS := cc qtbase qttools
define $(PKG)_UPDATE
echo $(qtbase_VERSION)
endef
define $(PKG)_BUILD
$(QMAKE_MAKE_INSTALL)
endef

View File

@ -1,21 +0,0 @@
# This file is part of MXE. See LICENSE.md for licensing information.
PKG := qtvirtualkeyboard
$(PKG)_WEBSITE := https://www.qt.io/
$(PKG)_DESCR := Qt
$(PKG)_IGNORE :=
$(PKG)_VERSION = $(qtbase_VERSION)
$(PKG)_CHECKSUM := b28b8b937ed15d794c5ebc93e9556d08a0c9761a434864ebf2b454554e652add
$(PKG)_PATCHES := $(realpath $(sort $(wildcard $(dir $(lastword $(MAKEFILE_LIST)))/$(PKG)-[0-9]*.patch)))
$(PKG)_SUBDIR = $(subst qtbase,qtvirtualkeyboard,$(qtbase_SUBDIR))
$(PKG)_FILE = $(subst qtbase,qtvirtualkeyboard,$(qtbase_FILE))
$(PKG)_URL = $(subst qtbase,qtvirtualkeyboard,$(qtbase_URL))
$(PKG)_DEPS := cc qtbase qtdeclarative qtmultimedia qtquickcontrols qtsvg
define $(PKG)_UPDATE
echo $(qtbase_VERSION)
endef
define $(PKG)_BUILD
$(QMAKE_MAKE_INSTALL)
endef

View File

@ -1,21 +0,0 @@
# This file is part of MXE. See LICENSE.md for licensing information.
PKG := qtwebchannel
$(PKG)_WEBSITE := https://www.qt.io/
$(PKG)_DESCR := Qt
$(PKG)_IGNORE :=
$(PKG)_VERSION = $(qtbase_VERSION)
$(PKG)_CHECKSUM := 63ab3ac76ff993009cfa978162a764e05b763cacb70d1a862893f8de4492319b
$(PKG)_PATCHES := $(realpath $(sort $(wildcard $(dir $(lastword $(MAKEFILE_LIST)))/$(PKG)-[0-9]*.patch)))
$(PKG)_SUBDIR = $(subst qtbase,qtwebchannel,$(qtbase_SUBDIR))
$(PKG)_FILE = $(subst qtbase,qtwebchannel,$(qtbase_FILE))
$(PKG)_URL = $(subst qtbase,qtwebchannel,$(qtbase_URL))
$(PKG)_DEPS := cc qtbase qtdeclarative qtwebsockets
define $(PKG)_UPDATE
echo $(qtbase_VERSION)
endef
define $(PKG)_BUILD
$(QMAKE_MAKE_INSTALL)
endef

View File

@ -1,21 +0,0 @@
# This file is part of MXE. See LICENSE.md for licensing information.
PKG := qtwebsockets
$(PKG)_WEBSITE := https://www.qt.io/
$(PKG)_DESCR := Qt
$(PKG)_IGNORE :=
$(PKG)_VERSION = $(qtbase_VERSION)
$(PKG)_CHECKSUM := 5c2a75b68e7f2e98530659b33bb08edee83013832dbf99cc5b40afc8a90652d1
$(PKG)_PATCHES := $(realpath $(sort $(wildcard $(dir $(lastword $(MAKEFILE_LIST)))/$(PKG)-[0-9]*.patch)))
$(PKG)_SUBDIR = $(subst qtbase,qtwebsockets,$(qtbase_SUBDIR))
$(PKG)_FILE = $(subst qtbase,qtwebsockets,$(qtbase_FILE))
$(PKG)_URL = $(subst qtbase,qtwebsockets,$(qtbase_URL))
$(PKG)_DEPS := cc qtbase
define $(PKG)_UPDATE
echo $(qtbase_VERSION)
endef
define $(PKG)_BUILD
$(QMAKE_MAKE_INSTALL)
endef

View File

@ -1,21 +0,0 @@
# This file is part of MXE. See LICENSE.md for licensing information.
PKG := qtwebview
$(PKG)_WEBSITE := https://www.qt.io/
$(PKG)_DESCR := Qt
$(PKG)_IGNORE :=
$(PKG)_VERSION = $(qtbase_VERSION)
$(PKG)_CHECKSUM := b3bcf9693e0205263f5d227f2204cf12c3a3d1e200b3114723511ee3bdf2159f
$(PKG)_PATCHES := $(realpath $(sort $(wildcard $(dir $(lastword $(MAKEFILE_LIST)))/$(PKG)-[0-9]*.patch)))
$(PKG)_SUBDIR = $(subst qtbase,qtwebview,$(qtbase_SUBDIR))
$(PKG)_FILE = $(subst qtbase,qtwebview,$(qtbase_FILE))
$(PKG)_URL = $(subst qtbase,qtwebview,$(qtbase_URL))
$(PKG)_DEPS := cc qtbase
define $(PKG)_UPDATE
echo $(qtbase_VERSION)
endef
define $(PKG)_BUILD
$(QMAKE_MAKE_INSTALL)
endef

View File

@ -1,21 +0,0 @@
# This file is part of MXE. See LICENSE.md for licensing information.
PKG := qtwinextras
$(PKG)_WEBSITE := https://www.qt.io/
$(PKG)_DESCR := Qt
$(PKG)_IGNORE :=
$(PKG)_VERSION = $(qtbase_VERSION)
$(PKG)_CHECKSUM := 241463a49fef3543b47a2874bd373ddf5a88321de169730db09ae333018ef3cc
$(PKG)_PATCHES := $(realpath $(sort $(wildcard $(dir $(lastword $(MAKEFILE_LIST)))/$(PKG)-[0-9]*.patch)))
$(PKG)_SUBDIR = $(subst qtbase,qtwinextras,$(qtbase_SUBDIR))
$(PKG)_FILE = $(subst qtbase,qtwinextras,$(qtbase_FILE))
$(PKG)_URL = $(subst qtbase,qtwinextras,$(qtbase_URL))
$(PKG)_DEPS := cc qtbase qtdeclarative qtmultimedia
define $(PKG)_UPDATE
echo $(qtbase_VERSION)
endef
define $(PKG)_BUILD
$(QMAKE_MAKE_INSTALL)
endef

View File

@ -1,21 +0,0 @@
# This file is part of MXE. See LICENSE.md for licensing information.
PKG := qtxmlpatterns
$(PKG)_WEBSITE := https://www.qt.io/
$(PKG)_DESCR := Qt
$(PKG)_IGNORE :=
$(PKG)_VERSION = $(qtbase_VERSION)
$(PKG)_CHECKSUM := a805938c2ab1379d7dc83dcec606edd7950b5155c073b9eb53c53e62deb5f8e5
$(PKG)_PATCHES := $(realpath $(sort $(wildcard $(dir $(lastword $(MAKEFILE_LIST)))/$(PKG)-[0-9]*.patch)))
$(PKG)_SUBDIR = $(subst qtbase,qtxmlpatterns,$(qtbase_SUBDIR))
$(PKG)_FILE = $(subst qtbase,qtxmlpatterns,$(qtbase_FILE))
$(PKG)_URL = $(subst qtbase,qtxmlpatterns,$(qtbase_URL))
$(PKG)_DEPS := cc qtbase
define $(PKG)_UPDATE
echo $(qtbase_VERSION)
endef
define $(PKG)_BUILD
$(QMAKE_MAKE_INSTALL)
endef

View File

@ -1,41 +0,0 @@
# This file is part of MXE. See LICENSE.md for licensing information.
# override relevant cloog, isl, and gcc variables changed in:
# https://github.com/mxe/mxe/pull/965
#
# simply expanded variables (*_SUBDIR, *_FILE, etc.) need to be set
PKG := cloog
$(PKG)_TARGETS := $(MXE_TARGETS)
PKG := isl
$(PKG)_VERSION := 0.16.1
$(PKG)_CHECKSUM := 412538bb65c799ac98e17e8cfcdacbb257a57362acfaaff254b0fcae970126d2
$(PKG)_SUBDIR := $(PKG)-$($(PKG)_VERSION)
$(PKG)_FILE := $(PKG)-$($(PKG)_VERSION).tar.bz2
$(PKG)_URL := https://isl.gforge.inria.fr/$($(PKG)_FILE)
$(PKG)_URL_2 := https://gcc.gnu.org/pub/gcc/infrastructure/$($(PKG)_FILE)
PKG := gcc
$(PKG)_VERSION := 10.2.0
$(PKG)_CHECKSUM := b8dd4368bb9c7f0b98188317ee0254dd8cc99d1e3a18d0ff146c855fe16c1d8c
$(PKG)_SUBDIR := gcc-$($(PKG)_VERSION)
$(PKG)_FILE := gcc-$($(PKG)_VERSION).tar.xz
$(PKG)_URL := https://ftp.gnu.org/gnu/gcc/gcc-$($(PKG)_VERSION)/$($(PKG)_FILE)
$(PKG)_URL_2 := https://www.mirrorservice.org/sites/sourceware.org/pub/gcc/releases/gcc-$($(PKG)_VERSION)/$($(PKG)_FILE)
$(PKG)_PATCHES := $(dir $(lastword $(MAKEFILE_LIST)))/gcc10.patch
$(PKG)_DEPS := binutils mingw-w64 $(addprefix $(BUILD)~,gmp isl mpc mpfr zstd)
_$(PKG)_CONFIGURE_OPTS = --with-zstd='$(PREFIX)/$(BUILD)'
# copy db-2-install-exe.patch to gcc7 plugin when gcc10 is default
db_PATCHES := $(TOP_DIR)/src/db-1-fix-including-winioctl-h-lowcase.patch
# set these in respective makefiles when gcc10 becomes default
# remove from here and leave them blank for gcc5 plugin
libssh_EXTRA_WARNINGS = -Wno-error=implicit-fallthrough
gtkimageview_EXTRA_WARNINGS = -Wno-error=misleading-indentation
guile_EXTRA_WARNINGS = -Wno-error=misleading-indentation
gtkmm2_EXTRA_WARNINGS = -Wno-error=cast-function-type
gtkmm3_EXTRA_WARNINGS = -Wno-error=cast-function-type
gtkglextmm_EXTRA_WARNINGS = -Wno-error=cast-function-type

View File

@ -1,69 +0,0 @@
This file is part of MXE. See LICENSE.md for licensing information.
Contains ad hoc patches for cross building.
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Tony Theodore <tonyt@logyst.com>
Date: Sun, 10 May 2020 15:06:47 +1000
Subject: [PATCH 1/2] allow native cpu detection when building with clang
function was disabled for non-gcc5 in:
https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=b587c12551143c14f023860a1dbdf7316ae71f27;hp=43096b526a9f23008b9769372f11475ae63487bc
clang can build it correctly and this should probably be a feature test
diff --git a/gcc/config/i386/driver-i386.c b/gcc/config/i386/driver-i386.c
index 1111111..2222222 100644
--- a/gcc/config/i386/driver-i386.c
+++ b/gcc/config/i386/driver-i386.c
@@ -26,7 +26,7 @@ along with GCC; see the file COPYING3. If not see
const char *host_detect_local_cpu (int argc, const char **argv);
-#if defined(__GNUC__) && (__GNUC__ >= 5 || !defined(__PIC__))
+#if defined(__GNUC__) && (__GNUC__ >= 5 || !defined(__PIC__)) || defined(__clang__)
#include "cpuid.h"
struct cache_desc
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Tony Theodore <tonyt@logyst.com>
Date: Sun, 10 May 2020 15:09:58 +1000
Subject: [PATCH 2/2] remove hard-coded mingw from paths
diff --git a/gcc/config.gcc b/gcc/config.gcc
index 1111111..2222222 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -2169,7 +2169,7 @@ i[34567]86-*-mingw* | x86_64-*-mingw*)
tmake_file="${tmake_file} i386/t-mingw-w32"
;;
esac
- native_system_header_dir=/mingw/include
+ native_system_header_dir=/include
target_gtfiles="$target_gtfiles \$(srcdir)/config/i386/winnt.c"
extra_options="${extra_options} i386/cygming.opt i386/mingw.opt"
case ${target} in
diff --git a/gcc/config/i386/mingw32.h b/gcc/config/i386/mingw32.h
index 1111111..2222222 100644
--- a/gcc/config/i386/mingw32.h
+++ b/gcc/config/i386/mingw32.h
@@ -186,7 +186,7 @@ along with GCC; see the file COPYING3. If not see
/* Override startfile prefix defaults. */
#ifndef STANDARD_STARTFILE_PREFIX_1
-#define STANDARD_STARTFILE_PREFIX_1 "/mingw/lib/"
+#define STANDARD_STARTFILE_PREFIX_1 "/lib/"
#endif
#ifndef STANDARD_STARTFILE_PREFIX_2
#define STANDARD_STARTFILE_PREFIX_2 ""
@@ -195,7 +195,7 @@ along with GCC; see the file COPYING3. If not see
/* For native mingw-version we need to take care that NATIVE_SYSTEM_HEADER_DIR
macro contains POSIX-style path. See bug 52947. */
#undef NATIVE_SYSTEM_HEADER_DIR
-#define NATIVE_SYSTEM_HEADER_DIR "/mingw/include"
+#define NATIVE_SYSTEM_HEADER_DIR "/include"
/* Output STRING, a string representing a filename, to FILE.
We canonicalize it to be in Unix format (backslashes are replaced

View File

@ -1,4 +0,0 @@
# Notes about GCC version 4.9.4
GCC 4.9.4 was used before [GCC 5.4.0](https://github.com/mxe/mxe/pull/1541).
This plugin is a backup in case of problems with GCC 5.4.0.

View File

@ -1,22 +0,0 @@
# This file is part of MXE. See LICENSE.md for licensing information.
# This plugin is needed in case of issues with GCC 5.4.0:
# https://github.com/mxe/mxe/pull/1541#issuecomment-274035553
PKG := cloog
$(PKG)_VERSION := 0.18.1
$(PKG)_CHECKSUM := 02500a4edd14875f94fe84cbeda4290425cb0c1c2474c6f75d75a303d64b4196
$(PKG)_SUBDIR := $(PKG)-$($(PKG)_VERSION)
$(PKG)_FILE := $(PKG)-$($(PKG)_VERSION).tar.gz
$(PKG)_URL := https://www.bastoul.net/cloog/pages/download/$($(PKG)_FILE)
$(PKG)_URL_2 := https://gcc.gnu.org/pub/gcc/infrastructure/$($(PKG)_FILE)
$(PKG)_TARGETS := $(BUILD) $(MXE_TARGETS)
$(PKG)_DEPS_$(BUILD) := gmp isl
PKG := isl
$(PKG)_VERSION := 0.12.2
$(PKG)_CHECKSUM := f4b3dbee9712850006e44f0db2103441ab3d13b406f77996d1df19ee89d11fb4
$(PKG)_SUBDIR := $(PKG)-$($(PKG)_VERSION)
$(PKG)_FILE := $(PKG)-$($(PKG)_VERSION).tar.bz2
$(PKG)_URL := https://isl.gforge.inria.fr/$($(PKG)_FILE)
$(PKG)_URL_2 := https://gcc.gnu.org/pub/gcc/infrastructure/$($(PKG)_FILE)

View File

@ -1,130 +0,0 @@
# This file is part of MXE. See LICENSE.md for licensing information.
PKG := gcc
$(PKG)_WEBSITE := https://gcc.gnu.org/
$(PKG)_DESCR := GCC
$(PKG)_IGNORE := 5%
$(PKG)_VERSION := 4.9.4
$(PKG)_CHECKSUM := 6c11d292cd01b294f9f84c9a59c230d80e9e4a47e5c6355f046bb36d4f358092
$(PKG)_SUBDIR := gcc-$($(PKG)_VERSION)
$(PKG)_FILE := gcc-$($(PKG)_VERSION).tar.bz2
$(PKG)_PATCHES := $(basename $(lastword $(MAKEFILE_LIST))).patch
$(PKG)_URL := https://ftp.gnu.org/gnu/gcc/gcc-$($(PKG)_VERSION)/$($(PKG)_FILE)
$(PKG)_URL_2 := https://www.mirrorservice.org/sites/sourceware.org/pub/gcc/releases/gcc-$($(PKG)_VERSION)/$($(PKG)_FILE)
$(PKG)_DEPS := binutils mingw-w64 $(addprefix $(BUILD)~,cloog gmp isl mpc mpfr)
$(PKG)_FILE_$(BUILD) :=
define $(PKG)_UPDATE
$(WGET) -q -O- 'https://ftp.gnu.org/gnu/gcc/?C=M;O=D' | \
$(SED) -n 's,.*<a href="gcc-\([0-9][^"]*\)/".*,\1,p' | \
$(SORT) -V | \
tail -1
endef
define $(PKG)_CONFIGURE
# configure gcc
mkdir '$(1).build'
cd '$(1).build' && '$(1)/configure' \
--target='$(TARGET)' \
--build='$(BUILD)' \
--prefix='$(PREFIX)' \
--libdir='$(PREFIX)/lib' \
--enable-languages='c,c++,objc,fortran' \
--enable-version-specific-runtime-libs \
--with-gcc \
--with-gnu-ld \
--with-gnu-as \
--disable-nls \
$(if $(BUILD_STATIC),--disable-shared) \
--disable-multilib \
--without-x \
--disable-win32-registry \
--enable-threads=$(MXE_GCC_THREADS) \
--enable-libgomp \
--with-gmp='$(PREFIX)/$(BUILD)' \
--with-isl='$(PREFIX)/$(BUILD)' \
--with-mpc='$(PREFIX)/$(BUILD)' \
--with-mpfr='$(PREFIX)/$(BUILD)' \
--with-cloog='$(PREFIX)/$(BUILD)' \
--with-as='$(PREFIX)/bin/$(TARGET)-as' \
--with-ld='$(PREFIX)/bin/$(TARGET)-ld' \
--with-nm='$(PREFIX)/bin/$(TARGET)-nm' \
$(shell [ `uname -s` == Darwin ] && echo "LDFLAGS='-Wl,-no_pie'")
endef
define $(PKG)_POST_BUILD
# - no non-trivial way to configure installation of *.dlls
# each sudbir has it's own variations of variables like:
# `toolexeclibdir` `install-toolexeclibLTLIBRARIES` etc.
# and maintaining those would be cumbersome
# - need to keep `--enable-version-specific-runtime-libs` otherwise
# libraries go directly into $(PREFIX)/$(TARGET)/lib and are
# harder to cleanup
# - ignore rm failure as parallel build may have cleaned up, but
# don't wildcard all libs so future additions will be detected
$(and $(BUILD_SHARED),
mv -v '$(PREFIX)/lib/gcc/$(TARGET)/$($(PKG)_VERSION)/'*.dll '$(PREFIX)/$(TARGET)/bin/'
-rm -v '$(PREFIX)/lib/gcc/$(TARGET)/'libgcc_s*.dll
-rm -v '$(PREFIX)/lib/gcc/$(TARGET)/lib/'libgcc_s*.a
-rmdir '$(PREFIX)/lib/gcc/$(TARGET)/lib/')
endef
define $(PKG)_BUILD_mingw-w64
# install mingw-w64 headers
$(call PREPARE_PKG_SOURCE,mingw-w64,$(1))
mkdir '$(1).headers-build'
cd '$(1).headers-build' && '$(1)/$(mingw-w64_SUBDIR)/mingw-w64-headers/configure' \
--host='$(TARGET)' \
--prefix='$(PREFIX)/$(TARGET)' \
--enable-sdk=all \
--enable-idl \
--enable-secure-api \
$(mingw-w64-headers_CONFIGURE_OPTS)
$(MAKE) -C '$(1).headers-build' install
# build standalone gcc
$($(PKG)_CONFIGURE)
$(MAKE) -C '$(1).build' -j '$(JOBS)' all-gcc
$(MAKE) -C '$(1).build' -j 1 $(INSTALL_STRIP_TOOLCHAIN)-gcc
# build mingw-w64-crt
mkdir '$(1).crt-build'
cd '$(1).crt-build' && '$(1)/$(mingw-w64_SUBDIR)/mingw-w64-crt/configure' \
--host='$(TARGET)' \
--prefix='$(PREFIX)/$(TARGET)' \
@gcc-crt-config-opts@
$(MAKE) -C '$(1).crt-build' -j '$(JOBS)' || $(MAKE) -C '$(1).crt-build' -j '$(JOBS)'
$(MAKE) -C '$(1).crt-build' -j 1 $(INSTALL_STRIP_TOOLCHAIN)
# build posix threads
mkdir '$(1).pthread-build'
cd '$(1).pthread-build' && '$(1)/$(mingw-w64_SUBDIR)/mingw-w64-libraries/winpthreads/configure' \
$(MXE_CONFIGURE_OPTS)
$(MAKE) -C '$(1).pthread-build' -j '$(JOBS)' || $(MAKE) -C '$(1).pthread-build' -j '$(JOBS)'
$(MAKE) -C '$(1).pthread-build' -j 1 $(INSTALL_STRIP_TOOLCHAIN)
# build rest of gcc
cd '$(1).build'
$(MAKE) -C '$(1).build' -j '$(JOBS)'
$(MAKE) -C '$(1).build' -j 1 $(INSTALL_STRIP_TOOLCHAIN)
# shared libgcc isn't installed to version-specific locations
# so install correctly to simplify cleanup
$(and $(BUILD_SHARED),
$(MAKE) -C '$(1).build/$(TARGET)/libgcc' -j 1 \
toolexecdir='$(PREFIX)/$(TARGET)/bin' \
SHLIB_SLIBDIR_QUAL= \
install-shared)
$($(PKG)_POST_BUILD)
endef
$(PKG)_BUILD_x86_64-w64-mingw32 = $(subst @gcc-crt-config-opts@,--disable-lib32,$($(PKG)_BUILD_mingw-w64))
$(PKG)_BUILD_i686-w64-mingw32 = $(subst @gcc-crt-config-opts@,--disable-lib64,$($(PKG)_BUILD_mingw-w64))
define $(PKG)_BUILD_$(BUILD)
for f in c++ cpp g++ gcc gcov; do \
ln -sf "`which $$f`" '$(PREFIX)/bin/$(TARGET)'-$$f ; \
done
endef

View File

@ -0,0 +1,25 @@
# This file is part of MXE. See LICENSE.md for licensing information.
# override relevant cloog, isl, and gcc variables changed in:
# https://github.com/mxe/mxe/pull/965
#
# simply expanded variables (*_SUBDIR, *_FILE, etc.) need to be set
# libmysqlclient patch changes don't adversely affect 5.2 series
PKG := cloog
$(PKG)_TARGETS := $(MXE_TARGETS)
PKG := isl
$(PKG)_VERSION := 0.15
$(PKG)_CHECKSUM := 8ceebbf4d9a81afa2b4449113cee4b7cb14a687d7a549a963deb5e2a41458b6b
$(PKG)_SUBDIR := $(PKG)-$($(PKG)_VERSION)
$(PKG)_FILE := $(PKG)-$($(PKG)_VERSION).tar.bz2
$(PKG)_URL := http://isl.gforge.inria.fr/$($(PKG)_FILE)
$(PKG)_URL_2 := ftp://gcc.gnu.org/pub/gcc/infrastructure/$($(PKG)_FILE)
PKG := gcc
$(PKG)_VERSION := 5.3.0
$(PKG)_CHECKSUM := b84f5592e9218b73dbae612b5253035a7b34a9a1f7688d2e1bfaaf7267d5c4db
$(PKG)_SUBDIR := gcc-$($(PKG)_VERSION)
$(PKG)_FILE := gcc-$($(PKG)_VERSION).tar.bz2
$(PKG)_URL := http://ftp.gnu.org/pub/gnu/gcc/gcc-$($(PKG)_VERSION)/$($(PKG)_FILE)

View File

@ -1,7 +1,5 @@
# Notes about GCC version 6.1.0 and later
*N.B* all packages build with gcc6 as of [2018-08-15](https://github.com/mxe/mxe/commit/7a5b4281dc86f225e55f3fb2122477eeb8088d15)
GCC 6.1 is released with a number of major changes
[[1](https://gcc.gnu.org/ml/gcc-announce/2016/msg00000.html)]
[[2](https://gcc.gnu.org/gcc-6/changes.html)]
@ -10,7 +8,7 @@ GCC 6.1 is released with a number of major changes
> been defaulting to previously, for compiling older `C++` code that might
> require either explicitly compiling with selected older `C++` standards,
> or might require some code adjustment, see
> [[3](https://gcc.gnu.org/gcc-6/porting_to.html)]
> [[3](http://gcc.gnu.org/gcc-6/porting_to.html)]
> for details.
So it is expected that some of MXE packages will fails to build from source
@ -51,7 +49,7 @@ versions [[4](https://github.com/mxe/mxe/commit/a1cc019)].
| gtkmm2 | static (all) | - |
| gtkmm3 | static (all) | - |
| guile | i686-w64-mingw32.static (all) | - |
| itk | all | [55e9bba](https://github.com/mxe/mxe/commit/55e9bba) |
| itk | all | - |
| jsoncpp | all | [0bc73f7](https://github.com/mxe/mxe/commit/0bc73f7) |
| json_spirit | all | - |
| librsvg | all | - |

View File

@ -13,19 +13,12 @@ $(PKG)_VERSION := 0.16.1
$(PKG)_CHECKSUM := 412538bb65c799ac98e17e8cfcdacbb257a57362acfaaff254b0fcae970126d2
$(PKG)_SUBDIR := $(PKG)-$($(PKG)_VERSION)
$(PKG)_FILE := $(PKG)-$($(PKG)_VERSION).tar.bz2
$(PKG)_URL := https://isl.gforge.inria.fr/$($(PKG)_FILE)
$(PKG)_URL_2 := https://gcc.gnu.org/pub/gcc/infrastructure/$($(PKG)_FILE)
$(PKG)_URL := http://isl.gforge.inria.fr/$($(PKG)_FILE)
$(PKG)_URL_2 := ftp://gcc.gnu.org/pub/gcc/infrastructure/$($(PKG)_FILE)
PKG := gcc
$(PKG)_VERSION := 6.5.0
$(PKG)_CHECKSUM := 7ef1796ce497e89479183702635b14bb7a46b53249209a5e0f999bebf4740945
$(PKG)_VERSION := 6.2.0
$(PKG)_CHECKSUM := 9944589fc722d3e66308c0ce5257788ebd7872982a718aa2516123940671b7c5
$(PKG)_SUBDIR := gcc-$($(PKG)_VERSION)
$(PKG)_FILE := gcc-$($(PKG)_VERSION).tar.xz
$(PKG)_URL := https://ftp.gnu.org/gnu/gcc/gcc-$($(PKG)_VERSION)/$($(PKG)_FILE)
$(PKG)_URL_2 := https://www.mirrorservice.org/sites/sourceware.org/pub/gcc/releases/gcc-$($(PKG)_VERSION)/$($(PKG)_FILE)
$(PKG)_PATCHES := $(dir $(lastword $(MAKEFILE_LIST)))/gcc6.patch
# set these in respective makefiles if gcc6 becomes default
# and leave them blank for gcc5 plugin
gtkimageview_EXTRA_WARNINGS = -Wno-error=misleading-indentation
guile_EXTRA_WARNINGS = -Wno-error=misleading-indentation
$(PKG)_FILE := gcc-$($(PKG)_VERSION).tar.bz2
$(PKG)_URL := http://ftp.gnu.org/pub/gnu/gcc/gcc-$($(PKG)_VERSION)/$($(PKG)_FILE)

View File

@ -1,185 +0,0 @@
This file is part of MXE. See LICENSE.md for licensing information.
Contains ad hoc patches for cross building.
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Tony Theodore <tonyt@logyst.com>
Date: Thu, 2 Feb 2017 02:05:50 +1100
Subject: [PATCH 1/4] allow native cpu detection when building with clang
function was disabled for non-gcc5 in:
https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=b587c12551143c14f023860a1dbdf7316ae71f27;hp=43096b526a9f23008b9769372f11475ae63487bc
clang can build it correctly and this should probably be a feature test
diff --git a/gcc/config/i386/driver-i386.c b/gcc/config/i386/driver-i386.c
index 1111111..2222222 100644
--- a/gcc/config/i386/driver-i386.c
+++ b/gcc/config/i386/driver-i386.c
@@ -24,7 +24,7 @@ along with GCC; see the file COPYING3. If not see
const char *host_detect_local_cpu (int argc, const char **argv);
-#if defined(__GNUC__) && (__GNUC__ >= 5 || !defined(__PIC__))
+#if defined(__GNUC__) && (__GNUC__ >= 5 || !defined(__PIC__)) || defined(__clang__)
#include "cpuid.h"
struct cache_desc
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Tony Theodore <tonyt@logyst.com>
Date: Fri, 6 Apr 2018 13:40:22 +1000
Subject: [PATCH 2/4] remove hard-coded mingw from include path
diff --git a/gcc/config.gcc b/gcc/config.gcc
index 1111111..2222222 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -1765,7 +1765,7 @@ i[34567]86-*-mingw* | x86_64-*-mingw*)
tmake_file="${tmake_file} i386/t-mingw-w32"
;;
esac
- native_system_header_dir=/mingw/include
+ native_system_header_dir=/include
target_gtfiles="\$(srcdir)/config/i386/winnt.c"
extra_options="${extra_options} i386/cygming.opt i386/mingw.opt"
case ${target} in
diff --git a/gcc/config/i386/mingw32.h b/gcc/config/i386/mingw32.h
index 1111111..2222222 100644
--- a/gcc/config/i386/mingw32.h
+++ b/gcc/config/i386/mingw32.h
@@ -170,7 +170,7 @@ along with GCC; see the file COPYING3. If not see
/* For native mingw-version we need to take care that NATIVE_SYSTEM_HEADER_DIR
macro contains POSIX-style path. See bug 52947. */
#undef NATIVE_SYSTEM_HEADER_DIR
-#define NATIVE_SYSTEM_HEADER_DIR "/mingw/include"
+#define NATIVE_SYSTEM_HEADER_DIR "/include"
/* Output STRING, a string representing a filename, to FILE.
We canonicalize it to be in Unix format (backslashes are replaced
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Sun, 11 Nov 2018 17:44:43 +0000
Subject: [PATCH 3/4] Backport from mainline 2018-11-04 Uros Bizjak
<ubizjak@gmail.com>
PR middle-end/58372
* cfgexpand.c (pass_expand::execute): Move the call to
finish_eh_generation in front of the call to expand_stack_alignment.
testsuite/ChangeLog:
Backport from mainline
2018-11-04 Uros Bizjak <ubizjak@gmail.com>
PR middle-end/58372
* g++.dg/pr58372.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@266015 138bc75d-0d04-0410-961f-82ee72b054a4
diff --git a/gcc/cfgexpand.c b/gcc/cfgexpand.c
index 1111111..2222222 100644
--- a/gcc/cfgexpand.c
+++ b/gcc/cfgexpand.c
@@ -6445,6 +6445,14 @@ pass_expand::execute (function *fun)
sbitmap_free (blocks);
purge_all_dead_edges ();
+ /* After initial rtl generation, call back to finish generating
+ exception support code. We need to do this before cleaning up
+ the CFG as the code does not expect dead landing pads. */
+ if (fun->eh->region_tree != NULL)
+ finish_eh_generation ();
+
+ /* Call expand_stack_alignment after finishing all
+ updates to crtl->preferred_stack_boundary. */
expand_stack_alignment ();
/* Fixup REG_EQUIV notes in the prologue if there are tailcalls in this
@@ -6452,12 +6460,6 @@ pass_expand::execute (function *fun)
if (crtl->tail_call_emit)
fixup_tail_calls ();
- /* After initial rtl generation, call back to finish generating
- exception support code. We need to do this before cleaning up
- the CFG as the code does not expect dead landing pads. */
- if (fun->eh->region_tree != NULL)
- finish_eh_generation ();
-
/* Remove unreachable blocks, otherwise we cannot compute dominators
which are needed for loop state verification. As a side-effect
this also compacts blocks.
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Tony Theodore <tonyt@logyst.com>
Date: Sun, 31 May 2020 18:36:27 +1000
Subject: [PATCH 4/4] PR c++/66297, DR 1684 - literal class and constexpr
member fns
taken from:
https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=54069e595976eb556b22c231951cb2703e523a22;hp=8ef2b9a7b59418d9f5e644badbc0aade7f83414f
diff --git a/gcc/cp/class.c b/gcc/cp/class.c
index 1111111..2222222 100644
--- a/gcc/cp/class.c
+++ b/gcc/cp/class.c
@@ -5654,7 +5654,9 @@ finalize_literal_type_property (tree t)
&& !TYPE_HAS_CONSTEXPR_CTOR (t))
CLASSTYPE_LITERAL_P (t) = false;
- if (!CLASSTYPE_LITERAL_P (t))
+ /* C++14 DR 1684 removed this restriction. */
+ if (cxx_dialect < cxx14
+ && !CLASSTYPE_LITERAL_P (t) && !LAMBDA_TYPE_P (t))
for (fn = TYPE_METHODS (t); fn; fn = DECL_CHAIN (fn))
if (DECL_DECLARED_CONSTEXPR_P (fn)
&& TREE_CODE (fn) != TEMPLATE_DECL
@@ -5662,12 +5664,11 @@ finalize_literal_type_property (tree t)
&& !DECL_CONSTRUCTOR_P (fn))
{
DECL_DECLARED_CONSTEXPR_P (fn) = false;
- if (!DECL_GENERATED_P (fn))
- {
- error ("enclosing class of constexpr non-static member "
- "function %q+#D is not a literal type", fn);
- explain_non_literal_class (t);
- }
+ if (!DECL_GENERATED_P (fn)
+ && pedwarn (DECL_SOURCE_LOCATION (fn), OPT_Wpedantic,
+ "enclosing class of constexpr non-static member "
+ "function %q+#D is not a literal type", fn))
+ explain_non_literal_class (t);
}
}
diff --git a/gcc/cp/constexpr.c b/gcc/cp/constexpr.c
index 1111111..2222222 100644
--- a/gcc/cp/constexpr.c
+++ b/gcc/cp/constexpr.c
@@ -208,16 +208,17 @@ is_valid_constexpr_fn (tree fun, bool complain)
}
}
- if (DECL_NONSTATIC_MEMBER_FUNCTION_P (fun)
+ /* C++14 DR 1684 removed this restriction. */
+ if (cxx_dialect < cxx14
+ && DECL_NONSTATIC_MEMBER_FUNCTION_P (fun)
&& !CLASSTYPE_LITERAL_P (DECL_CONTEXT (fun)))
{
ret = false;
- if (complain)
- {
- error ("enclosing class of constexpr non-static member "
- "function %q+#D is not a literal type", fun);
- explain_non_literal_class (DECL_CONTEXT (fun));
- }
+ if (complain
+ && pedwarn (DECL_SOURCE_LOCATION (fun), OPT_Wpedantic,
+ "enclosing class of constexpr non-static member "
+ "function %q+#D is not a literal type", fun))
+ explain_non_literal_class (DECL_CONTEXT (fun));
}
}
else if (CLASSTYPE_VBASECLASSES (DECL_CONTEXT (fun)))

View File

@ -1,32 +0,0 @@
# This file is part of MXE. See LICENSE.md for licensing information.
# override relevant cloog, isl, and gcc variables changed in:
# https://github.com/mxe/mxe/pull/965
#
# simply expanded variables (*_SUBDIR, *_FILE, etc.) need to be set
PKG := cloog
$(PKG)_TARGETS := $(MXE_TARGETS)
PKG := isl
$(PKG)_VERSION := 0.16.1
$(PKG)_CHECKSUM := 412538bb65c799ac98e17e8cfcdacbb257a57362acfaaff254b0fcae970126d2
$(PKG)_SUBDIR := $(PKG)-$($(PKG)_VERSION)
$(PKG)_FILE := $(PKG)-$($(PKG)_VERSION).tar.bz2
$(PKG)_URL := https://isl.gforge.inria.fr/$($(PKG)_FILE)
$(PKG)_URL_2 := https://gcc.gnu.org/pub/gcc/infrastructure/$($(PKG)_FILE)
PKG := gcc
$(PKG)_VERSION := 7.5.0
$(PKG)_CHECKSUM := b81946e7f01f90528a1f7352ab08cc602b9ccc05d4e44da4bd501c5a189ee661
$(PKG)_SUBDIR := gcc-$($(PKG)_VERSION)
$(PKG)_FILE := gcc-$($(PKG)_VERSION).tar.xz
$(PKG)_URL := https://ftp.gnu.org/gnu/gcc/gcc-$($(PKG)_VERSION)/$($(PKG)_FILE)
$(PKG)_URL_2 := https://www.mirrorservice.org/sites/sourceware.org/pub/gcc/releases/gcc-$($(PKG)_VERSION)/$($(PKG)_FILE)
$(PKG)_PATCHES := $(dir $(lastword $(MAKEFILE_LIST)))/gcc7.patch
# set these in respective makefiles when gcc7 becomes default
# and leave them blank for gcc5 plugin
libssh_EXTRA_WARNINGS = -Wno-error=implicit-fallthrough
gtkimageview_EXTRA_WARNINGS = -Wno-error=misleading-indentation
guile_EXTRA_WARNINGS = -Wno-error=misleading-indentation

View File

@ -1,60 +0,0 @@
This file is part of MXE. See LICENSE.md for licensing information.
Contains ad hoc patches for cross building.
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Tony Theodore <tonyt@logyst.com>
Date: Thu, 2 Feb 2017 02:05:50 +1100
Subject: [PATCH 1/2] allow native cpu detection when building with clang
function was disabled for non-gcc5 in:
https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=b587c12551143c14f023860a1dbdf7316ae71f27;hp=43096b526a9f23008b9769372f11475ae63487bc
clang can build it correctly and this should probably be a feature test
diff --git a/gcc/config/i386/driver-i386.c b/gcc/config/i386/driver-i386.c
index 1111111..2222222 100644
--- a/gcc/config/i386/driver-i386.c
+++ b/gcc/config/i386/driver-i386.c
@@ -24,7 +24,7 @@ along with GCC; see the file COPYING3. If not see
const char *host_detect_local_cpu (int argc, const char **argv);
-#if defined(__GNUC__) && (__GNUC__ >= 5 || !defined(__PIC__))
+#if defined(__GNUC__) && (__GNUC__ >= 5 || !defined(__PIC__)) || defined(__clang__)
#include "cpuid.h"
struct cache_desc
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Tony Theodore <tonyt@logyst.com>
Date: Fri, 6 Apr 2018 13:40:22 +1000
Subject: [PATCH 2/2] remove hard-coded mingw from include path
diff --git a/gcc/config.gcc b/gcc/config.gcc
index 1111111..2222222 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -1771,7 +1771,7 @@ i[34567]86-*-mingw* | x86_64-*-mingw*)
tmake_file="${tmake_file} i386/t-mingw-w32"
;;
esac
- native_system_header_dir=/mingw/include
+ native_system_header_dir=/include
target_gtfiles="\$(srcdir)/config/i386/winnt.c"
extra_options="${extra_options} i386/cygming.opt i386/mingw.opt"
case ${target} in
diff --git a/gcc/config/i386/mingw32.h b/gcc/config/i386/mingw32.h
index 1111111..2222222 100644
--- a/gcc/config/i386/mingw32.h
+++ b/gcc/config/i386/mingw32.h
@@ -172,7 +172,7 @@ along with GCC; see the file COPYING3. If not see
/* For native mingw-version we need to take care that NATIVE_SYSTEM_HEADER_DIR
macro contains POSIX-style path. See bug 52947. */
#undef NATIVE_SYSTEM_HEADER_DIR
-#define NATIVE_SYSTEM_HEADER_DIR "/mingw/include"
+#define NATIVE_SYSTEM_HEADER_DIR "/include"
/* Output STRING, a string representing a filename, to FILE.
We canonicalize it to be in Unix format (backslashes are replaced

View File

@ -1,35 +0,0 @@
# This file is part of MXE. See LICENSE.md for licensing information.
# override relevant cloog, isl, and gcc variables changed in:
# https://github.com/mxe/mxe/pull/965
#
# simply expanded variables (*_SUBDIR, *_FILE, etc.) need to be set
PKG := cloog
$(PKG)_TARGETS := $(MXE_TARGETS)
PKG := isl
$(PKG)_VERSION := 0.16.1
$(PKG)_CHECKSUM := 412538bb65c799ac98e17e8cfcdacbb257a57362acfaaff254b0fcae970126d2
$(PKG)_SUBDIR := $(PKG)-$($(PKG)_VERSION)
$(PKG)_FILE := $(PKG)-$($(PKG)_VERSION).tar.bz2
$(PKG)_URL := https://isl.gforge.inria.fr/$($(PKG)_FILE)
$(PKG)_URL_2 := https://gcc.gnu.org/pub/gcc/infrastructure/$($(PKG)_FILE)
PKG := gcc
$(PKG)_VERSION := 8.4.0
$(PKG)_CHECKSUM := e30a6e52d10e1f27ed55104ad233c30bd1e99cfb5ff98ab022dc941edd1b2dd4
$(PKG)_SUBDIR := gcc-$($(PKG)_VERSION)
$(PKG)_FILE := gcc-$($(PKG)_VERSION).tar.xz
$(PKG)_URL := https://ftp.gnu.org/gnu/gcc/gcc-$($(PKG)_VERSION)/$($(PKG)_FILE)
$(PKG)_URL_2 := https://www.mirrorservice.org/sites/sourceware.org/pub/gcc/releases/gcc-$($(PKG)_VERSION)/$($(PKG)_FILE)
$(PKG)_PATCHES := $(dir $(lastword $(MAKEFILE_LIST)))/gcc8.patch
# copy db-2-install-exe.patch to gcc7 plugin when gcc8 is default
db_PATCHES := $(TOP_DIR)/src/db-1-fix-including-winioctl-h-lowcase.patch
# set these in respective makefiles when gcc7 becomes default
# remove from here and leave them blank for gcc5 plugin
libssh_EXTRA_WARNINGS = -Wno-error=implicit-fallthrough
gtkimageview_EXTRA_WARNINGS = -Wno-error=misleading-indentation
guile_EXTRA_WARNINGS = -Wno-error=misleading-indentation

Some files were not shown because too many files have changed in this diff Show More