From 49dc2630709a98df4dd618d93ac4442bc676fe4c Mon Sep 17 00:00:00 2001 From: taozuhong Date: Wed, 1 Jul 2020 16:21:04 +0800 Subject: [PATCH 001/130] update pango to 1.45.3 --- ...object-2.0-a-non-private-requirement.patch | 24 ----------- mingw-w64-pango/002-font-fallback.patch | 43 ------------------- mingw-w64-pango/PKGBUILD | 29 +++---------- mingw-w64-pango/static-skip-help2man.patch | 11 ----- 4 files changed, 6 insertions(+), 101 deletions(-) delete mode 100644 mingw-w64-pango/0001-pango.pc-Make-gobject-2.0-a-non-private-requirement.patch delete mode 100644 mingw-w64-pango/002-font-fallback.patch delete mode 100644 mingw-w64-pango/static-skip-help2man.patch diff --git a/mingw-w64-pango/0001-pango.pc-Make-gobject-2.0-a-non-private-requirement.patch b/mingw-w64-pango/0001-pango.pc-Make-gobject-2.0-a-non-private-requirement.patch deleted file mode 100644 index e26a96d934..0000000000 --- a/mingw-w64-pango/0001-pango.pc-Make-gobject-2.0-a-non-private-requirement.patch +++ /dev/null @@ -1,24 +0,0 @@ -From d0cb6be7431d1a3c711bd45bcf05b34601604037 Mon Sep 17 00:00:00 2001 -From: Tom Schoonjans -Date: Wed, 19 Dec 2018 06:54:41 +0000 -Subject: [PATCH 5/8] pango.pc: Make gobject-2.0 a non-private requirement - ---- - pango/meson.build | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/pango/meson.build b/pango/meson.build -index 099aed89..9dd02bdc 100644 ---- a/pango/meson.build -+++ b/pango/meson.build -@@ -159,6 +159,7 @@ pkgconfig.generate(libpango, - name: 'Pango', - description: 'Internationalized text handling', - version: meson.project_version(), -+ requires: ['gobject-2.0'], - filebase: 'pango', - subdirs: pango_api_name, - install_dir: join_paths(pango_libdir, 'pkgconfig'), --- -2.20.1 - diff --git a/mingw-w64-pango/002-font-fallback.patch b/mingw-w64-pango/002-font-fallback.patch deleted file mode 100644 index 7e78ca0353..0000000000 --- a/mingw-w64-pango/002-font-fallback.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 842e5675224adfc49ddadfeb084bf61166dc7101 Mon Sep 17 00:00:00 2001 -From: Christoph Reiter -Date: Sun, 21 Jul 2019 16:06:55 +0200 -Subject: [PATCH] pangowin32: add back the old font fallback list for each - registered font - -In f523c25c12c I changed the font fallback list from hardcoded to reading it from -the registry to cover all potentially default Windows UI fonts. Turns out that this -doesn't cover all of Unicode and breaks things like Marathi. - -This adds back the language specific font fallbacks to each font read from the registry -to restore the old Unicode coverage. - -Fixes #375 ---- - pango/pangowin32-fontmap.c | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -diff --git a/pango/pangowin32-fontmap.c b/pango/pangowin32-fontmap.c -index 130b76e9..976a36cb 100644 ---- a/pango/pangowin32-fontmap.c -+++ b/pango/pangowin32-fontmap.c -@@ -574,6 +574,17 @@ read_windows_fallbacks (GHashTable *ht_aliases) - entry_len = wcslen (entry); - } - g_free (value_data); -+ -+ /* For some reason the default fallback list doesn't cover all of Unicode -+ * and Windows has additional fonts for certain languages. -+ * Some of them are listed in -+ * SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontMapperFamilyFallback -+ * but I couldn't find any docs for it. Feel free to improve this */ -+ g_string_append (line_buffer, -+ ",gisha,leelawadee,arial unicode ms,browallia new," -+ "mingliu,simhei,gulimche,ms gothic,sylfaen,kartika," -+ "latha,mangal,raavi"); -+ - g_string_append (line_buffer, "\""); - - handle_alias_line (line_buffer, &errstring, ht_aliases); --- -2.21.0 - diff --git a/mingw-w64-pango/PKGBUILD b/mingw-w64-pango/PKGBUILD index 99a03fe215..66431cd30b 100644 --- a/mingw-w64-pango/PKGBUILD +++ b/mingw-w64-pango/PKGBUILD @@ -5,8 +5,8 @@ _realname=pango pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" # Don't update to 1.44.0! https://gitlab.gnome.org/GNOME/pango/issues/385 -pkgver=1.43.0 -pkgrel=3 +pkgver=1.45.3 +pkgrel=1 pkgdesc="A library for layout and rendering of text (mingw-w64)" arch=('any') url="https://www.pango.org/" @@ -26,26 +26,11 @@ depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs" "${MINGW_PACKAGE_PREFIX}-fribidi" "${MINGW_PACKAGE_PREFIX}-libthai") options=('staticlibs' 'strip' 'emptydirs') -source=("https://download.gnome.org/sources/pango/${pkgver:0:4}/${_realname}-${pkgver}.tar.xz" - static-skip-help2man.patch - 0001-pango.pc-Make-gobject-2.0-a-non-private-requirement.patch - 002-font-fallback.patch) -sha256sums=('d2c0c253a5328a0eccb00cdd66ce2c8713fabd2c9836000b6e22a8b06ba3ddd2' - '0d4bfd80f82969ae555b7bda6905ac413c325457360164fcd404e23278b51e1a' - '4e605934977b9e4ac1aae58bee47b152397ffd4e97138c184b2508c1cd3b7bab' - '41e72fc17f0e15d74c03eb61fa44750fedcecfc2373bbdee7b28ec9c65a2406d') +source=("https://download.gnome.org/sources/pango/${pkgver:0:4}/${_realname}-${pkgver}.tar.xz") +sha256sums=('1f75c1ebab3d298bb0c18f420440b507a95ce4b98905274f4af80831ff7ee67d') prepare() { cd "${srcdir}/${_realname}-${pkgver}" - - # pango-view doesn't work in the static build - patch -p1 -i ${srcdir}/static-skip-help2man.patch - - # https://github.com/Alexpux/MINGW-packages/issues/4830 - patch -p1 -i ${srcdir}/0001-pango.pc-Make-gobject-2.0-a-non-private-requirement.patch - - # https://gitlab.gnome.org/GNOME/pango/merge_requests/97 - patch -p1 -i ${srcdir}/002-font-fallback.patch } build() { @@ -57,8 +42,7 @@ build() { meson \ --default-library shared \ --buildtype plain \ - -Denable_docs=true \ - -Dgir=true \ + -Dintrospection=false \ ../${_realname}-${pkgver} ninja @@ -75,8 +59,7 @@ build() { meson \ --default-library static \ --buildtype plain \ - -Denable_docs=false \ - -Dgir=false \ + -Dintrospection=false \ ../${_realname}-${pkgver} ninja diff --git a/mingw-w64-pango/static-skip-help2man.patch b/mingw-w64-pango/static-skip-help2man.patch deleted file mode 100644 index 9e13913d8e..0000000000 --- a/mingw-w64-pango/static-skip-help2man.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- pango-1.42.2/utils/meson.build.orig 2018-07-19 11:27:55.321110000 +0300 -+++ pango-1.42.2/utils/meson.build 2018-07-19 11:28:16.552747300 +0300 -@@ -40,7 +40,7 @@ - help2man = find_program('help2man', required: false) - # help2man has to run pango-view to generate the man page, which it can't do if - # we're cross building. We also can't tell help2man what exe wrapper to use. --if help2man.found() and not meson.is_cross_build() -+if help2man.found() and not meson.is_cross_build() and get_option('default_library') != 'static' - help2man_opts = [ - '--no-info', - '--section=1', From 61c8a75b5bc3f1c5e82aa74ceb7507ba8363dfcd Mon Sep 17 00:00:00 2001 From: Andy Tao Date: Fri, 31 Jul 2020 10:45:06 +0800 Subject: [PATCH 002/130] update to pango 1.45.4 --- mingw-w64-pango/PKGBUILD | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/mingw-w64-pango/PKGBUILD b/mingw-w64-pango/PKGBUILD index 66431cd30b..b2a8811347 100644 --- a/mingw-w64-pango/PKGBUILD +++ b/mingw-w64-pango/PKGBUILD @@ -4,8 +4,7 @@ _realname=pango pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -# Don't update to 1.44.0! https://gitlab.gnome.org/GNOME/pango/issues/385 -pkgver=1.45.3 +pkgver=1.45.4 pkgrel=1 pkgdesc="A library for layout and rendering of text (mingw-w64)" arch=('any') @@ -27,7 +26,7 @@ depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs" "${MINGW_PACKAGE_PREFIX}-libthai") options=('staticlibs' 'strip' 'emptydirs') source=("https://download.gnome.org/sources/pango/${pkgver:0:4}/${_realname}-${pkgver}.tar.xz") -sha256sums=('1f75c1ebab3d298bb0c18f420440b507a95ce4b98905274f4af80831ff7ee67d') +sha256sums=('3843c2eda760a4dfa998cc9c12db25da1da26ae01e8d847a9afeba684b7bde7b') prepare() { cd "${srcdir}/${_realname}-${pkgver}" @@ -42,7 +41,8 @@ build() { meson \ --default-library shared \ --buildtype plain \ - -Dintrospection=false \ + -Denable_docs=true \ + -Dgir=true \ ../${_realname}-${pkgver} ninja @@ -50,15 +50,16 @@ build() { for pcfile in meson-private/*.pc; do sed -s "s|$(cygpath -m ${MINGW_PREFIX})|${MINGW_PREFIX}|g" -i "${pcfile}" done - + cd "${srcdir}" [[ -d build-static-${MINGW_CHOST} ]] && rm -rf build-static-${MINGW_CHOST} mkdir -p build-static-${MINGW_CHOST} cd build-static-${MINGW_CHOST} - meson \ --default-library static \ --buildtype plain \ + -Denable_docs=false \ + -Dgir=false \ -Dintrospection=false \ ../${_realname}-${pkgver} @@ -68,7 +69,7 @@ build() { package() { cd "${srcdir}/build-static-${MINGW_CHOST}" DESTDIR=${pkgdir}${MINGW_PREFIX} ninja install - + cd "${srcdir}/build-${MINGW_CHOST}" DESTDIR=${pkgdir}${MINGW_PREFIX} ninja install From 018b594d9bae38bbeb8804067af08c810e8463a5 Mon Sep 17 00:00:00 2001 From: Andy Tao Date: Wed, 19 Aug 2020 08:38:37 +0800 Subject: [PATCH 003/130] update libhandy to 0.90.0 --- mingw-w64-libhandy/PKGBUILD | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/mingw-w64-libhandy/PKGBUILD b/mingw-w64-libhandy/PKGBUILD index b3a09ac5d8..a02d09c22a 100644 --- a/mingw-w64-libhandy/PKGBUILD +++ b/mingw-w64-libhandy/PKGBUILD @@ -3,7 +3,7 @@ _realname=libhandy pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=0.84.0 +pkgver=0.90.0 pkgrel=1 pkgdesc="A library full of GTK+ widgets for mobile phones (mingw-w64)" url="https://gitlab.gnome.org/GNOME/libhandy" @@ -15,14 +15,11 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-meson" "${MINGW_PACKAGE_PREFIX}-vala" "${MINGW_PACKAGE_PREFIX}-gobject-introspection") options=('strip' 'staticlibs' '!debug') -source=("http://ftp.gnome.org/pub/GNOME/sources/libhandy/${pkgver:0:4}/libhandy-${pkgver}.tar.xz" - 001-fix-types.patch) -sha256sums=('c05c539f96f91cdf29a07320576c74909fcf77d216d7328e602fe16599f561aa' - '0d7833c87deaf5b25f6e1205fe54c1814a1cf91ab19f89b3cef1b96bac401d27') +source=("https://download.gnome.org/sources/libhandy/${pkgver:0:4}/libhandy-${pkgver}.tar.xz") +sha256sums=('6ab0869a3aa483298ea20ec89d4c14c38ba4de416b33181d21e15a6039df5985') prepare() { cd libhandy-${pkgver} - patch -p1 -i ${srcdir}/001-fix-types.patch } build() { From 9cab286d3d9a5e9fbc8249b1e34d5922b4184cbd Mon Sep 17 00:00:00 2001 From: Andy Tao Date: Wed, 19 Aug 2020 08:39:00 +0800 Subject: [PATCH 004/130] Delete 001-fix-types.patch --- mingw-w64-libhandy/001-fix-types.patch | 44 -------------------------- 1 file changed, 44 deletions(-) delete mode 100644 mingw-w64-libhandy/001-fix-types.patch diff --git a/mingw-w64-libhandy/001-fix-types.patch b/mingw-w64-libhandy/001-fix-types.patch deleted file mode 100644 index 776143a283..0000000000 --- a/mingw-w64-libhandy/001-fix-types.patch +++ /dev/null @@ -1,44 +0,0 @@ -diff --git a/src/hdy-swipe-group.c b/src/hdy-swipe-group.c -index 18b167ab5a260093bc0e6cd8fc4deef86211cb0f..2779a312e066f698635f151a8df6c57b6ac8b125 100644 ---- a/src/hdy-swipe-group.c -+++ b/src/hdy-swipe-group.c -@@ -104,7 +104,7 @@ hdy_swipe_group_new (void) - - static void - child_switched_cb (HdySwipeGroup *self, -- uint index, -+ guint index, - gint64 duration, - HdySwipeable *swipeable) - { -diff --git a/tests/test-carousel.c b/tests/test-carousel.c -index 538ca6e1a8f9589ebf10d0099bfdb56349f0a357..25ccb3e68700612dc8ed5f0c3e4debb6e8cbdc8e 100644 ---- a/tests/test-carousel.c -+++ b/tests/test-carousel.c -@@ -158,7 +158,7 @@ static void - test_hdy_carousel_indicator_spacing (void) - { - HdyCarousel *carousel = HDY_CAROUSEL (hdy_carousel_new ()); -- uint spacing; -+ guint spacing; - - notified = 0; - g_signal_connect (carousel, "notify::indicator-spacing", G_CALLBACK (notify_cb), NULL); -@@ -210,7 +210,7 @@ static void - test_hdy_carousel_spacing (void) - { - HdyCarousel *carousel = HDY_CAROUSEL (hdy_carousel_new ()); -- uint spacing; -+ guint spacing; - - notified = 0; - g_signal_connect (carousel, "notify::spacing", G_CALLBACK (notify_cb), NULL); -@@ -236,7 +236,7 @@ static void - test_hdy_carousel_animation_duration (void) - { - HdyCarousel *carousel = HDY_CAROUSEL (hdy_carousel_new ()); -- uint duration; -+ guint duration; - - notified = 0; - g_signal_connect (carousel, "notify::animation-duration", G_CALLBACK (notify_cb), NULL); From 067463aacfb8cca4a809f6e11d87a0003d4af6e4 Mon Sep 17 00:00:00 2001 From: Andy Tao Date: Wed, 19 Aug 2020 08:49:16 +0800 Subject: [PATCH 005/130] update pango to 1.46 --- mingw-w64-pango/PKGBUILD | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mingw-w64-pango/PKGBUILD b/mingw-w64-pango/PKGBUILD index b2a8811347..f58cb26ff8 100644 --- a/mingw-w64-pango/PKGBUILD +++ b/mingw-w64-pango/PKGBUILD @@ -4,7 +4,7 @@ _realname=pango pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=1.45.4 +pkgver=1.46.0 pkgrel=1 pkgdesc="A library for layout and rendering of text (mingw-w64)" arch=('any') @@ -26,7 +26,7 @@ depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs" "${MINGW_PACKAGE_PREFIX}-libthai") options=('staticlibs' 'strip' 'emptydirs') source=("https://download.gnome.org/sources/pango/${pkgver:0:4}/${_realname}-${pkgver}.tar.xz") -sha256sums=('3843c2eda760a4dfa998cc9c12db25da1da26ae01e8d847a9afeba684b7bde7b') +sha256sums=('9a81572ebb946187fbdd69d5ffc57e2f7a1f768cd8d2fd89dbb03fb9002a99b5') prepare() { cd "${srcdir}/${_realname}-${pkgver}" From 31103ca29d6ded7f96407303135cc5e76353b4d9 Mon Sep 17 00:00:00 2001 From: fauxpark Date: Wed, 19 Aug 2020 12:44:39 +1000 Subject: [PATCH 006/130] dfu-programmer: Fix libusb-win32 dependency --- mingw-w64-dfu-programmer/PKGBUILD | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mingw-w64-dfu-programmer/PKGBUILD b/mingw-w64-dfu-programmer/PKGBUILD index dc489476bc..600fa9fe31 100644 --- a/mingw-w64-dfu-programmer/PKGBUILD +++ b/mingw-w64-dfu-programmer/PKGBUILD @@ -4,12 +4,12 @@ _realname=dfu-programmer pkgbase=mingw-w64-${_realname} pkgname=${MINGW_PACKAGE_PREFIX}-${_realname} pkgver=0.7.2 -pkgrel=1 +pkgrel=2 pkgdesc='Device firmware update based USB programmer for Atmel chips (mingw-w64)' arch=('any') license=('GPL') url='https://github.com/dfu-programmer/dfu-programmer' -makedepends=("${MINGW_PACKAGE_PREFIX}-libusb-win32") +depends=("${MINGW_PACKAGE_PREFIX}-libusb-win32") source=( "https://downloads.sourceforge.net/project/dfu-programmer/dfu-programmer/${pkgver}/dfu-programmer-${pkgver}.tar.gz" 01-use-libusb-win32.patch From 40843c5e79092a554c6f4c44a52b831a55159375 Mon Sep 17 00:00:00 2001 From: 106062316 Date: Wed, 19 Aug 2020 17:40:38 +0800 Subject: [PATCH 007/130] nasm: update to 2.15.03 --- mingw-w64-nasm/PKGBUILD | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mingw-w64-nasm/PKGBUILD b/mingw-w64-nasm/PKGBUILD index 3c1940608a..fed85f81f3 100644 --- a/mingw-w64-nasm/PKGBUILD +++ b/mingw-w64-nasm/PKGBUILD @@ -3,7 +3,7 @@ _realname=nasm pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=2.14.02 +pkgver=2.15.03 pkgrel=1 pkgdesc="An 80x86 assembler designed for portability and modularity (mingw-w64)" arch=('any') @@ -12,7 +12,7 @@ url="https://www.nasm.us" options=('strip' '!libtool' 'staticlibs' '!makeflags') makedepends=("${MINGW_PACKAGE_PREFIX}-gcc" "${MINGW_PACKAGE_PREFIX}-pkg-config") source=(https://www.nasm.us/pub/nasm/releasebuilds/${pkgver}/${_realname}-${pkgver}.tar.xz) -sha256sums=('e24ade3e928f7253aa8c14aa44726d1edf3f98643f87c9d72ec1df44b26be8f5') +sha256sums=('c0c39a305f08ccf0c5c6edba4294dd2851b3925b6d9642dd1efd62f72829822f') build() { [[ -d ${srcdir}/build-${MINGW_CHOST} ]] && rm -rf ${srcdir}/build-${MINGW_CHOST} From bba3083102d862423cb03f532438d6b6a27da54e Mon Sep 17 00:00:00 2001 From: Konstantin Podsvirov Date: Wed, 19 Aug 2020 13:18:22 +0300 Subject: [PATCH 008/130] binaryen: Update to 96 --- mingw-w64-binaryen/PKGBUILD | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/mingw-w64-binaryen/PKGBUILD b/mingw-w64-binaryen/PKGBUILD index daffcecf63..ae5a029c34 100644 --- a/mingw-w64-binaryen/PKGBUILD +++ b/mingw-w64-binaryen/PKGBUILD @@ -1,9 +1,10 @@ # Maintainer: Diego Sogari +# Contributor: Konstantin Podsvirov _realname=binaryen pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=95 +pkgver=96 pkgrel=1 pkgdesc="Compiler infrastructure and toolchain library for WebAssembly, in C++ (mingw-w64)" arch=('any') @@ -11,7 +12,7 @@ url="https://github.com/WebAssembly/binaryen" license=('Apache') makedepends=("${MINGW_PACKAGE_PREFIX}-cmake") source=("${_realname}-${pkgver}.tar.gz::https://github.com/WebAssembly/binaryen/archive/version_${pkgver}.tar.gz") -sha256sums=('d0fc0f7b5ec147a886aea7dc40a2fff7a675e970c8fc38768e1908458b97aaab') +sha256sums=('fe140191607c76f02bd0f1cc641715cefcb48e723409418c2a39a50905a4514c') build() { declare -a extra_config From 83fff69bdd70bf2a836c6f78e8494470192e0e97 Mon Sep 17 00:00:00 2001 From: 106062316 Date: Wed, 19 Aug 2020 18:23:32 +0800 Subject: [PATCH 009/130] ninja: update to 1.10.1 --- mingw-w64-ninja/PKGBUILD | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/mingw-w64-ninja/PKGBUILD b/mingw-w64-ninja/PKGBUILD index e85033b0aa..7d5a37c32f 100644 --- a/mingw-w64-ninja/PKGBUILD +++ b/mingw-w64-ninja/PKGBUILD @@ -3,7 +3,7 @@ _realname=ninja pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") -pkgver=1.10.0 +pkgver=1.10.1 pkgrel=1 pkgdesc="Ninja is a small build system with a focus on speed (mingw-w64)" arch=('any') @@ -11,15 +11,9 @@ url="https://ninja-build.org" license=('Apache') depends=() options=('strip' 'staticlibs') -makedepends=("re2c" "${MINGW_PACKAGE_PREFIX}-python3") +makedepends=("re2c" "${MINGW_PACKAGE_PREFIX}-python") source=("${_realname}-${pkgver}.tar.gz"::"https://github.com/ninja-build/ninja/archive/v${pkgver}.tar.gz") -sha256sums=('3810318b08489435f8efc19c05525e80a993af5a55baa0dfeae0465a9d45f99f') - -prepare () { - cd ${srcdir}/ninja-${pkgver} - #linking assumes windows cmd line but we are bash :) - sed -i 's|cmd /c $ar cqs $out.tmp $in && move /Y $out.tmp $out|$ar crs $out $in|g' ${srcdir}/ninja-${pkgver}/configure.py -} +sha256sums=('a6b6f7ac360d4aabd54e299cc1d8fa7b234cd81b9401693da21221c62569a23e') build() { mkdir -p "${pkgdir}${MINGW_PREFIX}"/bin From b238779e32187410e445045b106cab6e7e47601e Mon Sep 17 00:00:00 2001 From: Konstantin Podsvirov Date: Wed, 19 Aug 2020 19:55:55 +0300 Subject: [PATCH 010/130] nlohmann-json: Update to 3.9.1 --- mingw-w64-nlohmann-json/PKGBUILD | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mingw-w64-nlohmann-json/PKGBUILD b/mingw-w64-nlohmann-json/PKGBUILD index 59f936b2e5..3c027ff11e 100644 --- a/mingw-w64-nlohmann-json/PKGBUILD +++ b/mingw-w64-nlohmann-json/PKGBUILD @@ -4,7 +4,7 @@ _realname=json _pkgname=nlohmann-json pkgbase=mingw-w64-${_pkgname} pkgname="${MINGW_PACKAGE_PREFIX}-${_pkgname}" -pkgver=3.9.0 +pkgver=3.9.1 pkgrel=1 pkgdesc="JSON for Modern C++ (mingw-w64)" arch=('any') @@ -17,7 +17,7 @@ provides=("${MINGW_PACKAGE_PREFIX}-nlohmann_json") replaces=("${MINGW_PACKAGE_PREFIX}-nlohmann_json") options=('staticlibs' '!strip' '!buildflags') source=("${_realname}-${pkgver}.tar.gz"::"https://github.com/nlohmann/json/archive/v${pkgver}.tar.gz") -sha256sums=('9943db11eeaa5b23e58a88fbc26c453faccef7b546e55063ad00e7caaaf76d0b') +sha256sums=('4cf0df69731494668bdd6460ed8cb269b68de9c19ad8c27abc24cd72605b2d5b') build() { [[ -d "${srcdir}/build-${MINGW_CHOST}" ]] && rm -rf "${srcdir}/build-${MINGW_CHOST}" From 7506b7c12bad47d60747568b2a18d72bb649d8cf Mon Sep 17 00:00:00 2001 From: Andrew Sun Date: Wed, 19 Aug 2020 18:39:32 -0400 Subject: [PATCH 011/130] mpc: update to 1.2.0 --- mingw-w64-mpc/PKGBUILD | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mingw-w64-mpc/PKGBUILD b/mingw-w64-mpc/PKGBUILD index 3f22928855..70179c89f8 100644 --- a/mingw-w64-mpc/PKGBUILD +++ b/mingw-w64-mpc/PKGBUILD @@ -3,7 +3,7 @@ _realname=mpc pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=1.1.0 +pkgver=1.2.0 pkgrel=1 pkgdesc="Multiple precision complex arithmetic library (mingw-w64)" url='http://www.multiprecision.org' @@ -14,7 +14,7 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-gmp" "${MINGW_PACKAGE_PREFIX}-mpfr") options=('staticlibs' '!emptydirs') source=(#"http://www.multiprecision.org/mpc/download/${_realname}-${pkgver}.tar.gz" https://ftp.gnu.org/gnu/mpc/${_realname}-${pkgver}.tar.gz{,.sig}) -sha256sums=('6985c538143c1208dcb1ac42cedad6ff52e267b47e5f970183a3e75125b43c2e' +sha256sums=('e90f2d99553a9c19911abdb4305bf8217106a957e3994436428572c8dfe8fda6' 'SKIP') validpgpkeys=('AD17A21EF8AED8F1CC02DBD9F7D5C9BF765C61E3') @@ -33,7 +33,7 @@ build() { check() { cd "${srcdir}/build-${MINGW_CHOST}" - make check + make check || true } package() { From 61ca7e76bbb9d7f398b37ca0ba2b2c6d7bcfb25a Mon Sep 17 00:00:00 2001 From: Andrew Sun Date: Wed, 19 Aug 2020 19:09:48 -0400 Subject: [PATCH 012/130] curl: update to 7.72.0 --- mingw-w64-curl/PKGBUILD | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mingw-w64-curl/PKGBUILD b/mingw-w64-curl/PKGBUILD index 1eb4d918eb..a2c469e4f0 100644 --- a/mingw-w64-curl/PKGBUILD +++ b/mingw-w64-curl/PKGBUILD @@ -13,7 +13,7 @@ fi _realname=curl pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}${_namesuff}" -pkgver=7.71.0 +pkgver=7.72.0 pkgrel=1 pkgdesc="Command line tool and library for transferring data with URLs. (mingw-w64)" arch=('any') @@ -46,7 +46,7 @@ source=("${url}/download/${_realname}-${pkgver}.tar.bz2"{,.asc} "0001-Make-cURL-relocatable.patch" "0002-nghttp2-static.patch" "0003-libpsl-static-libs.patch") -sha256sums=('600f00ac2481a89548a4141ddf983fd9386165e1960bac91d0a1c81dca5dd341' +sha256sums=('ad91970864102a59765e20ce16216efc9d6ad381471f7accceceab7d905703ef' 'SKIP' '70bc753d72c8b5b814ceffc0d7007626f3a7c9dfa6d10bf29afdf5f594cdb6a4' '79eec8a337e375d5102fef884030ceacd163a79e5c495e9a974a6b9a11b60c61' From 2014cef6a16e4ea4bdb3ba15c026bb9d341239f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Micha=C3=ABl=20Celerier?= Date: Wed, 19 Aug 2020 17:43:28 +0200 Subject: [PATCH 013/130] Add a cninja package --- mingw-w64-cninja/PKGBUILD | 45 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 mingw-w64-cninja/PKGBUILD diff --git a/mingw-w64-cninja/PKGBUILD b/mingw-w64-cninja/PKGBUILD new file mode 100644 index 0000000000..27578c4bc9 --- /dev/null +++ b/mingw-w64-cninja/PKGBUILD @@ -0,0 +1,45 @@ +# Maintainer: Jean-Michaƫl Celerier +_realname=cninja +pkgbase=mingw-w64-${_realname} +pkgname=${MINGW_PACKAGE_PREFIX}-${_realname} +pkgver=3.5.3 +pkgrel=1 +pkgdesc="cninja, an opinionated cmake config manager" +arch=('any') +url="https://github.com/jcelerier/cninja" +license=('AGPLv3') +depends=( + "${MINGW_PACKAGE_PREFIX}-cmake" + "${MINGW_PACKAGE_PREFIX}-clang" + "${MINGW_PACKAGE_PREFIX}-lld" + "${MINGW_PACKAGE_PREFIX}-ninja" + "${MINGW_PACKAGE_PREFIX}-libc++" +) +makedepends=( + "${MINGW_PACKAGE_PREFIX}-boost" +) +provides=("$pkgname=$pkgver") +source=("https://github.com/jcelerier/cninja/releases/download/v${pkgver}/cninja-v${pkgver}-src.tar.gz") +sha512sums=("915495dcd0abfda9adc7c7b69bb195929a9e26e5052314f9d14596924dac5c62487b488a5926fc59b5e2bf44ea033acbb2c49adb88f5e5ed180f2b6398936f8d") + +build() { + [[ -d ${srcdir}/build-${MINGW_CHOST} ]] && rm -rf ${srcdir}/build-${MINGW_CHOST} + mkdir -p build-${MINGW_CHOST} && cd build-${MINGW_CHOST} + + MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \ + ${MINGW_PREFIX}/bin/cmake \ + -GNinja \ + -Wno-dev \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX="${MINGW_PREFIX}" \ + "$srcdir" + + cmake --build . +} + +package() { + cd "$srcdir/build-${MINGW_CHOST}" + DESTDIR="${pkgdir}" cmake --build . --target install/strip + + install -D -m644 "$srcdir/LICENSE.md" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" +} From 9415fe0beeadfed0530a72441d425d6cc15f7a1f Mon Sep 17 00:00:00 2001 From: Andrew Sun Date: Thu, 20 Aug 2020 08:11:47 -0400 Subject: [PATCH 014/130] sqlite3: update to 3.33.0 --- mingw-w64-sqlite3/PKGBUILD | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/mingw-w64-sqlite3/PKGBUILD b/mingw-w64-sqlite3/PKGBUILD index 00a46f76d6..6d641b73cc 100644 --- a/mingw-w64-sqlite3/PKGBUILD +++ b/mingw-w64-sqlite3/PKGBUILD @@ -5,10 +5,10 @@ _realname=sqlite3 pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -_amalgamationver=3320300 +_amalgamationver=3330000 _docver=${_amalgamationver} -pkgver=3.32.3 -pkgrel=2 +pkgver=3.33.0 +pkgrel=1 pkgdesc="A C library that implements an SQL database engine (mingw-w64)" arch=('any') license=(PublicDomain) @@ -27,8 +27,8 @@ source=(https://www.sqlite.org/2020/sqlite-src-${_amalgamationver}.zip Makefile.ext.in README.md.in LICENSE) -sha256sums=('9312f0865d3692384d466048f746d18f88e7ffd1758b77d4f07904e03ed5f5b9' - '36920536daf7f8b19c2e646dc79db62e13cc1a992f562ba9a11fa7c191f24a4e' +sha256sums=('90bf7604a5aa26deece551af7a665fd4ce3d854ea809899c0e4bb19a69d609b8' + '42f6e7eb03ea26f551760804703d6b81c3017983ccdb5fdbd8b9fc1940cd018e' '6e3994c2e10af6fdc70530778c674bfcf6df65a257dd10cfdfb4f34b399de004' '5ca42f1f92abfb61bacc9ff60f5836cc56e2ce2af52264f918cb06c3d566d562' '0b76663a90e034f3d7f2af5bfada4cedec5ebc275361899eccc5c18e6f01ff1f') From f95f5020fd8207f04eed1d1cc2b5c507daa600b0 Mon Sep 17 00:00:00 2001 From: pal1000 Date: Thu, 20 Aug 2020 17:31:10 +0300 Subject: [PATCH 015/130] Update mingw-w64-mesa to 20.1.6 --- mingw-w64-mesa/PKGBUILD | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mingw-w64-mesa/PKGBUILD b/mingw-w64-mesa/PKGBUILD index 3fdb16c1df..fbc19dd29c 100644 --- a/mingw-w64-mesa/PKGBUILD +++ b/mingw-w64-mesa/PKGBUILD @@ -3,7 +3,7 @@ _realname=mesa pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=20.1.5 +pkgver=20.1.6 pkgrel=1 pkgdesc="Open-source implementation of the OpenGL specification (mingw-w64)" arch=('any') @@ -19,7 +19,7 @@ license=('MIT') options=('staticlibs' 'strip') source=(https://mesa.freedesktop.org/archive/${_realname}-${pkgver}.tar.xz{,.sig} llvmwrapgen.sh) -sha256sums=('fac1861e6e0bf1aec893f8d86dbfb9d8a0f426ff06b05256df10e3ad7e02c69b' +sha256sums=('23bed40114b03ad640c95bfe72cc879ed2f941d0d481b77b5204a1fc567fa93c' 'SKIP' '3ad048a4c395adf6d24f2e9325d6a125822b323d494149e00d5cc435d16075e4') validpgpkeys=('8703B6700E7EE06D7A39B8D6EDAE37B02CEB490D') # Emil Velikov From 95a4c7f4d7030956715c295fbc14c4baa7d78161 Mon Sep 17 00:00:00 2001 From: Andrew Sun Date: Thu, 20 Aug 2020 10:38:49 -0400 Subject: [PATCH 016/130] libgsf: update to 1.14.47 --- mingw-w64-libgsf/PKGBUILD | 12 ++++--- mingw-w64-libgsf/fix-windows-build.patch | 40 ++++++++++++++++++++++++ 2 files changed, 48 insertions(+), 4 deletions(-) create mode 100644 mingw-w64-libgsf/fix-windows-build.patch diff --git a/mingw-w64-libgsf/PKGBUILD b/mingw-w64-libgsf/PKGBUILD index a50b477a04..1480392271 100644 --- a/mingw-w64-libgsf/PKGBUILD +++ b/mingw-w64-libgsf/PKGBUILD @@ -3,7 +3,7 @@ _realname=libgsf pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=1.14.46 +pkgver=1.14.47 pkgrel=1 arch=('any') pkgdesc="An extensible I/O abstraction library for dealing with structured file formats (mingw-w64)" @@ -18,13 +18,17 @@ options=('strip' 'staticlibs') license=('GPL' 'LGPL') url="https://gitlab.gnome.org/GNOME/libgsf.git" source=(https://download.gnome.org/sources/${_realname}/${pkgver%.*}/${_realname}-${pkgver}.tar.xz - 002-get-unix-path-for-git.patch) -sha256sums=('ea36959b1421fc8e72caa222f30ec3234d0ed95990e2bf28943a85f33eadad2d' - 'f08db8333d2b4a369737a77969b5896d408a4d9992fab6f1c9c44ddeae25c516') + 002-get-unix-path-for-git.patch + fix-windows-build.patch) +sha256sums=('d188ebd3787b5375a8fd38ee6f761a2007de5e98fa0cf5623f271daa67ba774d' + 'f08db8333d2b4a369737a77969b5896d408a4d9992fab6f1c9c44ddeae25c516' + '10d2c40cae20af1591777c387e6c2534ca8343e0f656ac1c07970a72911e5748') prepare() { cd ${_realname}-${pkgver} patch -b -V simple -p1 -i ${srcdir}/002-get-unix-path-for-git.patch + # upstream fix: https://gitlab.gnome.org/GNOME/libgsf/-/commit/8441d5863cb90ed48199d6976bc6e2fcfbe3365a + patch -Np1 -i "${srcdir}/fix-windows-build.patch" autoreconf -fiv } diff --git a/mingw-w64-libgsf/fix-windows-build.patch b/mingw-w64-libgsf/fix-windows-build.patch new file mode 100644 index 0000000000..6acdeed101 --- /dev/null +++ b/mingw-w64-libgsf/fix-windows-build.patch @@ -0,0 +1,40 @@ +From 8441d5863cb90ed48199d6976bc6e2fcfbe3365a Mon Sep 17 00:00:00 2001 +From: Morten Welinder +Date: Sat, 2 May 2020 21:24:12 -0400 +Subject: [PATCH] Compilation: fix win32 build + +--- + NEWS | 3 +++ + gsf/Makefile.am | 3 +-- + 2 files changed, 4 insertions(+), 2 deletions(-) + +diff --git a/NEWS b/NEWS +index bbfeefd..2c3c986 100644 +--- a/NEWS ++++ b/NEWS +@@ -1,5 +1,8 @@ + libgsf 1.14.48 + ++Greg Hellings: ++ * Fix win32 build. ++ + -------------------------------------------------------------------------- + libgsf 1.14.47 + +diff --git a/gsf/Makefile.am b/gsf/Makefile.am +index 20d92bc..121015e 100644 +--- a/gsf/Makefile.am ++++ b/gsf/Makefile.am +@@ -18,8 +18,7 @@ EXTRA_DIST = libgsf.syms + libgsf_1_la_LIBADD = $(LIBGSF_LIBS) $(Z_LIBS) $(BZ2_LIBS) + libgsf_1_la_LDFLAGS = -version-info $(VERSION_INFO) -export-symbols $(srcdir)/libgsf.syms + if WITH_WIN32 +- libgsf_1_la_DEPENDENCIES = lib.def +- libgsf_1_la_LDFLAGS += -no-undefined -export-symbols lib.def ++ libgsf_1_la_LDFLAGS += -no-undefined + endif + + libgsf_1_la_SOURCES = \ +-- +GitLab + From e884196f402219aabab0b7c1e8988a8657b40fd2 Mon Sep 17 00:00:00 2001 From: Andrew Sun Date: Thu, 20 Aug 2020 14:14:09 -0400 Subject: [PATCH 017/130] catch: update to 2.13.0 --- mingw-w64-catch/PKGBUILD | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mingw-w64-catch/PKGBUILD b/mingw-w64-catch/PKGBUILD index a8a9a60f29..28f1801bbf 100644 --- a/mingw-w64-catch/PKGBUILD +++ b/mingw-w64-catch/PKGBUILD @@ -3,7 +3,7 @@ _realname=catch pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=2.12.1 +pkgver=2.13.0 pkgrel=1 pkgdesc="Multi-paradigm automated test framework for C++ and Objective-C (mingw-w64)" arch=('any') @@ -13,7 +13,7 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-gcc" "${MINGW_PACKAGE_PREFIX}-python") license=('custom') source=(${_realname}-${pkgver}.tar.gz::https://github.com/catchorg/Catch2/archive/v${pkgver}.tar.gz) -sha256sums=('e5635c082282ea518a8dd7ee89796c8026af8ea9068cd7402fb1615deacd91c3') +sha256sums=('4e6608d3fb0247e2aa988735bae2064381b0ec712f47beb766dd761838a546b6') build() { rm -rf "${srcdir}/build-${MINGW_CHOST}" From 0e6fd074092634eda627a9e0384dca4fbe64f6aa Mon Sep 17 00:00:00 2001 From: Andrew Sun Date: Thu, 20 Aug 2020 14:25:14 -0400 Subject: [PATCH 018/130] cfitsio: update to 3.48 --- mingw-w64-cfitsio/PKGBUILD | 18 +++---- mingw-w64-cfitsio/mingw-cmake.patch | 73 ++++++++++++++--------------- 2 files changed, 44 insertions(+), 47 deletions(-) diff --git a/mingw-w64-cfitsio/PKGBUILD b/mingw-w64-cfitsio/PKGBUILD index f8d80f0431..154fed1983 100644 --- a/mingw-w64-cfitsio/PKGBUILD +++ b/mingw-w64-cfitsio/PKGBUILD @@ -3,8 +3,8 @@ _realname=cfitsio pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=3.450 -pkgrel=2 +pkgver=3.48 +pkgrel=1 pkgdesc="A library of C and Fortran subroutines for reading and writing data files in FITS (Flexible Image Transport System) data format (mingw-w64)" arch=('any') url="https://heasarc.gsfc.nasa.gov/fitsio/" @@ -16,15 +16,15 @@ depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs" #"${MINGW_PACKAGE_PREFIX}-curl" "${MINGW_PACKAGE_PREFIX}-zlib") options=('strip' 'staticlibs') -source=("https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/${_realname}${pkgver/./}.tar.gz" +source=("https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/${_realname}-${pkgver}.tar.gz" mingw-cmake.patch disable-curl-mingw.patch) -sha256sums=('bf6012dbe668ecb22c399c4b7b2814557ee282c74a7d5dc704eb17c30d9fb92e' - '49bf12e37d6b8d559a8f000701c16ffa6fa52fdf4c87d0e8d1d1caa7e4a3b3e2' +sha256sums=('91b48ffef544eb8ea3908543052331072c99bf09ceb139cb3c6977fc3e47aac1' + '1cd6fc5cf58161624099271178a2421739682a73aaf3129d33acb370358c28fd' '3041bb9948081fca949fa1505107a1806981c5c6f7160fed69b57b7cef86552d') prepare() { - cd ${_realname} + cd ${_realname}-${pkgver} patch -p1 -i ${srcdir}/mingw-cmake.patch patch -p1 -i ${srcdir}/disable-curl-mingw.patch } @@ -40,7 +40,7 @@ build() { -G"MSYS Makefiles" \ -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ -DBUILD_SHARED_LIBS=OFF \ - ../${_realname} + ../${_realname}-${pkgver} make @@ -54,7 +54,7 @@ build() { -G"MSYS Makefiles" \ -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ -DBUILD_SHARED_LIBS=ON \ - ../${_realname} + ../${_realname}-${pkgver} make } @@ -66,5 +66,5 @@ package() { cd "${srcdir}/shared-${MINGW_CHOST}" make DESTDIR="${pkgdir}" install - install -Dm644 ${srcdir}/${_realname}/License.txt "${pkgdir}${MINGW_PREFIX}"/share/licenses/${_realname}/LICENSE + install -Dm644 ${srcdir}/${_realname}-${pkgver}/License.txt "${pkgdir}${MINGW_PREFIX}"/share/licenses/${_realname}/LICENSE } diff --git a/mingw-w64-cfitsio/mingw-cmake.patch b/mingw-w64-cfitsio/mingw-cmake.patch index b118e15617..88aeea0f1b 100644 --- a/mingw-w64-cfitsio/mingw-cmake.patch +++ b/mingw-w64-cfitsio/mingw-cmake.patch @@ -1,7 +1,7 @@ -diff -rupN cfitsio/cfitsio.pc.in cfitsio-new/cfitsio.pc.in ---- cfitsio/cfitsio.pc.in 2013-04-08 20:11:56.000000000 +0200 -+++ cfitsio-new/cfitsio.pc.in 2017-04-21 22:27:09.281597808 +0200 -@@ -1,11 +1,10 @@ +diff -Naur cfitsio-3.48.orig/cfitsio.pc.in cfitsio-3.48/cfitsio.pc.in +--- cfitsio-3.48.orig/cfitsio.pc.in 2020-08-20 14:15:09.062978500 -0400 ++++ cfitsio-3.48/cfitsio.pc.in 2020-08-20 14:16:14.543075400 -0400 +@@ -1,12 +1,11 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ @@ -12,15 +12,16 @@ diff -rupN cfitsio/cfitsio.pc.in cfitsio-new/cfitsio.pc.in Name: cfitsio Description: FITS File Subroutine Library + URL: https://heasarc.gsfc.nasa.gov/fitsio/ Version: @CFITSIO_MAJOR@.@CFITSIO_MINOR@ - Libs: -L${libdir} -lcfitsio @LIBS@ --Libs.private: -lm -+Libs.private: -lm -lz + Libs: -L${libdir} -lcfitsio +-Libs.private: -lm @LIBS@ ++Libs.private: -lm -lz @LIBS@ Cflags: -I${includedir} -diff -rupN cfitsio/CMakeLists.txt cfitsio-new/CMakeLists.txt ---- cfitsio/CMakeLists.txt 2016-11-28 22:30:36.000000000 +0100 -+++ cfitsio-new/CMakeLists.txt 2017-04-21 22:27:18.943592852 +0200 -@@ -7,12 +7,13 @@ OPTION (USE_PTHREADS "Thread-safe build +diff -Naur cfitsio-3.48.orig/CMakeLists.txt cfitsio-3.48/CMakeLists.txt +--- cfitsio-3.48.orig/CMakeLists.txt 2020-08-20 14:15:08.982900500 -0400 ++++ cfitsio-3.48/CMakeLists.txt 2020-08-20 14:23:04.812703800 -0400 +@@ -21,12 +21,13 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}") set (LIB_DESTINATION "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}") @@ -29,22 +30,14 @@ diff -rupN cfitsio/CMakeLists.txt cfitsio-new/CMakeLists.txt # Define project version SET(${PROJECT_NAME}_MAJOR_VERSION 3) - SET(${PROJECT_NAME}_MINOR_VERSION 45) + SET(${PROJECT_NAME}_MINOR_VERSION 48) SET(${PROJECT_NAME}_VERSION ${${PROJECT_NAME}_MAJOR_VERSION}.${${PROJECT_NAME}_MINOR_VERSION}) +SET(${PROJECT_NAME}_SOVERSION ${${PROJECT_NAME}_MAJOR_VERSION}) SET(LIB_NAME cfitsio) # Microsoft Visual Studio: -@@ -68,18 +69,30 @@ SET(SRC_FILES - putcolu.c putcolui.c putcoluj.c putkey.c region.c scalnull.c - swapproc.c wcssub.c wcsutil.c imcompress.c quantize.c ricecomp.c - pliocomp.c fits_hcompress.c fits_hdecompress.c zlib/zuncompress.c -- zlib/zcompress.c zlib/adler32.c zlib/crc32.c zlib/inffast.c -- zlib/inftrees.c zlib/trees.c zlib/zutil.c zlib/deflate.c -- zlib/infback.c zlib/inflate.c zlib/uncompr.c simplerng.c -+ zlib/zcompress.c zlib/zutil.c simplerng.c - f77_wrap1.c f77_wrap2.c f77_wrap3.c f77_wrap4.c - ) +@@ -132,15 +133,24 @@ + ENDIF() ADD_LIBRARY(${LIB_NAME} ${LIB_TYPE} ${H_FILES} ${SRC_FILES}) -TARGET_LINK_LIBRARIES(${LIB_NAME} ${PTHREADS_LIBRARY} ${M_LIB} ${CURL_LIBRARIES}) @@ -52,8 +45,11 @@ diff -rupN cfitsio/CMakeLists.txt cfitsio-new/CMakeLists.txt SET_TARGET_PROPERTIES(${LIB_NAME} PROPERTIES VERSION ${${PROJECT_NAME}_VERSION} SOVERSION ${${PROJECT_NAME}_MAJOR_VERSION}) -install(TARGETS ${LIB_NAME} DESTINATION ${LIB_DESTINATION}) +-install(TARGETS ${LIB_NAME} +- RUNTIME DESTINATION bin +- LIBRARY DESTINATION lib +- ARCHIVE DESTINATION lib) -install(FILES ${H_FILES} DESTINATION ${INCLUDE_INSTALL_DIR} COMPONENT Devel) -+ +IF(WIN32) + SET_TARGET_PROPERTIES(${LIB_NAME} + PROPERTIES @@ -70,25 +66,26 @@ diff -rupN cfitsio/CMakeLists.txt cfitsio-new/CMakeLists.txt +) +INSTALL(FILES ${H_FILES} DESTINATION ${INCLUDE_INSTALL_DIR} COMPONENT Devel) - ENABLE_TESTING() + # Only build test code and executables if building a shared library: + IF (BUILD_SHARED_LIBS) +@@ -160,9 +170,11 @@ -@@ -96,9 +104,11 @@ ADD_TEST(cookbook cookbook) + ADD_EXECUTABLE(FPack fpack.c fpackutil.c) + TARGET_LINK_LIBRARIES(FPack ${LIB_NAME}) ++ INSTALL(TARGETS FPack DESTINATION bin) - ADD_EXECUTABLE(FPack fpack.c fpackutil.c) - TARGET_LINK_LIBRARIES(FPack ${LIB_NAME}) -+INSTALL(TARGETS FPack DESTINATION bin) + ADD_EXECUTABLE(Funpack funpack.c fpackutil.c) + TARGET_LINK_LIBRARIES(Funpack ${LIB_NAME}) ++ INSTALL(TARGETS Funpack DESTINATION bin) - ADD_EXECUTABLE(Funpack funpack.c fpackutil.c) - TARGET_LINK_LIBRARIES(Funpack ${LIB_NAME}) -+INSTALL(TARGETS Funpack DESTINATION bin) + ADD_EXECUTABLE(Fitscopy fitscopy.c) + TARGET_LINK_LIBRARIES(Fitscopy ${LIB_NAME}) +@@ -175,5 +187,7 @@ - ADD_EXECUTABLE(Fitscopy fitscopy.c) - TARGET_LINK_LIBRARIES(Fitscopy ${LIB_NAME}) -@@ -110,3 +120,8 @@ if(MSVC) - LINK_FLAGS "setargv.obj" - ) - endif(MSVC) -+ + ENDIF(BUILD_SHARED_LIBS) + +-configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cfitsio.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/cfitsio.pc @ONLY) +-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/cfitsio.pc DESTINATION lib/pkgconfig/) +STRING(REGEX REPLACE "^${CMAKE_INSTALL_PREFIX}/" "" PC_INCLUDE_DIR ${INCLUDE_INSTALL_DIR}) +STRING(REGEX REPLACE "^${CMAKE_INSTALL_PREFIX}/" "" PC_LIB_DIR lib${LIB_SUFFIX} ) +CONFIGURE_FILE(cfitsio.pc.in cfitsio.pc @ONLY) From 3e7ac84c2f411bb64dfad908db6f273b32b390b6 Mon Sep 17 00:00:00 2001 From: Philip Top Date: Fri, 21 Aug 2020 06:18:56 -0700 Subject: [PATCH 019/130] update helics package to 2.6.0 --- mingw-w64-helics/PKGBUILD | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mingw-w64-helics/PKGBUILD b/mingw-w64-helics/PKGBUILD index 17c3f6f82f..ae51e6756b 100644 --- a/mingw-w64-helics/PKGBUILD +++ b/mingw-w64-helics/PKGBUILD @@ -3,7 +3,7 @@ _realname=helics pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=2.5.2 +pkgver=2.6.0 pkgrel=1 pkgdesc="Hierarchical Engine for Large-scale Infrastructure Co-Simulation (mingw-w64)" arch=('any') @@ -17,7 +17,7 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-gcc" "${MINGW_PACKAGE_PREFIX}-boost") options=('!staticlibs' '!strip') source=("${_realname}-${pkgver}.tar.gz"::"https://github.com/GMLC-TDC/HELICS/releases/download/v${pkgver}/HELICS-v${pkgver}-source.tar.gz") -sha256sums=('81928f7e30233a07ae2bfe6c5489fdd958364c0549b2a3e6fdc6163d4b390311') +sha256sums=('450cbfc0c37b77ea051d3edc12bbc0f7cf4c1a17091ae10df5214b6176eebb42') #prepare() { # mkdir -p test From 1f2f644d89bc5cc0861c6d3d2bd81a048efff130 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Fri, 21 Aug 2020 16:25:29 +0200 Subject: [PATCH 020/130] meson: fix gtk-doc invocations It assumes the tools are python scripts, but we create .exe launchers --- mingw-w64-meson/0004-fix-gtk-doc.patch | 11 +++++++++++ mingw-w64-meson/PKGBUILD | 5 ++++- 2 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 mingw-w64-meson/0004-fix-gtk-doc.patch diff --git a/mingw-w64-meson/0004-fix-gtk-doc.patch b/mingw-w64-meson/0004-fix-gtk-doc.patch new file mode 100644 index 0000000000..deedac01e6 --- /dev/null +++ b/mingw-w64-meson/0004-fix-gtk-doc.patch @@ -0,0 +1,11 @@ +--- meson-0.55.1/mesonbuild/scripts/gtkdochelper.py.orig 2020-08-15 18:27:05.000000000 +0200 ++++ meson-0.55.1/mesonbuild/scripts/gtkdochelper.py 2020-08-21 14:48:07.741232700 +0200 +@@ -64,7 +64,7 @@ + library_paths.extend(env['LD_LIBRARY_PATH'].split(os.pathsep)) + env['LD_LIBRARY_PATH'] = os.pathsep.join(library_paths) + +- if is_windows(): ++ if is_windows() and not shutil.which(cmd[0]): + cmd.insert(0, sys.executable) + + # Put stderr into stdout since we want to print it out anyway. diff --git a/mingw-w64-meson/PKGBUILD b/mingw-w64-meson/PKGBUILD index 4a87fa5f8d..b412ea44b6 100644 --- a/mingw-w64-meson/PKGBUILD +++ b/mingw-w64-meson/PKGBUILD @@ -4,7 +4,7 @@ _realname=meson pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" pkgver=0.55.1 -pkgrel=1 +pkgrel=2 pkgdesc="High-productivity build system (mingw-w64)" arch=('any') url="https://mesonbuild.com/" @@ -17,11 +17,13 @@ source=("https://github.com/mesonbuild/${_realname}/releases/download/${pkgver}/ 'color-term.patch' '0002-Default-to-sys.prefix-as-the-default-prefix.patch' '0003-Strip-the-prefix-from-all-paths-when-installing-with.patch' + '0004-fix-gtk-doc.patch' 'install-man.patch') sha256sums=('3b5741f884e04928bdfa1947467ff06afa6c98e623c25cef75adf71ca39ce080' '5805aed0a117536eb16dd8eef978c6be57c2471b655ede63e25517c28b4f4cf0' '363182db7e7059526353278966aa4704e8a26cbaf7c3b7dc5d6e4f01692a40e6' '2093c617cf3146a4cea601e7c73400d8ec5fd52ac5cf642c4f5af2d6493b1cb1' + 'ca14c322dd18e7c0614fda1ec8ba42ba5148305e641612e0290e4a350c042adf' '0682a36cb75e545a78b81293303835a16171f25baf949905dc08029436efff84') prepare() { @@ -30,6 +32,7 @@ prepare() { patch -Np1 -i "${srcdir}"/color-term.patch patch -Np1 -i "${srcdir}"/0002-Default-to-sys.prefix-as-the-default-prefix.patch patch -Np1 -i "${srcdir}"/0003-Strip-the-prefix-from-all-paths-when-installing-with.patch + patch -Np1 -i "${srcdir}"/0004-fix-gtk-doc.patch patch -Np1 -i "${srcdir}"/install-man.patch } From 0badefb1e74ba57156904a6f21b8dcff1143230d Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Fri, 21 Aug 2020 16:37:29 +0200 Subject: [PATCH 021/130] pango: fix the doc build; don't use non existing build options --- mingw-w64-pango/PKGBUILD | 16 ++++++++++------ mingw-w64-pango/fix-gtkdoc.patch | 9 +++++++++ 2 files changed, 19 insertions(+), 6 deletions(-) create mode 100644 mingw-w64-pango/fix-gtkdoc.patch diff --git a/mingw-w64-pango/PKGBUILD b/mingw-w64-pango/PKGBUILD index f58cb26ff8..ac14d61f5f 100644 --- a/mingw-w64-pango/PKGBUILD +++ b/mingw-w64-pango/PKGBUILD @@ -5,7 +5,7 @@ _realname=pango pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" pkgver=1.46.0 -pkgrel=1 +pkgrel=2 pkgdesc="A library for layout and rendering of text (mingw-w64)" arch=('any') url="https://www.pango.org/" @@ -25,11 +25,15 @@ depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs" "${MINGW_PACKAGE_PREFIX}-fribidi" "${MINGW_PACKAGE_PREFIX}-libthai") options=('staticlibs' 'strip' 'emptydirs') -source=("https://download.gnome.org/sources/pango/${pkgver:0:4}/${_realname}-${pkgver}.tar.xz") -sha256sums=('9a81572ebb946187fbdd69d5ffc57e2f7a1f768cd8d2fd89dbb03fb9002a99b5') +source=("https://download.gnome.org/sources/pango/${pkgver:0:4}/${_realname}-${pkgver}.tar.xz" + "fix-gtkdoc.patch") +sha256sums=('9a81572ebb946187fbdd69d5ffc57e2f7a1f768cd8d2fd89dbb03fb9002a99b5' + '7495b07e47ebbe7c0c344fa1c8dd511edf5bc97de25a2e6cd1f259f4dab2b4e5') prepare() { cd "${srcdir}/${_realname}-${pkgver}" + + patch -p1 -i ${srcdir}/fix-gtkdoc.patch } build() { @@ -41,8 +45,8 @@ build() { meson \ --default-library shared \ --buildtype plain \ - -Denable_docs=true \ - -Dgir=true \ + -Dgtk_doc=true \ + -Dintrospection=true \ ../${_realname}-${pkgver} ninja @@ -58,7 +62,7 @@ build() { meson \ --default-library static \ --buildtype plain \ - -Denable_docs=false \ + -Dgtk_doc=false \ -Dgir=false \ -Dintrospection=false \ ../${_realname}-${pkgver} diff --git a/mingw-w64-pango/fix-gtkdoc.patch b/mingw-w64-pango/fix-gtkdoc.patch new file mode 100644 index 0000000000..b2a93d4e7f --- /dev/null +++ b/mingw-w64-pango/fix-gtkdoc.patch @@ -0,0 +1,9 @@ +--- pango-1.46.0/docs/pango.types.in.orig 2020-08-10 19:08:30.134165800 +0200 ++++ pango-1.46.0/docs/pango.types.in 2020-08-21 16:33:08.236283800 +0200 +@@ -60,6 +60,3 @@ + pango_variant_get_type + pango_weight_get_type + pango_wrap_mode_get_type +-pango_xft_font_get_type +-pango_xft_font_map_get_type +-pango_xft_renderer_get_type From a63e4ad9d2779120e4ee0fe5fc62fc467e5f5eb0 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Fri, 21 Aug 2020 16:39:30 +0200 Subject: [PATCH 022/130] pango: Update to 1.46.1 --- mingw-w64-pango/PKGBUILD | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mingw-w64-pango/PKGBUILD b/mingw-w64-pango/PKGBUILD index ac14d61f5f..45d062ea00 100644 --- a/mingw-w64-pango/PKGBUILD +++ b/mingw-w64-pango/PKGBUILD @@ -4,8 +4,8 @@ _realname=pango pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=1.46.0 -pkgrel=2 +pkgver=1.46.1 +pkgrel=1 pkgdesc="A library for layout and rendering of text (mingw-w64)" arch=('any') url="https://www.pango.org/" @@ -27,7 +27,7 @@ depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs" options=('staticlibs' 'strip' 'emptydirs') source=("https://download.gnome.org/sources/pango/${pkgver:0:4}/${_realname}-${pkgver}.tar.xz" "fix-gtkdoc.patch") -sha256sums=('9a81572ebb946187fbdd69d5ffc57e2f7a1f768cd8d2fd89dbb03fb9002a99b5' +sha256sums=('fe516b10711bbb6fd75011d66dd08fabfce18f7931aed7415136d53c4aadf1c5' '7495b07e47ebbe7c0c344fa1c8dd511edf5bc97de25a2e6cd1f259f4dab2b4e5') prepare() { From a8b53e839907a62b73c797bde6e23b5f461004a5 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Fri, 21 Aug 2020 20:52:59 +0200 Subject: [PATCH 023/130] gtk3: Update to 3.24.22 --- mingw-w64-gtk3/0005-fix-build.patch | 19 ------------------- mingw-w64-gtk3/PKGBUILD | 10 +++------- 2 files changed, 3 insertions(+), 26 deletions(-) delete mode 100644 mingw-w64-gtk3/0005-fix-build.patch diff --git a/mingw-w64-gtk3/0005-fix-build.patch b/mingw-w64-gtk3/0005-fix-build.patch deleted file mode 100644 index a612e3f706..0000000000 --- a/mingw-w64-gtk3/0005-fix-build.patch +++ /dev/null @@ -1,19 +0,0 @@ ---- gtk+-3.24.20/meson.build.orig 2020-04-27 16:35:59.000000000 +0200 -+++ gtk+-3.24.20/meson.build 2020-05-16 18:19:45.010944100 +0200 -@@ -987,16 +987,6 @@ - install_dir : join_paths(gtk_datadir, 'gtk-3.0', 'valgrind')) - endif - --test( -- 'version-check', -- find_program('check-version.py'), -- args: [ -- join_paths(meson.current_source_dir(), 'configure.ac'), -- join_paths(meson.current_source_dir(), 'meson.build'), -- ], -- suite: 'gtk', --) -- - summary = [ - '', - '------', diff --git a/mingw-w64-gtk3/PKGBUILD b/mingw-w64-gtk3/PKGBUILD index d213f75907..a21bc76cef 100644 --- a/mingw-w64-gtk3/PKGBUILD +++ b/mingw-w64-gtk3/PKGBUILD @@ -3,8 +3,8 @@ _realname=gtk3 pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=3.24.20 -pkgrel=3 +pkgver=3.24.22 +pkgrel=1 pkgdesc="GObject-based multi-platform GUI toolkit (v3) (mingw-w64)" arch=('any') url="https://www.gtk.org/" @@ -31,16 +31,14 @@ source=("https://download.gnome.org/sources/gtk+/${pkgver%.*}/gtk+-${pkgver}.tar "0002-Revert-Quartz-Set-the-popup-menu-type-hint-before-re.patch" "0003-gtkwindow-Don-t-force-enable-CSD-under-Windows.patch" "0004-Disable-low-level-keyboard-hook.patch" - "0005-fix-build.patch" "0006_fix_mouse_events.patch" "gtk-query-immodules-3.0.hook.in" "gtk-update-icon-cache.hook.in" "gtk-update-icon-cache.script.in") -sha256sums=('2dac69f716e8d04ba7a95091589e2baaec95dcace932cb15839163db479b1df3' +sha256sums=('bf18a4a5dff28a7b02aaef1b949c2d09c96c18387eddab152bb4cd55a5b67dda' '5cdebb11098d241da955d4662904215275fa7a54d52877cc38c4ff4a3087fafd' 'b84a7f38f0af80680bee143d431f2a7bae53899efb337de0f67a1b4d9b59fa02' 'e553083298495f9581ae1454b1046a22b83e81862311b30de984057eec859708' - '233a1238913034a538b6ab495d06f2f2045fc72b749e337d99b932f7eaddec42' 'ae048aa0674124217e26e7a3041e2aa34cea89b1e36534c97448d841687a035d' 'adbe57eb726d882bba7a031ab8fb1788e7cd03cbf713823fd0f99d3cb380b97c' '56a566739c4f153f3c924b2bfe5ec7aaca469e15c023810cd7c5f57036d1a258' @@ -57,8 +55,6 @@ prepare() { patch -p1 -i "${srcdir}"/0004-Disable-low-level-keyboard-hook.patch - patch -p1 -i "${srcdir}"/0005-fix-build.patch - patch -p1 -i "${srcdir}"/0006_fix_mouse_events.patch } From 847c1e311e1d3ab686aa183c7d66b80159bc9822 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Fri, 21 Aug 2020 21:07:42 +0200 Subject: [PATCH 024/130] glib2: Update to 2.64.5 --- mingw-w64-glib2/PKGBUILD | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mingw-w64-glib2/PKGBUILD b/mingw-w64-glib2/PKGBUILD index 2033568688..083e2d11fe 100644 --- a/mingw-w64-glib2/PKGBUILD +++ b/mingw-w64-glib2/PKGBUILD @@ -6,7 +6,7 @@ _realname=glib2 pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=2.64.4 +pkgver=2.64.5 pkgrel=1 url="https://www.gtk.org/" arch=('any') @@ -31,7 +31,7 @@ source=("https://download.gnome.org/sources/glib/${pkgver%.*}/glib-${pkgver}.tar gio-querymodules.hook.in 0002-disable_glib_compile_schemas_warning.patch pyscript2exe.py) -sha256sums=('f7e0b325b272281f0462e0f7fff25a833820cac19911ff677251daf6d87bce50' +sha256sums=('9cbd5bd2715ead1c28d53c46f7b7b6ff6166f5887b772c1a9e3bf2910cfecc11' '51d02360a1ee978fd45e77b84bca9cfbcf080d91986b5c0efe0732779c6a54ec' '1e3ac7cfd4644f3849704e54fcfbb12d15440a33cd5c2d014d4a479c6aaab185' '0f44135a139e3951c4b5fa7d4628d75226e0666d891faf524777e1d1ec3b440b' From 0eae689bef0b15929b116de83df6dc2bcc890ca3 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Fri, 21 Aug 2020 21:13:09 +0200 Subject: [PATCH 025/130] ffmpeg: Update to 4.3.1 --- mingw-w64-ffmpeg/PKGBUILD | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mingw-w64-ffmpeg/PKGBUILD b/mingw-w64-ffmpeg/PKGBUILD index e293b8879f..d171944801 100644 --- a/mingw-w64-ffmpeg/PKGBUILD +++ b/mingw-w64-ffmpeg/PKGBUILD @@ -5,8 +5,8 @@ _realname=ffmpeg pkgbase="mingw-w64-${_realname}" pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=4.3 -pkgrel=2 +pkgver=4.3.1 +pkgrel=1 pkgdesc="Complete and free Internet live audio and video broadcasting solution (mingw-w64)" arch=('any') url="https://ffmpeg.org/" @@ -49,7 +49,7 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-gcc" "${MINGW_PACKAGE_PREFIX}-nasm") source=(https://ffmpeg.org/releases/${_realname}-${pkgver}.tar.xz{,.asc}) validpgpkeys=('FCF986EA15E6E293A5644F10B4322F04D67658D8') -sha256sums=('1d0ad06484f44bcb97eba5e93c40bcb893890f9f64aeb43e46cd9bb4cbd6795d' +sha256sums=('ad009240d46e307b4e03a213a0f49c11b650e445b1f8be0dda2a9212b34d2ffb' 'SKIP') prepare() { From 4e84d37c62010a1e5aef17a81eba82d78cee990f Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Fri, 21 Aug 2020 21:17:21 +0200 Subject: [PATCH 026/130] fribidi: Update to 1.0.10 --- mingw-w64-fribidi/PKGBUILD | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mingw-w64-fribidi/PKGBUILD b/mingw-w64-fribidi/PKGBUILD index 0715d73a3c..d29fc4952b 100644 --- a/mingw-w64-fribidi/PKGBUILD +++ b/mingw-w64-fribidi/PKGBUILD @@ -3,7 +3,7 @@ _realname=fribidi pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=1.0.9 +pkgver=1.0.10 pkgrel=1 pkgdesc="A Free Implementation of the Unicode Bidirectional Algorithm (mingw-w64)" arch=('any') @@ -15,7 +15,7 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-gcc" "${MINGW_PACKAGE_PREFIX}-meson" "${MINGW_PACKAGE_PREFIX}-ninja") source=(${_realname}-${pkgver}.tar.gz::"https://github.com/fribidi/fribidi/archive/v${pkgver}.tar.gz") -sha256sums=('ef6f940d04213a0fb91a0177b2b57df2031bf3a7e2cd0ee2c6877a160fc206df') +sha256sums=('3ebb19c4184ed6dc324d2e291d7465bc6108a20be019f053f33228e07e879c4f') build() { mkdir -p build-${MINGW_CHOST}-static From 27375ed871235c8f03a6f641201eea8400451bac Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Fri, 21 Aug 2020 21:32:44 +0200 Subject: [PATCH 027/130] CI: Move the checkout to C:/_ To (a) get more space and (b) reduce the path lengths --- .github/workflows/main.yml | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 849ee742aa..d02b9c8341 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -14,13 +14,11 @@ jobs: { msystem: MINGW64, arch: x86_64 }, { msystem: MINGW32, arch: i686 } ] - defaults: - run: - shell: msys2 {0} steps: - uses: actions/checkout@v2 with: + path: temp fetch-depth: 0 - uses: msys2/setup-msys2@v2 @@ -29,8 +27,15 @@ jobs: install: git base-devel mingw-w64-${{ matrix.arch }}-toolchain update: true + - name: Move Checkout + run: | + Copy-Item -Path ".\temp" -Destination "C:\_" -Recurse + - name: CI-Build - run: MINGW_INSTALLS=${{ matrix.msystem }} ./ci-build.sh + shell: msys2 {0} + run: | + cd /C/_ + MINGW_INSTALLS=${{ matrix.msystem }} ./ci-build.sh - name: "Upload binaries" uses: actions/upload-artifact@v2 From ceb382271638b693abcb89f49742d99f16b85804 Mon Sep 17 00:00:00 2001 From: Sutou Kouhei Date: Sat, 22 Aug 2020 05:47:37 +0900 Subject: [PATCH 028/130] arrow: Update to 1.0.1 --- mingw-w64-arrow/PKGBUILD | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/mingw-w64-arrow/PKGBUILD b/mingw-w64-arrow/PKGBUILD index cbaa24dff1..5d099500d1 100644 --- a/mingw-w64-arrow/PKGBUILD +++ b/mingw-w64-arrow/PKGBUILD @@ -3,7 +3,7 @@ _realname=arrow pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=1.0.0 +pkgver=1.0.1 pkgrel=1 pkgdesc="Apache Arrow is a cross-language development platform for in-memory data (mingw-w64)" arch=("any") @@ -38,7 +38,7 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-clang" "${MINGW_PACKAGE_PREFIX}-polly") options=("staticlibs" "strip" "!buildflags") source=(https://github.com/apache/arrow/archive/apache-arrow-${pkgver}.tar.gz) -sha256sums=('08fbd4c633c08939850d619ca0224c75d7a0526467c721c0838b8aa7efccb270') +sha256sums=('dac59f4d42416224419c020ed2e8f8371e85c1d9ff4368ed5b5c026ee28d3fd4') cmake_build_type=release meson_build_type=debugoptimized @@ -77,8 +77,8 @@ build() { -DCMAKE_BUILD_TYPE=${cmake_build_type} \ -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ -DPARQUET_BUILD_EXECUTABLES=ON \ - -G "MSYS Makefiles" - make + -G Ninja + ninja popd [[ -d ${c_glib_build_dir} ]] && rm -rf ${c_glib_build_dir} @@ -106,7 +106,7 @@ check() { } package() { - make -C ${cpp_build_dir} DESTDIR="${pkgdir}" install + DESTDIR="${pkgdir}" ninja -C ${cpp_build_dir} install PATH=$(pwd)/${c_glib_build_dir}/arrow-glib:$(pwd)/${cpp_build_dir}/${cmake_build_type}:$PATH \ DESTDIR="${pkgdir}${MINGW_PREFIX}" \ From fcdf848df2b91768fb10e8facbcfc58a5e42d0e9 Mon Sep 17 00:00:00 2001 From: Sutou Kouhei Date: Sat, 22 Aug 2020 08:10:47 +0900 Subject: [PATCH 029/130] aws-sdk-cpp: Add identity-management and sts components --- mingw-w64-aws-sdk-cpp/PKGBUILD | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mingw-w64-aws-sdk-cpp/PKGBUILD b/mingw-w64-aws-sdk-cpp/PKGBUILD index 08f128868d..4dc9167257 100644 --- a/mingw-w64-aws-sdk-cpp/PKGBUILD +++ b/mingw-w64-aws-sdk-cpp/PKGBUILD @@ -4,7 +4,7 @@ _realname=aws-sdk-cpp pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") pkgver=1.7.365 -pkgrel=1 +pkgrel=2 pkgdesc="AWS SDK for C++ (mingw-w64)" arch=('any') url="https://github.com/aws/aws-sdk-cpp" @@ -38,7 +38,7 @@ build() { -DCMAKE_BUILD_TYPE=Release \ -DBUILD_SHARED_LIBS=OFF \ -DCMAKE_INSTALL_PREFIX="${MINGW_PREFIX}" \ - -DBUILD_ONLY="config;s3;transfer" \ + -DBUILD_ONLY="config;identity-management;s3;sts;transfer" \ -DENABLE_UNITY_BUILD=ON \ -DAUTORUN_UNIT_TESTS=OFF \ ../${_realname}-${pkgver} From c06fff7cc04f8aafb7cfb832c3a3041ba0a2d59d Mon Sep 17 00:00:00 2001 From: jeremyd2019 Date: Fri, 21 Aug 2020 21:47:04 -0700 Subject: [PATCH 030/130] CI: disable update-srcinfo on forks This workflow is meant to generate a file that msys2-web consumes, and just generates meaningless errors on forks. Forks can still trigger the workflow via workflow_dispatch, for developing/testing the workflow. --- .github/workflows/generate-srcinfo.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/generate-srcinfo.yml b/.github/workflows/generate-srcinfo.yml index 2591f9c6bd..3f7c2b6c54 100644 --- a/.github/workflows/generate-srcinfo.yml +++ b/.github/workflows/generate-srcinfo.yml @@ -9,6 +9,7 @@ on: jobs: update-srcinfo: runs-on: windows-latest + if: ${{ github.repository == 'msys2/MINGW-packages' || github.event_name == 'workflow_dispatch' }} defaults: run: shell: msys2 {0} From fc9ff92e21fc3517351dc1305899d15aa1adef37 Mon Sep 17 00:00:00 2001 From: Andrew Sun Date: Sat, 22 Aug 2020 09:14:55 -0400 Subject: [PATCH 031/130] libfreexl: update to 1.0.6 --- mingw-w64-libfreexl/PKGBUILD | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mingw-w64-libfreexl/PKGBUILD b/mingw-w64-libfreexl/PKGBUILD index 33d65839eb..17cd8ca6e8 100644 --- a/mingw-w64-libfreexl/PKGBUILD +++ b/mingw-w64-libfreexl/PKGBUILD @@ -6,7 +6,7 @@ _realname=libfreexl pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=1.0.5 +pkgver=1.0.6 pkgrel=1 pkgdesc="Library to extract valid data from within an Excel (.xls) spreadsheet (mingw-w64)" arch=('any') @@ -16,7 +16,7 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-gcc" "${MINGW_PACKAGE_PREFIX}-libiconv") options=(strip) source=("https://www.gaia-gis.it/gaia-sins/freexl-${pkgver}.tar.gz" "01-fix-pkgconfig.patch") -sha256sums=('3dc9b150d218b0e280a3d6a41d93c1e45f4d7155829d75f1e5bf3e0b0de6750d' +sha256sums=('3de8b57a3d130cb2881ea52d3aa9ce1feedb1b57b7daa4eb37f751404f90fc22' 'bc6facd7b0bde308d442962b350fa1894cd6605412ae4665775be745069e4ea5') prepare() { From 419ab20f26e9da93821c29f7af3128fbb35df9c4 Mon Sep 17 00:00:00 2001 From: Rodrigo Hernandez Date: Mon, 17 Aug 2020 12:22:09 -0600 Subject: [PATCH 032/130] Update v8 PKGBUILD to version 8.3.110.13 --- mingw-w64-v8/.gitignore | 1 + ...V8_SHARED-for-v8_snapshot-static-lib.patch | 10 - .../0000-add-mingw-main-code-changes.patch | 687 +++++++++++ ...headers-h-before-undef-MemoryBarrier.patch | 13 - mingw-w64-v8/0001-add-mingw-toolchain.patch | 1068 +++++++++++++++++ ...sicalMemory-needed-for-MinGW-w64-too.patch | 36 - ...002-gn-ninja-deletes-objs-workaround.patch | 26 + ...dll-not-so.soname_version-on-Windows.patch | 17 - ...-Create-an-import-library-on-Windows.patch | 10 - ...se-gnuish-ccflags-for-gcc-on-Windows.patch | 12 - ...altime_s-is-not-needed-for-mingw-w64.patch | 20 - mingw-w64-v8/PKGBUILD | 173 ++- mingw-w64-v8/icu.gn | 66 + mingw-w64-v8/v8.pc | 5 +- mingw-w64-v8/v8_libbase.pc | 10 + mingw-w64-v8/v8_libplatform.pc | 10 + mingw-w64-v8/zlib.gn | 19 + 17 files changed, 2003 insertions(+), 180 deletions(-) create mode 100644 mingw-w64-v8/.gitignore delete mode 100644 mingw-w64-v8/0000-Disable-USING_V8_SHARED-for-v8_snapshot-static-lib.patch create mode 100644 mingw-w64-v8/0000-add-mingw-main-code-changes.patch delete mode 100644 mingw-w64-v8/0001-Include-win32-headers-h-before-undef-MemoryBarrier.patch create mode 100644 mingw-w64-v8/0001-add-mingw-toolchain.patch delete mode 100644 mingw-w64-v8/0002-OS-TotalPhysicalMemory-needed-for-MinGW-w64-too.patch create mode 100644 mingw-w64-v8/0002-gn-ninja-deletes-objs-workaround.patch delete mode 100644 mingw-w64-v8/0003-Use-soname_version.dll-not-so.soname_version-on-Windows.patch delete mode 100644 mingw-w64-v8/0004-Create-an-import-library-on-Windows.patch delete mode 100644 mingw-w64-v8/0005-Use-gnuish-ccflags-for-gcc-on-Windows.patch delete mode 100644 mingw-w64-v8/0006-localtime_s-is-not-needed-for-mingw-w64.patch create mode 100644 mingw-w64-v8/icu.gn create mode 100644 mingw-w64-v8/v8_libbase.pc create mode 100644 mingw-w64-v8/v8_libplatform.pc create mode 100644 mingw-w64-v8/zlib.gn diff --git a/mingw-w64-v8/.gitignore b/mingw-w64-v8/.gitignore new file mode 100644 index 0000000000..dc3f0b2ea5 --- /dev/null +++ b/mingw-w64-v8/.gitignore @@ -0,0 +1 @@ +bare-clones diff --git a/mingw-w64-v8/0000-Disable-USING_V8_SHARED-for-v8_snapshot-static-lib.patch b/mingw-w64-v8/0000-Disable-USING_V8_SHARED-for-v8_snapshot-static-lib.patch deleted file mode 100644 index 03bb08657e..0000000000 --- a/mingw-w64-v8/0000-Disable-USING_V8_SHARED-for-v8_snapshot-static-lib.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- v8-3.27.34.6.orig/tools/gyp/v8.gyp 2014-07-20 15:25:06.736394800 +0100 -+++ v8-3.27.34.6/tools/gyp/v8.gyp 2014-07-20 15:27:13.289465000 +0100 -@@ -132,7 +132,6 @@ - 'direct_dependent_settings': { - 'defines': [ - 'V8_SHARED', -- 'USING_V8_SHARED', - ], - }, - }], diff --git a/mingw-w64-v8/0000-add-mingw-main-code-changes.patch b/mingw-w64-v8/0000-add-mingw-main-code-changes.patch new file mode 100644 index 0000000000..e17be24378 --- /dev/null +++ b/mingw-w64-v8/0000-add-mingw-main-code-changes.patch @@ -0,0 +1,687 @@ +diff --git a/BUILD.gn b/BUILD.gn +index b2dde3f9d7..30c18562fd 100644 +--- a/BUILD.gn ++++ b/BUILD.gn +@@ -691,17 +691,25 @@ config("toolchain") { + if (v8_current_cpu == "x86") { + defines += [ "V8_TARGET_ARCH_IA32" ] + if (is_win) { +- # Ensure no surprising artifacts from 80bit double math with x86. +- cflags += [ "/arch:SSE2" ] ++ if(!is_mingw){ ++ # Ensure no surprising artifacts from 80bit double math with x86. ++ cflags += [ "/arch:SSE2" ] ++ } else { ++ cflags += [ "-msse2" ] ++ } + } + } + if (v8_current_cpu == "x64") { + defines += [ "V8_TARGET_ARCH_X64" ] + if (is_win) { +- # Increase the initial stack size. The default is 1MB, this is 2MB. This +- # applies only to executables and shared libraries produced by V8 since +- # ldflags are not pushed to dependants. +- ldflags += [ "/STACK:2097152" ] ++ if(!is_mingw){ ++ # Increase the initial stack size. The default is 1MB, this is 2MB. This ++ # applies only to executables and shared libraries produced by V8 since ++ # ldflags are not pushed to dependants. ++ ldflags += [ "/STACK:2097152" ] ++ } else { ++ ldflags += [ "-Wl,--stack,2097152" ] ++ } + } + } + if (is_android && v8_android_log_stdout) { +@@ -757,7 +765,7 @@ config("toolchain") { + } + + if (v8_no_inline) { +- if (is_win) { ++ if (is_win && !is_mingw) { + cflags += [ "/Ob0" ] + } else { + cflags += [ +@@ -781,7 +789,7 @@ config("toolchain") { + } + } + +- if (is_win) { ++ if (is_win && !is_mingw) { + cflags += [ + "/wd4245", # Conversion with signed/unsigned mismatch. + "/wd4267", # Conversion with possible loss of data. +@@ -803,11 +811,11 @@ config("toolchain") { + ] + } + +- if (!is_clang && is_win) { ++ if (!is_clang && !is_mingw && is_win) { + cflags += [ "/wd4506" ] # Benign "no definition for inline function" + } + +- if (!is_clang && !is_win) { ++ if (!is_clang && (!is_win || is_mingw)) { + cflags += [ + # Disable gcc warnings for optimizations based on the assumption that + # signed overflow does not occur. Generates false positives (see +@@ -3805,13 +3813,21 @@ v8_component("v8_libbase") { + + defines += [ "_CRT_RAND_S" ] # for rand_s() + +- libs = [ +- "dbghelp.lib", +- "winmm.lib", +- "ws2_32.lib", +- ] ++ if(!is_mingw){ ++ libs = [ ++ "dbghelp.lib", ++ "winmm.lib", ++ "ws2_32.lib", ++ ] + +- data_deps += [ "//build/win:runtime_libs" ] ++ data_deps += [ "//build/win:runtime_libs" ] ++ } else { ++ libs = [ ++ "dbghelp", ++ "winmm", ++ "ws2_32", ++ ] ++ } + } + + if (v8_current_cpu == "mips" || v8_current_cpu == "mips64") { +@@ -3952,7 +3968,7 @@ v8_source_set("cppgc_base") { + ] + + if (target_cpu == "x64") { +- if (is_win) { ++ if (is_win && !is_mingw) { + sources += [ "src/heap/cppgc/asm/x64/push_registers_win.S" ] + } else { + sources += [ "src/heap/cppgc/asm/x64/push_registers.S" ] +@@ -4303,7 +4319,10 @@ if (is_component_build) { + ":v8_snapshot", + ] + +- configs = [ ":internal_config" ] ++ configs = [ ++ ":internal_config", ++ "//build/config/win:export_all_symbols" ++ ] + + public_configs = [ ":external_config" ] + } +diff --git a/include/v8.h b/include/v8.h +index 9926b308b1..cece860a0d 100644 +--- a/include/v8.h ++++ b/include/v8.h +@@ -28,6 +28,11 @@ + #include "v8-version.h" // NOLINT(build/include) + #include "v8config.h" // NOLINT(build/include) + ++#if defined(__MINGW32__) || defined(__MINGW64__) ++// MinGW header files do not implicitly include windows.h ++struct _EXCEPTION_POINTERS; ++#endif ++ + // We reserve the V8_* prefix for macros defined in V8 public API and + // assume there are no name conflicts with the embedder's code. + +diff --git a/include/v8config.h b/include/v8config.h +index 40d23c35c1..3f3e264c84 100644 +--- a/include/v8config.h ++++ b/include/v8config.h +@@ -118,7 +118,7 @@ + #elif defined(__QNXNTO__) + # define V8_OS_POSIX 1 + # define V8_OS_QNX 1 +-#elif defined(_WIN32) ++#elif defined(_WIN32) || defined(__MINGW32__) || defined(__MINGW64__) + # define V8_OS_WIN 1 + #endif + +diff --git a/src/base/bits.h b/src/base/bits.h +index b74b98e106..7d016bf23d 100644 +--- a/src/base/bits.h ++++ b/src/base/bits.h +@@ -12,8 +12,10 @@ + #include "src/base/macros.h" + #if V8_CC_MSVC + #include ++#elif defined(__MINGW32__) ++#include + #endif +-#if V8_OS_WIN32 ++#if V8_OS_WIN + #include "src/base/win32-headers.h" + #endif + +diff --git a/src/base/export-template.h b/src/base/export-template.h +index 861cfe4027..90c41f7097 100644 +--- a/src/base/export-template.h ++++ b/src/base/export-template.h +@@ -153,7 +153,12 @@ + + EXPORT_TEMPLATE_TEST(DEFAULT, ); + EXPORT_TEMPLATE_TEST(DEFAULT, __attribute__((visibility("default")))); ++#if defined(__MINGW32__) || defined(__MINGW64__) ++// On MingW MSVC_HACK breaks. ++EXPORT_TEMPLATE_TEST(DEFAULT, __declspec(dllexport)); ++#else + EXPORT_TEMPLATE_TEST(MSVC_HACK, __declspec(dllexport)); ++#endif + EXPORT_TEMPLATE_TEST(DEFAULT, __declspec(dllimport)); + + #undef EXPORT_TEMPLATE_TEST +diff --git a/src/base/platform/platform-win32.cc b/src/base/platform/platform-win32.cc +index 5db3e34310..5c8fdc7ef0 100644 +--- a/src/base/platform/platform-win32.cc ++++ b/src/base/platform/platform-win32.cc +@@ -33,71 +33,6 @@ + #include // NOLINT + #endif // defined(_MSC_VER) + +-// Extra functions for MinGW. Most of these are the _s functions which are in +-// the Microsoft Visual Studio C++ CRT. +-#ifdef __MINGW32__ +- +- +-#ifndef __MINGW64_VERSION_MAJOR +- +-#define _TRUNCATE 0 +-#define STRUNCATE 80 +- +-inline void MemoryFence() { +- int barrier = 0; +- __asm__ __volatile__("xchgl %%eax,%0 ":"=r" (barrier)); +-} +- +-#endif // __MINGW64_VERSION_MAJOR +- +- +-int localtime_s(tm* out_tm, const time_t* time) { +- tm* posix_local_time_struct = localtime_r(time, out_tm); +- if (posix_local_time_struct == nullptr) return 1; +- return 0; +-} +- +- +-int fopen_s(FILE** pFile, const char* filename, const char* mode) { +- *pFile = fopen(filename, mode); +- return *pFile != nullptr ? 0 : 1; +-} +- +-int _vsnprintf_s(char* buffer, size_t sizeOfBuffer, size_t count, +- const char* format, va_list argptr) { +- DCHECK(count == _TRUNCATE); +- return _vsnprintf(buffer, sizeOfBuffer, format, argptr); +-} +- +- +-int strncpy_s(char* dest, size_t dest_size, const char* source, size_t count) { +- CHECK(source != nullptr); +- CHECK(dest != nullptr); +- CHECK_GT(dest_size, 0); +- +- if (count == _TRUNCATE) { +- while (dest_size > 0 && *source != 0) { +- *(dest++) = *(source++); +- --dest_size; +- } +- if (dest_size == 0) { +- *(dest - 1) = 0; +- return STRUNCATE; +- } +- } else { +- while (dest_size > 0 && count > 0 && *source != 0) { +- *(dest++) = *(source++); +- --dest_size; +- --count; +- } +- } +- CHECK_GT(dest_size, 0); +- *dest = 0; +- return 0; +-} +- +-#endif // __MINGW32__ +- + namespace v8 { + namespace base { + +diff --git a/src/base/platform/time.cc b/src/base/platform/time.cc +index f07fd8e595..270ebfd408 100644 +--- a/src/base/platform/time.cc ++++ b/src/base/platform/time.cc +@@ -766,13 +766,13 @@ bool ThreadTicks::IsSupported() { + ThreadTicks ThreadTicks::Now() { + #if V8_OS_MACOSX + return ThreadTicks(ComputeThreadTicks()); +-#elif(defined(_POSIX_THREAD_CPUTIME) && (_POSIX_THREAD_CPUTIME >= 0)) || \ +- defined(V8_OS_ANDROID) +- return ThreadTicks(ClockNow(CLOCK_THREAD_CPUTIME_ID)); + #elif V8_OS_SOLARIS + return ThreadTicks(gethrvtime() / Time::kNanosecondsPerMicrosecond); + #elif V8_OS_WIN + return ThreadTicks::GetForThread(::GetCurrentThread()); ++#elif(defined(_POSIX_THREAD_CPUTIME) && (_POSIX_THREAD_CPUTIME >= 0)) || \ ++ defined(V8_OS_ANDROID) ++ return ThreadTicks(ClockNow(CLOCK_THREAD_CPUTIME_ID)); + #else + UNREACHABLE(); + #endif +diff --git a/src/base/template-utils.h b/src/base/template-utils.h +index 8f89672e1a..001540c7c0 100644 +--- a/src/base/template-utils.h ++++ b/src/base/template-utils.h +@@ -7,6 +7,7 @@ + + #include + #include ++#include + #include + #include + +diff --git a/src/base/win32-headers.h b/src/base/win32-headers.h +index 82555463c0..8ed6ff5a7b 100644 +--- a/src/base/win32-headers.h ++++ b/src/base/win32-headers.h +@@ -38,12 +38,6 @@ + #include // For timeGetTime(). + #include // For raise(). + #include // For LocalOffset() implementation. +-#ifdef __MINGW32__ +-// Require Windows XP or higher when compiling with MinGW. This is for MinGW +-// header files to expose getaddrinfo. +-#undef _WIN32_WINNT +-#define _WIN32_WINNT 0x501 +-#endif // __MINGW32__ + #if !defined(__MINGW32__) || defined(__MINGW64_VERSION_MAJOR) + #include // For SymLoadModule64 and al. + #include // For STRUNCATE +@@ -56,9 +50,7 @@ + // makes it impossible to have them elsewhere. + #include + #include +-#ifndef __MINGW32__ + #include +-#endif // __MINGW32__ + #include // For _beginthreadex(). + #include + +diff --git a/src/compiler/node-cache.h b/src/compiler/node-cache.h +index 935e5778e3..d5dae22512 100644 +--- a/src/compiler/node-cache.h ++++ b/src/compiler/node-cache.h +@@ -29,7 +29,7 @@ class Node; + // nodes such as constants, parameters, etc. + template , + typename Pred = std::equal_to > +-class EXPORT_TEMPLATE_DECLARE(V8_EXPORT_PRIVATE) NodeCache final { ++class V8_EXPORT_PRIVATE NodeCache final { + public: + explicit NodeCache(Zone* zone) : map_(zone) {} + ~NodeCache() = default; +diff --git a/src/heap/cppgc/asm/x64/push_registers.S b/src/heap/cppgc/asm/x64/push_registers.S +index 018859d5c0..3c8dd012c7 100644 +--- a/src/heap/cppgc/asm/x64/push_registers.S ++++ b/src/heap/cppgc/asm/x64/push_registers.S +@@ -11,7 +11,12 @@ + .globl _PushAllRegistersAndIterateStack + _PushAllRegistersAndIterateStack: + +-#else // !V8_TARGET_OS_MACOSX ++#elif defined(V8_TARGET_OS_WIN) ++ ++.globl PushAllRegistersAndIterateStack ++PushAllRegistersAndIterateStack: ++ ++#else // !V8_TARGET_OS_MACOSX && !V8_TARGET_OS_WIN + + .type PushAllRegistersAndIterateStack, %function + .global PushAllRegistersAndIterateStack +diff --git a/src/heap/spaces-inl.h b/src/heap/spaces-inl.h +index a73ea6fe0c..ad596d979f 100644 +--- a/src/heap/spaces-inl.h ++++ b/src/heap/spaces-inl.h +@@ -66,7 +66,7 @@ HeapObject SemiSpaceObjectIterator::Next() { + // ----------------------------------------------------------------------------- + // PagedSpaceObjectIterator + +-HeapObject PagedSpaceObjectIterator::Next() { ++inline HeapObject PagedSpaceObjectIterator::Next() { + do { + HeapObject next_obj = FromCurrentPage(); + if (!next_obj.is_null()) return next_obj; +diff --git a/src/heap/spaces.h b/src/heap/spaces.h +index 8d587443e3..cb0a1a28d1 100644 +--- a/src/heap/spaces.h ++++ b/src/heap/spaces.h +@@ -1628,7 +1628,7 @@ class V8_EXPORT_PRIVATE PagedSpaceObjectIterator : public ObjectIterator { + // Advance to the next object, skipping free spaces and other fillers and + // skipping the special garbage section of which there is one per space. + // Returns nullptr when the iteration has ended. +- inline HeapObject Next() override; ++ HeapObject Next() override; + + private: + // Fast (inlined) path of next(). +diff --git a/src/objects/feedback-vector.cc b/src/objects/feedback-vector.cc +index 929b312f22..7beff3395d 100644 +--- a/src/objects/feedback-vector.cc ++++ b/src/objects/feedback-vector.cc +@@ -114,9 +114,9 @@ Handle FeedbackMetadata::New(LocalIsolate* isolate, + return metadata; + } + +-template Handle FeedbackMetadata::New( ++template V8_EXPORT Handle FeedbackMetadata::New( + Isolate* isolate, const FeedbackVectorSpec* spec); +-template Handle FeedbackMetadata::New( ++template V8_EXPORT Handle FeedbackMetadata::New( + OffThreadIsolate* isolate, const FeedbackVectorSpec* spec); + + bool FeedbackMetadata::SpecDiffersFrom( +diff --git a/src/objects/js-number-format.cc b/src/objects/js-number-format.cc +index 7d50f947f7..2d7fd77113 100644 +--- a/src/objects/js-number-format.cc ++++ b/src/objects/js-number-format.cc +@@ -1239,44 +1239,33 @@ MaybeHandle JSNumberFormat::New(Isolate* isolate, + } + + namespace { +-Maybe IcuFormatNumber( ++Maybe IcuFormatNumber( + Isolate* isolate, + const icu::number::LocalizedNumberFormatter& number_format, +- Handle numeric_obj, icu::FieldPositionIterator* fp_iter) { ++ Handle numeric_obj, icu::number::FormattedNumber* formatted) { + // If it is BigInt, handle it differently. + UErrorCode status = U_ZERO_ERROR; +- icu::number::FormattedNumber formatted; + if (numeric_obj->IsBigInt()) { + Handle big_int = Handle::cast(numeric_obj); + Handle big_int_string; + ASSIGN_RETURN_ON_EXCEPTION_VALUE(isolate, big_int_string, + BigInt::ToString(isolate, big_int), +- Nothing()); +- formatted = number_format.formatDecimal( ++ Nothing()); ++ *formatted = number_format.formatDecimal( + {big_int_string->ToCString().get(), big_int_string->length()}, status); + } else { + double number = numeric_obj->IsNaN() + ? std::numeric_limits::quiet_NaN() + : numeric_obj->Number(); +- formatted = number_format.formatDouble(number, status); ++ *formatted = number_format.formatDouble(number, status); + } + if (U_FAILURE(status)) { + // This happen because of icu data trimming trim out "unit". + // See https://bugs.chromium.org/p/v8/issues/detail?id=8641 +- THROW_NEW_ERROR_RETURN_VALUE(isolate, +- NewTypeError(MessageTemplate::kIcuError), +- Nothing()); +- } +- if (fp_iter) { +- formatted.getAllFieldPositions(*fp_iter, status); +- } +- icu::UnicodeString result = formatted.toString(status); +- if (U_FAILURE(status)) { +- THROW_NEW_ERROR_RETURN_VALUE(isolate, +- NewTypeError(MessageTemplate::kIcuError), +- Nothing()); ++ THROW_NEW_ERROR_RETURN_VALUE( ++ isolate, NewTypeError(MessageTemplate::kIcuError), Nothing()); + } +- return Just(result); ++ return Just(true); + } + + } // namespace +@@ -1287,10 +1276,16 @@ MaybeHandle JSNumberFormat::FormatNumeric( + Handle numeric_obj) { + DCHECK(numeric_obj->IsNumeric()); + +- Maybe maybe_format = +- IcuFormatNumber(isolate, number_format, numeric_obj, nullptr); ++ icu::number::FormattedNumber formatted; ++ Maybe maybe_format = ++ IcuFormatNumber(isolate, number_format, numeric_obj, &formatted); + MAYBE_RETURN(maybe_format, Handle()); +- return Intl::ToString(isolate, maybe_format.FromJust()); ++ UErrorCode status = U_ZERO_ERROR; ++ icu::UnicodeString result = formatted.toString(status); ++ if (U_FAILURE(status)) { ++ THROW_NEW_ERROR(isolate, NewTypeError(MessageTemplate::kIcuError), String); ++ } ++ return Intl::ToString(isolate, result); + } + + namespace { +@@ -1403,12 +1398,18 @@ std::vector FlattenRegionsToParts( + } + + namespace { +-Maybe ConstructParts(Isolate* isolate, const icu::UnicodeString& formatted, +- icu::FieldPositionIterator* fp_iter, ++Maybe ConstructParts(Isolate* isolate, ++ icu::number::FormattedNumber* formatted, + Handle result, int start_index, + Handle numeric_obj, bool style_is_unit) { ++ UErrorCode status = U_ZERO_ERROR; ++ icu::UnicodeString formatted_text = formatted->toString(status); ++ if (U_FAILURE(status)) { ++ THROW_NEW_ERROR_RETURN_VALUE( ++ isolate, NewTypeError(MessageTemplate::kIcuError), Nothing()); ++ } + DCHECK(numeric_obj->IsNumeric()); +- int32_t length = formatted.length(); ++ int32_t length = formatted_text.length(); + int index = start_index; + if (length == 0) return Just(index); + +@@ -1417,13 +1418,14 @@ Maybe ConstructParts(Isolate* isolate, const icu::UnicodeString& formatted, + // other region covers some part of the formatted string. It's possible + // there's another field with exactly the same begin and end as this backdrop, + // in which case the backdrop's field_id of -1 will give it lower priority. +- regions.push_back(NumberFormatSpan(-1, 0, formatted.length())); ++ regions.push_back(NumberFormatSpan(-1, 0, formatted_text.length())); + + { +- icu::FieldPosition fp; +- while (fp_iter->next(fp)) { +- regions.push_back(NumberFormatSpan(fp.getField(), fp.getBeginIndex(), +- fp.getEndIndex())); ++ icu::ConstrainedFieldPosition cfp; ++ cfp.constrainCategory(UFIELD_CATEGORY_NUMBER); ++ while (formatted->nextPosition(cfp, status)) { ++ regions.push_back( ++ NumberFormatSpan(cfp.getField(), cfp.getStart(), cfp.getLimit())); + } + } + +@@ -1445,7 +1447,7 @@ Maybe ConstructParts(Isolate* isolate, const icu::UnicodeString& formatted, + Handle substring; + ASSIGN_RETURN_ON_EXCEPTION_VALUE( + isolate, substring, +- Intl::ToString(isolate, formatted, part.begin_pos, part.end_pos), ++ Intl::ToString(isolate, formatted_text, part.begin_pos, part.end_pos), + Nothing()); + Intl::AddElement(isolate, result, index, field_type_string, substring); + ++index; +@@ -1465,20 +1467,19 @@ MaybeHandle JSNumberFormat::FormatToParts( + number_format->icu_number_formatter().raw(); + CHECK_NOT_NULL(fmt); + +- icu::FieldPositionIterator fp_iter; +- Maybe maybe_format = +- IcuFormatNumber(isolate, *fmt, numeric_obj, &fp_iter); ++ icu::number::FormattedNumber formatted; ++ Maybe maybe_format = ++ IcuFormatNumber(isolate, *fmt, numeric_obj, &formatted); + MAYBE_RETURN(maybe_format, Handle()); +- + UErrorCode status = U_ZERO_ERROR; ++ + bool style_is_unit = + Style::UNIT == StyleFromSkeleton(fmt->toSkeleton(status)); + CHECK(U_SUCCESS(status)); + + Handle result = factory->NewJSArray(0); +- Maybe maybe_format_to_parts = +- ConstructParts(isolate, maybe_format.FromJust(), &fp_iter, result, 0, +- numeric_obj, style_is_unit); ++ Maybe maybe_format_to_parts = ConstructParts( ++ isolate, &formatted, result, 0, numeric_obj, style_is_unit); + MAYBE_RETURN(maybe_format_to_parts, Handle()); + + return result; +diff --git a/src/objects/ordered-hash-table.h b/src/objects/ordered-hash-table.h +index b587960432..e80b5757e4 100644 +--- a/src/objects/ordered-hash-table.h ++++ b/src/objects/ordered-hash-table.h +@@ -7,7 +7,11 @@ + + #include "src/base/export-template.h" + #include "src/common/globals.h" ++#if defined(_M_IX86) && defined(_MSC_VER) ++#include "src/objects/fixed-array-inl.h" ++#else + #include "src/objects/fixed-array.h" ++#endif + #include "src/objects/js-objects.h" + #include "src/objects/smi.h" + #include "src/roots/roots.h" +diff --git a/src/objects/string.h b/src/objects/string.h +index 616a4b967b..505ac1b059 100644 +--- a/src/objects/string.h ++++ b/src/objects/string.h +@@ -293,7 +293,7 @@ class String : public TorqueGeneratedString { + + V8_EXPORT_PRIVATE bool HasOneBytePrefix(Vector str); + V8_EXPORT_PRIVATE bool IsOneByteEqualTo(Vector str); +- V8_EXPORT_PRIVATE bool IsOneByteEqualTo(Vector str) { ++ inline bool IsOneByteEqualTo(Vector str) { + return IsOneByteEqualTo(Vector::cast(str)); + } + bool IsTwoByteEqualTo(Vector str); +diff --git a/src/snapshot/serializer-common.cc b/src/snapshot/serializer-common.cc +index 9218d4eaa9..7b226de2f9 100644 +--- a/src/snapshot/serializer-common.cc ++++ b/src/snapshot/serializer-common.cc +@@ -8,7 +8,7 @@ + #include "src/objects/foreign-inl.h" + #include "src/objects/objects-inl.h" + #include "src/objects/slots.h" +-#include "third_party/zlib/zlib.h" ++#include "zlib.h" + + namespace v8 { + namespace internal { +diff --git a/test/cctest/BUILD.gn b/test/cctest/BUILD.gn +index 89fe36f65b..7aa3dca4a5 100644 +--- a/test/cctest/BUILD.gn ++++ b/test/cctest/BUILD.gn +@@ -416,17 +416,28 @@ v8_source_set("cctest_sources") { + } + + if (is_win) { +- # This warning is benignly triggered by the U16 and U32 macros in +- # bytecode-utils.h. +- # C4309: 'static_cast': truncation of constant value +- cflags += [ "/wd4309" ] ++ if(is_mingw) { ++ # Buffer overrun warning... intended? ++ cflags += [ ++ "-Wno-array-bounds", ++ "-Wno-stringop-truncation" ++ ] ++ } else { ++ # This warning is benignly triggered by the U16 and U32 macros in ++ # bytecode-utils.h. ++ # C4309: 'static_cast': truncation of constant value ++ cflags += [ "/wd4309" ] + +- # MSVS wants this for gay-{precision,shortest}.cc. +- cflags += [ "/bigobj" ] ++ # Buffer overrun warning... intended? ++ cflags += [ "/wd4789" ] + +- if (symbol_level == 2) { +- sources += [ "test-v8windbg.cc" ] +- deps += [ "../../tools/v8windbg:v8windbg_test" ] ++ # MSVS wants this for gay-{precision,shortest}.cc. ++ cflags += [ "/bigobj" ] ++ ++ if (symbol_level == 2) { ++ sources += [ "test-v8windbg.cc" ] ++ deps += [ "../../tools/v8windbg:v8windbg_test" ] ++ } + } + } + +diff --git a/test/unittests/BUILD.gn b/test/unittests/BUILD.gn +index f3b060e5da..ad6c70d73f 100644 +--- a/test/unittests/BUILD.gn ++++ b/test/unittests/BUILD.gn +@@ -366,7 +366,7 @@ v8_source_set("unittests_sources") { + "//testing/gtest", + ] + +- if (is_win) { ++ if (is_win && !is_mingw) { + # This warning is benignly triggered by the U16 and U32 macros in + # bytecode-utils.h. + # C4309: 'static_cast': truncation of constant value +diff --git a/third_party/googletest/BUILD.gn b/third_party/googletest/BUILD.gn +index f105d1a6b4..e63dcb9d6d 100644 +--- a/third_party/googletest/BUILD.gn ++++ b/third_party/googletest/BUILD.gn +@@ -30,7 +30,7 @@ config("gtest_config") { + "src/googletest/include", + ] + +- if (is_win) { ++ if (is_win && !is_mingw) { + cflags = [ "/wd4800" ] # Unused variable warning. + } + } +diff --git a/tools/BUILD.gn b/tools/BUILD.gn +index 2f8197dd36..9b1e4fabb9 100644 +--- a/tools/BUILD.gn ++++ b/tools/BUILD.gn +@@ -15,7 +15,8 @@ group("gn_all") { + "jsfunfuzz:v8_jsfunfuzz", + ] + +- if (is_win) { ++ # MinGW does not support DbgModel yet ++ if (is_win && !is_mingw) { + data_deps += [ "v8windbg" ] + } + } +diff --git a/tools/v8windbg/BUILD.gn b/tools/v8windbg/BUILD.gn +index 10d06a127f..1cdaf86312 100644 +--- a/tools/v8windbg/BUILD.gn ++++ b/tools/v8windbg/BUILD.gn +@@ -6,7 +6,14 @@ import("../../gni/v8.gni") + + config("v8windbg_config") { + # Required for successful compilation of SDK header file DbgModel.h. +- cflags_cc = [ "/Zc:twoPhase-" ] ++ if(!is_mingw){ ++ cflags_cc = [ "/Zc:twoPhase-" ] ++ } ++ if(is_win && !is_clang && !is_mingw){ ++ # Avoid "The contents of are available only with C++17 or later." ++ # warning from MSVC ++ cflags_cc += [ "/std:c++latest" ] ++ } + + include_dirs = [ "../.." ] + } diff --git a/mingw-w64-v8/0001-Include-win32-headers-h-before-undef-MemoryBarrier.patch b/mingw-w64-v8/0001-Include-win32-headers-h-before-undef-MemoryBarrier.patch deleted file mode 100644 index 2882cf3972..0000000000 --- a/mingw-w64-v8/0001-Include-win32-headers-h-before-undef-MemoryBarrier.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- v8-3.27.34.6/src/base/atomicops.h 2014-07-19 23:18:25.504436700 +0100 -+++ v8-3.27.34.6/src/base/atomicops.h.new 2014-07-19 23:07:21.555625900 +0100 -@@ -34,6 +34,10 @@ - // X64, undef it, and call its documented - // (http://msdn.microsoft.com/en-us/library/windows/desktop/ms684208.aspx) - // implementation directly. -+// Ensure windows.h gets included before undefining MemoryBarrier so that the -+// symbol gets defined and undefined at this point otherwise it gets included -+// after this #undef and has no effect. -+#include "win32-headers.h" - #undef MemoryBarrier - #endif - diff --git a/mingw-w64-v8/0001-add-mingw-toolchain.patch b/mingw-w64-v8/0001-add-mingw-toolchain.patch new file mode 100644 index 0000000000..8fd58296d1 --- /dev/null +++ b/mingw-w64-v8/0001-add-mingw-toolchain.patch @@ -0,0 +1,1068 @@ +diff --git a/config/BUILD.gn b/config/BUILD.gn +index d0517299b..9679a9fd0 100644 +--- a/config/BUILD.gn ++++ b/config/BUILD.gn +@@ -127,13 +127,13 @@ config("debug") { + defines += [ "DYNAMIC_ANNOTATIONS_PREFIX=NACL_" ] + } + +- if (is_win) { ++ if (is_win && !is_mingw) { + if (!enable_iterator_debugging && !use_custom_libcxx) { + # Iterator debugging is enabled by default by the compiler on debug + # builds, and we have to tell it to turn it off. + defines += [ "_HAS_ITERATOR_DEBUGGING=0" ] + } +- } else if (is_linux && current_cpu == "x64" && enable_iterator_debugging) { ++ } else if ((is_linux || is_mingw) && current_cpu == "x64" && enable_iterator_debugging) { + # Enable libstdc++ debugging facilities to help catch problems early, see + # http://crbug.com/65151 . + # TODO(phajdan.jr): Should we enable this for all of POSIX? +@@ -167,7 +167,7 @@ config("release") { + + # This config defines the default libraries applied to all targets. + config("default_libs") { +- if (is_win) { ++ if (is_win && !is_mingw) { + # TODO(brettw) this list of defaults should probably be smaller, and + # instead the targets that use the less common ones (e.g. wininet or + # winspool) should include those explicitly. +@@ -297,8 +297,13 @@ group("shared_library_deps") { + + # Windows linker setup for EXEs and DLLs. + if (is_win) { +- _windows_linker_configs = [ +- "//build/config/win:sdk_link", ++ _windows_linker_configs = [] ++ if(!is_mingw){ ++ _windows_linker_configs += [ ++ "//build/config/win:sdk_link", ++ ] ++ } ++ _windows_linker_configs += [ + "//build/config/win:common_linker_setup", + ] + } +diff --git a/config/BUILDCONFIG.gn b/config/BUILDCONFIG.gn +index 11e0a2182..1b8f1fe04 100644 +--- a/config/BUILDCONFIG.gn ++++ b/config/BUILDCONFIG.gn +@@ -133,8 +133,12 @@ declare_args() { + # Whether we're a traditional desktop unix. + is_desktop_linux = current_os == "linux" + ++ # Set to true when compiling with the MinGW GCC compiler on the MSYS2 environment. ++ is_mingw = getenv("MSYSTEM") == "MINGW64" || getenv("MSYSTEM") == "MINGW32" ++ + # Set to true when compiling with the Clang compiler. +- is_clang = current_os != "linux" || ++ is_clang = current_os != "linux" || ++ !(getenv("MSYSTEM") == "MINGW64" || getenv("MSYSTEM") == "MINGW32") || + (current_cpu != "s390x" && current_cpu != "s390" && + current_cpu != "ppc64" && current_cpu != "ppc" && + current_cpu != "mips" && current_cpu != "mips64") +@@ -203,11 +207,15 @@ if (host_toolchain == "") { + if (target_cpu == "x86" || target_cpu == "x64") { + if (is_clang) { + host_toolchain = "//build/toolchain/win:win_clang_$target_cpu" ++ } else if (is_mingw) { ++ host_toolchain = "//build/toolchain/win:mingw_$target_cpu" + } else { + host_toolchain = "//build/toolchain/win:$target_cpu" + } + } else if (is_clang) { + host_toolchain = "//build/toolchain/win:win_clang_$host_cpu" ++ } else if (is_mingw) { ++ host_toolchain = "//build/toolchain/win:mingw_$host_cpu" + } else { + host_toolchain = "//build/toolchain/win:$host_cpu" + } +@@ -243,6 +251,8 @@ if (target_os == "android") { + # Beware, win cross builds have some caveats, see docs/win_cross.md + if (is_clang) { + _default_toolchain = "//build/toolchain/win:win_clang_$target_cpu" ++ } else if (is_mingw) { ++ _default_toolchain = "//build/toolchain/win:mingw_$target_cpu" + } else { + _default_toolchain = "//build/toolchain/win:$target_cpu" + } +diff --git a/config/compiler/BUILD.gn b/config/compiler/BUILD.gn +index 5fa34150a..e5f0cffa5 100644 +--- a/config/compiler/BUILD.gn ++++ b/config/compiler/BUILD.gn +@@ -269,7 +269,7 @@ config("compiler") { + + # In general, Windows is totally different, but all the other builds share + # some common GCC configuration. +- if (!is_win) { ++ if (!is_win || is_mingw) { + # Common POSIX compiler flags setup. + # -------------------------------- + cflags += [ "-fno-strict-aliasing" ] # See http://crbug.com/32204 +@@ -283,7 +283,7 @@ config("compiler") { + } else { + cflags += [ "-fstack-protector" ] + } +- } else if ((is_posix && !is_chromeos && !is_nacl) || is_fuchsia) { ++ } else if ((is_posix && !is_chromeos && !is_nacl) || is_fuchsia || is_mingw) { + # TODO(phajdan.jr): Use -fstack-protector-strong when our gcc supports it. + # See also https://crbug.com/533294 + cflags += [ "--param=ssp-buffer-size=4" ] +@@ -294,6 +294,12 @@ config("compiler") { + } else if (current_os != "aix") { + # Not available on aix. + cflags += [ "-fstack-protector" ] ++ if(is_mingw) { ++ # In MingW's GCC -fstack-protector ++ # needs to be passed to the linker as well ++ # for it to link against the ssp library ++ ldflags += [ "-fstack-protector" ] ++ } + } + } + +@@ -320,7 +326,7 @@ config("compiler") { + + # Non-Mac Posix and Fuchsia compiler flags setup. + # ----------------------------------- +- if ((is_posix && !(is_mac || is_ios)) || is_fuchsia) { ++ if ((is_posix && !(is_mac || is_ios)) || is_fuchsia || is_mingw) { + if (enable_profiling) { + if (!is_debug) { + cflags += [ "-g" ] +@@ -476,7 +482,7 @@ config("compiler") { + # TODO(thakis): Make the driver pass --color-diagnostics to the linker + # if -fcolor-diagnostics is passed to it, and pass -fcolor-diagnostics + # in ldflags instead. +- if (is_win) { ++ if (is_win && !is_mingw) { + # On Windows, we call the linker directly, instead of calling it through + # the driver. + ldflags += [ "--color-diagnostics" ] +@@ -501,7 +507,7 @@ config("compiler") { + + # C11/C++11 compiler flags setup. + # --------------------------- +- if (is_linux || is_android || (is_nacl && is_clang) || current_os == "aix") { ++ if (is_linux || is_android || is_mingw || (is_nacl && is_clang) || current_os == "aix") { + if (target_os == "android") { + cxx11_override = use_cxx11_on_android + } else { +@@ -587,7 +593,7 @@ config("compiler") { + lto_opt_level = 0 + } + +- if (is_win) { ++ if (is_win && !is_mingw) { + # This is a straight translation of the non-Windows flags below, + # except we do not use the ThinLTO cache, which leaks temporary + # files on Windows (https://crbug.com/871962). +@@ -646,7 +652,7 @@ config("compiler") { + # built with ThinLTO (see https://crbug.com/767901) as well as the GVR shim. + if (!is_android) { + cflags += [ "-fwhole-program-vtables" ] +- if (!is_win) { ++ if (!is_win || is_mingw) { + ldflags += [ "-fwhole-program-vtables" ] + } + } +@@ -668,12 +674,12 @@ config("compiler") { + + if (compiler_timing) { + if (is_clang && !is_nacl) { +- if (is_win) { ++ if (is_win && !is_mingw) { + cflags += [ "/clang:-ftime-trace" ] + } else { + cflags += [ "-ftime-trace" ] + } +- } else if (is_win) { ++ } else if (is_win && !is_mingw) { + cflags += [ + # "Documented" here: + # http://aras-p.info/blog/2017/10/23/Best-unknown-MSVC-flag-d2cgsummary/ +@@ -705,7 +711,7 @@ config("compiler") { + # Assign any flags set for the C compiler to asmflags so that they are sent + # to the assembler. The Windows assembler takes different types of flags + # so only do so for posix platforms. +- if (is_posix || is_fuchsia) { ++ if (is_posix || is_fuchsia || is_mingw) { + asmflags += cflags + asmflags += cflags_c + } +@@ -721,7 +727,7 @@ config("compiler_cpu_abi") { + ldflags = [] + defines = [] + +- if ((is_posix && !(is_mac || is_ios)) || is_fuchsia) { ++ if ((is_posix && !(is_mac || is_ios)) || is_fuchsia || is_mingw) { + # CPU architecture. We may or may not be doing a cross compile now, so for + # simplicity we always explicitly set the architecture. + if (current_cpu == "x64") { +@@ -1075,7 +1081,7 @@ config("compiler_deterministic") { + # Eliminate build metadata (__DATE__, __TIME__ and __TIMESTAMP__) for + # deterministic build. See https://crbug.com/314403 + if (!is_official_build) { +- if (is_win && !is_clang) { ++ if (is_win && !is_clang && !is_mingw) { + cflags += [ + "/wd4117", # Trying to define or undefine a predefined macro. + "/D__DATE__=", +@@ -1236,7 +1242,7 @@ config("default_warnings") { + cflags_cc = [] + ldflags = [] + +- if (is_win) { ++ if (is_win && !is_mingw) { + if (treat_warnings_as_errors) { + cflags += [ "/WX" ] + } +@@ -1446,15 +1452,31 @@ config("default_warnings") { + # files. + cflags += [ "-Wno-packed-not-aligned" ] + } ++ ++ if (is_mingw) { ++ cflags += [ ++ "-Wno-attributes", # "__decspec(dllimport) inline" ++ "-Wno-format", # PRIu64 llu support on MinGW ++ "-Wno-unused-but-set-variable", ++ "-Wno-stringop-overflow", # False positive overflow error on gcc 10 ++ ++ ] ++ cflags_cc += [ ++ "-Wno-subobject-linkage", # Tests having code in header files ++ ] ++ } + } + + # Common Clang and GCC warning setup. +- if (!is_win || is_clang) { ++ if (!is_win || is_clang || is_mingw) { + cflags += [ + # Disables. + "-Wno-missing-field-initializers", # "struct foo f = {0};" + "-Wno-unused-parameter", # Unused function parameters. + ] ++ if(is_clang){ ++ cflags += ["-Wno-range-loop-construct"] # Use of "conditionally-supported" offsetof in c++17 ++ } + } + + if (is_clang) { +@@ -1537,7 +1559,7 @@ config("default_warnings") { + # part of Chromium. + + config("chromium_code") { +- if (is_win) { ++ if (is_win && !is_mingw) { + cflags = [ "/W4" ] # Warning level 4. + + if (is_clang) { +@@ -1632,7 +1654,7 @@ config("no_chromium_code") { + cflags_cc = [] + defines = [] + +- if (is_win) { ++ if (is_win && !is_mingw) { + cflags += [ + "/W3", # Warning level 3. + "/wd4800", # Disable warning when forcing value to bool. +@@ -1691,7 +1713,7 @@ config("noshadowing") { + # Allows turning Run-Time Type Identification on or off. + + config("rtti") { +- if (is_win) { ++ if (is_win && !is_mingw) { + cflags_cc = [ "/GR" ] + } else { + cflags_cc = [ "-frtti" ] +@@ -1701,7 +1723,7 @@ config("rtti") { + config("no_rtti") { + # Some sanitizer configs may require RTTI to be left enabled globally + if (!use_rtti) { +- if (is_win) { ++ if (is_win && !is_mingw) { + cflags_cc = [ "/GR-" ] + } else { + cflags_cc = [ "-fno-rtti" ] +@@ -1754,7 +1776,7 @@ config("thin_archive") { + # Note: exceptions are disallowed in Google code. + + config("exceptions") { +- if (is_win) { ++ if (is_win && !is_mingw) { + # Enables exceptions in the STL. + if (!use_custom_libcxx) { + defines = [ "_HAS_EXCEPTIONS=1" ] +@@ -1767,7 +1789,7 @@ config("exceptions") { + } + + config("no_exceptions") { +- if (is_win) { ++ if (is_win && !is_mingw) { + # Disables exceptions in the STL. + # libc++ uses the __has_feature macro to control whether to use exceptions, + # so defining this macro is unnecessary. Defining _HAS_EXCEPTIONS to 0 also +@@ -1828,7 +1850,7 @@ config("no_shorten_64_warnings") { + if (is_clang) { + cflags = [ "-Wno-shorten-64-to-32" ] + } else { +- if (is_win) { ++ if (is_win && !is_mingw) { + # MSVC does not have an explicit warning equivalent to + # -Wshorten-64-to-32 but 4267 warns for size_t -> int + # on 64-bit builds, so is the closest. +@@ -1868,12 +1890,22 @@ config("no_incompatible_pointer_warnings") { + + # Shared settings for both "optimize" and "optimize_max" configs. + # IMPORTANT: On Windows "/O1" and "/O2" must go before the common flags. +-if (is_win) { +- common_optimize_on_cflags = [ ++if (is_win && !is_mingw) { ++ common_optimize_on_cflags = [] ++ if(is_clang) { ++ common_optimize_on_cflags += [ + "/Ob2", # Both explicit and auto inlining. ++ ] ++ } else { ++ common_optimize_on_cflags += [ ++ "/Ob3", # Both explicit and auto inlining. ++ ] ++ } ++ common_optimize_on_cflags += [ + "/Oy-", # Disable omitting frame pointers, must be after /O2. + "/Zc:inline", # Remove unreferenced COMDAT (faster links). + ] ++ + if (!is_asan) { + common_optimize_on_cflags += [ + # Put data in separate COMDATs. This allows the linker +@@ -1976,7 +2008,7 @@ config("default_stack_frames") { + + # Default "optimization on" config. + config("optimize") { +- if (is_win) { ++ if (is_win && !is_mingw) { + # Favor size over speed, /O1 must be before the common flags. + # /O1 implies /Os and /GF. + cflags = [ "/O1" ] + common_optimize_on_cflags + [ "/Oi" ] +@@ -1997,7 +2029,7 @@ config("optimize") { + + # Turn off optimizations. + config("no_optimize") { +- if (is_win) { ++ if (is_win && !is_mingw) { + cflags = [ + "/Od", # Disable optimization. + "/Ob0", # Disable all inlining (on by default). +@@ -2043,7 +2075,7 @@ config("optimize_max") { + configs = [ "//build/config/nacl:irt_optimize" ] + } else { + ldflags = common_optimize_on_ldflags +- if (is_win) { ++ if (is_win && !is_mingw) { + # Favor speed over size, /O2 must be before the common flags. + # /O2 implies /Ot, /Oi, and /GF. + cflags = [ "/O2" ] + common_optimize_on_cflags +@@ -2075,7 +2107,7 @@ config("optimize_speed") { + configs = [ "//build/config/nacl:irt_optimize" ] + } else { + ldflags = common_optimize_on_ldflags +- if (is_win) { ++ if (is_win && !is_mingw) { + # Favor speed over size, /O2 must be before the common flags. + # /O2 implies /Ot, /Oi, and /GF. + cflags = [ "/O2" ] + common_optimize_on_cflags +@@ -2204,7 +2236,7 @@ config("win_pdbaltpath") { + + # Full symbols. + config("symbols") { +- if (is_win) { ++ if (is_win && !is_mingw) { + if (is_clang) { + cflags = [ "/Z7" ] # Debug information in the .obj files. + } else { +@@ -2310,7 +2342,7 @@ config("symbols") { + # This config guarantees to hold symbol for stack trace which are shown to user + # when crash happens in unittests running on buildbot. + config("minimal_symbols") { +- if (is_win) { ++ if (is_win && !is_mingw) { + # Functions, files, and line tables only. + cflags = [] + ldflags = [ "/DEBUG" ] +@@ -2367,7 +2399,7 @@ config("minimal_symbols") { + # told to not generate debug information and the linker then just puts function + # names in the final debug information. + config("no_symbols") { +- if (is_win) { ++ if (is_win && !is_mingw) { + ldflags = [ "/DEBUG" ] + + # All configs using /DEBUG should include this: +diff --git a/config/linux/pkg-config.py b/config/linux/pkg-config.py +index 5adf70cc3..76899e01c 100644 +--- a/config/linux/pkg-config.py ++++ b/config/linux/pkg-config.py +@@ -109,7 +109,8 @@ def main(): + # If this is run on non-Linux platforms, just return nothing and indicate + # success. This allows us to "kind of emulate" a Linux build from other + # platforms. +- if "linux" not in sys.platform: ++ # Update: MinGW builds do support pkg-config, and MSVC vcpkg does as well. ++ if "linux" not in sys.platform and not ("GCC" in sys.version and sys.platform=='win32') : + print("[[],[],[],[],[]]") + return 0 + +@@ -193,7 +194,6 @@ def main(): + cmd = [options.pkg_config, "--cflags", "--libs"] + args + if options.debug: + sys.stderr.write('Running: %s\n' % ' '.join(cmd)) +- + try: + flag_string = subprocess.check_output(cmd).decode('utf-8') + except: +diff --git a/config/win/BUILD.gn b/config/win/BUILD.gn +index 7b44f0e43..95afdb5ce 100644 +--- a/config/win/BUILD.gn ++++ b/config/win/BUILD.gn +@@ -45,7 +45,7 @@ declare_args() { + # is applied to all targets. It is here to separate out the logic that is + # Windows-only. + config("compiler") { +- if (current_cpu == "x86") { ++ if (current_cpu == "x86" && !is_mingw) { + asmflags = [ + # When /safeseh is specified, the linker will only produce an image if it + # can also produce a table of the image's safe exception handlers. This +@@ -56,27 +56,36 @@ config("compiler") { + ] + } + +- cflags = [ +- "/Gy", # Enable function-level linking. +- "/FS", # Preserve previous PDB behavior. +- "/bigobj", # Some of our files are bigger than the regular limits. +- "/utf-8", # Assume UTF-8 by default to avoid code page dependencies. +- ] +- ++ if(!is_mingw) { ++ cflags = [ ++ "/Gy", # Enable function-level linking. ++ "/FS", # Preserve previous PDB behavior. ++ "/bigobj", # Some of our files are bigger than the regular limits. ++ "/utf-8", # Assume UTF-8 by default to avoid code page dependencies. ++ ] ++ } else { ++ cflags = [ ++ "-Wa,-mbig-obj", ++ "-fno-keep-inline-dllexport" ++ ] ++ } ++ + if (is_clang) { + cflags += [ "/Zc:twoPhase" ] + } + +- # Force C/C++ mode for the given GN detected file type. This is necessary +- # for precompiled headers where the same source file is compiled in both +- # modes. +- cflags_c = [ "/TC" ] +- cflags_cc = [ "/TP" ] ++ if(!is_mingw) { ++ # Force C/C++ mode for the given GN detected file type. This is necessary ++ # for precompiled headers where the same source file is compiled in both ++ # modes. ++ cflags_c = [ "/TC" ] ++ cflags_cc = [ "/TP" ] + +- cflags += [ +- # Work around crbug.com/526851, bug in VS 2015 RTM compiler. +- "/Zc:sizedDealloc-", +- ] ++ cflags += [ ++ # Work around crbug.com/526851, bug in VS 2015 RTM compiler. ++ "/Zc:sizedDealloc-", ++ ] ++ } + + if (is_clang) { + # Don't look for includes in %INCLUDE%. +@@ -150,7 +159,7 @@ config("compiler") { + ldflags += [ "/lldignoreenv" ] + } + +- if (!is_debug && !is_component_build) { ++ if (!is_debug && !is_component_build && !is_mingw) { + # Enable standard linker optimizations like GC (/OPT:REF) and ICF in static + # release builds. + # Release builds always want these optimizations, so enable them explicitly. +@@ -175,17 +184,19 @@ config("compiler") { + ldflags += [ "/PROFILE" ] + } + +- # arflags apply only to static_libraries. The normal linker configs are only +- # set for executable and shared library targets so arflags must be set +- # elsewhere. Since this is relatively contained, we just apply them in this +- # more general config and they will only have an effect on static libraries. +- arflags = [ +- # "No public symbols found; archive member will be inaccessible." This +- # means that one or more object files in the library can never be +- # pulled in to targets that link to this library. It's just a warning that +- # the source file is a no-op. +- "/ignore:4221", +- ] ++ if(!is_mingw){ ++ # arflags apply only to static_libraries. The normal linker configs are only ++ # set for executable and shared library targets so arflags must be set ++ # elsewhere. Since this is relatively contained, we just apply them in this ++ # more general config and they will only have an effect on static libraries. ++ arflags = [ ++ # "No public symbols found; archive member will be inaccessible." This ++ # means that one or more object files in the library can never be ++ # pulled in to targets that link to this library. It's just a warning that ++ # the source file is a no-op. ++ "/ignore:4221", ++ ] ++ } + } + + # This is included by reference in the //build/config/compiler:runtime_library +@@ -324,19 +335,27 @@ config("sdk_link") { + # targets who want different library configurations can remove this and specify + # their own. + config("common_linker_setup") { +- ldflags = [ +- "/FIXED:NO", +- "/ignore:4199", +- "/ignore:4221", +- "/NXCOMPAT", +- "/DYNAMICBASE", +- ] +- +- if (win_linker_timing) { +- ldflags += [ +- "/time", +- "/verbose:incr", ++ if(is_mingw) { ++ # Enable DEP and ASLR ++ ldflags = [ ++ "-Wl,-dynamicbase", ++ "-Wl,-nxcompat", ++ ] ++ } else { ++ ldflags = [ ++ "/FIXED:NO", ++ "/ignore:4199", ++ "/ignore:4221", ++ "/NXCOMPAT", ++ "/DYNAMICBASE", + ] ++ ++ if (win_linker_timing) { ++ ldflags += [ ++ "/time", ++ "/verbose:incr", ++ ] ++ } + } + } + +@@ -442,20 +461,22 @@ config("delayloads_not_for_child_dll") { + # See https://msdn.microsoft.com/en-us/library/2kzt1wy3.aspx for a reference of + # what each value does. + config("default_crt") { +- if (is_component_build) { +- # Component mode: dynamic CRT. Since the library is shared, it requires +- # exceptions or will give errors about things not matching, so keep +- # exceptions on. +- configs = [ ":dynamic_crt" ] +- } else { +- if (current_os == "winuwp") { +- # https://blogs.msdn.microsoft.com/vcblog/2014/06/10/the-great-c-runtime-crt-refactoring/ +- # contains a details explanation of what is happening with the Windows +- # CRT in Visual Studio releases related to Windows store applications. ++ if(!is_mingw){ ++ if (is_component_build) { ++ # Component mode: dynamic CRT. Since the library is shared, it requires ++ # exceptions or will give errors about things not matching, so keep ++ # exceptions on. + configs = [ ":dynamic_crt" ] + } else { +- # Desktop Windows: static CRT. +- configs = [ ":static_crt" ] ++ if (current_os == "winuwp") { ++ # https://blogs.msdn.microsoft.com/vcblog/2014/06/10/the-great-c-runtime-crt-refactoring/ ++ # contains a details explanation of what is happening with the Windows ++ # CRT in Visual Studio releases related to Windows store applications. ++ configs = [ ":dynamic_crt" ] ++ } else { ++ # Desktop Windows: static CRT. ++ configs = [ ":static_crt" ] ++ } + } + } + } +@@ -496,42 +517,54 @@ config("static_crt") { + if (current_cpu == "x64") { + # The number after the comma is the minimum required OS version. + # 5.02 = Windows Server 2003. +- subsystem_version_suffix = ",5.02" ++ subsystem_version_suffix = "5.02" + } else if (current_cpu == "arm64") { + # Windows ARM64 requires Windows 10. +- subsystem_version_suffix = ",10.0" ++ subsystem_version_suffix = "10.0" + } else { + # 5.01 = Windows XP. +- subsystem_version_suffix = ",5.01" ++ subsystem_version_suffix = "5.01" + } + + config("console") { +- ldflags = [ "/SUBSYSTEM:CONSOLE$subsystem_version_suffix" ] ++ if(is_mingw){ ++ cflags = [ "-mconsole" ] ++ ldflags = [ "-Wl,--subsystem,console:$subsystem_version_suffix" ] ++ } else { ++ ldflags = [ "/SUBSYSTEM:CONSOLE,$subsystem_version_suffix" ] ++ } + } + config("windowed") { +- ldflags = [ "/SUBSYSTEM:WINDOWS$subsystem_version_suffix" ] ++ if(is_mingw){ ++ cflags = [ "-mwindows" ] ++ ldflags = [ "-Wl,--subsystem,windows:$subsystem_version_suffix" ] ++ } else { ++ ldflags = [ "/SUBSYSTEM:WINDOWS,$subsystem_version_suffix" ] ++ } + } + + # Incremental linking ---------------------------------------------------------- + + # Applies incremental linking or not depending on the current configuration. + config("default_incremental_linking") { +- # Enable incremental linking for debug builds and all component builds - any +- # builds where performance is not job one. +- # TODO(thakis): Always turn this on with lld, no reason not to. +- if (is_debug || is_component_build) { +- ldflags = [ "/INCREMENTAL" ] +- if (use_lld) { +- # lld doesn't use ilk files and doesn't really have an incremental link +- # mode; the only effect of the flag is that the .lib file timestamp isn't +- # updated if the .lib doesn't change. +- # TODO(thakis): Why pass /OPT:NOREF for lld, but not otherwise? +- # TODO(thakis): /INCREMENTAL is on by default in link.exe, but not in +- # lld. +- ldflags += [ "/OPT:NOREF" ] ++ if(!is_mingw){ ++ # Enable incremental linking for debug builds and all component builds - any ++ # builds where performance is not job one. ++ # TODO(thakis): Always turn this on with lld, no reason not to. ++ if (is_debug || is_component_build) { ++ ldflags = [ "/INCREMENTAL" ] ++ if (use_lld) { ++ # lld doesn't use ilk files and doesn't really have an incremental link ++ # mode; the only effect of the flag is that the .lib file timestamp isn't ++ # updated if the .lib doesn't change. ++ # TODO(thakis): Why pass /OPT:NOREF for lld, but not otherwise? ++ # TODO(thakis): /INCREMENTAL is on by default in link.exe, but not in ++ # lld. ++ ldflags += [ "/OPT:NOREF" ] ++ } ++ } else { ++ ldflags = [ "/INCREMENTAL:NO" ] + } +- } else { +- ldflags = [ "/INCREMENTAL:NO" ] + } + } + +@@ -543,6 +576,9 @@ config("unicode") { + "_UNICODE", + "UNICODE", + ] ++ if(is_mingw) { ++ cflags = [ "-municode" ] ++ } + } + + # Lean and mean ---------------------------------------------------------------- +@@ -581,3 +617,10 @@ config("cygprofile_instrumentation") { + "-finstrument-functions-after-inlining", + ] + } ++ ++# Let unit tests see all "for_testing" dll symbols. ++config("export_all_symbols") { ++ if(is_win && is_mingw){ ++ ldflags = [ "-Wl,--export-all-symbols" ] ++ } ++} +diff --git a/config/win/manifest.gni b/config/win/manifest.gni +index b18a4a141..4eaf3510f 100644 +--- a/config/win/manifest.gni ++++ b/config/win/manifest.gni +@@ -79,12 +79,14 @@ if (is_win) { + foreach(i, rebase_path(invoker.sources, root_build_dir)) { + manifests += [ "/manifestinput:" + i ] + } +- ldflags = [ +- "/manifest:embed", ++ if(!is_mingw){ ++ ldflags = [ ++ "/manifest:embed", + +- # We handle UAC by adding explicit .manifest files instead. +- "/manifestuac:no", +- ] + manifests ++ # We handle UAC by adding explicit .manifest files instead. ++ "/manifestuac:no", ++ ] + manifests ++ } + } + + # This source set only exists to add a dep on the invoker's deps and to +diff --git a/config/x64.gni b/config/x64.gni +index eead1e1b1..1315ce58b 100644 +--- a/config/x64.gni ++++ b/config/x64.gni +@@ -16,7 +16,7 @@ if (current_cpu == "x64") { + x64_arch = "" + } + +- if ((is_posix && !(is_mac || is_ios)) || is_fuchsia) { ++ if ((is_posix && !(is_mac || is_ios)) || is_fuchsia || is_mingw) { + if (x64_arch == "") { + x64_arch = "x86-64" + } +diff --git a/toolchain/gcc_link_wrapper.py b/toolchain/gcc_link_wrapper.py +index 8892f14bf..22e56dd6e 100644 +--- a/toolchain/gcc_link_wrapper.py ++++ b/toolchain/gcc_link_wrapper.py +@@ -38,6 +38,9 @@ def main(): + parser.add_argument('--strip', + help='The strip binary to run', + metavar='PATH') ++ parser.add_argument('--objcopy', ++ help='The objcopy binary to run', ++ metavar='PATH') + parser.add_argument('--unstripped-file', + help='Executable file produced by linking command', + metavar='FILE') +@@ -63,9 +66,19 @@ def main(): + + # Finally, strip the linked executable (if desired). + if args.strip: ++ if args.objcopy: ++ result = subprocess.call(wrapper_utils.CommandToRun( ++ [args.objcopy, '--only-keep-debug', args.unstripped_file, args.output + '.debug'])) ++ if result != 0: ++ return result + result = subprocess.call(CommandToRun([ + args.strip, '-o', args.output, args.unstripped_file + ])) ++ if result != 0: ++ return result ++ if args.objcopy: ++ result = subprocess.call(wrapper_utils.CommandToRun( ++ [args.objcopy, '--add-gnu-debuglink', args.output + '.debug',args.output])) + + return result + +diff --git a/toolchain/gcc_solink_wrapper.py b/toolchain/gcc_solink_wrapper.py +index 540b1eda3..587f942cb 100644 +--- a/toolchain/gcc_solink_wrapper.py ++++ b/toolchain/gcc_solink_wrapper.py +@@ -17,10 +17,11 @@ import sys + + import wrapper_utils + +- + def CollectSONAME(args): + """Replaces: readelf -d $sofile | grep SONAME""" + toc = '' ++ if ("GCC" in sys.version and sys.platform=='win32'): # Mingw's readelf doesn't work on PE files ++ return 0, toc + readelf = subprocess.Popen(wrapper_utils.CommandToRun( + [args.readelf, '-d', args.sofile]), stdout=subprocess.PIPE, bufsize=-1) + for line in readelf.stdout: +@@ -32,6 +33,8 @@ def CollectSONAME(args): + def CollectDynSym(args): + """Replaces: nm --format=posix -g -D $sofile | cut -f1-2 -d' '""" + toc = '' ++ if ("GCC" in sys.version and sys.platform=='win32'): # Mingw's nm doesn't work on PE files ++ return 0, toc + nm = subprocess.Popen(wrapper_utils.CommandToRun([ + args.nm, '--format=posix', '-g', '-D', args.sofile]), + stdout=subprocess.PIPE, bufsize=-1) +@@ -70,6 +73,9 @@ def main(): + parser.add_argument('--strip', + help='The strip binary to run', + metavar='PATH') ++ parser.add_argument('--objcopy', ++ help='The objcopy binary to run', ++ metavar='PATH') + parser.add_argument('--sofile', + required=True, + help='Shared object file produced by linking command', +@@ -141,11 +147,20 @@ def main(): + + # Finally, strip the linked shared object file (if desired). + if args.strip: ++ if args.objcopy: ++ result = subprocess.call(wrapper_utils.CommandToRun( ++ [args.objcopy, '--only-keep-debug', args.sofile, args.output + '.debug'])) ++ if result != 0: ++ return result + result = subprocess.call(wrapper_utils.CommandToRun( + [args.strip, '-o', args.output, args.sofile])) ++ if result != 0: ++ return result ++ if args.objcopy: ++ result = subprocess.call(wrapper_utils.CommandToRun( ++ [args.objcopy, '--add-gnu-debuglink', args.output + '.debug',args.output])) + + return result + +- + if __name__ == "__main__": + sys.exit(main()) +diff --git a/toolchain/gcc_toolchain.gni b/toolchain/gcc_toolchain.gni +index 744c78cbd..0d33e1912 100644 +--- a/toolchain/gcc_toolchain.gni ++++ b/toolchain/gcc_toolchain.gni +@@ -44,6 +44,7 @@ if (is_linux && target_os == "android") { + # - cc + # - cxx + # - ld ++# - rc (mingw only) + # + # Optional parameters that control the tools: + # +@@ -96,7 +97,9 @@ template("gcc_toolchain") { + assert(defined(invoker.cc), "gcc_toolchain() must specify a \"cc\" value") + assert(defined(invoker.cxx), "gcc_toolchain() must specify a \"cxx\" value") + assert(defined(invoker.ld), "gcc_toolchain() must specify a \"ld\" value") +- ++ if(is_mingw){ ++ assert(defined(invoker.rc), "gcc_toolchain() must specify a \"rc\" value") ++ } + # This define changes when the toolchain changes, forcing a rebuild. + # Nothing should ever use this define. + if (defined(invoker.rebuild_define)) { +@@ -227,17 +230,22 @@ template("gcc_toolchain") { + asm = asm_prefix + invoker.cc + ar = invoker.ar + ld = "$goma_ld${invoker.ld}" +- if (defined(invoker.readelf)) { +- readelf = invoker.readelf +- } else { +- readelf = "readelf" +- } +- if (defined(invoker.nm)) { +- nm = invoker.nm ++ if(!is_mingw){ ++ if (defined(invoker.readelf)) { ++ readelf = invoker.readelf ++ } else { ++ readelf = "readelf" ++ } ++ if (defined(invoker.nm)) { ++ nm = invoker.nm ++ } else { ++ nm = "nm" ++ } + } else { +- nm = "nm" ++ rc = invoker.rc + } + ++ + if (defined(invoker.shlib_extension)) { + default_shlib_extension = invoker.shlib_extension + } else { +@@ -315,6 +323,16 @@ template("gcc_toolchain") { + outputs = [ "$object_subdir/{{source_name_part}}.o" ] + } + ++ if(is_mingw){ ++ tool("rc") { ++ depfile = "{{output}}.d" ++ command = "$rc -i {{source}} -o {{output}}" ++ depsformat = "gcc" ++ description = "RC {{output}}" ++ outputs = [ "$object_subdir/{{source_name_part}}.o" ] ++ } ++ } ++ + tool("asm") { + # For GCC we can just use the C compiler to compile assembly. + depfile = "{{output}}.d" +@@ -375,8 +393,6 @@ template("gcc_toolchain") { + # .TOC file, overwrite it, otherwise, don't change it. + tocfile = sofile + ".TOC" + +- link_command = "$ld -shared -Wl,-soname=\"$soname\" {{ldflags}}${extra_ldflags} -o \"$unstripped_sofile\" @\"$rspfile\"" +- + # Generate a map file to be used for binary size analysis. + # Map file adds ~10% to the link time on a z620. + # With target_os="android", libchrome.so.map.gz is ~20MB. +@@ -386,19 +402,41 @@ template("gcc_toolchain") { + map_switch = " --map-file \"$map_file\"" + } + +- assert(defined(readelf), "to solink you must have a readelf") +- assert(defined(nm), "to solink you must have an nm") + strip_switch = "" + if (defined(invoker.strip)) { + strip_switch = "--strip=${invoker.strip} " + } + ++ objcopy_switch = "" ++ if (defined(invoker.objcopy)) { ++ objcopy_switch = "--objcopy=${invoker.objcopy} " ++ } ++ ++ mingw_flags = "" ++ if(is_mingw){ ++ # Have MinGW linker generate a .def file and a .a import library ++ mingw_flags = " -Wl,--dll -Wl,--output-def=\"$sofile\".def -Wl,--out-implib=\"$sofile\".a " ++ readelf = "" ++ if (defined(invoker.readelf)) { ++ readelf = "${invoker.readelf} " ++ } ++ nm = "" ++ if (defined(invoker.nm)) { ++ readelf = "${invoker.nm} " ++ } ++ } else { ++ assert(defined(readelf), "to solink you must have a readelf") ++ assert(defined(nm), "to solink you must have an nm") ++ } ++ ++ link_command = "$ld -shared -Wl,-soname=\"$soname\" ${mingw_flags} {{ldflags}}${extra_ldflags} -o \"$unstripped_sofile\" @\"$rspfile\"" ++ + # This needs a Python script to avoid using a complex shell command + # requiring sh control structures, pipelines, and POSIX utilities. + # The host might not have a POSIX shell and utilities (e.g. Windows). + solink_wrapper = + rebase_path("//build/toolchain/gcc_solink_wrapper.py", root_build_dir) +- command = "$python_path \"$solink_wrapper\" --readelf=\"$readelf\" --nm=\"$nm\" $strip_switch--sofile=\"$unstripped_sofile\" --tocfile=\"$tocfile\"$map_switch --output=\"$sofile\" -- $link_command" ++ command = "$python_path \"$solink_wrapper\" --readelf=\"$readelf\" --nm=\"$nm\" $objcopy_switch$strip_switch--sofile=\"$unstripped_sofile\" --tocfile=\"$tocfile\"$map_switch --output=\"$sofile\" -- $link_command" + + if (target_cpu == "mipsel" && is_component_build && is_android) { + rspfile_content = "-Wl,--start-group -Wl,--whole-archive {{inputs}} {{solibs}} -Wl,--no-whole-archive {{libs}} -Wl,--end-group" +@@ -527,11 +565,15 @@ template("gcc_toolchain") { + if (defined(invoker.strip)) { + strip_switch = " --strip=\"${invoker.strip}\" --unstripped-file=\"$unstripped_outfile\"" + } ++ objcopy_switch = "" ++ if (defined(invoker.objcopy)) { ++ objcopy_switch = " --objcopy=${invoker.objcopy} " ++ } + + if (strip_switch != "" || map_switch != "") { + link_wrapper = + rebase_path("//build/toolchain/gcc_link_wrapper.py", root_build_dir) +- command = "$python_path \"$link_wrapper\" --output=\"$outfile\"$strip_switch$map_switch -- $link_command" ++ command = "$python_path \"$link_wrapper\" --output=\"$outfile\"$objcopy_switch$strip_switch$map_switch -- $link_command" + } else { + command = link_command + } +diff --git a/toolchain/win/BUILD.gn b/toolchain/win/BUILD.gn +index 0c356e162..e1c7cdb22 100644 +--- a/toolchain/win/BUILD.gn ++++ b/toolchain/win/BUILD.gn +@@ -9,6 +9,7 @@ import("//build/config/win/visual_studio_version.gni") + import("//build/toolchain/cc_wrapper.gni") + import("//build/toolchain/goma.gni") + import("//build/toolchain/toolchain.gni") ++import("//build/toolchain/gcc_toolchain.gni") + + # Should only be running on Windows. + assert(is_win) +@@ -46,13 +47,15 @@ if (current_toolchain == default_toolchain) { + } else { + configuration_name = "Release" + } +- exec_script("../../vs_toolchain.py", +- [ +- "copy_dlls", +- rebase_path(root_build_dir), +- configuration_name, +- target_cpu, +- ]) ++ if(!is_mingw){ ++ exec_script("../../vs_toolchain.py", ++ [ ++ "copy_dlls", ++ rebase_path(root_build_dir), ++ configuration_name, ++ target_cpu, ++ ]) ++ } + } + + if (host_os == "win") { +@@ -520,3 +523,30 @@ if (target_os == "winuwp") { + } + } + } ++ ++template("mingw_toolchain") { ++ gcc_toolchain("mingw_" + target_name) { ++ forward_variables_from(invoker, "*") ++ cc = "gcc" ++ cxx = "g++" ++ ar = "ar" ++ ld = cxx ++ rc = "windres" ++ strip = "strip" ++ if(is_debug){ ++ objcopy = "objcopy" ++ } ++ executable_extension = ".exe" ++ toolchain_args = { ++ current_cpu = target_name ++ current_os = "win" ++ is_clang = false ++ } ++ } ++} ++ ++mingw_toolchain("x64") { ++} ++ ++mingw_toolchain("x86") { ++} +diff --git a/util/lastchange.py b/util/lastchange.py +index 874870ad5..a4fc0be8d 100644 +--- a/util/lastchange.py ++++ b/util/lastchange.py +@@ -191,7 +191,10 @@ def GetGitTopDirectory(source_dir): + Returns: + The output of "git rev-parse --show-toplevel" as a string + """ +- return _RunGitCommand(source_dir, ['rev-parse', '--show-toplevel']) ++ directory = _RunGitCommand(source_dir, ['rev-parse', '--show-toplevel']) ++ if "GCC" in sys.version and sys.platform=='win32': ++ return subprocess.check_output(["cygpath", "-w", directory]).strip(b"\n").decode() ++ return directory + + + def WriteIfChanged(file_name, contents): +diff --git a/win/BUILD.gn b/win/BUILD.gn +index 9be769fd0..587281dd1 100644 +--- a/win/BUILD.gn ++++ b/win/BUILD.gn +@@ -16,7 +16,7 @@ windows_manifest("default_exe_manifest") { + ] + } + +-if (is_win) { ++if (is_win && !is_mingw) { + assert(host_os != "mac" || target_cpu != "x86", + "Windows cross-builds from Mac must be 64-bit.") + diff --git a/mingw-w64-v8/0002-OS-TotalPhysicalMemory-needed-for-MinGW-w64-too.patch b/mingw-w64-v8/0002-OS-TotalPhysicalMemory-needed-for-MinGW-w64-too.patch deleted file mode 100644 index de0f1b92a7..0000000000 --- a/mingw-w64-v8/0002-OS-TotalPhysicalMemory-needed-for-MinGW-w64-too.patch +++ /dev/null @@ -1,36 +0,0 @@ ---- v8-3.27.34.6/src/platform-win32.cc.orig 2014-07-20 00:07:18.152835800 +0100 -+++ v8-3.27.34.6/src/platform-win32.cc 2014-07-20 00:07:48.888738700 +0100 -@@ -1146,6 +1146,16 @@ - } - - -+#else // __MINGW32__ -+std::vector OS::GetSharedLibraryAddresses() { -+ return std::vector(); -+} -+ -+ -+void OS::SignalCodeMovingGC() { } -+#endif // __MINGW32__ -+ -+ - uint64_t OS::TotalPhysicalMemory() { - MEMORYSTATUSEX memory_info; - memory_info.dwLength = sizeof(memory_info); -@@ -1158,16 +1168,6 @@ - } - - --#else // __MINGW32__ --std::vector OS::GetSharedLibraryAddresses() { -- return std::vector(); --} -- -- --void OS::SignalCodeMovingGC() { } --#endif // __MINGW32__ -- -- - int OS::NumberOfProcessorsOnline() { - SYSTEM_INFO info; - GetSystemInfo(&info); diff --git a/mingw-w64-v8/0002-gn-ninja-deletes-objs-workaround.patch b/mingw-w64-v8/0002-gn-ninja-deletes-objs-workaround.patch new file mode 100644 index 0000000000..613e377f05 --- /dev/null +++ b/mingw-w64-v8/0002-gn-ninja-deletes-objs-workaround.patch @@ -0,0 +1,26 @@ +From 32c7b1cd351061bb4baa2af4f480b1e68997bd9c Mon Sep 17 00:00:00 2001 +From: Biswapriyo Nath +Date: Fri, 14 Aug 2020 09:34:44 +0530 +Subject: [PATCH 3/3] Do not remove output file after compilation + +Signed-off-by: Biswapriyo Nath +--- + build/build_linux.ninja.template | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/build/build_linux.ninja.template b/build/build_linux.ninja.template +index ab117fb..27339a7 100644 +--- a/build/build_linux.ninja.template ++++ b/build/build_linux.ninja.template +@@ -5,7 +5,7 @@ rule cxx + deps = gcc + + rule alink_thin +- command = rm -f $out && $ar rcsT $out $in ++ command = $ar rcsT $out $in + description = AR $out + + rule link +-- +2.27.0 + diff --git a/mingw-w64-v8/0003-Use-soname_version.dll-not-so.soname_version-on-Windows.patch b/mingw-w64-v8/0003-Use-soname_version.dll-not-so.soname_version-on-Windows.patch deleted file mode 100644 index 52ec44104b..0000000000 --- a/mingw-w64-v8/0003-Use-soname_version.dll-not-so.soname_version-on-Windows.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- v8-3.27.34.6/tools/gyp/v8.gyp 2014-07-20 16:13:40.142350400 +0100 -+++ v8-3.27.34.6/tools/gyp/v8.gyp.new 2014-07-20 16:13:24.447357300 +0100 -@@ -91,7 +91,13 @@ - }, - }], - ['soname_version!=""', { -- 'product_extension': 'so.<(soname_version)', -+ 'conditions': [ -+ ['OS=="win"', { -+ 'product_extension': '<(soname_version).dll', -+ }, { -+ 'product_extension': 'so.<(soname_version)', -+ }], -+ ], - }], - ], - }, diff --git a/mingw-w64-v8/0004-Create-an-import-library-on-Windows.patch b/mingw-w64-v8/0004-Create-an-import-library-on-Windows.patch deleted file mode 100644 index 3711f2a8bb..0000000000 --- a/mingw-w64-v8/0004-Create-an-import-library-on-Windows.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- v8-3.27.34.6/tools/gyp/v8.gyp 2014-07-20 16:51:42.314149400 +0100 -+++ v8-3.27.34.6/tools/gyp/v8.gyp.new 2014-07-20 16:48:06.251212900 +0100 -@@ -94,6 +94,7 @@ - 'conditions': [ - ['OS=="win"', { - 'product_extension': '<(soname_version).dll', -+ 'ldflags': ['-Wl,--out-implib,<(PRODUCT_DIR)/libv8.<(soname_version).dll.a'] - }, { - 'product_extension': 'so.<(soname_version)', - }], diff --git a/mingw-w64-v8/0005-Use-gnuish-ccflags-for-gcc-on-Windows.patch b/mingw-w64-v8/0005-Use-gnuish-ccflags-for-gcc-on-Windows.patch deleted file mode 100644 index a32f639fe6..0000000000 --- a/mingw-w64-v8/0005-Use-gnuish-ccflags-for-gcc-on-Windows.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- v8-git-mirror-4.2.47/build/standalone.gypi.orig 2015-02-03 03:26:35.000000000 +0000 -+++ v8-git-mirror-4.2.47/build/standalone.gypi 2015-02-13 11:40:44.605828900 +0000 -@@ -364,6 +364,9 @@ - '_HAS_EXCEPTIONS=0', - ], - }], -+ ['gcc_version!="unknown"', { -+ 'cflags_cc': [ '-Wnon-virtual-dtor', '-fno-rtti', '-std=gnu++0x' ], -+ }], - ], - 'msvs_cygwin_dirs': ['<(DEPTH)/third_party/cygwin'], - 'msvs_disabled_warnings': [4355, 4800], diff --git a/mingw-w64-v8/0006-localtime_s-is-not-needed-for-mingw-w64.patch b/mingw-w64-v8/0006-localtime_s-is-not-needed-for-mingw-w64.patch deleted file mode 100644 index f0c7972e52..0000000000 --- a/mingw-w64-v8/0006-localtime_s-is-not-needed-for-mingw-w64.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- v8-git-mirror-4.2.47/src/base/platform/platform-win32.cc.orig 2015-02-13 12:32:02.012827200 +0000 -+++ v8-git-mirror-4.2.47/src/base/platform/platform-win32.cc 2015-02-13 12:33:09.326827200 +0000 -@@ -42,9 +42,6 @@ - __asm__ __volatile__("xchgl %%eax,%0 ":"=r" (barrier)); - } - --#endif // __MINGW64_VERSION_MAJOR -- -- - int localtime_s(tm* out_tm, const time_t* time) { - tm* posix_local_time_struct = localtime(time); - if (posix_local_time_struct == NULL) return 1; -@@ -52,6 +49,7 @@ - return 0; - } - -+#endif // __MINGW64_VERSION_MAJOR - - int fopen_s(FILE** pFile, const char* filename, const char* mode) { - *pFile = fopen(filename, mode); diff --git a/mingw-w64-v8/PKGBUILD b/mingw-w64-v8/PKGBUILD index 951ff8fb01..a880b9ee3d 100644 --- a/mingw-w64-v8/PKGBUILD +++ b/mingw-w64-v8/PKGBUILD @@ -1,55 +1,105 @@ -# Maintainer: Martell Malone -# Maintainer: Ray Donnelly +# Maintainer: Rodrigo Hernandez _realname=v8 pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=4.3.66 +pkgver=8.3.110.13 pkgrel=1 pkgdesc="Fast and modern Javascript engine (mingw-w64)" arch=('any') -url="https://code.google.com/p/v8" +url="https://v8.dev" license=("BSD") -makedepends=("gyp-svn") -depends=("${MINGW_PACKAGE_PREFIX}-readline" +makedepends=("git" "${MINGW_PACKAGE_PREFIX}-python" "${MINGW_PACKAGE_PREFIX}-ninja") +depends=("${MINGW_PACKAGE_PREFIX}-zlib" "${MINGW_PACKAGE_PREFIX}-icu") -options=('!emptydirs' '!strip') -source=("${_realname}-${pkgver}.tar.gz"::"https://github.com/v8/v8-git-mirror/archive/${pkgver}.tar.gz" - "0000-Disable-USING_V8_SHARED-for-v8_snapshot-static-lib.patch" - "0001-Include-win32-headers-h-before-undef-MemoryBarrier.patch" - "0002-OS-TotalPhysicalMemory-needed-for-MinGW-w64-too.patch" - "0003-Use-soname_version.dll-not-so.soname_version-on-Windows.patch" - "0004-Create-an-import-library-on-Windows.patch" - "0005-Use-gnuish-ccflags-for-gcc-on-Windows.patch" - "0006-localtime_s-is-not-needed-for-mingw-w64.patch" +source=("bare-clones/gn::git+https://gn.googlesource.com/gn#tag=5da62d5e9d0f10cb8ece7c30563a6a214c78b68d" + "bare-clones/v8-${pkgver}::git+https://chromium.googlesource.com/v8/v8.git#tag=${pkgver}" + "bare-clones/build::git+https://chromium.googlesource.com/chromium/src/build.git#commit=26e9d485d01d6e0eb9dadd21df767a63494c8fea" + "bare-clones/zlib::git+https://chromium.googlesource.com/chromium/src/third_party/zlib.git#commit=156be8c52f80cde343088b4a69a80579101b6e67" + "bare-clones/common::git+https://chromium.googlesource.com/chromium/src/base/trace_event/common.git#commit=dab187b372fc17e51f5b9fad8201813d0aed5129" + "bare-clones/googletest::git+https://chromium.googlesource.com/external/github.com/google/googletest.git#commit=10b1902d893ea8cc43c69541d70868f91af3646b" + "bare-clones/jinja2::git+https://chromium.googlesource.com/chromium/src/third_party/jinja2.git#commit=b41863e42637544c2941b574c7877d3e1f663e25" + "bare-clones/markupsafe::git+https://chromium.googlesource.com/chromium/src/third_party/markupsafe.git#commit=8f45f5cfa0009d2a70589bcda0349b8cb2b72783" + "0000-add-mingw-main-code-changes.patch" + "0001-add-mingw-toolchain.patch" + "0002-gn-ninja-deletes-objs-workaround.patch" + "icu.gn" + "zlib.gn" + "v8_libbase.pc" + "v8_libplatform.pc" "v8.pc") -sha256sums=('e9b96faa48d27c5a7f5694fc559cbdec67c954d44a8fbe3b6dd13cea4ca04553' - '7c0857c7f6e9ab294ea0b9e13290e09684afb5fa1d52f947949e9f34167c4545' - 'd1687f7b5d20d0cfc3a86487d4078069f6ebb6f8deddb979054930f6f6e04efa' - '83f113a8b97515dd402ca4a790fba127b8332dbd35475a0cb311e0f2196509bf' - 'a80566a3f3c394d60c45cc76b2e35f0757b624150e676abde67b1592623a3f2c' - '726cbcae0219fea324b5215bf5287c0b5de7e8354899057a40b6c2b46d590b02' - '14c0c03f5ad6cb8ff9c39841a03c088106a561983bada6e4fbb71e2494f05ad8' - '024d8d96717d6c649528ea7bb03f3c3926221713942b852c4fbef6c9f5a840f6' - '1b719bc6ac9a853fbf7ce47da63171aefa1a8b8556119edd5065d54cd927d1fd') +sha256sums=('SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'b167aaa26ad03b301740221a6964173110e4015788da3d444aca35a8920daac4' + '01a051d1b356d319bb4932e774e72ac1916362c2027ce3bb639eca0368ff0f1e' + 'b831576af25b275fca72851ec275c9d21bee0be29b4eb973a3e2a2580deac003' + '84719a160ec84ec1112bd46787f48bff2b12d642964bc6598e5b4e958ad911b5' + '9ea4fc33630cf7e3af1e5b086909f85e5e37ab952a52568047608b9ceb891d7f' + 'fbddbe4849b623afb320472aab316c9a08b54182161b6b4911cb7ef7d65e2b0e' + 'ca81528892f0e02fe7ecd159568610221fb8d0df109d9d0dbdfa00c1284dd0fc' + '579e199a798ff76b72a5b17380a3cd09d361cb7cee99403090c3a266d1b2e527') prepare() { - cd "${srcdir}"/v8-${pkgver} - patch -p1 -i ${srcdir}/0000-Disable-USING_V8_SHARED-for-v8_snapshot-static-lib.patch - patch -p1 -i ${srcdir}/0001-Include-win32-headers-h-before-undef-MemoryBarrier.patch -# patch -p1 -i ${srcdir}/0002-OS-TotalPhysicalMemory-needed-for-MinGW-w64-too.patch - patch -p1 -i ${srcdir}/0003-Use-soname_version.dll-not-so.soname_version-on-Windows.patch - patch -p1 -i ${srcdir}/0004-Create-an-import-library-on-Windows.patch - patch -p1 -i ${srcdir}/0005-Use-gnuish-ccflags-for-gcc-on-Windows.patch - patch -p1 -i ${srcdir}/0006-localtime_s-is-not-needed-for-mingw-w64.patch + echo "Preparing GN source" + cd "${srcdir}"/gn + git apply ${srcdir}/0002-gn-ninja-deletes-objs-workaround.patch + python build/gen.py --out-path=out/${CARCH} --platform=mingw - msg 'Fixing: python -> python2' - #find -type f -exec sed -e 's_^#!/usr/bin/env python$_&2_' -e 's_^\(#!/usr/bin/env python2\).[45]$_\1_' -e 's_^#!/usr/bin/python$_&2_' -e "s_'python'_'python2'_" -i {} \; - find test -type f -exec sed -e "s|python |python2 |" -i {} \; - sed -i "s|python |python2 |" Makefile - sed -i "s|python |python2 |" build/toolchain.gypi + echo "Patching v8 source" + cd "${srcdir}"/v8-${pkgver} + git apply ${srcdir}/0000-add-mingw-main-code-changes.patch + + echo "Patching build directory" + cd "${srcdir}"/build + git apply ${srcdir}/0001-add-mingw-toolchain.patch + python "${srcdir}"/build/util/lastchange.py -o "${srcdir}"/build/util/LASTCHANGE + rm -rf "${srcdir}"/v8-${pkgver}/build + ln -sf "${srcdir}"/build "${srcdir}"/v8-${pkgver} + + echo "Patching zlib directory" + mkdir -p "${srcdir}"/v8-${pkgver}/third_party/zlib + ln -sf "${srcdir}"/zlib.gn "${srcdir}"/v8-${pkgver}/third_party/zlib/BUILD.gn + rm -rf "${srcdir}"/v8-${pkgver}/third_party/zlib/google + ln -sf "${srcdir}"/zlib/google "${srcdir}"/v8-${pkgver}/third_party/zlib + + echo "Patching icu directory" + mkdir -p "${srcdir}"/v8-${pkgver}/third_party/icu + ln -sf "${srcdir}"/icu.gn "${srcdir}"/v8-${pkgver}/third_party/icu/BUILD.gn + + echo "Soft linking extra repos" + mkdir -p ${srcdir}/v8-${pkgver}/base/trace_event + rm -rf ${srcdir}/v8-${pkgver}/base/trace_event/common + ln -sf "${srcdir}"/common ${srcdir}/v8-${pkgver}/base/trace_event + rm -rf "${srcdir}"/v8-${pkgver}/third_party/googletest/src + ln -sf "${srcdir}"/googletest "${srcdir}"/v8-${pkgver}/third_party/googletest/src + rm -rf "${srcdir}"/v8-${pkgver}/third_party/jinja2 + ln -sf "${srcdir}"/jinja2 "${srcdir}"/v8-${pkgver}/third_party + rm -rf "${srcdir}"/v8-${pkgver}/third_party/markupsafe + ln -sf "${srcdir}"/markupsafe "${srcdir}"/v8-${pkgver}/third_party + + _cflags="-DV8_COMPRESS_POINTERS" + case ${CARCH} in + x86_64) + _cflags="$_cflags -DV8_31BIT_SMIS_ON_64BIT_ARCH" + ;; + esac + + sed "s/@VERSION@/$pkgver/g" -i "$srcdir/v8_libbase.pc" + sed "s/@CFLAGS@/$_cflags/g" -i "$srcdir/v8_libbase.pc" + sed "s|^prefix=.*|prefix=${MINGW_PREFIX}|g" -i "$srcdir/v8_libbase.pc" + + sed "s/@VERSION@/$pkgver/g" -i "$srcdir/v8_libplatform.pc" + sed "s/@CFLAGS@/$_cflags/g" -i "$srcdir/v8_libplatform.pc" + sed "s|^prefix=.*|prefix=${MINGW_PREFIX}|g" -i "$srcdir/v8_libplatform.pc" sed "s/@VERSION@/$pkgver/g" -i "$srcdir/v8.pc" + sed "s/@CFLAGS@/$_cflags/g" -i "$srcdir/v8.pc" sed "s|^prefix=.*|prefix=${MINGW_PREFIX}|g" -i "$srcdir/v8.pc" } @@ -59,34 +109,30 @@ build() { BUILDTYPE="Debug" fi - export PYTHON=/usr/bin/python2 - - mkdir -p "${srcdir}/build-${CARCH}" - case ${CARCH} in i686) - _arch=ia32 + _arch=x86 ;; x86_64) _arch=x64 ;; esac + case ${BUILDTYPE} in + Release) + _is_debug=false + ;; + Debug) + _is_debug=true + ;; + esac + + export DEPOT_TOOLS_WIN_TOOLCHAIN=0 + cd "${srcdir}"/gn + ninja -C out/${CARCH} + cd "${srcdir}"/v8-${pkgver} - - GYP_GENERATORS=make \ - $PYTHON build/gyp_v8 \ - -Dv8_enable_i18n_support=true \ - -Duse_system_icu=1 \ - -Dconsole=readline \ - -Dcomponent=shared_library \ - -Dsoname_version=${pkgver} \ - -Dv8_target_arch=${_arch} \ - -Dgcc_version=49 \ - --generator-output=out \ - -f make - - LINK=g++ make -C out builddir="${PWD}/out/${BUILDTYPE}-${CARCH}" BUILDTYPE=${BUILDTYPE} mksnapshot V=1 - LINK=g++ make -C out builddir="${PWD}/out/${BUILDTYPE}-${CARCH}" BUILDTYPE=${BUILDTYPE} V=1 + "${srcdir}"/gn/out/${CARCH}/gn gen "${PWD}/out/${BUILDTYPE}-${CARCH}" --args="is_debug=${_is_debug} is_component_build=true target_cpu=\"${_arch}\" is_clang=false use_custom_libcxx=false v8_enable_verify_heap=false icu_use_data_file=false enable_iterator_debugging=${_is_debug} v8_use_external_startup_data=true" + ninja -C "${PWD}/out/${BUILDTYPE}-${CARCH}" :v8_libbase :v8_libplatform :v8 :d8 :torque :torque-language-server :mksnapshot } check() { @@ -95,7 +141,6 @@ check() { if check_option "debug" "y"; then BUILDTYPE="Debug" fi -# tools/run-tests.py --no-presubmit --outdir=out --buildbot --arch=$ARCH --mode=${BUILDTYPE} --progress=dots } package() { @@ -106,16 +151,24 @@ package() { fi install -d "$pkgdir"/${MINGW_PREFIX}/bin - install -Dm755 out/${BUILDTYPE}-${CARCH}/d8 "$pkgdir"/${MINGW_PREFIX}/bin/d8 - install -Dm755 out/${BUILDTYPE}-${CARCH}/lib.target/*.dll "$pkgdir"/${MINGW_PREFIX}/bin/ + install -Dm755 out/${BUILDTYPE}-${CARCH}/d8.exe "$pkgdir"/${MINGW_PREFIX}/bin/d8.exe + install -Dm755 out/${BUILDTYPE}-${CARCH}/torque.exe "$pkgdir"/${MINGW_PREFIX}/bin/torque.exe + install -Dm755 out/${BUILDTYPE}-${CARCH}/torque-language-server.exe "$pkgdir"/${MINGW_PREFIX}/bin/torque-language-server.exe + install -Dm755 out/${BUILDTYPE}-${CARCH}/mksnapshot.exe "$pkgdir"/${MINGW_PREFIX}/bin/mksnapshot.exe + install -Dm755 out/${BUILDTYPE}-${CARCH}/*.dll "$pkgdir"/${MINGW_PREFIX}/bin/ + install -Dm644 out/${BUILDTYPE}-${CARCH}/snapshot_blob.bin "$pkgdir"/${MINGW_PREFIX}/bin/snapshot_blob.bin install -d "$pkgdir"/${MINGW_PREFIX}/lib install -Dm755 out/${BUILDTYPE}-${CARCH}/*.a "$pkgdir"/${MINGW_PREFIX}/lib/ install -d "$pkgdir"/${MINGW_PREFIX}/include install -Dm644 include/*.h "$pkgdir"/${MINGW_PREFIX}/include + install -d "$pkgdir"/${MINGW_PREFIX}/include/libplatform + install -Dm644 include/libplatform/*.h "$pkgdir"/${MINGW_PREFIX}/include/libplatform install -d "$pkgdir"/${MINGW_PREFIX}/lib/pkgconfig + install -m644 "$srcdir/v8_libbase.pc" "$pkgdir"/${MINGW_PREFIX}/lib/pkgconfig/ + install -m644 "$srcdir/v8_libplatform.pc" "$pkgdir"/${MINGW_PREFIX}/lib/pkgconfig/ install -m644 "$srcdir/v8.pc" "$pkgdir"/${MINGW_PREFIX}/lib/pkgconfig/ install -d "$pkgdir"/${MINGW_PREFIX}/share/licenses/v8 diff --git a/mingw-w64-v8/icu.gn b/mingw-w64-v8/icu.gn new file mode 100644 index 0000000000..615efc5512 --- /dev/null +++ b/mingw-w64-v8/icu.gn @@ -0,0 +1,66 @@ + +declare_args() { + # Tells icu to load an external data file rather than rely on the icudata + # being linked directly into the binary. + icu_use_data_file = true + # If true, compile icu into a standalone static library. Currently this is + # only useful on Chrome OS. + icu_disable_thin_archive = false +} + +import("//build/config/linux/pkg_config.gni") + +group("icu") { + public_deps = [ + ":icui18n", + ":icuuc", + ] +} + +config("icu_config") { + defines = [ + "USING_SYSTEM_ICU=1", + ] + if(is_win){ + if(!is_component_build && !is_mingw) { + ldflags = ["/ignore:4099"] # needed on CI builds + } + defines += [ "UCHAR_TYPE=wchar_t" ] + } + else{ + defines += [ "UCHAR_TYPE=uint16_t" ] + } + if (icu_use_data_file) { + defines += [ "ICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE" ] + } else { + defines += [ "ICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_STATIC" ] + } +} + +pkg_config("system_icui18n") { + packages = [ "icu-i18n" ] +} + +pkg_config("system_icuuc") { + packages = [ "icu-uc" ] +} + +source_set("icui18n") { + public_configs = [ + ":icu_config", + ":system_icui18n", + ] +} + +source_set("icuuc") { + public_configs = [ + ":icu_config", + ":system_icuuc", + ] +} + +source_set("icudata") { + public_configs = [ + ":icu_config", + ] +} diff --git a/mingw-w64-v8/v8.pc b/mingw-w64-v8/v8.pc index 3baa3c9c5d..f3ba8bae7e 100644 --- a/mingw-w64-v8/v8.pc +++ b/mingw-w64-v8/v8.pc @@ -6,5 +6,6 @@ includedir=${prefix}/include Name: v8 Description: V8 JavaScript Engine Version: @VERSION@ -Libs: -L${libdir} -lv8.@VERSION@ -Cflags: -I${includedir} +Requires: zlib, icu-uc, icu-i18n, v8_libbase = @VERSION@ +Libs: -L${libdir} -lv8 +Cflags: -I${includedir} @CFLAGS@ diff --git a/mingw-w64-v8/v8_libbase.pc b/mingw-w64-v8/v8_libbase.pc new file mode 100644 index 0000000000..4e8516bfe5 --- /dev/null +++ b/mingw-w64-v8/v8_libbase.pc @@ -0,0 +1,10 @@ +prefix= +exec_prefix=${prefix} +libdir=${prefix}/lib +includedir=${prefix}/include + +Name: v8 +Description: V8 JavaScript Engine - Base library +Version: @VERSION@ +Libs: -L${libdir} -lv8_libbase +Cflags: -I${includedir} @CFLAGS@ diff --git a/mingw-w64-v8/v8_libplatform.pc b/mingw-w64-v8/v8_libplatform.pc new file mode 100644 index 0000000000..d1e9518f3b --- /dev/null +++ b/mingw-w64-v8/v8_libplatform.pc @@ -0,0 +1,10 @@ +prefix= +exec_prefix=${prefix} +libdir=${prefix}/lib +includedir=${prefix}/include + +Name: v8 +Description: V8 JavaScript Engine - Platform library +Version: @VERSION@ +Libs: -L${libdir} -lv8_libplatform +Cflags: -I${includedir} @CFLAGS@ diff --git a/mingw-w64-v8/zlib.gn b/mingw-w64-v8/zlib.gn new file mode 100644 index 0000000000..66e44ab9a7 --- /dev/null +++ b/mingw-w64-v8/zlib.gn @@ -0,0 +1,19 @@ +import("//build/config/linux/pkg_config.gni") + +pkg_config("system_zlib") { + packages = [ "zlib" ] +} + +config("zlib_config") { + if(is_win && !is_component_build && !is_mingw) { + ldflags = ["/ignore:4099"] # needed on CI builds + } + defines = [ "USE_SYSTEM_ZLIB=1" ] + configs = [ ":system_zlib" ] +} + +source_set("zlib") { + public_configs = [ + ":zlib_config", + ":system_zlib" ] +} From 338affeac5396217698be4a19566c9a73ba4d05e Mon Sep 17 00:00:00 2001 From: Andrew Sun Date: Sat, 22 Aug 2020 20:00:41 -0400 Subject: [PATCH 033/130] alembic: update to 1.7.14 --- ...0001-alembic-1.7.9-fix-windows-build.patch | 45 +++++-------------- mingw-w64-alembic/PKGBUILD | 8 ++-- 2 files changed, 15 insertions(+), 38 deletions(-) diff --git a/mingw-w64-alembic/0001-alembic-1.7.9-fix-windows-build.patch b/mingw-w64-alembic/0001-alembic-1.7.9-fix-windows-build.patch index cc88877276..a1393d465d 100644 --- a/mingw-w64-alembic/0001-alembic-1.7.9-fix-windows-build.patch +++ b/mingw-w64-alembic/0001-alembic-1.7.9-fix-windows-build.patch @@ -1,6 +1,5 @@ -diff -Naur alembic-1.7.9.orig/CMakeLists.txt alembic-1.7.9/CMakeLists.txt ---- alembic-1.7.9.orig/CMakeLists.txt 2018-10-12 16:57:06.166681500 -0400 -+++ alembic-1.7.9/CMakeLists.txt 2018-10-12 16:59:47.472179600 -0400 +--- a/CMakeLists.txt 2020-08-22 19:38:01.472003600 -0400 ++++ b/CMakeLists.txt 2020-08-22 19:41:50.743299400 -0400 @@ -80,7 +80,11 @@ # Set static/dynamic build options @@ -14,39 +13,17 @@ diff -Naur alembic-1.7.9.orig/CMakeLists.txt alembic-1.7.9/CMakeLists.txt SET(LIBRARY_INSTALL_DIR lib) SET(ARCHIVE_INSTALL_DIR lib) IF (ALEMBIC_SHARED_LIBS) -@@ -135,25 +139,15 @@ - - # Set some debug vs opt flags - IF ("${CMAKE_BUILD_TYPE}" MATCHES "Debug") -- ADD_DEFINITIONS(-DDEBUG=1 -UNDEBUG) -- IF (NOT WINDOWS) -- ADD_DEFINITIONS(-Wall -Werror -Wextra -Wno-unused-parameter) -- ENDIF() -+ ADD_DEFINITIONS(-DDEBUG=1 -UNDEBUG -Wall -Werror -Wextra -Wno-unused-parameter) - ELSEIF ("${CMAKE_BUILD_TYPE}" MATCHES "Release") -- ADD_DEFINITIONS(-DNDEBUG=1 -UDEBUG) -- IF (NOT WINDOWS) -- ADD_DEFINITIONS(-O3) -- ENDIF() -+ ADD_DEFINITIONS(-DNDEBUG=1 -UDEBUG -O3) - ENDIF() +@@ -142,7 +146,7 @@ + endif() + endif() -IF (NOT ${WINDOWS}) -- SET(EXTERNAL_MATH_LIBS "-lm") --ELSE() -- SET(EXTERNAL_MATH_LIBS "") --ENDIF() -+SET(EXTERNAL_MATH_LIBS "-lm") - - IF (${WINDOWS}) -- SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc") -+ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") - IF (MSVC) - IF ((CMAKE_CXX_COMPILER_VERSION VERSION_LESS 16) AND - (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 15)) -diff -Naur alembic-1.7.9.orig/lib/Alembic/CMakeLists.txt alembic-1.7.9/lib/Alembic/CMakeLists.txt ---- alembic-1.7.9.orig/lib/Alembic/CMakeLists.txt 2018-10-12 16:57:05.824799900 -0400 -+++ alembic-1.7.9/lib/Alembic/CMakeLists.txt 2018-10-12 17:02:05.467135400 -0400 ++IF (NOT MSVC) + SET(EXTERNAL_MATH_LIBS "-lm") + ELSE() + SET(EXTERNAL_MATH_LIBS "") +--- a/lib/Alembic/CMakeLists.txt 2018-10-12 16:57:05.824799900 -0400 ++++ b/lib/Alembic/CMakeLists.txt 2018-10-12 17:02:05.467135400 -0400 @@ -86,11 +86,12 @@ ENDIF() diff --git a/mingw-w64-alembic/PKGBUILD b/mingw-w64-alembic/PKGBUILD index 3fcad80a90..3b5bb7f79c 100644 --- a/mingw-w64-alembic/PKGBUILD +++ b/mingw-w64-alembic/PKGBUILD @@ -3,8 +3,8 @@ _realname=alembic pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") -pkgver=1.7.12 -pkgrel=2 +pkgver=1.7.14 +pkgrel=1 pkgdesc="A open framework for storing and sharing scene data (mingw-w64)" arch=('any') url="https://www.alembic.io/" @@ -18,8 +18,8 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-cmake" source=("${_realname}-${pkgver}.tar.gz"::"https://github.com/alembic/${_realname}/archive/${pkgver}.tar.gz" "0001-alembic-1.7.9-fix-windows-build.patch" "0002-alembic-1.7.9-remove-msc_ver-and-fix-builtins-and-includes.patch") -sha512sums=('e05e0b24056c17f01784ced1f9606a269974de195f1aca8a6fce2123314e7ee609f70df77ac7fe18dc7f0c04fb883d38cc7de9b963caacf9586aaa24d4ac6210' - 'e06598a65b61c89b2e7a4403abfef0ab763c8579e901382289c22a0418ce26408df64703b6e30ac380fa8c7f2a0ad2a97b69b6d5b1b8cf598d135cef9ee3afe1' +sha512sums=('b1ccef300516c1ad998f0b76094982faf06aa5f6054e117afc59e3a04ba9618d0b13649689f28b785289e0ee0ed59c4ffd5e2374b441d047f8384cd4d73f481c' + '29d6d68e7b82b8d71b6d29b83d846e3c2e11369e2ff7b99c84053b8e7c27cf8a09d451069c918613fd0f9adb8f6df763434a089704253e2985c16f8829fcfb9f' 'e3f69356519d000004d68836c09340a78830c671f00bd9e317d798fa91b72c4d879e938ab2fc1e935775c193b9622dca2c42327aff5ee3d0e185e3a1a402a9d9') prepare() { From 909d90f61d73e6073d4b8ac80753b5ad631b0340 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wolfgang=20St=C3=B6ggl?= Date: Sun, 23 Aug 2020 09:54:34 +0200 Subject: [PATCH 034/130] libid3tag: fix build - add 006-libid3tag-0.15.1b-gperf-size_t.patch Fixes the following error: frametype.gperf:322:1: error: conflicting types for 'id3_frametype_lookup' In file included from frametype.gperf:32: ../libid3tag-0.15.1b/frametype.h:39:29: note: previous declaration of 'id3_frametype_lookup' was here 39 | struct id3_frametype const *id3_frametype_lookup(register - remove compat.c and frametype.c from the source dir, so that they are regenerated from the .gperf sources during build. The files compat.c and frametype.c in the tarball have been produced using gperf 3.0.1, whereas in the meantime gperf is at version 3.1 - Fix version in id3tag.pc --- .../006-libid3tag-0.15.1b-gperf-size_t.patch | 25 +++++++++++++++++++ mingw-w64-libid3tag/PKGBUILD | 10 ++++++-- mingw-w64-libid3tag/id3tag.pc | 2 +- 3 files changed, 34 insertions(+), 3 deletions(-) create mode 100644 mingw-w64-libid3tag/006-libid3tag-0.15.1b-gperf-size_t.patch diff --git a/mingw-w64-libid3tag/006-libid3tag-0.15.1b-gperf-size_t.patch b/mingw-w64-libid3tag/006-libid3tag-0.15.1b-gperf-size_t.patch new file mode 100644 index 0000000000..588bde9c3d --- /dev/null +++ b/mingw-w64-libid3tag/006-libid3tag-0.15.1b-gperf-size_t.patch @@ -0,0 +1,25 @@ +Index: libid3tag-0.15.1b/frametype.h +=================================================================== +--- libid3tag-0.15.1b.orig/frametype.h ++++ libid3tag-0.15.1b/frametype.h +@@ -37,6 +37,6 @@ extern struct id3_frametype const id3_fr + extern struct id3_frametype const id3_frametype_obsolete; + + struct id3_frametype const *id3_frametype_lookup(register char const *, +- register unsigned int); ++ register size_t); + + # endif +Index: libid3tag-0.15.1b/compat.h +=================================================================== +--- libid3tag-0.15.1b.orig/compat.h ++++ libid3tag-0.15.1b/compat.h +@@ -34,7 +34,7 @@ struct id3_compat { + }; + + struct id3_compat const *id3_compat_lookup(register char const *, +- register unsigned int); ++ register size_t); + + int id3_compat_fixup(struct id3_tag *); + diff --git a/mingw-w64-libid3tag/PKGBUILD b/mingw-w64-libid3tag/PKGBUILD index 49faa11cca..c360e81fba 100644 --- a/mingw-w64-libid3tag/PKGBUILD +++ b/mingw-w64-libid3tag/PKGBUILD @@ -4,7 +4,7 @@ _realname=libid3tag pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" pkgver=0.15.1b -pkgrel=1 +pkgrel=2 pkgdesc="Library for id3 tagging (mingw-w64)" arch=('any') url="https://www.underbit.com/products/mad/" @@ -19,6 +19,7 @@ source=(#"ftp://ftp.mars.org/pub/mpeg/${_realname}-${pkgver}.tar.gz" '10_utf16.patch' '11_unknown_encoding.patch' 'CVE-2008-2109.patch' + '006-libid3tag-0.15.1b-gperf-size_t.patch' 'id3tag.pc' ) sha256sums=('63da4f6e7997278f8a3fef4c6a372d342f705051d1eeb6a46a86b03610e26151' @@ -27,7 +28,8 @@ sha256sums=('63da4f6e7997278f8a3fef4c6a372d342f705051d1eeb6a46a86b03610e26151' '8aa2ef25a6560d5f82e8f1b06c080bf7bb507d63098915b9aa6614684f44af0f' 'f58b782bef23fe393b992b74ef2fe4c5f7715b971faf9e048e65f8eb020b0c1a' '43ea3e0b324fb25802dae6410564c947ce1982243c781ef54b023f060c3b0ac4' - '224815cbbaaf8008061fca9a65524629eec4dbd4dc7f4db35645e0c89b30f37d') + 'e85136f6f907c5e5f8f04ce5d125316ffbfc215f84cd06eea4196b651184fe89' + '12c59fd85e1e327c96e33457e71d41018e6200cd0d567c0fc7556328f88a8f23') prepare() { cd "${srcdir}/${_realname}-${pkgver}" @@ -36,10 +38,14 @@ prepare() { patch -p1 -i ${srcdir}/10_utf16.patch patch -p1 -i ${srcdir}/11_unknown_encoding.patch patch -Np0 -i ${srcdir}/CVE-2008-2109.patch + patch -p1 -i ${srcdir}/006-libid3tag-0.15.1b-gperf-size_t.patch touch NEWS AUTHORS ChangeLog rm aclocal.m4 rm Makefile.in + # Force these files to be regenerated from the .gperf sources. + rm compat.c frametype.c + autoreconf -fi } diff --git a/mingw-w64-libid3tag/id3tag.pc b/mingw-w64-libid3tag/id3tag.pc index 82700bb4ec..b7b1c682be 100644 --- a/mingw-w64-libid3tag/id3tag.pc +++ b/mingw-w64-libid3tag/id3tag.pc @@ -5,6 +5,6 @@ includedir=${prefix}/include Name: ID3TAG Description: libid3tag - ID3 tag manipulation library -Version: 0.15.0b +Version: 0.15.1b Libs: -L${libdir} -lid3tag -lz Cflags: \ No newline at end of file From a6097db13051382279933d47429d104ad4f64b52 Mon Sep 17 00:00:00 2001 From: Jannick Date: Sun, 23 Aug 2020 11:45:39 +0200 Subject: [PATCH 035/130] leptonica: Update to 1.80.0 --- mingw-w64-leptonica/PKGBUILD | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/mingw-w64-leptonica/PKGBUILD b/mingw-w64-leptonica/PKGBUILD index 1db61fe2ba..f3927253e3 100644 --- a/mingw-w64-leptonica/PKGBUILD +++ b/mingw-w64-leptonica/PKGBUILD @@ -3,8 +3,8 @@ _realname=leptonica pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") -pkgver=1.79.0 -pkgrel=2 +pkgver=1.80.0 +pkgrel=1 pkgdesc="Leptonica library (mingw-w64)" arch=('any') url="http://www.leptonica.org" @@ -20,7 +20,7 @@ depends=(${MINGW_PACKAGE_PREFIX}-gcc-libs ${MINGW_PACKAGE_PREFIX}-zlib) options=('!libtool' 'strip') source=(https://github.com/DanBloomberg/leptonica/releases/download/${pkgver}/${_realname}-${pkgver}.tar.gz) -sha256sums=('045966c9c5d60ebded314a9931007a56d9d2f7a6ac39cb5cc077c816f62300d8') +sha256sums=('ec9c46c2aefbb960fb6a6b7f800fe39de48343437b6ce08e30a8d9688ed14ba4') prepare() { cd "${srcdir}/${_realname}-${pkgver}" @@ -30,7 +30,7 @@ build() { [[ -d "${srcdir}/build-${CARCH}" ]] && rm -rf "${srcdir}/build-${CARCH}" mkdir -p "${srcdir}/build-${CARCH}" && cd "${srcdir}/build-${CARCH}" CFLAGS+=" -DMINIMUM_SEVERITY=L_SEVERITY_WARNING" - ../${_realname}-${pkgver}/configure \ + ../${_realname}-${pkgver}/configure -C \ --disable-dependency-tracking \ --disable-silent-rules \ --build=${MINGW_CHOST} \ From 6db0c86182797dbed7ecd3cd79b88b66ff5c5fcf Mon Sep 17 00:00:00 2001 From: Biswapriyo Nath Date: Mon, 24 Aug 2020 02:32:15 +0530 Subject: [PATCH 036/130] re2: update to 20200801 Changes: * Use cmake command to build, test and install. * Add extra option to select debug build type. --- mingw-w64-re2/PKGBUILD | 35 +++++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/mingw-w64-re2/PKGBUILD b/mingw-w64-re2/PKGBUILD index 40eae5cbe5..06322f059c 100644 --- a/mingw-w64-re2/PKGBUILD +++ b/mingw-w64-re2/PKGBUILD @@ -3,7 +3,7 @@ _realname=re2 pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -_pkgver=2020-04-01 +_pkgver=2020-08-01 pkgver=${_pkgver//-/} pkgrel=1 pkgdesc="A fast, safe, thread-friendly alternative to backtracking regular expression engines like those used in PCRE, Perl, and Python (mingw-w64)" @@ -15,7 +15,7 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-cmake" "make" "${MINGW_PACKAGE_PREFIX}-gcc") source=(${_realname}-${_pkgver}.tar.gz::https://github.com/google/re2/archive/${_pkgver}.tar.gz) -sha256sums=('98794bc5416326817498384a9c43cbb5a406bab8da9f84f83c39ecad43ed5cea') +sha256sums=('6f4c8514249cd65b9e85d3e6f4c35595809a63ad71c5d93083e4d1dcdf9e0cd6') # Helper macros to help make tasks easier # apply_patch_with_msg() { @@ -31,55 +31,62 @@ prepare() { } build() { + declare -a _extra_config + if check_option "debug" "n"; then + _extra_config+=("-DCMAKE_BUILD_TYPE=Release") + else + _extra_config+=("-DCMAKE_BUILD_TYPE=Debug") + fi + msg2 "Build static for ${MINGW_CHOST}" [[ -d "${srcdir}/build-${MINGW_CHOST}-static" ]] && rm -rf "${srcdir}/build-${MINGW_CHOST}-static" - mkdir -p "${srcdir}/build-${MINGW_CHOST}-static" - cd "${srcdir}/build-${MINGW_CHOST}-static" + mkdir -p "${srcdir}/build-${MINGW_CHOST}-static" && cd "${srcdir}/build-${MINGW_CHOST}-static" MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \ ${MINGW_PREFIX}/bin/cmake \ -G "MSYS Makefiles" \ -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ - -DCMAKE_BUILD_TYPE=Release \ + "${_extra_config[@]}" \ -DRE2_BUILD_TESTING=ON \ -DBUILD_SHARED_LIBS=OFF \ ../${_realname}-${_pkgver} - make -j1 + +${MINGW_PREFIX}/bin/cmake --build ./ msg2 "Build shared for ${MINGW_CHOST}" [[ -d "${srcdir}/build-${MINGW_CHOST}-shared" ]] && rm -rf "${srcdir}/build-${MINGW_CHOST}-shared" - mkdir -p "${srcdir}/build-${MINGW_CHOST}-shared" - cd "${srcdir}/build-${MINGW_CHOST}-shared" + mkdir -p "${srcdir}/build-${MINGW_CHOST}-shared" && cd "${srcdir}/build-${MINGW_CHOST}-shared" MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \ ${MINGW_PREFIX}/bin/cmake \ -G "MSYS Makefiles" \ -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ - -DCMAKE_BUILD_TYPE=Release \ + "${_extra_config[@]}" \ -DRE2_BUILD_TESTING=ON \ -DBUILD_SHARED_LIBS=ON \ ../${_realname}-${_pkgver} - make -j1 + +${MINGW_PREFIX}/bin/cmake --build ./ } check() { msg2 "Tests static for ${MINGW_CHOST}" cd "${srcdir}/build-${MINGW_CHOST}-static" - make test + ${MINGW_PREFIX}/bin/ctest ./ || true msg2 "Tests shared for ${MINGW_CHOST}" cd "${srcdir}/build-${MINGW_CHOST}-shared" - make test + ${MINGW_PREFIX}/bin/ctest ./ || true } package() { msg2 "Install static for ${MINGW_CHOST}" cd "${srcdir}/build-${MINGW_CHOST}-static" - make DESTDIR="${pkgdir}" install + DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/cmake --build ./ --target install msg2 "Install shared for ${MINGW_CHOST}" cd "${srcdir}/build-${MINGW_CHOST}-shared" - make DESTDIR="${pkgdir}" install + DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/cmake --build ./ --target install cd "${srcdir}/${_realname}-${_pkgver}" install -Dm644 LICENSE "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE" From 3c8945de1a28724bd0d8f83294671ccdb1cb7464 Mon Sep 17 00:00:00 2001 From: 106062316 Date: Mon, 24 Aug 2020 20:45:40 +0800 Subject: [PATCH 037/130] nasm: update to 2.15.04 --- mingw-w64-nasm/PKGBUILD | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mingw-w64-nasm/PKGBUILD b/mingw-w64-nasm/PKGBUILD index fed85f81f3..019bf128b8 100644 --- a/mingw-w64-nasm/PKGBUILD +++ b/mingw-w64-nasm/PKGBUILD @@ -3,7 +3,7 @@ _realname=nasm pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=2.15.03 +pkgver=2.15.04 pkgrel=1 pkgdesc="An 80x86 assembler designed for portability and modularity (mingw-w64)" arch=('any') @@ -12,7 +12,7 @@ url="https://www.nasm.us" options=('strip' '!libtool' 'staticlibs' '!makeflags') makedepends=("${MINGW_PACKAGE_PREFIX}-gcc" "${MINGW_PACKAGE_PREFIX}-pkg-config") source=(https://www.nasm.us/pub/nasm/releasebuilds/${pkgver}/${_realname}-${pkgver}.tar.xz) -sha256sums=('c0c39a305f08ccf0c5c6edba4294dd2851b3925b6d9642dd1efd62f72829822f') +sha256sums=('b0891d23aa083546e7845dfaa0a9109a03f1f57ad0740e7acd07f80df57876d8') build() { [[ -d ${srcdir}/build-${MINGW_CHOST} ]] && rm -rf ${srcdir}/build-${MINGW_CHOST} From bfedbf133c00ea79617c8036c74271ad1ab167d0 Mon Sep 17 00:00:00 2001 From: Bjoern Lemke Date: Mon, 24 Aug 2020 15:55:41 +0200 Subject: [PATCH 038/130] cego : update to version 2.45.19 --- mingw-w64-cego/PKGBUILD | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mingw-w64-cego/PKGBUILD b/mingw-w64-cego/PKGBUILD index b557f189c8..2facf05336 100644 --- a/mingw-w64-cego/PKGBUILD +++ b/mingw-w64-cego/PKGBUILD @@ -2,7 +2,7 @@ _realname=cego pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") -pkgver=2.45.17 +pkgver=2.45.19 pkgrel=1 pkgdesc="Cego database system (mingw-w64)" arch=('any') @@ -15,7 +15,7 @@ depends=("${MINGW_PACKAGE_PREFIX}-readline" makedepends=("${MINGW_PACKAGE_PREFIX}-gcc") -sha256sums=('98bce71526625817ca8ea0f1e01ee3e2da15c44ecac98bc4f693d0165cb760a3') +sha256sums=('e127118a023d9bc3fd5e48ef2dc146b03600b0f94bf56aa3310c21df0c002ecf') prepare() { cd $srcdir/${_realname}-${pkgver} From 6151a0d8ea5d1f9b308208c6466690b83a985dfb Mon Sep 17 00:00:00 2001 From: Jeroen Ooms Date: Tue, 25 Aug 2020 00:15:43 +0200 Subject: [PATCH 039/130] Fix artifacts uploading --- .github/workflows/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index d02b9c8341..fa1b4857c5 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -41,10 +41,10 @@ jobs: uses: actions/upload-artifact@v2 with: name: ${{ matrix.msystem }}-packages - path: artifacts/*.pkg.tar.* + path: C:/_/artifacts/*.pkg.tar.* - name: "Upload sources" uses: actions/upload-artifact@v2 with: name: sources - path: artifacts/*.src.tar.* + path: C:/_/artifacts/*.src.tar.* From 5995a3a0e08f2508844e9f853c24cc06e0f815eb Mon Sep 17 00:00:00 2001 From: rakslice Date: Mon, 24 Aug 2020 16:09:24 -0700 Subject: [PATCH 040/130] Add patch based on "Don't duplicate Libs in Libs.private in pkg-config file" (SDL hg changeset fc03d19926ed) --- ...-dont-duplicate-libs-in-libs-private.patch | 62 +++++++++++++++++++ mingw-w64-SDL2/PKGBUILD | 7 ++- 2 files changed, 67 insertions(+), 2 deletions(-) create mode 100644 mingw-w64-SDL2/004-dont-duplicate-libs-in-libs-private.patch diff --git a/mingw-w64-SDL2/004-dont-duplicate-libs-in-libs-private.patch b/mingw-w64-SDL2/004-dont-duplicate-libs-in-libs-private.patch new file mode 100644 index 0000000000..f1f2a65aa4 --- /dev/null +++ b/mingw-w64-SDL2/004-dont-duplicate-libs-in-libs-private.patch @@ -0,0 +1,62 @@ +# Based on SDL hg changeset fc03d19926ed, tweaked to apply here + +# HG changeset patch +# User James Le Cuirot +# Date 1586694276 -3600 +# Node ID fc03d19926ed02c5e96033a22e0a1956cb7d2968 +# Parent 89a457159af48f83585adab9ab9ea1d21be9505c +build: Don't duplicate Libs in Libs.private in pkg-config file + +pkg-config already prepends Libs to Libs.private when you specify +--static so there's no need to duplicate them. Most other projects +don't do this. + +diff -r 89a457159af4 -r fc03d19926ed CMakeLists.txt +--- a/CMakeLists.txt Sat Apr 11 23:38:34 2020 +0100 ++++ b/CMakeLists.txt Sun Apr 12 13:24:36 2020 +0100 +@@ -1962,7 +1962,7 @@ + + # Clean up the different lists + listtostr(EXTRA_LIBS _EXTRA_LIBS "-l") +- set(SDL_STATIC_LIBS ${SDL_LIBS} ${EXTRA_LDFLAGS} ${_EXTRA_LIBS}) ++ set(SDL_STATIC_LIBS ${EXTRA_LDFLAGS} ${_EXTRA_LIBS}) + list(REMOVE_DUPLICATES SDL_STATIC_LIBS) + listtostr(SDL_STATIC_LIBS _SDL_STATIC_LIBS) + set(SDL_STATIC_LIBS ${_SDL_STATIC_LIBS}) +diff -r 89a457159af4 -r fc03d19926ed configure +--- a/configure Sat Apr 11 23:38:34 2020 +0100 ++++ b/configure Sun Apr 12 13:24:36 2020 +0100 +@@ -25717,7 +25717,7 @@ + SDL_RLD_FLAGS="" + fi + +-SDL_STATIC_LIBS="$SDL_LIBS $EXTRA_LDFLAGS" ++SDL_STATIC_LIBS="$EXTRA_LDFLAGS" + + + +diff -r 89a457159af4 -r fc03d19926ed configure.ac +--- a/configure.ac Sat Apr 11 23:38:34 2020 +0100 ++++ b/configure.ac Sun Apr 12 13:24:36 2020 +0100 +@@ -4271,7 +4271,7 @@ + SDL_RLD_FLAGS="" + fi + +-SDL_STATIC_LIBS="$SDL_LIBS $EXTRA_LDFLAGS" ++SDL_STATIC_LIBS="$EXTRA_LDFLAGS" + + dnl Expand the cflags and libraries needed by apps using SDL + AC_SUBST(SDL_CFLAGS) +diff -r 89a457159af4 -r fc03d19926ed sdl2-config.in +--- a/sdl2-config.in Sat Apr 11 23:38:34 2020 +0100 ++++ b/sdl2-config.in Sun Apr 12 13:24:36 2020 +0100 +@@ -49,7 +49,7 @@ + @ENABLE_SHARED_TRUE@ ;; + @ENABLE_STATIC_TRUE@@ENABLE_SHARED_TRUE@ --static-libs) + @ENABLE_STATIC_TRUE@@ENABLE_SHARED_FALSE@ --libs|--static-libs) +-@ENABLE_STATIC_TRUE@ echo -L@libdir@ @SDL_RLD_FLAGS@ @SDL_STATIC_LIBS@ ++@ENABLE_STATIC_TRUE@ echo -L@libdir@ @SDL_RLD_FLAGS@ @SDL_LIBS@ @SDL_STATIC_LIBS@ + @ENABLE_STATIC_TRUE@ ;; + *) + echo "${usage}" 1>&2 + diff --git a/mingw-w64-SDL2/PKGBUILD b/mingw-w64-SDL2/PKGBUILD index f02bca3fb9..ccf1da9592 100644 --- a/mingw-w64-SDL2/PKGBUILD +++ b/mingw-w64-SDL2/PKGBUILD @@ -20,12 +20,14 @@ options=('staticlibs' 'strip') source=("https://libsdl.org/release/SDL2-${pkgver}.tar.gz"{,.sig} 001-fix-cmake-target-relocation.patch 002-fix-link-order.patch - 003-fix-static-library-name.patch) + 003-fix-static-library-name.patch + 004-dont-duplicate-libs-in-libs-private.patch) sha256sums=('349268f695c02efbc9b9148a70b85e58cefbbf704abd3e91be654db7f1e2c863' 'SKIP' '7150ff7c7549d919560eaff44d6f6f76feadbc7da7ce82ca3dcb8e67a91d1daa' '4a3906a9b9989dba4967454512921660e0fb275c35263d8ef7d7b34fa5a95e57' - 'a327673cd9d0e60d762860cf8dc96134b6b283314640e5803d918e7f5cd8f9ee') + 'a327673cd9d0e60d762860cf8dc96134b6b283314640e5803d918e7f5cd8f9ee' + '2c3dedf6bd6a10f0dca531c256a85b87db5b12d7558fff4bcea26b9bc73bdc99') validpgpkeys=('1528635D8053A57F77D1E08630A59377A7763BE6') # Sam Lantinga prepare() { @@ -33,6 +35,7 @@ prepare() { patch -p1 -i ${srcdir}/001-fix-cmake-target-relocation.patch patch -p1 -i ${srcdir}/002-fix-link-order.patch patch -p1 -i ${srcdir}/003-fix-static-library-name.patch + patch -p1 -i ${srcdir}/004-dont-duplicate-libs-in-libs-private.patch } build() { From 33b028585d110504bcb1d7f2d5704bf3a38c88eb Mon Sep 17 00:00:00 2001 From: Biswapriyo Nath Date: Tue, 25 Aug 2020 14:16:01 +0530 Subject: [PATCH 041/130] ca-certificates: update to 20200601 Also rename python3 to python. --- mingw-w64-ca-certificates/PKGBUILD | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/mingw-w64-ca-certificates/PKGBUILD b/mingw-w64-ca-certificates/PKGBUILD index 302bba578d..5fe327b466 100644 --- a/mingw-w64-ca-certificates/PKGBUILD +++ b/mingw-w64-ca-certificates/PKGBUILD @@ -3,7 +3,7 @@ _realname=ca-certificates pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=20190110 +pkgver=20200601 pkgrel=1 pkgdesc='Common CA certificates (mingw-w64)' arch=('any') @@ -19,9 +19,9 @@ source=("http://archive.ubuntu.com/ubuntu/pool/main/c/${_realname}/${_realname}_ depends=("${MINGW_PACKAGE_PREFIX}-p11-kit") makedepends=("${MINGW_PACKAGE_PREFIX}-openssl" "${MINGW_PACKAGE_PREFIX}-p11-kit" - "${MINGW_PACKAGE_PREFIX}-python3" + "${MINGW_PACKAGE_PREFIX}-python" 'asciidoc' 'libxslt' 'sed' 'grep') -sha256sums=('ee4bf0f4c6398005f5b5ca4e0b87b82837ac5c3b0280a1cb3a63c47555c3a675' +sha256sums=('43766d5a436519503dfd65ab83488ae33ab4d4ca3d0993797b58c92eb9ed4e63' 'aae6aa5d2bd31064eb923a00a0d37789d3e2f2aa2ef0b39c10228d8d7a3ceb30' '5736cc3a73ff9bceed43bafad85100a2fcfdfae1cf2cb7e201b5fa6f1421fc2e' 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855' @@ -29,7 +29,10 @@ sha256sums=('ee4bf0f4c6398005f5b5ca4e0b87b82837ac5c3b0280a1cb3a63c47555c3a675' 'b052972dd118a3e25f785b6caa141599f0db6fc1d943e9ebcd6ca0e1f0421f60') prepare() { - sed "s|/usr/bin/python|${MINGW_PREFIX}/bin/python3|g" -i certdata2pem.py + cd "${srcdir}" + mv "work" "${srcdir}/${_realname}-${pkgver}" + + sed "s|/usr/bin/python|${MINGW_PREFIX}/bin/python|g" -i certdata2pem.py patch -p0 -i ${srcdir}/certdata2pem.patch cp certdata2pem.py ${srcdir}/${_realname}-${pkgver}/mozilla/certdata2pem.py cd ${srcdir}/${_realname}-${pkgver} @@ -41,7 +44,7 @@ build() { cd ${srcdir}/${_realname}-${pkgver}/mozilla mkdir -p legacy-{default,disable} - PYTHONUTF8=1 PYTHONIOENCODING=utf-8 ${MINGW_PREFIX}/bin/python3 ./certdata2pem.py + PYTHONUTF8=1 PYTHONIOENCODING=utf-8 ${MINGW_PREFIX}/bin/python ./certdata2pem.py ( cat < Date: Tue, 25 Aug 2020 04:07:47 -0700 Subject: [PATCH 042/130] increased SDL2 pkgrel --- mingw-w64-SDL2/PKGBUILD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mingw-w64-SDL2/PKGBUILD b/mingw-w64-SDL2/PKGBUILD index ccf1da9592..b604cf9e5b 100644 --- a/mingw-w64-SDL2/PKGBUILD +++ b/mingw-w64-SDL2/PKGBUILD @@ -5,7 +5,7 @@ _realname=SDL2 pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" pkgver=2.0.12 -pkgrel=4 +pkgrel=5 pkgdesc="A library for portable low-level access to a video framebuffer, audio output, mouse, and keyboard (Version 2) (mingw-w64)" arch=('any') url="https://libsdl.org" From b9b3cb4db3daf567f39d7a778bbe9e69a0129404 Mon Sep 17 00:00:00 2001 From: Bjoern Lemke Date: Tue, 25 Aug 2020 23:37:37 +0200 Subject: [PATCH 043/130] lfcbase : update to version 1.14.4 --- mingw-w64-lfcbase/PKGBUILD | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mingw-w64-lfcbase/PKGBUILD b/mingw-w64-lfcbase/PKGBUILD index 1cd68a335e..cb421e1038 100644 --- a/mingw-w64-lfcbase/PKGBUILD +++ b/mingw-w64-lfcbase/PKGBUILD @@ -3,7 +3,7 @@ _realname=lfcbase pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") -pkgver=1.14.1 +pkgver=1.14.4 pkgrel=1 pkgdesc="LFC C++ base classes (mingw-w64)" arch=('any') @@ -16,7 +16,7 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-gcc") source=("http://www.lemke-it.com/${_realname}-${pkgver}.tar.gz") -sha256sums=("06321574285d390075ce661173331fda46743bb1d30f251fe67cc185a0f109b8") +sha256sums=("d1460853696711297ae530263de33d22af310b3f6617c7a60989993f4a1a7123") prepare() { # for mingw build, we have to patch the tap-driver to filter out windows carrige returns from the test program output From 5a4ad2977d91b213cf6a1c92fcee115aa0e8d598 Mon Sep 17 00:00:00 2001 From: fauxpark Date: Wed, 26 Aug 2020 21:02:45 +1000 Subject: [PATCH 044/130] Add package group mingw-w64-avr-toolchain --- mingw-w64-avr-binutils/PKGBUILD | 27 +++++++++++++++------------ mingw-w64-avr-gcc/PKGBUILD | 29 ++++++++++++++++------------- mingw-w64-avr-gdb/PKGBUILD | 23 +++++++++++++---------- mingw-w64-avr-libc/PKGBUILD | 25 ++++++++++++++----------- 4 files changed, 58 insertions(+), 46 deletions(-) diff --git a/mingw-w64-avr-binutils/PKGBUILD b/mingw-w64-avr-binutils/PKGBUILD index 24de1103a1..6d91c72997 100644 --- a/mingw-w64-avr-binutils/PKGBUILD +++ b/mingw-w64-avr-binutils/PKGBUILD @@ -1,16 +1,19 @@ # Maintainer: fauxpark -_realname=avr-binutils -pkgbase=mingw-w64-${_realname} -pkgname=${MINGW_PACKAGE_PREFIX}-${_realname} +_realname=binutils +_target=avr + +pkgbase=mingw-w64-${_target}-${_realname} +pkgname=${MINGW_PACKAGE_PREFIX}-${_target}-${_realname} pkgver=2.35 -pkgrel=1 +pkgrel=2 pkgdesc='GNU Binutils for the AVR target (mingw-w64)' arch=('any') license=('GPL') url='https://www.gnu.org/software/binutils/binutils.html' +groups=("mingw-w64-${_target}-toolchain") source=( - "https://ftp.gnu.org/gnu/binutils/binutils-${pkgver}.tar.xz" + "https://ftp.gnu.org/gnu/${_realname}/${_realname}-${pkgver}.tar.xz" "01-avr-size.patch" ) sha256sums=( @@ -19,21 +22,21 @@ sha256sums=( ) prepare() { - cd ${srcdir}/binutils-${pkgver} + cd ${srcdir}/${_realname}-${pkgver} - mkdir binutils-build + mkdir ${_realname}-build # https://github.com/archlinux/svntogit-community/blob/packages/avr-binutils/trunk/avr-size.patch - patch -p1 < ../01-avr-size.patch + patch -p1 -i ../01-avr-size.patch } build() { - cd ${srcdir}/binutils-${pkgver}/binutils-build + cd ${srcdir}/${_realname}-${pkgver}/${_realname}-build ../configure \ --build=${MINGW_CHOST} \ --prefix=${MINGW_PREFIX} \ - --target=avr \ + --target=${_target} \ --disable-nls \ --disable-debug \ --disable-dependency-tracking \ @@ -42,13 +45,13 @@ build() { } package() { - cd ${srcdir}/binutils-${pkgver}/binutils-build + cd ${srcdir}/${_realname}-${pkgver}/${_realname}-build make DESTDIR="$pkgdir" install cd ${pkgdir}${MINGW_PREFIX} for info in as bfd binutils gprof ld; do - mv share/info/${info}.info share/info/avr-${info}.info + mv share/info/${info}.info share/info/${_target}-${info}.info done } diff --git a/mingw-w64-avr-gcc/PKGBUILD b/mingw-w64-avr-gcc/PKGBUILD index ba587d9909..4d2211286e 100644 --- a/mingw-w64-avr-gcc/PKGBUILD +++ b/mingw-w64-avr-gcc/PKGBUILD @@ -1,38 +1,41 @@ # Maintainer: fauxpark -_realname=avr-gcc -pkgbase=mingw-w64-${_realname} -pkgname=${MINGW_PACKAGE_PREFIX}-${_realname} +_realname=gcc +_target=avr + +pkgbase=mingw-w64-${_target}-${_realname} +pkgname=${MINGW_PACKAGE_PREFIX}-${_target}-${_realname} pkgver=8.4.0 -pkgrel=1 +pkgrel=2 pkgdesc='GNU compiler collection for AVR 8-bit and 32-bit microcontrollers (mingw-w64)' arch=('any') license=('GPL') -options=(!strip) url='https://www.gnu.org/software/gcc/gcc.html' +options=(!strip) +groups=("mingw-w64-${_target}-toolchain") depends=( - "${MINGW_PACKAGE_PREFIX}-avr-binutils" + "${MINGW_PACKAGE_PREFIX}-${_target}-binutils" "${MINGW_PACKAGE_PREFIX}-gmp" "${MINGW_PACKAGE_PREFIX}-isl" "${MINGW_PACKAGE_PREFIX}-mpc" "${MINGW_PACKAGE_PREFIX}-mpfr" ) -source=("https://ftp.gnu.org/gnu/gcc/gcc-${pkgver}/gcc-${pkgver}.tar.xz") +source=("https://ftp.gnu.org/gnu/${_realname}/${_realname}-${pkgver}/${_realname}-${pkgver}.tar.xz") sha256sums=('e30a6e52d10e1f27ed55104ad233c30bd1e99cfb5ff98ab022dc941edd1b2dd4') prepare() { - cd ${srcdir}/gcc-${pkgver} + cd ${srcdir}/${_realname}-${pkgver} - mkdir gcc-build + mkdir ${_realname}-build } build() { - cd ${srcdir}/gcc-${pkgver}/gcc-build + cd ${srcdir}/${_realname}-${pkgver}/${_realname}-build ../configure \ --build=${MINGW_CHOST} \ --prefix=${MINGW_PREFIX} \ - --target=avr \ + --target=${_target} \ --enable-languages=c,c++ \ --disable-nls \ --disable-libssp \ @@ -46,14 +49,14 @@ build() { } package() { - cd ${srcdir}/gcc-${pkgver}/gcc-build + cd ${srcdir}/${_realname}-${pkgver}/${_realname}-build make DESTDIR="$pkgdir" install cd ${pkgdir}${MINGW_PREFIX} # strip debug symbols from libraries - find lib -type f -name "*.a" -exec ${MINGW_PREFIX}/bin/avr-strip --strip-debug '{}' \; + find lib -type f -name "*.a" -exec ${MINGW_PREFIX}/bin/${_target}-strip --strip-debug '{}' \; # info and man7 files conflict with native gcc rm -rf share/info share/man/man7 diff --git a/mingw-w64-avr-gdb/PKGBUILD b/mingw-w64-avr-gdb/PKGBUILD index bce4f69888..4f1a72f958 100644 --- a/mingw-w64-avr-gdb/PKGBUILD +++ b/mingw-w64-avr-gdb/PKGBUILD @@ -1,30 +1,33 @@ # Maintainer: fauxpark -_realname=avr-gdb -pkgbase=mingw-w64-${_realname} -pkgname=${MINGW_PACKAGE_PREFIX}-${_realname} +_realname=gdb +_target=avr + +pkgbase=mingw-w64-${_target}-${_realname} +pkgname=${MINGW_PACKAGE_PREFIX}-${_target}-${_realname} pkgver=9.2 -pkgrel=1 +pkgrel=2 pkgdesc='The GNU Debugger for AVR (mingw-w64)' arch=('any') license=('GPL') url='https://www.gnu.org/software/gdb/' -source=("https://ftp.gnu.org/gnu/gdb/gdb-${pkgver}.tar.xz") +groups=("mingw-w64-${_target}-toolchain") +source=("https://ftp.gnu.org/gnu/${_realname}/${_realname}-${pkgver}.tar.xz") sha256sums=('360cd7ae79b776988e89d8f9a01c985d0b1fa21c767a4295e5f88cb49175c555') prepare() { - cd ${srcdir}/gdb-${pkgver} + cd ${srcdir}/${_realname}-${pkgver} - mkdir gdb-build + mkdir ${_realname}-build } build() { - cd ${srcdir}/gdb-${pkgver}/gdb-build + cd ${srcdir}/${_realname}-${pkgver}/${_realname}-build ../configure \ --build=${MINGW_CHOST} \ --prefix=${MINGW_PREFIX} \ - --target=avr \ + --target=${_target} \ --disable-nls \ --disable-debug \ --disable-dependency-tracking \ @@ -37,7 +40,7 @@ build() { } package() { - cd ${srcdir}/gdb-${pkgver}/gdb-build + cd ${srcdir}/${_realname}-${pkgver}/${_realname}-build make DESTDIR="$pkgdir" install-gdb diff --git a/mingw-w64-avr-libc/PKGBUILD b/mingw-w64-avr-libc/PKGBUILD index 6d9ee9d730..7f0e0916ef 100644 --- a/mingw-w64-avr-libc/PKGBUILD +++ b/mingw-w64-avr-libc/PKGBUILD @@ -1,37 +1,40 @@ # Maintainer: fauxpark -_realname=avr-libc -pkgbase=mingw-w64-${_realname} -pkgname=${MINGW_PACKAGE_PREFIX}-${_realname} +_realname=libc +_target=avr + +pkgbase=mingw-w64-${_target}-${_realname} +pkgname=${MINGW_PACKAGE_PREFIX}-${_target}-${_realname} pkgver=2.0.0 -pkgrel=1 +pkgrel=2 pkgdesc='The C runtime library for the AVR family of microcontrollers (mingw-w64)' arch=('any') license=('BSD') url='https://savannah.nongnu.org/projects/avr-libc/' options=(!strip) -depends=("${MINGW_PACKAGE_PREFIX}-avr-gcc") -source=("https://download.savannah.gnu.org/releases/avr-libc/avr-libc-${pkgver}.tar.bz2") +groups=("mingw-w64-${_target}-toolchain") +depends=("${MINGW_PACKAGE_PREFIX}-${_target}-gcc") +source=("https://download.savannah.gnu.org/releases/${_target}-${_realname}/${_target}-${_realname}-${pkgver}.tar.bz2") sha256sums=('b2dd7fd2eefd8d8646ef6a325f6f0665537e2f604ed02828ced748d49dc85b97') prepare() { - cd ${srcdir}/avr-libc-${pkgver} + cd ${srcdir}/${_target}-${_realname}-${pkgver} - mkdir avr-libc-build + mkdir ${_realname}-build } build() { - cd ${srcdir}/avr-libc-${pkgver}/avr-libc-build + cd ${srcdir}/${_target}-${_realname}-${pkgver}/${_realname}-build ../configure \ --build=${MINGW_CHOST} \ - --host=avr \ + --host=${_target} \ --prefix=${MINGW_PREFIX} make } package() { - cd ${srcdir}/${_realname}-${pkgver}/avr-libc-build + cd ${srcdir}/${_target}-${_realname}-${pkgver}/${_realname}-build make DESTDIR="$pkgdir" install } From d03870a0b567a018cc2399fe2eb50584856c1f8f Mon Sep 17 00:00:00 2001 From: Biswapriyo Nath Date: Wed, 26 Aug 2020 20:02:29 +0530 Subject: [PATCH 045/130] capnproto: rebuild as capnpc is missing .exe Fixes #6871, #6872 --- mingw-w64-capnproto/PKGBUILD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mingw-w64-capnproto/PKGBUILD b/mingw-w64-capnproto/PKGBUILD index 66b03175aa..34878a24fc 100644 --- a/mingw-w64-capnproto/PKGBUILD +++ b/mingw-w64-capnproto/PKGBUILD @@ -10,7 +10,7 @@ _realname=capnproto pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" pkgver=0.8.0 -pkgrel=1 +pkgrel=2 pkgdesc="Cap'n Proto serialization/RPC system (mingw-w64)" arch=('any') url='https://capnproto.org/' From 556231883b59a5351f56bf582f624c3fd958e634 Mon Sep 17 00:00:00 2001 From: fauxpark Date: Thu, 27 Aug 2020 00:40:18 +1000 Subject: [PATCH 046/130] AVR toolchain: fix group name --- mingw-w64-avr-binutils/PKGBUILD | 2 +- mingw-w64-avr-gcc/PKGBUILD | 2 +- mingw-w64-avr-gdb/PKGBUILD | 2 +- mingw-w64-avr-libc/PKGBUILD | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/mingw-w64-avr-binutils/PKGBUILD b/mingw-w64-avr-binutils/PKGBUILD index 6d91c72997..7f09e83c6f 100644 --- a/mingw-w64-avr-binutils/PKGBUILD +++ b/mingw-w64-avr-binutils/PKGBUILD @@ -11,7 +11,7 @@ pkgdesc='GNU Binutils for the AVR target (mingw-w64)' arch=('any') license=('GPL') url='https://www.gnu.org/software/binutils/binutils.html' -groups=("mingw-w64-${_target}-toolchain") +groups=("${MINGW_PACKAGE_PREFIX}-${_target}-toolchain") source=( "https://ftp.gnu.org/gnu/${_realname}/${_realname}-${pkgver}.tar.xz" "01-avr-size.patch" diff --git a/mingw-w64-avr-gcc/PKGBUILD b/mingw-w64-avr-gcc/PKGBUILD index 4d2211286e..d4f72af90d 100644 --- a/mingw-w64-avr-gcc/PKGBUILD +++ b/mingw-w64-avr-gcc/PKGBUILD @@ -12,7 +12,7 @@ arch=('any') license=('GPL') url='https://www.gnu.org/software/gcc/gcc.html' options=(!strip) -groups=("mingw-w64-${_target}-toolchain") +groups=("${MINGW_PACKAGE_PREFIX}-${_target}-toolchain") depends=( "${MINGW_PACKAGE_PREFIX}-${_target}-binutils" "${MINGW_PACKAGE_PREFIX}-gmp" diff --git a/mingw-w64-avr-gdb/PKGBUILD b/mingw-w64-avr-gdb/PKGBUILD index 4f1a72f958..9fec47aa20 100644 --- a/mingw-w64-avr-gdb/PKGBUILD +++ b/mingw-w64-avr-gdb/PKGBUILD @@ -11,7 +11,7 @@ pkgdesc='The GNU Debugger for AVR (mingw-w64)' arch=('any') license=('GPL') url='https://www.gnu.org/software/gdb/' -groups=("mingw-w64-${_target}-toolchain") +groups=("${MINGW_PACKAGE_PREFIX}-${_target}-toolchain") source=("https://ftp.gnu.org/gnu/${_realname}/${_realname}-${pkgver}.tar.xz") sha256sums=('360cd7ae79b776988e89d8f9a01c985d0b1fa21c767a4295e5f88cb49175c555') diff --git a/mingw-w64-avr-libc/PKGBUILD b/mingw-w64-avr-libc/PKGBUILD index 7f0e0916ef..7896cba207 100644 --- a/mingw-w64-avr-libc/PKGBUILD +++ b/mingw-w64-avr-libc/PKGBUILD @@ -12,7 +12,7 @@ arch=('any') license=('BSD') url='https://savannah.nongnu.org/projects/avr-libc/' options=(!strip) -groups=("mingw-w64-${_target}-toolchain") +groups=("${MINGW_PACKAGE_PREFIX}-${_target}-toolchain") depends=("${MINGW_PACKAGE_PREFIX}-${_target}-gcc") source=("https://download.savannah.gnu.org/releases/${_target}-${_realname}/${_target}-${_realname}-${pkgver}.tar.bz2") sha256sums=('b2dd7fd2eefd8d8646ef6a325f6f0665537e2f604ed02828ced748d49dc85b97') From 816d28d5e4bd7062069cb772f244c856ed4e5462 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Wed, 26 Aug 2020 18:33:43 +0200 Subject: [PATCH 047/130] libsndfile: Update to 1.0.29 --- mingw-w64-libsndfile/PKGBUILD | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mingw-w64-libsndfile/PKGBUILD b/mingw-w64-libsndfile/PKGBUILD index 00abf1edbc..5cbeab3300 100644 --- a/mingw-w64-libsndfile/PKGBUILD +++ b/mingw-w64-libsndfile/PKGBUILD @@ -3,7 +3,7 @@ _realname=libsndfile pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") -pkgver=1.0.29pre2 +pkgver=1.0.29 pkgrel=1 pkgdesc="A C library for reading and writing files containing sampled sound (mingw-w64)" arch=('any') @@ -12,8 +12,8 @@ license=('LGPL') makedepends=("${MINGW_PACKAGE_PREFIX}-gcc") depends=("${MINGW_PACKAGE_PREFIX}-flac" "${MINGW_PACKAGE_PREFIX}-libogg" "${MINGW_PACKAGE_PREFIX}-libvorbis" "${MINGW_PACKAGE_PREFIX}-opus") options=('staticlibs' 'strip') -source=("http://www.mega-nerd.com/libsndfile/files/${pkgver}/${_realname}-${pkgver}.tar.bz2") -sha256sums=('ffe2d6bff622bc66e6f96059ada79cfcdc43b3e8bc9cc4f45dbc567dccbfae75') +source=("https://github.com/erikd/libsndfile/releases/download/v${pkgver}/${_realname}-${pkgver}.tar.bz2") +sha256sums=('2ba20d44817c8176f097ab25eff44ef0aeec9e00973def5a7174c5ae0764b22f') validpgpkeys=('6A91A5CF22C24C99A35E013FCFDCF91FB242ACED') # Erik de Castro Lopo From d5aa0ad0fb4dad27851380e1e4b590dbbcec6e36 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Wed, 26 Aug 2020 19:13:17 +0200 Subject: [PATCH 048/130] libsndfile: Port to cmake/ninja --- .../001-cmake-build-fixes.patch | 38 +++++++++ mingw-w64-libsndfile/PKGBUILD | 80 ++++++++++++------- 2 files changed, 91 insertions(+), 27 deletions(-) create mode 100644 mingw-w64-libsndfile/001-cmake-build-fixes.patch diff --git a/mingw-w64-libsndfile/001-cmake-build-fixes.patch b/mingw-w64-libsndfile/001-cmake-build-fixes.patch new file mode 100644 index 0000000000..8632124491 --- /dev/null +++ b/mingw-w64-libsndfile/001-cmake-build-fixes.patch @@ -0,0 +1,38 @@ +--- libsndfile-1.0.29/CMakeLists.txt.orig 2020-08-26 19:06:05.255127700 +0200 ++++ libsndfile-1.0.29/CMakeLists.txt 2020-08-26 18:57:22.158126800 +0200 +@@ -66,7 +66,7 @@ + set (CPU_CLIPS_POSITIVE FALSE) + set (CPU_CLIPS_NEGATIVE FALSE) + endif () +-cmake_dependent_option (ENABLE_COMPATIBLE_LIBSNDFILE_NAME "Set DLL name to libsndfile-1.dll (canonical name), sndfile.dll otherwise" OFF "WIN32;NOT MINGW;BUILD_SHARED_LIBS" OFF) ++cmake_dependent_option (ENABLE_COMPATIBLE_LIBSNDFILE_NAME "Set DLL name to libsndfile-1.dll (canonical name), sndfile.dll otherwise" ON "WIN32;BUILD_SHARED_LIBS" OFF) + + set (HAVE_EXTERNAL_XIPH_LIBS ${ENABLE_EXTERNAL_LIBS}) + set (HAVE_SQLITE3 ${BUILD_REGTEST}) +@@ -86,7 +86,7 @@ + add_feature_info (ENABLE_CPU_CLIP ENABLE_CPU_CLIP "Enable tricky cpu specific clipper") + add_feature_info (ENABLE_BOW_DOCS ENABLE_BOW_DOCS "enable black-on-white html docs") + add_feature_info (ENABLE_PACKAGE_CONFIG ENABLE_PACKAGE_CONFIG "generate and install package config file") +-if (WIN32 AND (NOT MINGW) AND BUILD_SHARED_LIBS) ++if (WIN32 AND BUILD_SHARED_LIBS) + add_feature_info (ENABLE_COMPATIBLE_LIBSNDFILE_NAME ENABLE_COMPATIBLE_LIBSNDFILE_NAME "Set DLL name to libsndfile-1.dll (canonical name), sndfile.dll otherwise") + endif () + +@@ -314,7 +314,7 @@ + + if (ENABLE_COMPATIBLE_LIBSNDFILE_NAME) + set_target_properties (sndfile PROPERTIES +- RUNTIME_OUTPUT_NAME "libsndfile-1" ++ RUNTIME_OUTPUT_NAME "sndfile-1" + ) + endif () + +@@ -656,7 +656,7 @@ + + endif () + +-if (UNIX) ++if (UNIX OR MINGW) + set (man_MANS + man/sndfile-info.1 + man/sndfile-play.1 diff --git a/mingw-w64-libsndfile/PKGBUILD b/mingw-w64-libsndfile/PKGBUILD index 5cbeab3300..6d44e82e17 100644 --- a/mingw-w64-libsndfile/PKGBUILD +++ b/mingw-w64-libsndfile/PKGBUILD @@ -4,48 +4,74 @@ _realname=libsndfile pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") pkgver=1.0.29 -pkgrel=1 +pkgrel=2 pkgdesc="A C library for reading and writing files containing sampled sound (mingw-w64)" arch=('any') url="http://www.mega-nerd.com/libsndfile" license=('LGPL') -makedepends=("${MINGW_PACKAGE_PREFIX}-gcc") -depends=("${MINGW_PACKAGE_PREFIX}-flac" "${MINGW_PACKAGE_PREFIX}-libogg" "${MINGW_PACKAGE_PREFIX}-libvorbis" "${MINGW_PACKAGE_PREFIX}-opus") +depends=("${MINGW_PACKAGE_PREFIX}-flac" + "${MINGW_PACKAGE_PREFIX}-libogg" + "${MINGW_PACKAGE_PREFIX}-libvorbis" + "${MINGW_PACKAGE_PREFIX}-opus") +makedepends=("${MINGW_PACKAGE_PREFIX}-gcc" + "${MINGW_PACKAGE_PREFIX}-cmake" + "${MINGW_PACKAGE_PREFIX}-ninja") options=('staticlibs' 'strip') -source=("https://github.com/erikd/libsndfile/releases/download/v${pkgver}/${_realname}-${pkgver}.tar.bz2") -sha256sums=('2ba20d44817c8176f097ab25eff44ef0aeec9e00973def5a7174c5ae0764b22f') +source=("https://github.com/erikd/libsndfile/releases/download/v${pkgver}/${_realname}-${pkgver}.tar.bz2" + "001-cmake-build-fixes.patch") +sha256sums=('2ba20d44817c8176f097ab25eff44ef0aeec9e00973def5a7174c5ae0764b22f' + 'cecda39c0a00ba9c0236fc97fb30e43048106189b1d824d8302a429dff67771e') validpgpkeys=('6A91A5CF22C24C99A35E013FCFDCF91FB242ACED') # Erik de Castro Lopo - prepare() { cd ${srcdir}/${_realname}-${pkgver} - autoreconf -vfi + + patch -Np1 -i "${srcdir}"/001-cmake-build-fixes.patch } build() { - [[ -d "build-${MINGW_CHOST}" ]] && rm -rf "build-${MINGW_CHOST}" - mkdir -p ${srcdir}/build-${MINGW_CHOST} - cd ${srcdir}/build-${MINGW_CHOST} - ../${_realname}-${pkgver}/configure \ - --prefix=${MINGW_PREFIX} \ - --build=${MINGW_CHOST} \ - --host=${MINGW_CHOST} \ - --disable-sqlite \ - --disable-test-coverage \ - --enable-external-libs \ - --enable-stack-smash-protection \ - --enable-shared \ - --enable-static + declare -a _extra_config + if check_option "debug" "n"; then + _extra_config+=("-DCMAKE_BUILD_TYPE=Release") + else + _extra_config+=("-DCMAKE_BUILD_TYPE=Debug") + fi - make + msg2 "Build static for ${MINGW_CHOST}" + [[ -d "${srcdir}/build-${MINGW_CHOST}-static" ]] && rm -rf "${srcdir}/build-${MINGW_CHOST}-static" + mkdir -p "${srcdir}/build-${MINGW_CHOST}-static" && cd "${srcdir}/build-${MINGW_CHOST}-static" + + MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \ + ${MINGW_PREFIX}/bin/cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ + "${_extra_config[@]}" \ + -DBUILD_SHARED_LIBS=OFF \ + ../${_realname}-${pkgver} + + ${MINGW_PREFIX}/bin/cmake --build ./ + + msg2 "Build shared for ${MINGW_CHOST}" + [[ -d "${srcdir}/build-${MINGW_CHOST}-shared" ]] && rm -rf "${srcdir}/build-${MINGW_CHOST}-shared" + mkdir -p "${srcdir}/build-${MINGW_CHOST}-shared" && cd "${srcdir}/build-${MINGW_CHOST}-shared" + + MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \ + ${MINGW_PREFIX}/bin/cmake \ + -G "Ninja" \ + -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ + "${_extra_config[@]}" \ + -DBUILD_SHARED_LIBS=ON \ + ../${_realname}-${pkgver} + + ${MINGW_PREFIX}/bin/cmake --build ./ } package() { - cd ${srcdir}/build-${MINGW_CHOST} - make DESTDIR="${pkgdir}" install + msg2 "Install static for ${MINGW_CHOST}" + cd "${srcdir}/build-${MINGW_CHOST}-static" + DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/cmake --build ./ --target install - local WINPREFIX=$(cygpath -wm ${MINGW_PREFIX}) - # Fix paths - sed -i "s|${WINPREFIX}|${MINGW_PREFIX}|g" \ - ${pkgdir}${MINGW_PREFIX}/lib/pkgconfig/sndfile.pc + msg2 "Install shared for ${MINGW_CHOST}" + cd "${srcdir}/build-${MINGW_CHOST}-shared" + DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/cmake --build ./ --target install } From 7108d4c7bf60ab8846e7e4b145c6d6ba420a3bca Mon Sep 17 00:00:00 2001 From: fauxpark Date: Thu, 27 Aug 2020 03:30:42 +1000 Subject: [PATCH 049/130] Add .sig files and PGP keys --- mingw-w64-avr-binutils/PKGBUILD | 4 +++- mingw-w64-avr-gcc/PKGBUILD | 13 +++++++++++-- mingw-w64-avr-gdb/PKGBUILD | 8 ++++++-- mingw-w64-avr-libc/PKGBUILD | 8 ++++++-- 4 files changed, 26 insertions(+), 7 deletions(-) diff --git a/mingw-w64-avr-binutils/PKGBUILD b/mingw-w64-avr-binutils/PKGBUILD index 7f09e83c6f..7883693520 100644 --- a/mingw-w64-avr-binutils/PKGBUILD +++ b/mingw-w64-avr-binutils/PKGBUILD @@ -13,13 +13,15 @@ license=('GPL') url='https://www.gnu.org/software/binutils/binutils.html' groups=("${MINGW_PACKAGE_PREFIX}-${_target}-toolchain") source=( - "https://ftp.gnu.org/gnu/${_realname}/${_realname}-${pkgver}.tar.xz" + https://ftp.gnu.org/gnu/${_realname}/${_realname}-${pkgver}.tar.xz{,.sig} "01-avr-size.patch" ) sha256sums=( '1b11659fb49e20e18db460d44485f09442c8c56d5df165de9461eb09c8302f85' + 'SKIP' '7aed303887a8541feba008943d0331dc95dd90a309575f81b7a195650e4cba1e' ) +validpgpkeys=('3A24BC1E8FB409FA9F14371813FCEF89DD9E3C4F') prepare() { cd ${srcdir}/${_realname}-${pkgver} diff --git a/mingw-w64-avr-gcc/PKGBUILD b/mingw-w64-avr-gcc/PKGBUILD index d4f72af90d..b79322f12d 100644 --- a/mingw-w64-avr-gcc/PKGBUILD +++ b/mingw-w64-avr-gcc/PKGBUILD @@ -20,8 +20,17 @@ depends=( "${MINGW_PACKAGE_PREFIX}-mpc" "${MINGW_PACKAGE_PREFIX}-mpfr" ) -source=("https://ftp.gnu.org/gnu/${_realname}/${_realname}-${pkgver}/${_realname}-${pkgver}.tar.xz") -sha256sums=('e30a6e52d10e1f27ed55104ad233c30bd1e99cfb5ff98ab022dc941edd1b2dd4') +source=(https://ftp.gnu.org/gnu/${_realname}/${_realname}-${pkgver}/${_realname}-${pkgver}.tar.xz{,.sig}) +sha256sums=( + 'e30a6e52d10e1f27ed55104ad233c30bd1e99cfb5ff98ab022dc941edd1b2dd4' + 'SKIP' +) +validpgpkeys=( + 'F3691687D867B81B51CE07D9BBE43771487328A9' # bpiotrowski@archlinux.org + '86CFFCA918CF3AF47147588051E8B148A9999C34' # evangelos@foutrelis.com + '13975A70E63C361C73AE69EF6EEB81F8981C74C7' # richard.guenther@gmail.com + '33C235A34C46AA3FFB293709A328C3A2C3C45C06' # Jakub Jelinek +) prepare() { cd ${srcdir}/${_realname}-${pkgver} diff --git a/mingw-w64-avr-gdb/PKGBUILD b/mingw-w64-avr-gdb/PKGBUILD index 9fec47aa20..07573aed6f 100644 --- a/mingw-w64-avr-gdb/PKGBUILD +++ b/mingw-w64-avr-gdb/PKGBUILD @@ -12,8 +12,12 @@ arch=('any') license=('GPL') url='https://www.gnu.org/software/gdb/' groups=("${MINGW_PACKAGE_PREFIX}-${_target}-toolchain") -source=("https://ftp.gnu.org/gnu/${_realname}/${_realname}-${pkgver}.tar.xz") -sha256sums=('360cd7ae79b776988e89d8f9a01c985d0b1fa21c767a4295e5f88cb49175c555') +source=(https://ftp.gnu.org/gnu/${_realname}/${_realname}-${pkgver}.tar.xz{,.sig}) +sha256sums=( + '360cd7ae79b776988e89d8f9a01c985d0b1fa21c767a4295e5f88cb49175c555' + 'SKIP' +) +validpgpkeys=('F40ADB902B24264AA42E50BF92EDB04BFF325CF3') # Joel Brobecker prepare() { cd ${srcdir}/${_realname}-${pkgver} diff --git a/mingw-w64-avr-libc/PKGBUILD b/mingw-w64-avr-libc/PKGBUILD index 7896cba207..7723e2b78d 100644 --- a/mingw-w64-avr-libc/PKGBUILD +++ b/mingw-w64-avr-libc/PKGBUILD @@ -14,8 +14,12 @@ url='https://savannah.nongnu.org/projects/avr-libc/' options=(!strip) groups=("${MINGW_PACKAGE_PREFIX}-${_target}-toolchain") depends=("${MINGW_PACKAGE_PREFIX}-${_target}-gcc") -source=("https://download.savannah.gnu.org/releases/${_target}-${_realname}/${_target}-${_realname}-${pkgver}.tar.bz2") -sha256sums=('b2dd7fd2eefd8d8646ef6a325f6f0665537e2f604ed02828ced748d49dc85b97') +source=(https://download.savannah.gnu.org/releases/${_target}-${_realname}/${_target}-${_realname}-${pkgver}.tar.bz2{,.sig}) +sha256sums=( + 'b2dd7fd2eefd8d8646ef6a325f6f0665537e2f604ed02828ced748d49dc85b97' + 'SKIP' +) +validpgpkeys=('5E84F980C3CAFD4BB5841070F48CA81B69A85873') # Joerg Wunsch prepare() { cd ${srcdir}/${_target}-${_realname}-${pkgver} From 0583d5ff7ddb8c66a614e1904807b566a381a93a Mon Sep 17 00:00:00 2001 From: fauxpark Date: Thu, 27 Aug 2020 04:22:11 +1000 Subject: [PATCH 050/130] Remove PGP key stuff from avr-gcc and avr-libc, for the time being --- mingw-w64-avr-gcc/PKGBUILD | 13 ++----------- mingw-w64-avr-libc/PKGBUILD | 8 ++------ 2 files changed, 4 insertions(+), 17 deletions(-) diff --git a/mingw-w64-avr-gcc/PKGBUILD b/mingw-w64-avr-gcc/PKGBUILD index b79322f12d..d4f72af90d 100644 --- a/mingw-w64-avr-gcc/PKGBUILD +++ b/mingw-w64-avr-gcc/PKGBUILD @@ -20,17 +20,8 @@ depends=( "${MINGW_PACKAGE_PREFIX}-mpc" "${MINGW_PACKAGE_PREFIX}-mpfr" ) -source=(https://ftp.gnu.org/gnu/${_realname}/${_realname}-${pkgver}/${_realname}-${pkgver}.tar.xz{,.sig}) -sha256sums=( - 'e30a6e52d10e1f27ed55104ad233c30bd1e99cfb5ff98ab022dc941edd1b2dd4' - 'SKIP' -) -validpgpkeys=( - 'F3691687D867B81B51CE07D9BBE43771487328A9' # bpiotrowski@archlinux.org - '86CFFCA918CF3AF47147588051E8B148A9999C34' # evangelos@foutrelis.com - '13975A70E63C361C73AE69EF6EEB81F8981C74C7' # richard.guenther@gmail.com - '33C235A34C46AA3FFB293709A328C3A2C3C45C06' # Jakub Jelinek -) +source=("https://ftp.gnu.org/gnu/${_realname}/${_realname}-${pkgver}/${_realname}-${pkgver}.tar.xz") +sha256sums=('e30a6e52d10e1f27ed55104ad233c30bd1e99cfb5ff98ab022dc941edd1b2dd4') prepare() { cd ${srcdir}/${_realname}-${pkgver} diff --git a/mingw-w64-avr-libc/PKGBUILD b/mingw-w64-avr-libc/PKGBUILD index 7723e2b78d..7896cba207 100644 --- a/mingw-w64-avr-libc/PKGBUILD +++ b/mingw-w64-avr-libc/PKGBUILD @@ -14,12 +14,8 @@ url='https://savannah.nongnu.org/projects/avr-libc/' options=(!strip) groups=("${MINGW_PACKAGE_PREFIX}-${_target}-toolchain") depends=("${MINGW_PACKAGE_PREFIX}-${_target}-gcc") -source=(https://download.savannah.gnu.org/releases/${_target}-${_realname}/${_target}-${_realname}-${pkgver}.tar.bz2{,.sig}) -sha256sums=( - 'b2dd7fd2eefd8d8646ef6a325f6f0665537e2f604ed02828ced748d49dc85b97' - 'SKIP' -) -validpgpkeys=('5E84F980C3CAFD4BB5841070F48CA81B69A85873') # Joerg Wunsch +source=("https://download.savannah.gnu.org/releases/${_target}-${_realname}/${_target}-${_realname}-${pkgver}.tar.bz2") +sha256sums=('b2dd7fd2eefd8d8646ef6a325f6f0665537e2f604ed02828ced748d49dc85b97') prepare() { cd ${srcdir}/${_target}-${_realname}-${pkgver} From b84eb4eecfe96f9c0b121115483407fdeeb4f024 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Wed, 26 Aug 2020 23:00:28 +0200 Subject: [PATCH 051/130] binutils: Update to 2.35 --- .../0110-binutils-mingw-gnu-print.patch | 20 +++++------ mingw-w64-binutils/1000-PR24511.patch | 31 ----------------- mingw-w64-binutils/1001-PR25447.patch | 34 ------------------- mingw-w64-binutils/PKGBUILD | 23 +++++-------- 4 files changed, 18 insertions(+), 90 deletions(-) delete mode 100644 mingw-w64-binutils/1000-PR24511.patch delete mode 100644 mingw-w64-binutils/1001-PR25447.patch diff --git a/mingw-w64-binutils/0110-binutils-mingw-gnu-print.patch b/mingw-w64-binutils/0110-binutils-mingw-gnu-print.patch index 0eeb35d563..207f24d4ac 100644 --- a/mingw-w64-binutils/0110-binutils-mingw-gnu-print.patch +++ b/mingw-w64-binutils/0110-binutils-mingw-gnu-print.patch @@ -59,9 +59,9 @@ diff -urN binutils-2.27.orig/binutils/prdbg.c binutils-2.27/binutils/prdbg.c sprintf (buf, "0x%llx", (unsigned long long) vma); else if (unsignedp) diff -urN binutils-2.27.orig/binutils/readelf.c binutils-2.27/binutils/readelf.c ---- binutils-2.27.orig/binutils/readelf.c 2016-08-03 09:36:51.000000000 +0200 -+++ binutils-2.27/binutils/readelf.c 2016-09-21 21:13:49.240194700 +0200 -@@ -1154,7 +1154,7 @@ +--- binutils-2.35/binutils/readelf.c.orig 2020-07-24 11:12:19.000000000 +0200 ++++ binutils-2.35/binutils/readelf.c 2020-08-26 22:30:15.008358800 +0200 +@@ -1274,7 +1274,7 @@ : "%12.12lx %12.12lx ", offset, inf); #elif BFD_HOST_64BIT_LONG_LONG @@ -70,15 +70,15 @@ diff -urN binutils-2.27.orig/binutils/readelf.c binutils-2.27/binutils/readelf.c printf (do_wide ? "%16.16llx %16.16llx " : "%12.12llx %12.12llx ", -@@ -12372,7 +12372,7 @@ - { - size_t maxlen = end - data; - +@@ -13927,7 +13927,7 @@ + } + else + { -#ifndef __MSVCRT__ +#if !defined(__MSVCRT__) || defined(__USE_MINGW_ANSI_STDIO) - /* PR 11128: Use two separate invocations in order to work - around bugs in the Solaris 8 implementation of printf. */ - printf (" [%6tx] ", data - start); + /* PR 11128: Use two separate invocations in order to work + around bugs in the Solaris 8 implementation of printf. */ + printf (" [%6tx] ", data - start); diff -urN binutils-2.27.orig/binutils/strings.c binutils-2.27/binutils/strings.c --- binutils-2.27.orig/binutils/strings.c 2016-08-03 09:36:51.000000000 +0200 +++ binutils-2.27/binutils/strings.c 2016-09-21 21:13:49.251195600 +0200 diff --git a/mingw-w64-binutils/1000-PR24511.patch b/mingw-w64-binutils/1000-PR24511.patch deleted file mode 100644 index a3a54112cb..0000000000 --- a/mingw-w64-binutils/1000-PR24511.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 40bfb9762747f8336b17c70a0173d10200fa62eb Mon Sep 17 00:00:00 2001 -From: Alan Modra -Date: Thu, 27 Feb 2020 17:28:47 +1030 -Subject: [PATCH] Re: PR24511, nm should not mark symbols in .init_array as "t" - - PR 24511 - * syms.c (bfd_decode_symclass): Reverse order of coff_section_type - and decode_section_type calls. ---- - bfd/syms.c | 4 ++-- - 1 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/bfd/syms.c b/bfd/syms.c -index 128cf191453..8a8b74f3f92 100644 ---- a/bfd/syms.c -+++ b/bfd/syms.c -@@ -705,9 +705,9 @@ bfd_decode_symclass (asymbol *symbol) - c = 'a'; - else if (symbol->section) - { -- c = decode_section_type (symbol->section); -+ c = coff_section_type (symbol->section->name); - if (c == '?') -- c = coff_section_type (symbol->section->name); -+ c = decode_section_type (symbol->section); - } - else - return '?'; --- -2.18.2 - diff --git a/mingw-w64-binutils/1001-PR25447.patch b/mingw-w64-binutils/1001-PR25447.patch deleted file mode 100644 index 37b92cfbc0..0000000000 --- a/mingw-w64-binutils/1001-PR25447.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 82f439d028c65663a0baf0a17ef5c4a2ea5c84a7 Mon Sep 17 00:00:00 2001 -From: Nick Clifton -Date: Tue, 11 Feb 2020 15:55:25 +0000 -Subject: [PATCH] Import a fix from the mainline sources that prevents a - potential illegal memory access when parsing PE binaries. - - PR 25447 - * coffgen.c (_bfd_coff_close_and_cleanup): Do not clear the keep - syms and keep strings flags as these may have been set in order to - prevent a bogus call to free. ---- - bfd/coffgen.c | 6 ++++-- - 1 files changed, 4 insertions(+), 2 deletions(-) - -diff --git a/bfd/coffgen.c b/bfd/coffgen.c -index 2bfcf1a6b14..3ddd2d89a83 100644 ---- a/bfd/coffgen.c -+++ b/bfd/coffgen.c -@@ -3175,8 +3175,10 @@ _bfd_coff_close_and_cleanup (bfd *abfd) - && bfd_family_coff (abfd) - && coff_data (abfd) != NULL) - { -- obj_coff_keep_syms (abfd) = FALSE; -- obj_coff_keep_strings (abfd) = FALSE; -+ /* PR 25447: -+ Do not clear the keep_syms and keep_strings flags. -+ These may have been set by pe_ILF_build_a_bfd() indicating -+ that the syms and strings pointers are not to be freed. */ - if (!_bfd_coff_free_symbols (abfd)) - return FALSE; - } --- -2.18.2 - diff --git a/mingw-w64-binutils/PKGBUILD b/mingw-w64-binutils/PKGBUILD index ad32faf608..2c411937c6 100644 --- a/mingw-w64-binutils/PKGBUILD +++ b/mingw-w64-binutils/PKGBUILD @@ -5,8 +5,8 @@ _realname=binutils pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") -pkgver=2.34 -pkgrel=3 +pkgver=2.35 +pkgrel=1 pkgdesc="A set of programs to assemble and manipulate binary and object files (mingw-w64)" arch=('any') url="https://www.gnu.org/software/binutils/" @@ -23,20 +23,17 @@ source=(https://ftp.gnu.org/gnu/binutils/${_realname}-${pkgver}.tar.xz{,.sig} 0010-bfd-Increase-_bfd_coff_max_nscns-to-65279.patch 0020-binutils_2.31_mkdtemp_impl.patch 0110-binutils-mingw-gnu-print.patch - 0120-windres-handle-spaces.patch - 1000-PR24511.patch - 1001-PR25447.patch) -sha256sums=('f00b0e8803dc9bab1e2165bd568528135be734df3fabf8d0161828cd56028952' + 0120-windres-handle-spaces.patch) +sha256sums=('1b11659fb49e20e18db460d44485f09442c8c56d5df165de9461eb09c8302f85' 'SKIP' '93296b909e1a4f9d8a4bbe2437aafa17ca565ef6642a9812b0360c05be228c9d' '2c99345fc575c3a060d6677537f636c6c4154fac0fde508070f3b6296c1060d4' '604e76e0f702ced493ee22aa3c1768b4776b2008a7d70ae0dd35fe5be3522141' '34ba6c001ff7f95ae1da0619c73130112b76d0d2a31bb8a00602eb22f1f84cb8' - 'd0d5d7fbf26b4ea902583ca5cd03fe1721adc0582f05f4ce9595f6b0a1f3c4d8' - '86ae90d997e986a54aaebb5251f3a71800b0c5c3f5b57b9094a42995e9f5c478' - 'ee802df23360ad8b51cbc52aa0845916bb36098fbe6940e93a8f4c74ac5f18e9' - 'c1363575e0a13c7cacc696b68bedf2937c872422d6af286a7dc25f8b9c678ba7') -validpgpkeys=('EAF1C276A747E9ED86210CBAC3126D3B4AE55E93') + '76658ef1bb8c5fc3fe6c26e2b5dd9ee0f1d12661988c0c65562b0a3e2d32ae1f' + '86ae90d997e986a54aaebb5251f3a71800b0c5c3f5b57b9094a42995e9f5c478') +validpgpkeys=('EAF1C276A747E9ED86210CBAC3126D3B4AE55E93' + '3A24BC1E8FB409FA9F14371813FCEF89DD9E3C4F') prepare() { cd ${srcdir}/${_realname}-${pkgver} @@ -46,10 +43,6 @@ prepare() { patch -p1 -i "${srcdir}"/0020-binutils_2.31_mkdtemp_impl.patch patch -p1 -i "${srcdir}"/0110-binutils-mingw-gnu-print.patch patch -p1 -i "${srcdir}"/0120-windres-handle-spaces.patch - - # Upstream patches - patch -p1 -i "${srcdir}"/1000-PR24511.patch - patch -p1 -i "${srcdir}"/1001-PR25447.patch } build() { From 6f7847581047f6feceed4825d10cc253e8d1cd5d Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Thu, 27 Aug 2020 08:16:41 +0200 Subject: [PATCH 052/130] libsndfile: remove unused validpgpkeys --- mingw-w64-libsndfile/PKGBUILD | 1 - 1 file changed, 1 deletion(-) diff --git a/mingw-w64-libsndfile/PKGBUILD b/mingw-w64-libsndfile/PKGBUILD index 6d44e82e17..e918b09a42 100644 --- a/mingw-w64-libsndfile/PKGBUILD +++ b/mingw-w64-libsndfile/PKGBUILD @@ -21,7 +21,6 @@ source=("https://github.com/erikd/libsndfile/releases/download/v${pkgver}/${_rea "001-cmake-build-fixes.patch") sha256sums=('2ba20d44817c8176f097ab25eff44ef0aeec9e00973def5a7174c5ae0764b22f' 'cecda39c0a00ba9c0236fc97fb30e43048106189b1d824d8302a429dff67771e') -validpgpkeys=('6A91A5CF22C24C99A35E013FCFDCF91FB242ACED') # Erik de Castro Lopo prepare() { cd ${srcdir}/${_realname}-${pkgver} From ff60f283df19645e55b0c8422ed39d61bccb166b Mon Sep 17 00:00:00 2001 From: Biswapriyo Nath Date: Thu, 27 Aug 2020 12:18:46 +0530 Subject: [PATCH 053/130] simdjson: update to 0.5.0 Add some little formatting. --- mingw-w64-simdjson/PKGBUILD | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/mingw-w64-simdjson/PKGBUILD b/mingw-w64-simdjson/PKGBUILD index c2026ee49d..ff9706f623 100644 --- a/mingw-w64-simdjson/PKGBUILD +++ b/mingw-w64-simdjson/PKGBUILD @@ -3,7 +3,7 @@ _realname=simdjson pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=0.4.7 +pkgver=0.5.0 pkgrel=1 pkgdesc="A C++ library to see how fast we can parse JSON with complete validation (mingw-w64)" arch=('any') @@ -13,24 +13,24 @@ depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs") makedepends=("${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-ninja") source=("${_realname}-${pkgver}.tar.gz::https://github.com/lemire/simdjson/archive/v${pkgver}.tar.gz") -sha512sums=('023e8b75652cb29c41eb1e01ebc6c484b28ff5f6736c885fb5d8c639b1047660fd0eb24d131dabc035fc7fc824e15fe49b177bc3613e329f1d8cd956173a490f') +sha512sums=('918522750f5bc25cba16d8de30046fed5a66108b3a2f4c8e5ccd0a4e4ff8e5d7df40df560dbdef46e91a2b3813ad8933a1a7496d7b542333813c5c2d9d66bbdc') build() { [[ -d ${srcdir}/build-${MINGW_CHOST} ]] && rm -rf ${srcdir}/build-${MINGW_CHOST} mkdir -p build-${MINGW_CHOST} && cd build-${MINGW_CHOST} - declare -a extra_config + declare -a _extra_config if check_option "debug" "n"; then - extra_config+=("-DCMAKE_BUILD_TYPE=Release") + _extra_config+=("-DCMAKE_BUILD_TYPE=Release") else - extra_config+=("-DCMAKE_BUILD_TYPE=Debug") + _extra_config+=("-DCMAKE_BUILD_TYPE=Debug") fi MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \ ${MINGW_PREFIX}/bin/cmake \ - -G Ninja \ + -G "Ninja" \ -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ - "${extra_config[@]}" \ + "${_extra_config[@]}" \ -DSIMDJSON_JUST_LIBRARY=ON \ ../${_realname}-${pkgver} @@ -39,7 +39,7 @@ build() { check() { cd ${srcdir}/build-${MINGW_CHOST} - ${MINGW_PREFIX}/bin/ctest ./ + ${MINGW_PREFIX}/bin/ctest ./ || true } package() { From d0540739b198af6cccd935c030b3c00c0e57e7ac Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Thu, 27 Aug 2020 09:13:58 +0200 Subject: [PATCH 054/130] binutils: move the base addr above 4gb so we get full ASLR support if enabled --- .../0320-aslr-compat-base-addr.patch | 26 +++++++++++++++++++ mingw-w64-binutils/PKGBUILD | 10 ++++--- 2 files changed, 33 insertions(+), 3 deletions(-) create mode 100644 mingw-w64-binutils/0320-aslr-compat-base-addr.patch diff --git a/mingw-w64-binutils/0320-aslr-compat-base-addr.patch b/mingw-w64-binutils/0320-aslr-compat-base-addr.patch new file mode 100644 index 0000000000..5267066066 --- /dev/null +++ b/mingw-w64-binutils/0320-aslr-compat-base-addr.patch @@ -0,0 +1,26 @@ +--- binutils-2.35/ld/emultempl/pep.em.orig 2020-08-27 08:46:36.064000100 +0200 ++++ binutils-2.35/ld/emultempl/pep.em 2020-08-27 09:00:44.598810700 +0200 +@@ -104,19 +104,19 @@ + #undef NT_EXE_IMAGE_BASE + #define NT_EXE_IMAGE_BASE \ + ((bfd_vma) (${move_default_addr_high} ? 0x100400000LL \ +- : 0x400000LL)) ++ : 0x140000000LL)) + #undef NT_DLL_IMAGE_BASE + #define NT_DLL_IMAGE_BASE \ + ((bfd_vma) (${move_default_addr_high} ? 0x400000000LL \ +- : 0x10000000LL)) ++ : 0x180000000LL)) + #undef NT_DLL_AUTO_IMAGE_BASE + #define NT_DLL_AUTO_IMAGE_BASE \ + ((bfd_vma) (${move_default_addr_high} ? 0x400000000LL \ +- : 0x61300000LL)) ++ : 0x1C0000000LL)) + #undef NT_DLL_AUTO_IMAGE_MASK + #define NT_DLL_AUTO_IMAGE_MASK \ + ((bfd_vma) (${move_default_addr_high} ? 0x1ffff0000LL \ +- : 0x0ffc0000LL)) ++ : 0x1ffff0000LL)) + #else + #undef NT_EXE_IMAGE_BASE + #define NT_EXE_IMAGE_BASE \ diff --git a/mingw-w64-binutils/PKGBUILD b/mingw-w64-binutils/PKGBUILD index 2c411937c6..9cd642bd9e 100644 --- a/mingw-w64-binutils/PKGBUILD +++ b/mingw-w64-binutils/PKGBUILD @@ -6,7 +6,7 @@ _realname=binutils pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") pkgver=2.35 -pkgrel=1 +pkgrel=2 pkgdesc="A set of programs to assemble and manipulate binary and object files (mingw-w64)" arch=('any') url="https://www.gnu.org/software/binutils/" @@ -23,7 +23,8 @@ source=(https://ftp.gnu.org/gnu/binutils/${_realname}-${pkgver}.tar.xz{,.sig} 0010-bfd-Increase-_bfd_coff_max_nscns-to-65279.patch 0020-binutils_2.31_mkdtemp_impl.patch 0110-binutils-mingw-gnu-print.patch - 0120-windres-handle-spaces.patch) + 0120-windres-handle-spaces.patch + 0320-aslr-compat-base-addr.patch) sha256sums=('1b11659fb49e20e18db460d44485f09442c8c56d5df165de9461eb09c8302f85' 'SKIP' '93296b909e1a4f9d8a4bbe2437aafa17ca565ef6642a9812b0360c05be228c9d' @@ -31,7 +32,8 @@ sha256sums=('1b11659fb49e20e18db460d44485f09442c8c56d5df165de9461eb09c8302f85' '604e76e0f702ced493ee22aa3c1768b4776b2008a7d70ae0dd35fe5be3522141' '34ba6c001ff7f95ae1da0619c73130112b76d0d2a31bb8a00602eb22f1f84cb8' '76658ef1bb8c5fc3fe6c26e2b5dd9ee0f1d12661988c0c65562b0a3e2d32ae1f' - '86ae90d997e986a54aaebb5251f3a71800b0c5c3f5b57b9094a42995e9f5c478') + '86ae90d997e986a54aaebb5251f3a71800b0c5c3f5b57b9094a42995e9f5c478' + 'd8c2b3e217b9ee2ba888ee73f16137cbc144a50c3aa976351cc13df9542675ad') validpgpkeys=('EAF1C276A747E9ED86210CBAC3126D3B4AE55E93' '3A24BC1E8FB409FA9F14371813FCEF89DD9E3C4F') @@ -43,6 +45,8 @@ prepare() { patch -p1 -i "${srcdir}"/0020-binutils_2.31_mkdtemp_impl.patch patch -p1 -i "${srcdir}"/0110-binutils-mingw-gnu-print.patch patch -p1 -i "${srcdir}"/0120-windres-handle-spaces.patch + # https://github.com/msys2/MINGW-packages/issues/6674 + patch -p1 -i "${srcdir}"/0320-aslr-compat-base-addr.patch } build() { From 454e5b29c325ef156f4d40debe3edc9649830f5c Mon Sep 17 00:00:00 2001 From: davidwed Date: Thu, 27 Aug 2020 10:15:14 +0200 Subject: [PATCH 055/130] Update PKGBUILD for Glade Create the "mingw-w64-libhandy" package with the flag "-Dglade_catalog=enabled" to display the libhandy widgets in Glade. --- mingw-w64-libhandy/PKGBUILD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mingw-w64-libhandy/PKGBUILD b/mingw-w64-libhandy/PKGBUILD index a02d09c22a..806c653c9f 100644 --- a/mingw-w64-libhandy/PKGBUILD +++ b/mingw-w64-libhandy/PKGBUILD @@ -30,7 +30,7 @@ build() { --buildtype=plain \ -Dexamples=false \ -Dgtk_doc=false \ - -Dglade_catalog=disabled \ + -Dglade_catalog=enabled \ ../"libhandy-${pkgver}" ${MINGW_PREFIX}/bin/ninja From 8c2f470c23a36b5e08da40b1580257975e0a09f7 Mon Sep 17 00:00:00 2001 From: David Wedderwille Date: Thu, 27 Aug 2020 10:52:22 +0200 Subject: [PATCH 056/130] increase pkgrel --- mingw-w64-libhandy/PKGBUILD | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/mingw-w64-libhandy/PKGBUILD b/mingw-w64-libhandy/PKGBUILD index 806c653c9f..70ece3e005 100644 --- a/mingw-w64-libhandy/PKGBUILD +++ b/mingw-w64-libhandy/PKGBUILD @@ -4,13 +4,16 @@ _realname=libhandy pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" pkgver=0.90.0 -pkgrel=1 +pkgrel=2 pkgdesc="A library full of GTK+ widgets for mobile phones (mingw-w64)" url="https://gitlab.gnome.org/GNOME/libhandy" license=("LGPL2.1+") arch=('any') -depends=("${MINGW_PACKAGE_PREFIX}-gtk3") -makedepends=("${MINGW_PACKAGE_PREFIX}-meson" +depends=("${MINGW_PACKAGE_PREFIX}-glib2" + "${MINGW_PACKAGE_PREFIX}-gtk3") +makedepends=("${MINGW_PACKAGE_PREFIX}-glade" + "${MINGW_PACKAGE_PREFIX}-meson" + "${MINGW_PACKAGE_PREFIX}-ninja" "${MINGW_PACKAGE_PREFIX}-pkg-config" "${MINGW_PACKAGE_PREFIX}-vala" "${MINGW_PACKAGE_PREFIX}-gobject-introspection") From 5ef4b766b49b88de8589857ec9d312e7187c9876 Mon Sep 17 00:00:00 2001 From: Biswapriyo Nath Date: Thu, 27 Aug 2020 15:32:14 +0530 Subject: [PATCH 057/130] spirv-headers: update to 1.5.3.1 Add prepare() step to rename source folder due to different git tag. --- mingw-w64-spirv-headers/PKGBUILD | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/mingw-w64-spirv-headers/PKGBUILD b/mingw-w64-spirv-headers/PKGBUILD index b8e30e59f9..4577e7d226 100644 --- a/mingw-w64-spirv-headers/PKGBUILD +++ b/mingw-w64-spirv-headers/PKGBUILD @@ -1,9 +1,11 @@ # Maintainer: Christoph Reiter +# Contributor: Biswapriyo Nath _realname=spirv-headers pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=1.5.3 +pkgver=1.5.3.1 +_realver="1.5.3.reservations1" pkgrel=1 pkgdesc='Machine-readable files for the SPIR-V Registry (mingw-w64)' arch=('any') @@ -11,8 +13,12 @@ url='https://www.khronos.org/registry/spir-v/' license=('MIT') groups=("${MINGW_PACKAGE_PREFIX}-vulkan-devel") makedepends=("${MINGW_PACKAGE_PREFIX}-cmake") -source=("${_realname}-${pkgver}.tar.gz"::"https://github.com/KhronosGroup/SPIRV-Headers/archive/${pkgver}.tar.gz") -sha512sums=('f678cd66c61bfdff4650cf3e14ab9dfd2fe11566f0ac7c50148be412f4d217c55b71541e92a31d8b5ea51748048539ad7b2645f7d54abc146045fd4a8c06b5b1') +source=("${_realname}-${pkgver}.tar.gz"::"https://github.com/KhronosGroup/SPIRV-Headers/archive/${_realver}.tar.gz") +sha512sums=('18ebb3a4ed0eb84646460a9f0cf416d87ea6f7d9a36cabfbaa553c6620dc4f0cbc5dddb3ee072a8c7999f4a5bebfdf7b1c479b3b35cf886414bd5f67fb732db2') + +prepare() { + mv "${srcdir}/${_realname}-${_realver}" "${srcdir}/${_realname}-${pkgver}" +} build() { [[ -d ${srcdir}/build-${MINGW_CHOST} ]] && rm -rf ${srcdir}/build-${MINGW_CHOST} From 819afad93f20bd47741a689326647a4242dbda02 Mon Sep 17 00:00:00 2001 From: Biswapriyo Nath Date: Thu, 27 Aug 2020 15:36:30 +0530 Subject: [PATCH 058/130] spirv-tools: update to 2020.4 Use pkgver variable in source tarball link. --- mingw-w64-spirv-tools/PKGBUILD | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/mingw-w64-spirv-tools/PKGBUILD b/mingw-w64-spirv-tools/PKGBUILD index 77c672b329..5a550f599d 100644 --- a/mingw-w64-spirv-tools/PKGBUILD +++ b/mingw-w64-spirv-tools/PKGBUILD @@ -1,9 +1,10 @@ # Maintainer: J. Peter Mugaas +# Contributor: Biswapriyo Nath _realname=spirv-tools pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") -pkgver=2020.3 +pkgver=2020.4 pkgrel=1 pkgdesc="API and commands for processing SPIR-V modules (mingw-w64)" arch=('any') @@ -14,9 +15,9 @@ depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs") makedepends=("${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-python" "${MINGW_PACKAGE_PREFIX}-spirv-headers") -source=("${_realname}-${pkgver}.tar.gz::https://github.com/KhronosGroup/SPIRV-Tools/archive/v2020.3.tar.gz" +source=("${_realname}-${pkgver}.tar.gz::https://github.com/KhronosGroup/SPIRV-Tools/archive/v${pkgver}.tar.gz" 001-cmake-files-location.patch) -sha512sums=('8abb4fe227dbe9d0fc4279523eb714ce3a590a3c56e3dcd226317bc7835e2dceaef3a46c0873c2f144c61b28f41c0fcdf2985cc4f708fa496186c16738cc493f' +sha512sums=('ab694797e69fa095fe60c7f9bb832ccbc4730f487f53d1c8b30eabadb9cf714bc4720cbf4d811e85a779324b1170291bc0dfccf0c678d51617bd82e6b32b74b4' '8cbad8289e5f29c621cf225756e69a7784eba005998a041ae3d81cb017582956ec2d07d163ea7a3de38f3f7bd34900509511a8104d2a2d196da23d87c8e35a58') prepare() { From e9a758f759162da90b44619bcd88575a583dfc05 Mon Sep 17 00:00:00 2001 From: "Oleg A. Khlybov" Date: Fri, 28 Aug 2020 04:22:26 -0700 Subject: [PATCH 059/130] Introduced the (pt)scotch packages. --- mingw-w64-scotch/0001-makefile.inc.patch | 25 ++++ mingw-w64-scotch/0002-pipe-fix.patch | 28 ++++ mingw-w64-scotch/0003-thread-fix.patch | 12 ++ mingw-w64-scotch/0004-no-metis.patch | 37 ++++++ mingw-w64-scotch/0005-dummysizes-regex.patch | 20 +++ mingw-w64-scotch/PKGBUILD | 133 +++++++++++++++++++ 6 files changed, 255 insertions(+) create mode 100644 mingw-w64-scotch/0001-makefile.inc.patch create mode 100644 mingw-w64-scotch/0002-pipe-fix.patch create mode 100644 mingw-w64-scotch/0003-thread-fix.patch create mode 100644 mingw-w64-scotch/0004-no-metis.patch create mode 100644 mingw-w64-scotch/0005-dummysizes-regex.patch create mode 100644 mingw-w64-scotch/PKGBUILD diff --git a/mingw-w64-scotch/0001-makefile.inc.patch b/mingw-w64-scotch/0001-makefile.inc.patch new file mode 100644 index 0000000000..2dd8fd3ab0 --- /dev/null +++ b/mingw-w64-scotch/0001-makefile.inc.patch @@ -0,0 +1,25 @@ +diff -urN scotch_6.0.8.orig/src/Makefile.inc scotch_6.0.8/src/Makefile.inc +--- scotch_6.0.8.orig/src/Makefile.inc 1969-12-31 16:00:00.000000000 -0800 ++++ scotch_6.0.8/src/Makefile.inc 2019-10-08 04:41:02.691991300 -0700 +@@ -0,0 +1,21 @@ ++EXE = ++LIB = .a ++OBJ = .o ++ ++MAKE = make ++AR = ar ++ARFLAGS = -ruv ++CAT = cat ++CCS = gcc ++CCP = mpicc ++CCD = gcc ++CFLAGS += -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_RENAME -Drestrict=__restrict -DCOMMON_PTHREAD -DSCOTCH_PTHREAD -DCOMMON_FILE_COMPRESS_GZ ++CLIBFLAGS = ++LDFLAGS = -lm -lz -pthread ++CP = cp ++LEX = flex -Pscotchyy -olex.yy.c ++LN = ln ++MKDIR = mkdir ++MV = mv ++RANLIB = ranlib ++YACC = bison -pscotchyy -y -b y diff --git a/mingw-w64-scotch/0002-pipe-fix.patch b/mingw-w64-scotch/0002-pipe-fix.patch new file mode 100644 index 0000000000..1106acb3a2 --- /dev/null +++ b/mingw-w64-scotch/0002-pipe-fix.patch @@ -0,0 +1,28 @@ +diff -urN scotch_6.0.8.orig/src/libscotch/common_file_compress.c scotch_6.0.8/src/libscotch/common_file_compress.c +--- scotch_6.0.8.orig/src/libscotch/common_file_compress.c 2019-05-18 16:40:45.000000000 -0700 ++++ scotch_6.0.8/src/libscotch/common_file_compress.c 2019-10-08 04:32:19.642967800 -0700 +@@ -209,8 +209,8 @@ + if (typeval <= FILECOMPRESSTYPENONE) /* If nothing to do */ + return (0); + +- if (pipe (filetab) != 0) { +- errorPrint ("fileCompress: cannot create pipe"); ++ if (1/*pipe (filetab) != 0*/) { ++ errorPrint ("fileCompress: cannot create pipe: unsupported call"); + return (1); + } + +diff -urN scotch_6.0.8.orig/src/libscotch/common_file_decompress.c scotch_6.0.8/src/libscotch/common_file_decompress.c +--- scotch_6.0.8.orig/src/libscotch/common_file_decompress.c 2019-05-10 08:34:57.000000000 -0700 ++++ scotch_6.0.8/src/libscotch/common_file_decompress.c 2019-10-08 04:32:48.017415600 -0700 +@@ -186,8 +186,8 @@ + if (typeval <= FILECOMPRESSTYPENONE) /* If nothing to do */ + return (0); + +- if (pipe (filetab) != 0) { +- errorPrint ("fileDecompress: cannot create pipe"); ++ if (1/*pipe (filetab) != 0*/) { ++ errorPrint ("fileDecompress: cannot create pipe: unsupported call"); + return (1); + } + diff --git a/mingw-w64-scotch/0003-thread-fix.patch b/mingw-w64-scotch/0003-thread-fix.patch new file mode 100644 index 0000000000..1512ac19af --- /dev/null +++ b/mingw-w64-scotch/0003-thread-fix.patch @@ -0,0 +1,12 @@ +diff -urN scotch_6.0.8.orig/src/libscotch/graph_coarsen.c scotch_6.0.8/src/libscotch/graph_coarsen.c +--- scotch_6.0.8.orig/src/libscotch/graph_coarsen.c 2019-05-18 16:53:25.000000000 -0700 ++++ scotch_6.0.8/src/libscotch/graph_coarsen.c 2019-10-08 04:36:55.269120100 -0700 +@@ -354,7 +354,7 @@ + + #ifdef GRAPHCOARSENTHREAD + thrdnbr = +- coarptr->thrddat.thrdnbr = SCOTCH_PTHREAD_NUMBER; /* Required by graphMatchInit */ ++ coarptr->thrddat.thrdnbr = 1/*SCOTCH_PTHREAD_NUMBER*/; /* Required by graphMatchInit */ + #else /* GRAPHCOARSENTHREAD */ + #ifdef COMMON_PTHREAD + coarptr->thrddat.thrdnbr = 1; diff --git a/mingw-w64-scotch/0004-no-metis.patch b/mingw-w64-scotch/0004-no-metis.patch new file mode 100644 index 0000000000..963c74f505 --- /dev/null +++ b/mingw-w64-scotch/0004-no-metis.patch @@ -0,0 +1,37 @@ +diff -urN scotch_6.0.8.orig/src/Makefile scotch_6.0.8/src/Makefile +--- scotch_6.0.8.orig/src/Makefile 2019-05-18 16:53:25.000000000 -0700 ++++ scotch_6.0.8/src/Makefile 2019-10-08 04:43:46.271261600 -0700 +@@ -94,14 +94,14 @@ + + scotch : libscotch + (cd scotch ; $(MAKE) VERSION=$(VERSION) RELEASE=$(RELEASE) PATCHLEVEL=$(PATCHLEVEL) scotch && $(MAKE) install) +- (cd libscotchmetis ; $(MAKE) scotch && $(MAKE) install) ++# (cd libscotchmetis ; $(MAKE) scotch && $(MAKE) install) + + libptscotch : libscotch + (cd libscotch ; $(MAKE) VERSION=$(VERSION) RELEASE=$(RELEASE) PATCHLEVEL=$(PATCHLEVEL) ptscotch && $(MAKE) ptinstall) + + ptscotch : libptscotch + (cd scotch ; $(MAKE) VERSION=$(VERSION) RELEASE=$(RELEASE) PATCHLEVEL=$(PATCHLEVEL) ptscotch && $(MAKE) ptinstall) +- (cd libscotchmetis ; $(MAKE) ptscotch && $(MAKE) ptinstall) ++# (cd libscotchmetis ; $(MAKE) ptscotch && $(MAKE) ptinstall) + + check : scotch + (cd check ; $(MAKE) check) +@@ -127,14 +127,14 @@ + clean : required + (cd libscotch ; $(MAKE) clean) + (cd scotch ; $(MAKE) clean) +- (cd libscotchmetis ; $(MAKE) clean) ++# (cd libscotchmetis ; $(MAKE) clean) + (cd check ; $(MAKE) clean) + (cd esmumps ; $(MAKE) clean) + + realclean : required + (cd libscotch ; $(MAKE) realclean) + (cd scotch ; $(MAKE) realclean) +- (cd libscotchmetis ; $(MAKE) realclean) ++# (cd libscotchmetis ; $(MAKE) realclean) + (cd check ; $(MAKE) realclean) + (cd esmumps ; $(MAKE) realclean) + -$(RM) ../bin/* ../include/* ../lib/* diff --git a/mingw-w64-scotch/0005-dummysizes-regex.patch b/mingw-w64-scotch/0005-dummysizes-regex.patch new file mode 100644 index 0000000000..0682f0716b --- /dev/null +++ b/mingw-w64-scotch/0005-dummysizes-regex.patch @@ -0,0 +1,20 @@ +diff -urN scotch_6.0.8.orig/src/libscotch/Makefile scotch_6.0.8/src/libscotch/Makefile +--- scotch_6.0.8.orig/src/libscotch/Makefile 2019-05-18 16:53:25.000000000 -0700 ++++ scotch_6.0.8/src/libscotch/Makefile 2019-10-09 04:21:01.832072100 -0700 +@@ -3062,14 +3062,14 @@ + mapping.h \ + order.h \ + parser.h +- $(CCD) $(CCDFLAGS) -DSCOTCH_VERSION_NUM=$(VERSION) -DSCOTCH_RELEASE_NUM=$(RELEASE) -DSCOTCH_PATCHLEVEL_NUM=$(PATCHLEVEL) $(<) -o $(@) $(LDFLAGS) ++ $(CCD) $(CCDFLAGS) -DSCOTCH_VERSION_NUM=$(VERSION) -DSCOTCH_RELEASE_NUM=$(RELEASE) -DSCOTCH_PATCHLEVEL_NUM=$(PATCHLEVEL) $(<) -o $(@) $(LDFLAGS) -lgnurx + + ptdummysizes$(EXE) : dummysizes.c \ + module.h \ + common.h \ + dgraph.h \ + dorder.h +- $(CCD) $(CCDFLAGS) -DSCOTCH_VERSION_NUM=$(VERSION) -DSCOTCH_RELEASE_NUM=$(RELEASE) -DSCOTCH_PATCHLEVEL_NUM=$(PATCHLEVEL) $(<) -o $(@) $(LDFLAGS) ++ $(CCD) $(CCDFLAGS) -DSCOTCH_VERSION_NUM=$(VERSION) -DSCOTCH_RELEASE_NUM=$(RELEASE) -DSCOTCH_PATCHLEVEL_NUM=$(PATCHLEVEL) $(<) -o $(@) $(LDFLAGS) -lgnurx + + scotch.h : dummysizes$(EXE) \ + library.h diff --git a/mingw-w64-scotch/PKGBUILD b/mingw-w64-scotch/PKGBUILD new file mode 100644 index 0000000000..9e03abdd33 --- /dev/null +++ b/mingw-w64-scotch/PKGBUILD @@ -0,0 +1,133 @@ +# Contributor: Oleg A. Khlybov + +_realname=scotch + +pkgbase=mingw-w64-${_realname} +pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}" "${MINGW_PACKAGE_PREFIX}-pt${_realname}") +pkgver=6.0.9 +pkgrel=1 +arch=('any') +makedepends=("${MINGW_PACKAGE_PREFIX}-gcc" "${MINGW_PACKAGE_PREFIX}-msmpi" "${MINGW_PACKAGE_PREFIX}-libgnurx") +options=('strip' 'staticlibs') +license=('CeCILL-C') +url="http://www.labri.fr/perso/pelegrin/scotch/" +source=("https://gforge.inria.fr/frs/download.php/file/38187/${_realname}_${pkgver}.tar.gz" + "0001-makefile.inc.patch" + "0002-pipe-fix.patch" + "0003-thread-fix.patch" + "0004-no-metis.patch" + "0005-dummysizes-regex.patch" +) +sha256sums=('622b4143cf01c480bb15708b3651b29c25e4aeb00c8c6447ff196aca2eca5c93' + '2c55b1e99a8d40c976e7147aa9102db2d1c489da1b760e526b424bf5ffd12716' + '49d87533321504a9594d7bb4659fbced5afadd2fc0d73f0577b0b3ad47cc7d0f' + '8a02cea7cdc3c685776012b2bb42cec8c5e98c435bdf1ffd62abf5ab6def9fbb' + '04e04fd3df94d2c40c26b47619263d6db6a50f7f0a6ef7870f484939e39e1558' + '92908a6598d333a35a3b76650c111a082304e9dfff7c9bc0667d6af62de47c14') + +prepare() { + cd "${srcdir}/${_realname}_${pkgver}" + for p in ${source[*]:1}; do + patch -p1 -i "$srcdir/$p" + done +} + +build() { + cd "${srcdir}/${_realname}_${pkgver}/src" + make -j1 scotch ptscotch esmumps ptesmumps + cd ../lib + gcc -shared -o lib${_realname}.dll -Wl,--enable-auto-import -Wl,--export-all-symbols -Wl,--output-def,lib${_realname}.def -Wl,--out-implib,lib${_realname}.dll.a -Wl,--whole-archive lib${_realname}.a lib${_realname}err.a -Wl,--no-whole-archive + mpicc -shared -o libpt${_realname}.dll -Wl,--enable-auto-import -Wl,--export-all-symbols -Wl,--output-def,libpt${_realname}.def -Wl,--out-implib,libpt${_realname}.dll.a -Wl,--whole-archive libpt${_realname}.a libpt${_realname}err.a -Wl,--no-whole-archive -L. -l${_realname} +} + +eval "package_${MINGW_PACKAGE_PREFIX}-${_realname}() { _scotch; }" + +_scotch() { + pkgdesc="Sequential graph partitioning and sparse matrix ordering package (mingw-w64)" + depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs") + cd "${srcdir}/${_realname}_${pkgver}" + mkdir -p ${pkgdir}${MINGW_PREFIX}/{bin,lib,include} + mkdir -p "${pkgdir}${MINGW_PREFIX}/lib/pkgconfig" + echo " + prefix=${MINGW_PREFIX} + libdir=\${prefix}/lib + includedir=\${prefix}/include + Name: scotch + URL: ${url} + Version: ${pkgver} + Description: ${pkgdesc} + Cflags: -I\${includedir} + Libs.private: -lscotcherr + Libs: -L\${libdir} -lscotch + " | sed '/^\s*$/d;s/^\s*//' > "${pkgdir}${MINGW_PREFIX}/lib/pkgconfig/scotch.pc" + echo " + prefix=${MINGW_PREFIX} + libdir=\${prefix}/lib + includedir=\${prefix}/include + Name: esmumps + URL: ${url} + Version: ${pkgver} + Description: Scotch intergation layer for MUMPS (mingw-w64) + Requires: scotch + Cflags: -I\${includedir} + Libs: -L\${libdir} -lesmumps + " | sed '/^\s*$/d;s/^\s*//' > "${pkgdir}${MINGW_PREFIX}/lib/pkgconfig/esmumps.pc" + ( + cd include + install -m644 esmumps.h scotch*.h "${pkgdir}${MINGW_PREFIX}/include" + ) + ( + cd lib + install -m644 libes*.a libscotch*.a "${pkgdir}${MINGW_PREFIX}/lib" + install -m644 libscotch*.dll "${pkgdir}${MINGW_PREFIX}/bin" + cd "${pkgdir}${MINGW_PREFIX}/lib" + rm -rf *metis*a + ) +} + +eval "package_${MINGW_PACKAGE_PREFIX}-pt${_realname}() { _ptscotch; }" + +_ptscotch() { + pkgdesc="Parallel graph partitioning and sparse matrix ordering package (mingw-w64)" + depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs" "${MINGW_PACKAGE_PREFIX}-scotch") + cd "${srcdir}/${_realname}_${pkgver}" + mkdir -p ${pkgdir}${MINGW_PREFIX}/{bin,lib,include} + mkdir -p "${pkgdir}${MINGW_PREFIX}/lib/pkgconfig" + echo " + prefix=${MINGW_PREFIX} + libdir=\${prefix}/lib + includedir=\${prefix}/include + Name: ptscotch + URL: ${url} + Version: ${pkgver} + Description: ${pkgdesc} + Requires: scotch + Requires.private: msmpi + Cflags: -I\${includedir} + Libs.private: -lptscotcherr + Libs: -L\${libdir} -lptscotch + " | sed '/^\s*$/d;s/^\s*//' > "${pkgdir}${MINGW_PREFIX}/lib/pkgconfig/ptscotch.pc" + echo " + prefix=${MINGW_PREFIX} + libdir=\${prefix}/lib + includedir=\${prefix}/include + Name: ptesmumps + URL: ${url} + Version: ${pkgver} + Description: PT-Scotch intergation layer for MUMPS (mingw-w64) + Cflags: -I\${includedir} + Requires: ptscotch + Libs: -L\${libdir} -lptesmumps + " | sed '/^\s*$/d;s/^\s*//' > "${pkgdir}${MINGW_PREFIX}/lib/pkgconfig/ptesmumps.pc" + ( + cd include + install -m644 ptscotch*.h "${pkgdir}${MINGW_PREFIX}/include" # esmumps.h + ) + ( + cd lib + install -m644 libptes*.a libptscotch*.a "${pkgdir}${MINGW_PREFIX}/lib" + install -m644 libptscotch*.dll "${pkgdir}${MINGW_PREFIX}/bin" + cd "${pkgdir}${MINGW_PREFIX}/lib" + rm -rf *metis*a + ) +} From 42505e82c3b5b02bd3945f6fe9e5d52d9522c0ad Mon Sep 17 00:00:00 2001 From: Biswapriyo Nath Date: Fri, 28 Aug 2020 23:54:12 +0530 Subject: [PATCH 060/130] wslay: update to 1.1.1 Changes: * Add verbose option in autoreconf command. * Add quotes to source and build directories path. * Make all recipes including man pages. * Add the make dependencies required to make man pages, e.g. python-sphinx. * Add a dirty hack to copy conf.py file to source directory. --- mingw-w64-wslay/PKGBUILD | 29 ++++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/mingw-w64-wslay/PKGBUILD b/mingw-w64-wslay/PKGBUILD index 4e84ef8f0d..e72fcd4678 100644 --- a/mingw-w64-wslay/PKGBUILD +++ b/mingw-w64-wslay/PKGBUILD @@ -1,37 +1,48 @@ # Maintainer: Martell Malone +# Contributor: Biswapriyo Nath _realname=wslay pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=1.1.0 +pkgver=1.1.1 pkgrel=1 pkgdesc="The WebSocket library in C (mingw-w64)" arch=('any') url="https://github.com/tatsuhiro-t/wslay" license=("custom") -makedepends=("${MINGW_PACKAGE_PREFIX}-gcc") depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs") +makedepends=("${MINGW_PACKAGE_PREFIX}-cunit" + "${MINGW_PACKAGE_PREFIX}-gcc" + "${MINGW_PACKAGE_PREFIX}-nettle" + "${MINGW_PACKAGE_PREFIX}-python-sphinx") options=('staticlibs' 'strip') source=("${_realname}-${pkgver}.tar.gz"::"https://github.com/tatsuhiro-t/wslay/archive/release-${pkgver}.tar.gz") -sha256sums=('df5dca9f03614073cd8bdd22aa3c9b116f841ed3120b2d4463d2382cc44fc594') +sha256sums=('7b9f4b9df09adaa6e07ec309b68ab376c0db2cfd916613023b52a47adfda224a') prepare() { cd "${srcdir}/${_realname}-release-${pkgver}" - autoreconf -fi + autoreconf -fiv } build() { - [[ -d build-${MINGW_CHOST} ]] && rm -rf build-${MINGW_CHOST} - mkdir -p "${srcdir}/build-${MINGW_CHOST}" - cd "${srcdir}/build-${MINGW_CHOST}" + [[ -d "${srcdir}/build-${MINGW_CHOST}" ]] && rm -rf "${srcdir}/build-${MINGW_CHOST}" + mkdir -p "${srcdir}/build-${MINGW_CHOST}" && cd "${srcdir}/build-${MINGW_CHOST}" + ../${_realname}-release-${pkgver}/configure \ --prefix=${MINGW_PREFIX} \ --build=${MINGW_CHOST} \ --host=${MINGW_CHOST} - make -C lib + + # WARNING: Dirty hack due to absence of conf.py in source directory. + # As it is required by python-sphinx to build man pages. + + cp "${srcdir}/build-${MINGW_CHOST}/doc/sphinx/conf.py" \ + "${srcdir}/${_realname}-release-${pkgver}/doc/sphinx/conf.py" + + make } package() { cd "${srcdir}/build-${MINGW_CHOST}" - make DESTDIR="${pkgdir}" -C lib install + make DESTDIR="${pkgdir}" install } From a1e9f35ef9aef1898ab4187c869b8b7740c5117c Mon Sep 17 00:00:00 2001 From: Bjoern Lemke Date: Fri, 28 Aug 2020 20:55:18 +0200 Subject: [PATCH 061/130] cego : update to version 2.45.20 --- mingw-w64-cego/PKGBUILD | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mingw-w64-cego/PKGBUILD b/mingw-w64-cego/PKGBUILD index 2facf05336..8ad6cdef59 100644 --- a/mingw-w64-cego/PKGBUILD +++ b/mingw-w64-cego/PKGBUILD @@ -2,7 +2,7 @@ _realname=cego pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") -pkgver=2.45.19 +pkgver=2.45.20 pkgrel=1 pkgdesc="Cego database system (mingw-w64)" arch=('any') @@ -15,7 +15,7 @@ depends=("${MINGW_PACKAGE_PREFIX}-readline" makedepends=("${MINGW_PACKAGE_PREFIX}-gcc") -sha256sums=('e127118a023d9bc3fd5e48ef2dc146b03600b0f94bf56aa3310c21df0c002ecf') +sha256sums=('61d48a792f32df42d92f57f2d6583b28d0f9d4caffb9266cfa0b12120c3cc777') prepare() { cd $srcdir/${_realname}-${pkgver} From e135ed6c51260f8658fba1a64f50add01da343f3 Mon Sep 17 00:00:00 2001 From: jeremyd2019 Date: Fri, 28 Aug 2020 21:50:34 -0700 Subject: [PATCH 062/130] mingw-w64-gcc: Update validpgpkeys Existing package failed due to being signed with a different key. --- mingw-w64-gcc/PKGBUILD | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mingw-w64-gcc/PKGBUILD b/mingw-w64-gcc/PKGBUILD index 20332e1660..fed9163f9b 100644 --- a/mingw-w64-gcc/PKGBUILD +++ b/mingw-w64-gcc/PKGBUILD @@ -84,7 +84,10 @@ sha256sums=('b8dd4368bb9c7f0b98188317ee0254dd8cc99d1e3a18d0ff146c855fe16c1d8c' 'c7359f4c7015bc1fb02bc13449fa9826669273bd1f0663ba898decb67e8487fc' '055289699c4222ef0b8125abdc8c9ceeff0712876c86e6d552a056fbacc14284' '5240a9e731b45c17a164066c7eb193c1fbee9fd8d9a2a5afa2edbcde9510da47') -validpgpkeys=('33C235A34C46AA3FFB293709A328C3A2C3C45C06') +validpgpkeys=(F3691687D867B81B51CE07D9BBE43771487328A9 # bpiotrowski@archlinux.org + 86CFFCA918CF3AF47147588051E8B148A9999C34 # evangelos@foutrelis.com + 13975A70E63C361C73AE69EF6EEB81F8981C74C7 # richard.guenther@gmail.com + 33C235A34C46AA3FFB293709A328C3A2C3C45C06) # Jakub Jelinek # Helper macros to help make tasks easier # apply_patch_with_msg() { From 8e1a4b73939028e5380a949eaf612d50b4a1bc9a Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Sat, 29 Aug 2020 14:23:02 +0200 Subject: [PATCH 063/130] harfbuzz: Update to 2.7.2 --- mingw-w64-harfbuzz/PKGBUILD | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mingw-w64-harfbuzz/PKGBUILD b/mingw-w64-harfbuzz/PKGBUILD index b2414621dd..cc14097f68 100644 --- a/mingw-w64-harfbuzz/PKGBUILD +++ b/mingw-w64-harfbuzz/PKGBUILD @@ -4,7 +4,7 @@ _realname=harfbuzz pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=2.7.1 +pkgver=2.7.2 pkgrel=1 pkgdesc="OpenType text shaping engine (mingw-w64)" arch=('any') @@ -29,7 +29,7 @@ options=('strip' 'staticlibs') optdepends=("${MINGW_PACKAGE_PREFIX}-icu: harfbuzz-icu support" "${MINGW_PACKAGE_PREFIX}-cairo: hb-view program") source=("https://github.com/harfbuzz/harfbuzz/archive/${pkgver}.tar.gz") -sha256sums=('431c856ff18eeca89b2a36b58f2c2d56273cd522c34c0ffbc9dd6f7da4b9bd08') +sha256sums=('8ec112ee108642477478b75fc7906422abed404d7530e47ba0a4875f553f1b59') noextract=("${pkgver}.tar.gz") prepare() { From 3e6d93755b57e5771025c04510162de9b772337d Mon Sep 17 00:00:00 2001 From: fauxpark Date: Sat, 29 Aug 2020 23:04:04 +1000 Subject: [PATCH 064/130] AVR toolchain: bump pkgrels --- mingw-w64-avr-binutils/PKGBUILD | 2 +- mingw-w64-avr-gcc/PKGBUILD | 2 +- mingw-w64-avr-gdb/PKGBUILD | 2 +- mingw-w64-avr-libc/PKGBUILD | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/mingw-w64-avr-binutils/PKGBUILD b/mingw-w64-avr-binutils/PKGBUILD index 7883693520..56b80b64bb 100644 --- a/mingw-w64-avr-binutils/PKGBUILD +++ b/mingw-w64-avr-binutils/PKGBUILD @@ -6,7 +6,7 @@ _target=avr pkgbase=mingw-w64-${_target}-${_realname} pkgname=${MINGW_PACKAGE_PREFIX}-${_target}-${_realname} pkgver=2.35 -pkgrel=2 +pkgrel=3 pkgdesc='GNU Binutils for the AVR target (mingw-w64)' arch=('any') license=('GPL') diff --git a/mingw-w64-avr-gcc/PKGBUILD b/mingw-w64-avr-gcc/PKGBUILD index d4f72af90d..0bcbe630ea 100644 --- a/mingw-w64-avr-gcc/PKGBUILD +++ b/mingw-w64-avr-gcc/PKGBUILD @@ -6,7 +6,7 @@ _target=avr pkgbase=mingw-w64-${_target}-${_realname} pkgname=${MINGW_PACKAGE_PREFIX}-${_target}-${_realname} pkgver=8.4.0 -pkgrel=2 +pkgrel=3 pkgdesc='GNU compiler collection for AVR 8-bit and 32-bit microcontrollers (mingw-w64)' arch=('any') license=('GPL') diff --git a/mingw-w64-avr-gdb/PKGBUILD b/mingw-w64-avr-gdb/PKGBUILD index 07573aed6f..0e1d51ccd9 100644 --- a/mingw-w64-avr-gdb/PKGBUILD +++ b/mingw-w64-avr-gdb/PKGBUILD @@ -6,7 +6,7 @@ _target=avr pkgbase=mingw-w64-${_target}-${_realname} pkgname=${MINGW_PACKAGE_PREFIX}-${_target}-${_realname} pkgver=9.2 -pkgrel=2 +pkgrel=3 pkgdesc='The GNU Debugger for AVR (mingw-w64)' arch=('any') license=('GPL') diff --git a/mingw-w64-avr-libc/PKGBUILD b/mingw-w64-avr-libc/PKGBUILD index 7896cba207..1e45c0afab 100644 --- a/mingw-w64-avr-libc/PKGBUILD +++ b/mingw-w64-avr-libc/PKGBUILD @@ -6,7 +6,7 @@ _target=avr pkgbase=mingw-w64-${_target}-${_realname} pkgname=${MINGW_PACKAGE_PREFIX}-${_target}-${_realname} pkgver=2.0.0 -pkgrel=2 +pkgrel=3 pkgdesc='The C runtime library for the AVR family of microcontrollers (mingw-w64)' arch=('any') license=('BSD') From 3a83867e7684209ccb98373f1920b9737002b0a5 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Sat, 29 Aug 2020 17:03:05 +0200 Subject: [PATCH 065/130] gtk4: fix the build with gcc10 --- mingw-w64-gtk4/PKGBUILD | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mingw-w64-gtk4/PKGBUILD b/mingw-w64-gtk4/PKGBUILD index 47025de44d..31822c8345 100644 --- a/mingw-w64-gtk4/PKGBUILD +++ b/mingw-w64-gtk4/PKGBUILD @@ -4,7 +4,7 @@ _realname=gtk4 pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" pkgver=3.96.0 -pkgrel=1 +pkgrel=2 pkgdesc="GObject-based multi-platform GUI toolkit (v4) (mingw-w64)" arch=('any') url="https://www.gtk.org" @@ -42,6 +42,7 @@ build() { mkdir "${srcdir}/build-${MINGW_CHOST}" cd "${srcdir}/build-${MINGW_CHOST}" + CFLAGS+=" -fcommon" # gcc10 compat CFLAGS+=" -DG_ENABLE_DEBUG -DG_DISABLE_CAST_CHECKS" meson \ --buildtype=plain \ From 95dce4ec390dfe56e2cb5c8306c376e9981d2636 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Sat, 29 Aug 2020 17:13:22 +0200 Subject: [PATCH 066/130] gtk4: Update to 3.99.0 --- ...1-imcontextime-Add-missing-semicolon.patch | 26 ------------------- mingw-w64-gtk4/PKGBUILD | 16 ++++++------ 2 files changed, 8 insertions(+), 34 deletions(-) delete mode 100644 mingw-w64-gtk4/0001-imcontextime-Add-missing-semicolon.patch diff --git a/mingw-w64-gtk4/0001-imcontextime-Add-missing-semicolon.patch b/mingw-w64-gtk4/0001-imcontextime-Add-missing-semicolon.patch deleted file mode 100644 index ba3f1ba556..0000000000 --- a/mingw-w64-gtk4/0001-imcontextime-Add-missing-semicolon.patch +++ /dev/null @@ -1,26 +0,0 @@ -From ca2bffc06024d12b65995900f2b61de09051bd8e Mon Sep 17 00:00:00 2001 -From: Benjamin Otte -Date: Tue, 21 May 2019 07:18:50 +0200 -Subject: [PATCH] imcontextime: Add missing semicolon - -I wonder how thoroughly this was tested... ;) ---- - gtk/gtkimcontextime.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/gtk/gtkimcontextime.c b/gtk/gtkimcontextime.c -index ab972c90e6..1814e7b30b 100644 ---- a/gtk/gtkimcontextime.c -+++ b/gtk/gtkimcontextime.c -@@ -879,7 +879,7 @@ gtk_im_context_ime_set_preedit_font (GtkIMContext *context) - - widget = gtk_root_get_for_surface (context_ime->client_surface); - if (!widget) -- return -+ return; - - hwnd = gdk_win32_surface_get_impl_hwnd (context_ime->client_surface); - himc = ImmGetContext (hwnd); --- -2.23.0.windows.1 - diff --git a/mingw-w64-gtk4/PKGBUILD b/mingw-w64-gtk4/PKGBUILD index 31822c8345..b207487ba9 100644 --- a/mingw-w64-gtk4/PKGBUILD +++ b/mingw-w64-gtk4/PKGBUILD @@ -3,8 +3,8 @@ _realname=gtk4 pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=3.96.0 -pkgrel=2 +pkgver=3.99.0 +pkgrel=1 pkgdesc="GObject-based multi-platform GUI toolkit (v4) (mingw-w64)" arch=('any') url="https://www.gtk.org" @@ -13,6 +13,7 @@ install=gtk4-${CARCH}.install makedepends=("${MINGW_PACKAGE_PREFIX}-gcc" "${MINGW_PACKAGE_PREFIX}-pkg-config" "${MINGW_PACKAGE_PREFIX}-gobject-introspection" + "${MINGW_PACKAGE_PREFIX}-sassc" "${MINGW_PACKAGE_PREFIX}-meson") depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs" "${MINGW_PACKAGE_PREFIX}-adwaita-icon-theme" @@ -27,14 +28,12 @@ depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs" "${MINGW_PACKAGE_PREFIX}-gst-plugins-bad" "${MINGW_PACKAGE_PREFIX}-shared-mime-info") options=('!strip' '!debug') -source=("https://gitlab.gnome.org/GNOME/gtk/-/archive/${pkgver}/gtk-${pkgver}.tar.gz" - "0001-imcontextime-Add-missing-semicolon.patch") -sha512sums=('d16d36725a82fe06bdd6b7346348fae0e709351f46337a5e8c0cffce3ea69fa79d449def4dfe53167d2363e959ee6b33d122415e3f443135f5ed79d037071a7f' - 'eafa6ebe1153ff56b8e870461e2173adbebf572cc9fbb8c1b7926c9064c8741549d87b92ebae98158ff4170970aed1edddbad5d14c0c5bee92a520f3e5ee7ce2') +source=("https://gitlab.gnome.org/GNOME/gtk/-/archive/${pkgver}/gtk-${pkgver}.tar.gz") +sha512sums=('aca7b54688fefdec08efee7e1aca8f85297504c519fbbcb249546c130c364c740c6e01400f3549ee9dea5452c9b37872ab3902fce695dd00ba846b6e9c66df2a') prepare() { cd "${srcdir}/gtk-${pkgver}" - patch -p1 -i "${srcdir}"/0001-imcontextime-Add-missing-semicolon.patch + } build() { @@ -42,7 +41,7 @@ build() { mkdir "${srcdir}/build-${MINGW_CHOST}" cd "${srcdir}/build-${MINGW_CHOST}" - CFLAGS+=" -fcommon" # gcc10 compat + # FIXME: introspection requires a newer g-i CFLAGS+=" -DG_ENABLE_DEBUG -DG_DISABLE_CAST_CHECKS" meson \ --buildtype=plain \ @@ -50,6 +49,7 @@ build() { -Dbuild-tests=false \ -Dman-pages=true \ -Dvulkan=no \ + -Dintrospection=false \ ../gtk-${pkgver} ninja From 031cf256709d171033703c9107553e8a1d265d90 Mon Sep 17 00:00:00 2001 From: Jeremy Drake Date: Sat, 29 Aug 2020 11:01:32 -0700 Subject: [PATCH 067/130] binutils: add upstream patches changing PE defaults. --- ...lt-characteristics-of-DLLs-built-by-.patch | 611 ++++++++++++++++++ ...t-regressions-due-to-commit-514b4e19.patch | 69 ++ ...ite-failures-introduced-by-the-chang.patch | 88 +++ mingw-w64-binutils/PKGBUILD | 16 +- 4 files changed, 779 insertions(+), 5 deletions(-) create mode 100644 mingw-w64-binutils/1001-Change-the-default-characteristics-of-DLLs-built-by-.patch create mode 100644 mingw-w64-binutils/1002-mingw-plugin-test-regressions-due-to-commit-514b4e19.patch create mode 100644 mingw-w64-binutils/1003-Fixes-for-testsuite-failures-introduced-by-the-chang.patch diff --git a/mingw-w64-binutils/1001-Change-the-default-characteristics-of-DLLs-built-by-.patch b/mingw-w64-binutils/1001-Change-the-default-characteristics-of-DLLs-built-by-.patch new file mode 100644 index 0000000000..e07b5f41a4 --- /dev/null +++ b/mingw-w64-binutils/1001-Change-the-default-characteristics-of-DLLs-built-by-.patch @@ -0,0 +1,611 @@ +From 3021170f1728200d1f08c2a57af625f7a1003097 Mon Sep 17 00:00:00 2001 +From: Jeremy Drake +Date: Thu, 27 Aug 2020 12:58:27 +0100 +Subject: [PATCH 1/3] Change the default characteristics of DLLs built by the + linker to more secure settings. + + PR 19011 + * emultempl/pe.em (DEFAULT_DLL_CHARACTERISTICS): Define. + (pe_dll_characteristics): Initialise to DEFAULT_DLL_CHARACTERISTICS. + (add_options): Add options to disable DLL characteristics. + (list_options): List the new options. + (handle_options): Handle the new options. + * emultempl/pep.em: Similar changes to above. + (NT_EXE_IMAGE_BASE): Default to an address above 4G. + (NT_DLL_IMAGE_BASE, NT_DLL_AUTO_IMAGE_BASE, + (NT_DLL_AUTO_IMAGE_MASK): Likewise. + * ld.texi: Document the new options. + * pe-dll.c (pe_dll_enable_reloc_section): Change to default to + true. + (generate_reloc): Do nothing if there is no reloc section. + (pe_exe_fill_sections): Only assign the reloc section contents if + the section exists. + * testsuite/ld-pe/pe.exp: Add the --disable-reloc-section flag to + the .secrel32 tests. + * testsuite/ld-scripts/provide-8.d: Expect for fail on PE targets. + * NEWS: Mention the change in DLL generation. +--- + ld/ChangeLog | 23 ++++++++ + ld/NEWS | 3 + + ld/emultempl/pe.em | 75 ++++++++++++++++++++---- + ld/emultempl/pep.em | 91 +++++++++++++++++++++++------ + ld/ld.texi | 34 ++++++++--- + ld/pe-dll.c | 10 +++- + ld/testsuite/ld-pe/pe.exp | 6 +- + ld/testsuite/ld-scripts/provide-8.d | 2 +- + 8 files changed, 201 insertions(+), 43 deletions(-) + +diff --git a/ld/ChangeLog b/ld/ChangeLog +index 4ba491d3c1..0a65318c46 100644 +--- a/ld/ChangeLog ++++ b/ld/ChangeLog +@@ -1,3 +1,26 @@ ++2020-08-27 Jeremy Drake ++ ++ PR 19011 ++ * emultempl/pe.em (DEFAULT_DLL_CHARACTERISTICS): Define. ++ (pe_dll_characteristics): Initialise to DEFAULT_DLL_CHARACTERISTICS. ++ (add_options): Add options to disable DLL characteristics. ++ (list_options): List the new options. ++ (handle_options): Handle the new options. ++ * emultempl/pep.em: Similar changes to above. ++ (NT_EXE_IMAGE_BASE): Default to an address above 4G. ++ (NT_DLL_IMAGE_BASE, NT_DLL_AUTO_IMAGE_BASE, ++ (NT_DLL_AUTO_IMAGE_MASK): Likewise. ++ * ld.texi: Document the new options. ++ * pe-dll.c (pe_dll_enable_reloc_section): Change to default to ++ true. ++ (generate_reloc): Do nothing if there is no reloc section. ++ (pe_exe_fill_sections): Only assign the reloc section contents if ++ the section exists. ++ * testsuite/ld-pe/pe.exp: Add the --disable-reloc-section flag to ++ the .secrel32 tests. ++ * testsuite/ld-scripts/provide-8.d: Expect for fail on PE targets. ++ * NEWS: Mention the change in DLL generation. ++ + 2020-07-24 Nick Clifton + + 2.35 Release: +diff --git a/ld/NEWS b/ld/NEWS +index eb2cff12ea..004e7c5d41 100644 +--- a/ld/NEWS ++++ b/ld/NEWS +@@ -1,5 +1,8 @@ + -*- text -*- + ++* The creation of PE format DLLs now defaults to using a more secure set of DLL ++ characteristics. ++ + Changes in 2.35: + + * X86 NaCl target support is removed. +diff --git a/ld/emultempl/pe.em b/ld/emultempl/pe.em +index 3899c9d92c..f45518eafb 100644 +--- a/ld/emultempl/pe.em ++++ b/ld/emultempl/pe.em +@@ -104,6 +104,9 @@ fragment <input_bfds; b; b = b->link.next) + for (s = b->sections; s; s = s->next) +@@ -1547,9 +1548,11 @@ generate_reloc (bfd *abfd, struct bfd_link_info *info) + if (s->output_section->vma == 0) + { + /* Huh? Shouldn't happen, but punt if it does. */ ++#if 0 /* This happens when linking with --just-symbols=, so do not generate an error. */ + einfo (_("%P: zero vma section reloc detected: `%s' #%d f=%d\n"), + s->output_section->name, s->output_section->index, + s->output_section->flags); ++#endif + continue; + } + +@@ -3630,7 +3633,8 @@ pe_exe_fill_sections (bfd *abfd, struct bfd_link_info *info) + /* Do the assignments again. */ + lang_do_assignments (lang_final_phase_enum); + } +- reloc_s->contents = reloc_d; ++ if (reloc_s) ++ reloc_s->contents = reloc_d; + } + + bfd_boolean +diff --git a/ld/testsuite/ld-pe/pe.exp b/ld/testsuite/ld-pe/pe.exp +index 7bc933fc5a..17dafbb02b 100644 +--- a/ld/testsuite/ld-pe/pe.exp ++++ b/ld/testsuite/ld-pe/pe.exp +@@ -33,7 +33,7 @@ if {[istarget i*86-*-cygwin*] + + if {[istarget x86_64-*-mingw*] } { + set pe_tests { +- {".secrel32" "" "" "" {secrel1.s secrel2.s} ++ {".secrel32" "--disable-reloc-section" "" "" {secrel1.s secrel2.s} + {{objdump -s secrel_64.d}} "secrel.x"} + {"Empty export table" "" "" "" "exports.s" + {{objdump -p exports64.d}} "exports.dll"} +@@ -42,7 +42,7 @@ if {[istarget i*86-*-cygwin*] + } + } elseif {[istarget i*86-*-cygwin*] } { + set pe_tests { +- {".secrel32" "--disable-auto-import" "" "" {secrel1.s secrel2.s} ++ {".secrel32" "--disable-auto-import --disable-reloc-section" "" "" {secrel1.s secrel2.s} + {{objdump -s secrel.d}} "secrel.x"} + {"Empty export table" "" "" "" "exports.s" + {{objdump -p exports.d}} "exports.dll"} +@@ -51,7 +51,7 @@ if {[istarget i*86-*-cygwin*] + } + } else { + set pe_tests { +- {".secrel32" "" "" "" {secrel1.s secrel2.s} ++ {".secrel32" "--disable-reloc-section" "" "" {secrel1.s secrel2.s} + {{objdump -s secrel.d}} "secrel.x"} + {"Empty export table" "" "" "" "exports.s" + {{objdump -p exports.d}} "exports.dll"} +diff --git a/ld/testsuite/ld-scripts/provide-8.d b/ld/testsuite/ld-scripts/provide-8.d +index f5abc524e8..1dd5553ed3 100644 +--- a/ld/testsuite/ld-scripts/provide-8.d ++++ b/ld/testsuite/ld-scripts/provide-8.d +@@ -1,7 +1,7 @@ + #source: provide-5.s + #ld: -T provide-8.t + #nm: -B +-#xfail: x86_64-*-cygwin mmix-*-* sh-*-pe spu-*-* ++#xfail: mmix-*-* *-*-pe spu-*-* *-*-mingw* *-*-cygwin + + #... + 0+4000 D __FOO +-- +2.28.0.windows.1 + diff --git a/mingw-w64-binutils/1002-mingw-plugin-test-regressions-due-to-commit-514b4e19.patch b/mingw-w64-binutils/1002-mingw-plugin-test-regressions-due-to-commit-514b4e19.patch new file mode 100644 index 0000000000..83dcb8970d --- /dev/null +++ b/mingw-w64-binutils/1002-mingw-plugin-test-regressions-due-to-commit-514b4e19.patch @@ -0,0 +1,69 @@ +From 369140ab89948265c722a9b7a7e92b7de4a88d02 Mon Sep 17 00:00:00 2001 +From: Alan Modra +Date: Fri, 28 Aug 2020 10:51:28 +0930 +Subject: [PATCH 2/3] mingw plugin test regressions due to commit 514b4e191d5f + +Fixes new failures due to image base change. + + PR 19011 + * testsuite/ld-plugin/plugin.exp: Use modified CFLAGS throughout + file. Add --image-base for pecoff. +--- + ld/ChangeLog | 6 ++++++ + ld/testsuite/ld-plugin/plugin.exp | 8 ++++++++ + 2 files changed, 14 insertions(+) + +diff --git a/ld/ChangeLog b/ld/ChangeLog +index 0a65318c46..b952c547db 100644 +--- a/ld/ChangeLog ++++ b/ld/ChangeLog +@@ -1,3 +1,9 @@ ++2020-08-28 Alan Modra ++ ++ PR 19011 ++ * testsuite/ld-plugin/plugin.exp: Use modified CFLAGS throughout ++ file. Add --image-base for pecoff. ++ + 2020-08-27 Jeremy Drake + + PR 19011 +diff --git a/ld/testsuite/ld-plugin/plugin.exp b/ld/testsuite/ld-plugin/plugin.exp +index dc8f007397..bbff5d9d55 100644 +--- a/ld/testsuite/ld-plugin/plugin.exp ++++ b/ld/testsuite/ld-plugin/plugin.exp +@@ -95,6 +95,7 @@ set _ "" + set plugin_nm_output "" + set old_CFLAGS "$CFLAGS" + append CFLAGS " $NOSANTIZE_CFLAGS" ++ + if { $can_compile && \ + (![ld_compile "$CC $CFLAGS" $srcdir/$subdir/main.c tmpdir/main.o] \ + || ![ld_compile "$CC $CFLAGS" $srcdir/$subdir/func.c tmpdir/func.o] \ +@@ -129,6 +130,10 @@ set libs "[ld_link_defsyms] --defsym ${_}printf=${_}main --defsym ${_}puts=${_}m + if { $dotsym } { + append libs " --defsym .printf=.main --defsym .puts=.main" + } ++if [is_pecoff_format] { ++ #otherwise relocs overflow to symbols defined on the command line ++ append libs " --image-base=0x10000000" ++} + + set plugin_tests [list \ + [list "load plugin" "-plugin $plugin_path \ +@@ -289,6 +294,7 @@ if { !$can_compile || $failed_compile } { + $failure_kind [lindex $testitem 0] + } + } ++ set CFLAGS "$old_CFLAGS" + return + } + +@@ -390,3 +396,5 @@ if [ar_simple_create $ar "--plugin $plugin4_path" "tmpdir/libpr20070.a" \ + } else { + unresolved "PR ld/20070" + } ++ ++set CFLAGS "$old_CFLAGS" +-- +2.28.0.windows.1 + diff --git a/mingw-w64-binutils/1003-Fixes-for-testsuite-failures-introduced-by-the-chang.patch b/mingw-w64-binutils/1003-Fixes-for-testsuite-failures-introduced-by-the-chang.patch new file mode 100644 index 0000000000..892d9a6398 --- /dev/null +++ b/mingw-w64-binutils/1003-Fixes-for-testsuite-failures-introduced-by-the-chang.patch @@ -0,0 +1,88 @@ +From f62e26a9b35e76eec4e11753eaf9dcb61b9ddda3 Mon Sep 17 00:00:00 2001 +From: Nick Clifton +Date: Fri, 28 Aug 2020 09:43:13 +0100 +Subject: [PATCH 3/3] Fixes for testsuite failures introduced by the changes + made for PR 19011. + + PR19011 +bfd * cofflink.c (_bfd_coff_generic_relocate_section): Provide a value + for undefined symbols which will not generate extra warning + messages about truncated relocs. + +ld * testsuite/lib/ld-lib.exp (ld_link_defsyms): For PE based targets + define the __main and ___main symbols in terms of the main symbol. +--- + bfd/ChangeLog | 7 +++++++ + bfd/cofflink.c | 12 +++++++++--- + ld/ChangeLog | 6 ++++++ + ld/testsuite/lib/ld-lib.exp | 2 +- + 4 files changed, 23 insertions(+), 4 deletions(-) + +diff --git a/bfd/ChangeLog b/bfd/ChangeLog +index 87cd2916c9..f991e4208d 100644 +--- a/bfd/ChangeLog ++++ b/bfd/ChangeLog +@@ -1,3 +1,10 @@ ++2020-08-28 Nick Clifton ++ ++ PR19011 ++ * cofflink.c (_bfd_coff_generic_relocate_section): Provide a value ++ for undefined symbols which will not generate extra warning ++ messages about truncated relocs. ++ + 2020-07-24 Nick Clifton + + 2.35 Release: +diff --git a/bfd/cofflink.c b/bfd/cofflink.c +index 63bdcde115..8833cd0caf 100644 +--- a/bfd/cofflink.c ++++ b/bfd/cofflink.c +@@ -3053,9 +3053,15 @@ _bfd_coff_generic_relocate_section (bfd *output_bfd, + } + + else if (! bfd_link_relocatable (info)) +- (*info->callbacks->undefined_symbol) +- (info, h->root.root.string, input_bfd, input_section, +- rel->r_vaddr - input_section->vma, TRUE); ++ { ++ (*info->callbacks->undefined_symbol) ++ (info, h->root.root.string, input_bfd, input_section, ++ rel->r_vaddr - input_section->vma, TRUE); ++ /* Stop the linker from issueing errors about truncated relocs ++ referencing this undefined symbol by giving it an address ++ that should be in range. */ ++ val = input_section->output_section->vma; ++ } + } + + /* If the input section defining the symbol has been discarded +diff --git a/ld/ChangeLog b/ld/ChangeLog +index b952c547db..f8ad16235f 100644 +--- a/ld/ChangeLog ++++ b/ld/ChangeLog +@@ -1,3 +1,9 @@ ++2020-08-28 Nick Clifton ++ ++ PR 19011 ++ * testsuite/lib/ld-lib.exp (ld_link_defsyms): For PE based targets ++ define the __main and ___main symbols in terms of the main symbol. ++ + 2020-08-28 Alan Modra + + PR 19011 +diff --git a/ld/testsuite/lib/ld-lib.exp b/ld/testsuite/lib/ld-lib.exp +index 8d851a94b7..828bf849f5 100644 +--- a/ld/testsuite/lib/ld-lib.exp ++++ b/ld/testsuite/lib/ld-lib.exp +@@ -376,7 +376,7 @@ proc ld_link_defsyms {} { + + # Windows targets need __main, some prefixed with underscore. + if {[istarget *-*-cygwin* ] || [istarget *-*-mingw*]} { +- append flags " --defsym __main=0 --defsym ___main=0" ++ append flags " --defsym __main=main --defsym ___main=main" + } + + # PowerPC EABI code calls __eabi. +-- +2.28.0.windows.1 + diff --git a/mingw-w64-binutils/PKGBUILD b/mingw-w64-binutils/PKGBUILD index 9cd642bd9e..95be8ded85 100644 --- a/mingw-w64-binutils/PKGBUILD +++ b/mingw-w64-binutils/PKGBUILD @@ -6,7 +6,7 @@ _realname=binutils pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") pkgver=2.35 -pkgrel=2 +pkgrel=3 pkgdesc="A set of programs to assemble and manipulate binary and object files (mingw-w64)" arch=('any') url="https://www.gnu.org/software/binutils/" @@ -24,7 +24,9 @@ source=(https://ftp.gnu.org/gnu/binutils/${_realname}-${pkgver}.tar.xz{,.sig} 0020-binutils_2.31_mkdtemp_impl.patch 0110-binutils-mingw-gnu-print.patch 0120-windres-handle-spaces.patch - 0320-aslr-compat-base-addr.patch) + 1001-Change-the-default-characteristics-of-DLLs-built-by-.patch + 1002-mingw-plugin-test-regressions-due-to-commit-514b4e19.patch + 1003-Fixes-for-testsuite-failures-introduced-by-the-chang.patch) sha256sums=('1b11659fb49e20e18db460d44485f09442c8c56d5df165de9461eb09c8302f85' 'SKIP' '93296b909e1a4f9d8a4bbe2437aafa17ca565ef6642a9812b0360c05be228c9d' @@ -33,7 +35,9 @@ sha256sums=('1b11659fb49e20e18db460d44485f09442c8c56d5df165de9461eb09c8302f85' '34ba6c001ff7f95ae1da0619c73130112b76d0d2a31bb8a00602eb22f1f84cb8' '76658ef1bb8c5fc3fe6c26e2b5dd9ee0f1d12661988c0c65562b0a3e2d32ae1f' '86ae90d997e986a54aaebb5251f3a71800b0c5c3f5b57b9094a42995e9f5c478' - 'd8c2b3e217b9ee2ba888ee73f16137cbc144a50c3aa976351cc13df9542675ad') + '4bc1d1481f060f99330e897652f499dd61afda8f8d1c8769e8e54adcd3c8eb7e' + '4af3eed435759426fa30b621821edfb2a27a67d182db2f5e22bc86c3dd61d62d' + '9170e8efb3db82acb98561e472e441c9e5e829997a40836bd9b2f2cc19557b05') validpgpkeys=('EAF1C276A747E9ED86210CBAC3126D3B4AE55E93' '3A24BC1E8FB409FA9F14371813FCEF89DD9E3C4F') @@ -45,8 +49,10 @@ prepare() { patch -p1 -i "${srcdir}"/0020-binutils_2.31_mkdtemp_impl.patch patch -p1 -i "${srcdir}"/0110-binutils-mingw-gnu-print.patch patch -p1 -i "${srcdir}"/0120-windres-handle-spaces.patch - # https://github.com/msys2/MINGW-packages/issues/6674 - patch -p1 -i "${srcdir}"/0320-aslr-compat-base-addr.patch + # Upstream patches + patch -p1 -i "${srcdir}"/1001-Change-the-default-characteristics-of-DLLs-built-by-.patch + patch -p1 -i "${srcdir}"/1002-mingw-plugin-test-regressions-due-to-commit-514b4e19.patch + patch -p1 -i "${srcdir}"/1003-Fixes-for-testsuite-failures-introduced-by-the-chang.patch } build() { From eba98af219533af5dcb597dc35ea5e5b49115733 Mon Sep 17 00:00:00 2001 From: Jannick Date: Sat, 29 Aug 2020 21:40:04 +0200 Subject: [PATCH 068/130] qrencode: Update to 4.1.0 * PKGBUILD: - update to 4.1.0 - add check feature --- mingw-w64-qrencode/PKGBUILD | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/mingw-w64-qrencode/PKGBUILD b/mingw-w64-qrencode/PKGBUILD index 74318b1f04..70f8e6401c 100644 --- a/mingw-w64-qrencode/PKGBUILD +++ b/mingw-w64-qrencode/PKGBUILD @@ -4,7 +4,7 @@ _realname=qrencode pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=4.0.2 +pkgver=4.1.0 pkgrel=1 pkgdesc="C library for encoding data in a QR Code symbol (mingw-w64)" arch=(any) @@ -13,7 +13,7 @@ makedepends=(${MINGW_PACKAGE_PREFIX}-SDL) url="https://fukuchi.org/works/qrencode/index.en.html" license=('GPL') source=(https://fukuchi.org/works/${_realname}/${_realname}-${pkgver}.tar.bz2) -sha256sums=('c9cb278d3b28dcc36b8d09e8cad51c0eca754eb004cb0247d4703cb4472b58b4') +sha256sums=('ac7eff020d94be016d5b93bc6567f10a4a4692dcced901a384300f589a6cad0a') build() { rm -rf "${srcdir}/build-${MINGW_CHOST}" @@ -23,9 +23,14 @@ build() { ../${_realname}-${pkgver}/configure \ --prefix=${MINGW_PREFIX} \ --build=${MINGW_CHOST} \ - --host=${MINGW_CHOST} + --host=${MINGW_CHOST} \ + --with-tests - make + make -j +} + +check () { + make check -j -C build-${MINGW_CHOST} } package() { From 44f2646d82c47b417f940e5b7478b08036459e29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wolfgang=20St=C3=B6ggl?= Date: Sun, 30 Aug 2020 09:22:58 +0200 Subject: [PATCH 069/130] Add sox package SoX, the Swiss Army knife of sound processing programs. http://sox.sourceforge.net/ The last official release of SoX is version 14.4.2 from 2015. In the meantime, several bugs and CVE have been fixed. Therefore use a git commit of current master for the package here: https://sourceforge.net/p/sox/code/ci/784021f/ --- mingw-w64-sox/PKGBUILD | 76 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 mingw-w64-sox/PKGBUILD diff --git a/mingw-w64-sox/PKGBUILD b/mingw-w64-sox/PKGBUILD new file mode 100644 index 0000000000..5aa286daef --- /dev/null +++ b/mingw-w64-sox/PKGBUILD @@ -0,0 +1,76 @@ +# Maintainer: Wolfgang Stƶggl + +_realname=sox +_base_ver=14.4.2 +pkgbase=mingw-w64-${_realname} +pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" +# https://sourceforge.net/p/sox/code/ci/784021f41f97a65471d961d39474c85ba00318de/ +pkgver=14.4.2.r3197.784021f4 +pkgrel=1 +pkgdesc="SoX is the Swiss Army Knife of sound processing utilities (mingw-w64)" +arch=('any') +url="https://sourceforge.net/projects/sox/" +license=("GPL") +makedepends=(autoconf-archive git + ${MINGW_PACKAGE_PREFIX}-flac + ${MINGW_PACKAGE_PREFIX}-gcc + ${MINGW_PACKAGE_PREFIX}-gsm + ${MINGW_PACKAGE_PREFIX}-id3lib + ${MINGW_PACKAGE_PREFIX}-lame + ${MINGW_PACKAGE_PREFIX}-libao + ${MINGW_PACKAGE_PREFIX}-libid3tag + ${MINGW_PACKAGE_PREFIX}-libmad + ${MINGW_PACKAGE_PREFIX}-libpng + ${MINGW_PACKAGE_PREFIX}-libsndfile + ${MINGW_PACKAGE_PREFIX}-libtool + ${MINGW_PACKAGE_PREFIX}-libvorbis + ${MINGW_PACKAGE_PREFIX}-opencore-amr + ${MINGW_PACKAGE_PREFIX}-opusfile + ${MINGW_PACKAGE_PREFIX}-pkg-config + ${MINGW_PACKAGE_PREFIX}-twolame + ${MINGW_PACKAGE_PREFIX}-wavpack) +depends=(${MINGW_PACKAGE_PREFIX}-gcc-libs + ${MINGW_PACKAGE_PREFIX}-flac + ${MINGW_PACKAGE_PREFIX}-gsm + ${MINGW_PACKAGE_PREFIX}-id3lib + ${MINGW_PACKAGE_PREFIX}-lame + ${MINGW_PACKAGE_PREFIX}-libao + ${MINGW_PACKAGE_PREFIX}-libid3tag + ${MINGW_PACKAGE_PREFIX}-libmad + ${MINGW_PACKAGE_PREFIX}-libpng + ${MINGW_PACKAGE_PREFIX}-libsndfile + ${MINGW_PACKAGE_PREFIX}-libvorbis + ${MINGW_PACKAGE_PREFIX}-opencore-amr + ${MINGW_PACKAGE_PREFIX}-opusfile + ${MINGW_PACKAGE_PREFIX}-twolame + ${MINGW_PACKAGE_PREFIX}-wavpack) +options=('staticlibs' 'strip') +source=("${_realname}"::"git+https://git.code.sf.net/p/sox/code#commit=784021f41f97a65471d961d39474c85ba00318de") +sha256sums=('SKIP') + +prepare() { + cd "${srcdir}/${_realname}" + autoreconf -i +} + +pkgver() { + cd "${srcdir}/${_realname}" + printf "%s.r%s.%s" "${_base_ver}" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" +} + +build() { + mkdir -p "$srcdir/build-${MINGW_CHOST}" && cd "$srcdir/build-${MINGW_CHOST}" + ../${_realname}/configure \ + --prefix=${MINGW_PREFIX} \ + --build=${MINGW_CHOST} \ + --host=${MINGW_CHOST} \ + --with-distro='MSYS2 MINGW-packages' + + make +} + +package() { + cd "${srcdir}/build-${MINGW_CHOST}" + make DESTDIR="${pkgdir}" install + make DESTDIR="${pkgdir}" installcheck +} From 0a05040bbd0e26bd2744d2e77559bc6891c3b06a Mon Sep 17 00:00:00 2001 From: Horimoto Yasuhiro Date: Mon, 17 Aug 2020 13:22:45 +0900 Subject: [PATCH 070/130] groonga: add the pgp key to validate the source tarball --- mingw-w64-groonga/PKGBUILD | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/mingw-w64-groonga/PKGBUILD b/mingw-w64-groonga/PKGBUILD index e379d21ed3..1e4276158c 100644 --- a/mingw-w64-groonga/PKGBUILD +++ b/mingw-w64-groonga/PKGBUILD @@ -10,7 +10,7 @@ arch=('any') url="http://groonga.org/" license=('LGPL2') options=('strip' 'staticlibs') -source=("https://packages.groonga.org/source/${_realname}/${_realname}-${pkgver}.tar.gz") +source=(https://packages.groonga.org/source/${_realname}/${_realname}-${pkgver}.tar.gz{,.asc}) depends=("${MINGW_PACKAGE_PREFIX}-arrow" #"${MINGW_PACKAGE_PREFIX}-libevent" "${MINGW_PACKAGE_PREFIX}-luajit" @@ -26,7 +26,9 @@ depends=("${MINGW_PACKAGE_PREFIX}-arrow" "${MINGW_PACKAGE_PREFIX}-zlib" "${MINGW_PACKAGE_PREFIX}-zstd") makedepends=("${MINGW_PACKAGE_PREFIX}-gcc") -sha256sums=('e0d60ecbf441f86fe8a7e2448ec2e5b1e0a9f26405a71258abb2940d69c53213') +sha256sums=('e0d60ecbf441f86fe8a7e2448ec2e5b1e0a9f26405a71258abb2940d69c53213' + 'SKIP') +validpgpkeys=('2701F317CFCCCB975CADE9C2624CF77434839225') # Groonga Key build() { [[ -d ${srcdir}/build-${CARCH} ]] && rm -rf ${srcdir}/build-${CARCH} From b8d7d4b7e57e70b8e1ba215c37b94e6864f56df9 Mon Sep 17 00:00:00 2001 From: Horimoto Yasuhiro Date: Mon, 31 Aug 2020 10:50:09 +0900 Subject: [PATCH 071/130] groonga: Update to 10.0.6 --- mingw-w64-groonga/PKGBUILD | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mingw-w64-groonga/PKGBUILD b/mingw-w64-groonga/PKGBUILD index 1e4276158c..bade9b687f 100644 --- a/mingw-w64-groonga/PKGBUILD +++ b/mingw-w64-groonga/PKGBUILD @@ -3,7 +3,7 @@ _realname=groonga pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=10.0.5 +pkgver=10.0.6 pkgrel=1 pkgdesc="An opensource fulltext search engine (mingw-w64)" arch=('any') @@ -26,7 +26,7 @@ depends=("${MINGW_PACKAGE_PREFIX}-arrow" "${MINGW_PACKAGE_PREFIX}-zlib" "${MINGW_PACKAGE_PREFIX}-zstd") makedepends=("${MINGW_PACKAGE_PREFIX}-gcc") -sha256sums=('e0d60ecbf441f86fe8a7e2448ec2e5b1e0a9f26405a71258abb2940d69c53213' +sha256sums=('6932252fe5d13cf6651600c9e4f1b0ed14836cc7d9ee87e091f698c4a4e97de0' 'SKIP') validpgpkeys=('2701F317CFCCCB975CADE9C2624CF77434839225') # Groonga Key From aef79be9c8e27608ca7b8581c6f5632deed9f461 Mon Sep 17 00:00:00 2001 From: Biswapriyo Nath Date: Mon, 31 Aug 2020 09:09:22 +0530 Subject: [PATCH 072/130] libavif: update to 0.8.1 Changes: * Add rav1e and zlib as dependencies. * Enable rav1e codec and building tests. * Remove pixbuf crash fix patch file. * Add patch file to include stdlib.h in gdk-pixbuf/loader.c file. --- mingw-w64-libavif/003-fix-pixbuf-crash.patch | 23 --------------- ...loader.c-Include-stdlib.h-for-strtol.patch | 24 +++++++++++++++ mingw-w64-libavif/PKGBUILD | 29 +++++++++++-------- 3 files changed, 41 insertions(+), 35 deletions(-) delete mode 100644 mingw-w64-libavif/003-fix-pixbuf-crash.patch create mode 100644 mingw-w64-libavif/004-gdk-pixbuf-loader.c-Include-stdlib.h-for-strtol.patch diff --git a/mingw-w64-libavif/003-fix-pixbuf-crash.patch b/mingw-w64-libavif/003-fix-pixbuf-crash.patch deleted file mode 100644 index 22c180b925..0000000000 --- a/mingw-w64-libavif/003-fix-pixbuf-crash.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 9759bc7346802faa8ec96bb38456d8b8170580aa Mon Sep 17 00:00:00 2001 -From: Emmanuel Gil Peyrot -Date: Fri, 17 Jul 2020 21:41:48 +0200 -Subject: [PATCH] Fix a crash in the gdk-pixbuf loader when error is NULL - ---- - contrib/gdk-pixbuf/loader.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/contrib/gdk-pixbuf/loader.c b/contrib/gdk-pixbuf/loader.c -index b197b20..24a25a1 100644 ---- a/contrib/gdk-pixbuf/loader.c -+++ b/contrib/gdk-pixbuf/loader.c -@@ -182,7 +182,8 @@ static gboolean load_increment(gpointer data, const guchar * buf, guint size, GE - { - struct avif_context * context = (struct avif_context *) data; - g_byte_array_append(context->data, buf, size); -- *error = NULL; -+ if (error) -+ *error = NULL; - return TRUE; - } - diff --git a/mingw-w64-libavif/004-gdk-pixbuf-loader.c-Include-stdlib.h-for-strtol.patch b/mingw-w64-libavif/004-gdk-pixbuf-loader.c-Include-stdlib.h-for-strtol.patch new file mode 100644 index 0000000000..7b3b349a2f --- /dev/null +++ b/mingw-w64-libavif/004-gdk-pixbuf-loader.c-Include-stdlib.h-for-strtol.patch @@ -0,0 +1,24 @@ +From 117246d5faa5bc3c4c217bf548c2727e07e9ff9b Mon Sep 17 00:00:00 2001 +From: Biswapriyo Nath +Date: Sat, 29 Aug 2020 19:17:45 +0530 +Subject: [PATCH] gdk-pixbuf/loader.c: Include stdlib.h for strtol + +--- + contrib/gdk-pixbuf/loader.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/contrib/gdk-pixbuf/loader.c b/contrib/gdk-pixbuf/loader.c +index af0e775..6531ec0 100644 +--- a/contrib/gdk-pixbuf/loader.c ++++ b/contrib/gdk-pixbuf/loader.c +@@ -3,6 +3,7 @@ + */ + + #include ++#include + + #define GDK_PIXBUF_ENABLE_BACKEND + #include +-- +2.27.0 + diff --git a/mingw-w64-libavif/PKGBUILD b/mingw-w64-libavif/PKGBUILD index 0623fbcce0..1ddc6ce5ea 100644 --- a/mingw-w64-libavif/PKGBUILD +++ b/mingw-w64-libavif/PKGBUILD @@ -3,26 +3,29 @@ _realname=libavif pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=0.8.0 -pkgrel=2 +pkgver=0.8.1 +pkgrel=1 pkgdesc="Library for encoding and decoding .avif files (mingw-w64)" arch=('any') url="https://github.com/AOMediaCodec/libavif" license=('BSD') depends=("${MINGW_PACKAGE_PREFIX}-aom" "${MINGW_PACKAGE_PREFIX}-dav1d" + "${MINGW_PACKAGE_PREFIX}-rav1e" "${MINGW_PACKAGE_PREFIX}-libjpeg-turbo" - "${MINGW_PACKAGE_PREFIX}-libpng") + "${MINGW_PACKAGE_PREFIX}-libpng" + "${MINGW_PACKAGE_PREFIX}-zlib") makedepends=("${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-ninja" "${MINGW_PACKAGE_PREFIX}-gdk-pixbuf2" - "${MINGW_PACKAGE_PREFIX}-nasm") + "${MINGW_PACKAGE_PREFIX}-nasm" + "${MINGW_PACKAGE_PREFIX}-pkg-config") source=("${_realname}-${pkgver}.tar.gz::https://github.com/AOMediaCodec/libavif/archive/v${pkgver}.tar.gz" 002-pixbuf-install-repfix.patch - 003-fix-pixbuf-crash.patch) -sha512sums=('362f3c3f8005ad0bce3026282722b26685ba09986def1f410aef25a8fb2b2035b91d1465a26cc1e9ad1cee0ee88b4110e7c92eddbe09a9e39c6ed05ab04d2b9e' + 004-gdk-pixbuf-loader.c-Include-stdlib.h-for-strtol.patch) +sha512sums=('03692fbba49fde08d76cebb847d0404a81113824e9e65edc6a0977f323d060c394d111e2a7647788fa3115f3ae80b0fc92d4fe5be53852e6734b96a8f1c1a078' '60f8bad03460695a094a6ffabbe33f839239fef2bae99d9be7f3a3f9cfde14b694d0c68dce6cc987e9c865a0d97638e951d55abcbab4cc554719803e5d0bb2d2' - 'fe973d8eff01ba7bdb255b16f44a1713be678c37d017b0f6c8d707c451e5c93d20e3782ca9e2f95f99453c2eec9da4d6bd9bea190b076de0ac268e57459108d1') + '2ead0fe4f51dd66d40cc8a64e874073e6cca8ef1c9f35a7994fb14cce52e7253c8d176e3ca221eebcf4e1acc277d29d0bf8fa155f794d0a369738a7d85e69462') prepare() { cd ${_realname}-${pkgver} @@ -30,8 +33,8 @@ prepare() { # https://gitlab.kitware.com/cmake/cmake/-/issues/19632 patch -p1 -i ${srcdir}/002-pixbuf-install-repfix.patch - # https://github.com/AOMediaCodec/libavif/pull/236 - patch -p1 -i ${srcdir}/003-fix-pixbuf-crash.patch + # https://github.com/AOMediaCodec/libavif/pull/295 + patch -p1 -i ${srcdir}/004-gdk-pixbuf-loader.c-Include-stdlib.h-for-strtol.patch } build() { @@ -46,20 +49,22 @@ build() { -DAVIF_BUILD_APPS=ON \ -DAVIF_CODEC_AOM=ON \ -DAVIF_CODEC_DAV1D=ON \ + -DAVIF_CODEC_RAV1E=ON \ -DAVIF_BUILD_GDK_PIXBUF=ON \ + -DAVIF_BUILD_TESTS=ON \ ../${_realname}-${pkgver} - ${MINGW_PREFIX}/bin/cmake --build . + ${MINGW_PREFIX}/bin/cmake --build ./ } check() { cd ${srcdir}/build-${MINGW_CHOST} - ${MINGW_PREFIX}/bin/ctest . + ${MINGW_PREFIX}/bin/ctest ./ || true } package() { cd ${srcdir}/build-${MINGW_CHOST} - DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/cmake --build . --target install + DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/cmake --build ./ --target install install -Dm644 ${srcdir}/${_realname}-${pkgver}/README.md ${pkgdir}${MINGW_PREFIX}/share/doc/${_realname}/README.md install -Dm644 ${srcdir}/${_realname}-${pkgver}/LICENSE ${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE From 4b74771cd6c5550e8534af67193dd110f3483d12 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Mon, 31 Aug 2020 08:26:32 +0200 Subject: [PATCH 073/130] qrencode: remove -j --- mingw-w64-qrencode/PKGBUILD | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mingw-w64-qrencode/PKGBUILD b/mingw-w64-qrencode/PKGBUILD index 70f8e6401c..d49c03dbba 100644 --- a/mingw-w64-qrencode/PKGBUILD +++ b/mingw-w64-qrencode/PKGBUILD @@ -26,11 +26,11 @@ build() { --host=${MINGW_CHOST} \ --with-tests - make -j + make } check () { - make check -j -C build-${MINGW_CHOST} + make check -C build-${MINGW_CHOST} } package() { From f95ce211f2ca15b588ee63adec608e982418b2f8 Mon Sep 17 00:00:00 2001 From: "Oleg A. Khlybov" Date: Mon, 31 Aug 2020 03:39:47 -0700 Subject: [PATCH 074/130] Switched to joint scotch package providing both scotch and ptscotch libraries. --- ...egex.patch => 0004-dummysizes-regex.patch} | 0 mingw-w64-scotch/0004-no-metis.patch | 37 ---------- mingw-w64-scotch/PKGBUILD | 74 ++++--------------- 3 files changed, 13 insertions(+), 98 deletions(-) rename mingw-w64-scotch/{0005-dummysizes-regex.patch => 0004-dummysizes-regex.patch} (100%) delete mode 100644 mingw-w64-scotch/0004-no-metis.patch diff --git a/mingw-w64-scotch/0005-dummysizes-regex.patch b/mingw-w64-scotch/0004-dummysizes-regex.patch similarity index 100% rename from mingw-w64-scotch/0005-dummysizes-regex.patch rename to mingw-w64-scotch/0004-dummysizes-regex.patch diff --git a/mingw-w64-scotch/0004-no-metis.patch b/mingw-w64-scotch/0004-no-metis.patch deleted file mode 100644 index 963c74f505..0000000000 --- a/mingw-w64-scotch/0004-no-metis.patch +++ /dev/null @@ -1,37 +0,0 @@ -diff -urN scotch_6.0.8.orig/src/Makefile scotch_6.0.8/src/Makefile ---- scotch_6.0.8.orig/src/Makefile 2019-05-18 16:53:25.000000000 -0700 -+++ scotch_6.0.8/src/Makefile 2019-10-08 04:43:46.271261600 -0700 -@@ -94,14 +94,14 @@ - - scotch : libscotch - (cd scotch ; $(MAKE) VERSION=$(VERSION) RELEASE=$(RELEASE) PATCHLEVEL=$(PATCHLEVEL) scotch && $(MAKE) install) -- (cd libscotchmetis ; $(MAKE) scotch && $(MAKE) install) -+# (cd libscotchmetis ; $(MAKE) scotch && $(MAKE) install) - - libptscotch : libscotch - (cd libscotch ; $(MAKE) VERSION=$(VERSION) RELEASE=$(RELEASE) PATCHLEVEL=$(PATCHLEVEL) ptscotch && $(MAKE) ptinstall) - - ptscotch : libptscotch - (cd scotch ; $(MAKE) VERSION=$(VERSION) RELEASE=$(RELEASE) PATCHLEVEL=$(PATCHLEVEL) ptscotch && $(MAKE) ptinstall) -- (cd libscotchmetis ; $(MAKE) ptscotch && $(MAKE) ptinstall) -+# (cd libscotchmetis ; $(MAKE) ptscotch && $(MAKE) ptinstall) - - check : scotch - (cd check ; $(MAKE) check) -@@ -127,14 +127,14 @@ - clean : required - (cd libscotch ; $(MAKE) clean) - (cd scotch ; $(MAKE) clean) -- (cd libscotchmetis ; $(MAKE) clean) -+# (cd libscotchmetis ; $(MAKE) clean) - (cd check ; $(MAKE) clean) - (cd esmumps ; $(MAKE) clean) - - realclean : required - (cd libscotch ; $(MAKE) realclean) - (cd scotch ; $(MAKE) realclean) -- (cd libscotchmetis ; $(MAKE) realclean) -+# (cd libscotchmetis ; $(MAKE) realclean) - (cd check ; $(MAKE) realclean) - (cd esmumps ; $(MAKE) realclean) - -$(RM) ../bin/* ../include/* ../lib/* diff --git a/mingw-w64-scotch/PKGBUILD b/mingw-w64-scotch/PKGBUILD index 9e03abdd33..5b71cdfd2d 100644 --- a/mingw-w64-scotch/PKGBUILD +++ b/mingw-w64-scotch/PKGBUILD @@ -3,10 +3,12 @@ _realname=scotch pkgbase=mingw-w64-${_realname} -pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}" "${MINGW_PACKAGE_PREFIX}-pt${_realname}") +pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") +pkgdesc='Graph partitioning and sparse matrix ordering package (mingw-w64)' pkgver=6.0.9 pkgrel=1 arch=('any') +depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs") makedepends=("${MINGW_PACKAGE_PREFIX}-gcc" "${MINGW_PACKAGE_PREFIX}-msmpi" "${MINGW_PACKAGE_PREFIX}-libgnurx") options=('strip' 'staticlibs') license=('CeCILL-C') @@ -15,14 +17,12 @@ source=("https://gforge.inria.fr/frs/download.php/file/38187/${_realname}_${pkgv "0001-makefile.inc.patch" "0002-pipe-fix.patch" "0003-thread-fix.patch" - "0004-no-metis.patch" - "0005-dummysizes-regex.patch" + "0004-dummysizes-regex.patch" ) sha256sums=('622b4143cf01c480bb15708b3651b29c25e4aeb00c8c6447ff196aca2eca5c93' '2c55b1e99a8d40c976e7147aa9102db2d1c489da1b760e526b424bf5ffd12716' '49d87533321504a9594d7bb4659fbced5afadd2fc0d73f0577b0b3ad47cc7d0f' '8a02cea7cdc3c685776012b2bb42cec8c5e98c435bdf1ffd62abf5ab6def9fbb' - '04e04fd3df94d2c40c26b47619263d6db6a50f7f0a6ef7870f484939e39e1558' '92908a6598d333a35a3b76650c111a082304e9dfff7c9bc0667d6af62de47c14') prepare() { @@ -40,11 +40,7 @@ build() { mpicc -shared -o libpt${_realname}.dll -Wl,--enable-auto-import -Wl,--export-all-symbols -Wl,--output-def,libpt${_realname}.def -Wl,--out-implib,libpt${_realname}.dll.a -Wl,--whole-archive libpt${_realname}.a libpt${_realname}err.a -Wl,--no-whole-archive -L. -l${_realname} } -eval "package_${MINGW_PACKAGE_PREFIX}-${_realname}() { _scotch; }" - -_scotch() { - pkgdesc="Sequential graph partitioning and sparse matrix ordering package (mingw-w64)" - depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs") +package() { cd "${srcdir}/${_realname}_${pkgver}" mkdir -p ${pkgdir}${MINGW_PREFIX}/{bin,lib,include} mkdir -p "${pkgdir}${MINGW_PREFIX}/lib/pkgconfig" @@ -55,44 +51,11 @@ _scotch() { Name: scotch URL: ${url} Version: ${pkgver} - Description: ${pkgdesc} + Description: Serial graph partitioning and sparse matrix ordering package Cflags: -I\${includedir} Libs.private: -lscotcherr Libs: -L\${libdir} -lscotch " | sed '/^\s*$/d;s/^\s*//' > "${pkgdir}${MINGW_PREFIX}/lib/pkgconfig/scotch.pc" - echo " - prefix=${MINGW_PREFIX} - libdir=\${prefix}/lib - includedir=\${prefix}/include - Name: esmumps - URL: ${url} - Version: ${pkgver} - Description: Scotch intergation layer for MUMPS (mingw-w64) - Requires: scotch - Cflags: -I\${includedir} - Libs: -L\${libdir} -lesmumps - " | sed '/^\s*$/d;s/^\s*//' > "${pkgdir}${MINGW_PREFIX}/lib/pkgconfig/esmumps.pc" - ( - cd include - install -m644 esmumps.h scotch*.h "${pkgdir}${MINGW_PREFIX}/include" - ) - ( - cd lib - install -m644 libes*.a libscotch*.a "${pkgdir}${MINGW_PREFIX}/lib" - install -m644 libscotch*.dll "${pkgdir}${MINGW_PREFIX}/bin" - cd "${pkgdir}${MINGW_PREFIX}/lib" - rm -rf *metis*a - ) -} - -eval "package_${MINGW_PACKAGE_PREFIX}-pt${_realname}() { _ptscotch; }" - -_ptscotch() { - pkgdesc="Parallel graph partitioning and sparse matrix ordering package (mingw-w64)" - depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs" "${MINGW_PACKAGE_PREFIX}-scotch") - cd "${srcdir}/${_realname}_${pkgver}" - mkdir -p ${pkgdir}${MINGW_PREFIX}/{bin,lib,include} - mkdir -p "${pkgdir}${MINGW_PREFIX}/lib/pkgconfig" echo " prefix=${MINGW_PREFIX} libdir=\${prefix}/lib @@ -100,34 +63,23 @@ _ptscotch() { Name: ptscotch URL: ${url} Version: ${pkgver} - Description: ${pkgdesc} + Description: Parallel graph partitioning and sparse matrix ordering package Requires: scotch Requires.private: msmpi Cflags: -I\${includedir} Libs.private: -lptscotcherr Libs: -L\${libdir} -lptscotch " | sed '/^\s*$/d;s/^\s*//' > "${pkgdir}${MINGW_PREFIX}/lib/pkgconfig/ptscotch.pc" - echo " - prefix=${MINGW_PREFIX} - libdir=\${prefix}/lib - includedir=\${prefix}/include - Name: ptesmumps - URL: ${url} - Version: ${pkgver} - Description: PT-Scotch intergation layer for MUMPS (mingw-w64) - Cflags: -I\${includedir} - Requires: ptscotch - Libs: -L\${libdir} -lptesmumps - " | sed '/^\s*$/d;s/^\s*//' > "${pkgdir}${MINGW_PREFIX}/lib/pkgconfig/ptesmumps.pc" ( cd include - install -m644 ptscotch*.h "${pkgdir}${MINGW_PREFIX}/include" # esmumps.h + install -m644 *.h "${pkgdir}${MINGW_PREFIX}/include" + cd "${pkgdir}${MINGW_PREFIX}/include" + mv metis.h scotchmetis.h + mv parmetis.h ptscotchparmetis.h ) ( cd lib - install -m644 libptes*.a libptscotch*.a "${pkgdir}${MINGW_PREFIX}/lib" - install -m644 libptscotch*.dll "${pkgdir}${MINGW_PREFIX}/bin" - cd "${pkgdir}${MINGW_PREFIX}/lib" - rm -rf *metis*a + install -m644 lib*.a "${pkgdir}${MINGW_PREFIX}/lib" + install -m644 lib*.dll "${pkgdir}${MINGW_PREFIX}/bin" ) } From 9859266ad571e9f06098b977e645d08ff928d9ab Mon Sep 17 00:00:00 2001 From: fauxpark Date: Tue, 1 Sep 2020 00:14:10 +1000 Subject: [PATCH 075/130] Update arm-none-eabi-binutils to 2.35 --- mingw-w64-arm-none-eabi-binutils/PKGBUILD | 65 +++++++++++++---------- 1 file changed, 36 insertions(+), 29 deletions(-) diff --git a/mingw-w64-arm-none-eabi-binutils/PKGBUILD b/mingw-w64-arm-none-eabi-binutils/PKGBUILD index a018ad95bf..002608cbe2 100644 --- a/mingw-w64-arm-none-eabi-binutils/PKGBUILD +++ b/mingw-w64-arm-none-eabi-binutils/PKGBUILD @@ -1,4 +1,5 @@ # Maintainer: Carlos Antunes +# Maintainer: fauxpark # Contributed by: nanodude _realname=binutils @@ -6,44 +7,50 @@ _target=arm-none-eabi pkgbase=mingw-w64-${_target}-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_target}-${_realname}") -pkgver=2.24 +pkgver=2.35 pkgrel=1 -pkgdesc="GNU Tools for ARM Embedded Processors - Binutils (mingw-w64)" +pkgdesc='GNU Tools for ARM Embedded Processors - Binutils (mingw-w64)' arch=('any') -url="https://www.gnu.org/software/binutils/" license=('GPL') +url='https://www.gnu.org/software/binutils/binutils.html' groups=("${MINGW_PACKAGE_PREFIX}-${_target}-toolchain") -makedepends=("${MINGW_PACKAGE_PREFIX}-gcc") options=('staticlibs') -source=("https://mirrors.kernel.org/sources.redhat.com/${_realname}/releases/${_realname}-${pkgver}.tar.bz2") -sha256sums=('e5e8c5be9664e7f7f96e0d09919110ab5ad597794f5b1809871177a0f0f14137') +source=("https://ftp.gnu.org/gnu/binutils/binutils-${pkgver}.tar.xz") +sha256sums=('1b11659fb49e20e18db460d44485f09442c8c56d5df165de9461eb09c8302f85') + +prepare() { + cd ${srcdir}/binutils-${pkgver} + + mkdir binutils-build +} build() { - if check_option "debug" "y"; then - CFLAGS+=" -g -O0" - fi - cd $srcdir - rm -rf build-${MINGW_CHOST} - mkdir -p build-${MINGW_CHOST} && cd build-${MINGW_CHOST} - ../${_realname}-${pkgver}/configure \ - --build="${MINGW_CHOST}" \ - --host="${MINGW_CHOST}" \ - --target="${_target}" \ - --prefix="${MINGW_PREFIX}" \ - --disable-werror \ - --disable-lto \ - --with-sysroot="${MINGW_PREFIX}" \ - --disable-nls \ - --disable-rpath \ - --enable-multilib \ - --enable-interwork - make + cd ${srcdir}/binutils-${pkgver}/binutils-build + + ../configure \ + --build=${MINGW_CHOST} \ + --prefix=${MINGW_PREFIX} \ + --target=${_target} \ + --enable-multilib \ + --enable-interwork \ + --with-gnu-as \ + --with-gnu-ld \ + --disable-nls \ + --enable-ld=default \ + --enable-gold \ + --enable-plugins \ + --enable-deterministic-archives + make } package() { - cd ${srcdir}/build-${MINGW_CHOST} - make DESTDIR=${pkgdir} install + cd ${srcdir}/binutils-${pkgver}/binutils-build - # Remove unwanted files - rm -rf ${pkgdir}${MINGW_PREFIX}/share/info + make DESTDIR="${pkgdir}" install + + cd ${pkgdir}${MINGW_PREFIX} + + for info in as bfd binutils gprof ld; do + mv share/info/${info}.info share/info/arm-none-eabi-${info}.info + done } From 72c475586523dbbe37a9373fa579b5f7d28bb949 Mon Sep 17 00:00:00 2001 From: fauxpark Date: Tue, 1 Sep 2020 01:10:08 +1000 Subject: [PATCH 076/130] Append CHOST to build dir --- mingw-w64-arm-none-eabi-binutils/PKGBUILD | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mingw-w64-arm-none-eabi-binutils/PKGBUILD b/mingw-w64-arm-none-eabi-binutils/PKGBUILD index 002608cbe2..047c9c564f 100644 --- a/mingw-w64-arm-none-eabi-binutils/PKGBUILD +++ b/mingw-w64-arm-none-eabi-binutils/PKGBUILD @@ -21,11 +21,11 @@ sha256sums=('1b11659fb49e20e18db460d44485f09442c8c56d5df165de9461eb09c8302f85') prepare() { cd ${srcdir}/binutils-${pkgver} - mkdir binutils-build + mkdir binutils-build-${MINGW_CHOST} } build() { - cd ${srcdir}/binutils-${pkgver}/binutils-build + cd ${srcdir}/binutils-${pkgver}/binutils-build-${MINGW_CHOST} ../configure \ --build=${MINGW_CHOST} \ @@ -44,7 +44,7 @@ build() { } package() { - cd ${srcdir}/binutils-${pkgver}/binutils-build + cd ${srcdir}/binutils-${pkgver}/binutils-build-${MINGW_CHOST} make DESTDIR="${pkgdir}" install From f5bd043617fa67999c71e3047b4f296d42f71d6d Mon Sep 17 00:00:00 2001 From: Jeremy Drake Date: Mon, 31 Aug 2020 10:58:51 -0700 Subject: [PATCH 077/130] binutils: temporarily revert default dll charactaristics. Until more testing is done, this patch reverts the DEFAULT_DLL_CHARACTERISTICS to 0, but keeps the new --disable- options for the flags so that they can be overridden later on the command line. Note that this does NOT revert the default --enable-reloc-section. This shouldn't hurt anything other than making the resulting executable larger. --- ...y-revert-default-dll-characteristics.patch | 113 ++++++++++++++++++ mingw-w64-binutils/PKGBUILD | 11 +- 2 files changed, 121 insertions(+), 3 deletions(-) create mode 100644 mingw-w64-binutils/2000-Temporarily-revert-default-dll-characteristics.patch diff --git a/mingw-w64-binutils/2000-Temporarily-revert-default-dll-characteristics.patch b/mingw-w64-binutils/2000-Temporarily-revert-default-dll-characteristics.patch new file mode 100644 index 0000000000..5ccf7cf089 --- /dev/null +++ b/mingw-w64-binutils/2000-Temporarily-revert-default-dll-characteristics.patch @@ -0,0 +1,113 @@ +From 322caba57ff2728aa8f194683af3109a122c0130 Mon Sep 17 00:00:00 2001 +From: Jeremy Drake +Date: Mon, 31 Aug 2020 10:26:19 -0700 +Subject: [PATCH 4/4] Temporarily revert default dll characteristics. + +Until more testing is done, this patch reverts the +DEFAULT_DLL_CHARACTERISTICS to 0, but keeps the new --disable- options +for the flags so that they can be overridden later on the command line. + +Note that this does NOT revert the default --enable-reloc-section. This +shouldn't hurt anything other than making the resulting executable +larger. +--- + ld/ChangeLog | 8 ++++++++ + ld/NEWS | 2 ++ + ld/emultempl/pe.em | 3 +-- + ld/emultempl/pep.em | 4 +--- + ld/ld.texi | 7 +++---- + 5 files changed, 15 insertions(+), 9 deletions(-) + +diff --git a/ld/ChangeLog b/ld/ChangeLog +index f8ad16235f..4f9ccb6b10 100644 +--- a/ld/ChangeLog ++++ b/ld/ChangeLog +@@ -1,3 +1,11 @@ ++2020-08-30 Jeremy Drake ++ ++ PR 19011 ++ * emultempl/pe.em (DEFAULT_DLL_CHARACTERISTICS): Revert to 0. ++ * emultempl/pep.em: Likewise. ++ * ld.texi: Document the reverted defaults. ++ * NEWS: Mention the reverted defaults. ++ + 2020-08-28 Nick Clifton + + PR 19011 +diff --git a/ld/NEWS b/ld/NEWS +index 004e7c5d41..a947ff2f1a 100644 +--- a/ld/NEWS ++++ b/ld/NEWS +@@ -3,6 +3,8 @@ + * The creation of PE format DLLs now defaults to using a more secure set of DLL + characteristics. + ++* These defaults are temporarily reverted until more testing is done. ++ + Changes in 2.35: + + * X86 NaCl target support is removed. +diff --git a/ld/emultempl/pe.em b/ld/emultempl/pe.em +index f45518eafb..b3990cf677 100644 +--- a/ld/emultempl/pe.em ++++ b/ld/emultempl/pe.em +@@ -104,8 +104,7 @@ fragment < Date: Tue, 1 Sep 2020 08:14:32 +0200 Subject: [PATCH 078/130] Remove mingw-w64-cross-binutils It conflicts with the arm-none-eabi-binutils. Let's prefer separate packages for each target since it's unlikely someone knows all of them and can test them on properly. --- mingw-w64-cross-binutils/PKGBUILD | 64 ------------------------------- 1 file changed, 64 deletions(-) delete mode 100644 mingw-w64-cross-binutils/PKGBUILD diff --git a/mingw-w64-cross-binutils/PKGBUILD b/mingw-w64-cross-binutils/PKGBUILD deleted file mode 100644 index 2c28312d61..0000000000 --- a/mingw-w64-cross-binutils/PKGBUILD +++ /dev/null @@ -1,64 +0,0 @@ -# Maintainer: wirx6 - -_realname=binutils -_targets=(i686-elf - x86_64-elf - arm-none-eabi) -pkgbase=mingw-w64-cross-${_realname} -pkgname=() - -for target in ${_targets[@]} -do - pkgname+=(${MINGW_PACKAGE_PREFIX}-${target}-${_realname}) -done - -pkgver=2.31.1 -pkgrel=1 -arch=('any') -url="https://www.gnu.org/software/binutils/" -license=('GPL') -makedepends=("${MINGW_PACKAGE_PREFIX}-gcc") -options=(staticlibs) -source=("https://mirrors.kernel.org/sources.redhat.com/${_realname}/releases/${_realname}-${pkgver}.tar.bz2") -sha256sums=('SKIP') - -build() { - for target in ${_targets[@]} - do - plain "building ${MINGW_PACKAGE_PREFIX}-${target}-${_realname}" - - cd ${srcdir} - [[ -d build-${MINGW_CHOST}-${target} ]] && rm -rf build-${MINGW_CHOST}-${target} - mkdir -p build-${MINGW_CHOST}-${target} && cd build-${MINGW_CHOST}-${target} - - ../${_realname}-${pkgver}/configure \ - --build="${MINGW_CHOST}" \ - --host="${MINGW_CHOST}" \ - --target="${target}" \ - --prefix="${MINGW_PREFIX}" \ - --with-sysroot="${MINGW_PREFIX}" \ - --disable-nls \ - --disable-rpath \ - --disable-werror \ - --enable-multilib \ - --enable-interwork - - make - done -} - -package_target() { - pkgdesc="GNU Tools for ${1} target - Binutils (mingw-w64)" - groups=("${MINGW_PACKAGE_PREFIX}-${1}-toolchain") - - cd ${srcdir}/build-${MINGW_CHOST}-${1} - make DESTDIR=${pkgdir} install - rm -rf ${pkgdir}${MINGW_PREFIX}/share/info -} - -for target in ${_targets[@]} -do - eval "package_${MINGW_PACKAGE_PREFIX}-${target}-${_realname}() { - package_target ${target} - }" -done From a730a6044a0a119c72e505e9219d1bc5399ced5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Milo=C5=A1=20Komar=C4=8Devi=C4=87?= Date: Tue, 1 Sep 2020 14:11:55 +0200 Subject: [PATCH 079/130] exiv2: Update to 0.27.3 --- mingw-w64-exiv2/PKGBUILD | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mingw-w64-exiv2/PKGBUILD b/mingw-w64-exiv2/PKGBUILD index 8f07765648..4e5d0ed2b1 100644 --- a/mingw-w64-exiv2/PKGBUILD +++ b/mingw-w64-exiv2/PKGBUILD @@ -4,8 +4,8 @@ _realname=exiv2 pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=0.27.2 -pkgrel=2 +pkgver=0.27.3 +pkgrel=1 pkgdesc="Exif and Iptc metadata manipulation library and tools (mingw-w64)" arch=('any') url="https://exiv2.org/" @@ -22,7 +22,7 @@ depends=("${MINGW_PACKAGE_PREFIX}-expat" options=('strip' 'staticlibs') source=(${_realname}-${pkgver}.tar.gz::"https://github.com/Exiv2/${_realname}/archive/v${pkgver}.tar.gz" 0001-fix-tests.patch) -sha256sums=('3dbcaf01fbc5b98d42f091d1ff0d4b6cd9750dc724de3d9c0d113948570b2934' +sha256sums=('6398bc743c32b85b2cb2a604273b8c90aa4eb0fd7c1700bf66cbb2712b4f00c1' '8d6928e9657554a0ba306bfc931dc3a5fc08422c8552fed1bbe00b512e69eae4') prepare() { From 3414ac2a8bfc5d53bf7c565770d93c4b6a333aaa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Milo=C5=A1=20Komar=C4=8Devi=C4=87?= Date: Tue, 1 Sep 2020 14:27:18 +0200 Subject: [PATCH 080/130] exiv2: Remove older tests patch --- mingw-w64-exiv2/PKGBUILD | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/mingw-w64-exiv2/PKGBUILD b/mingw-w64-exiv2/PKGBUILD index 4e5d0ed2b1..18eab22b65 100644 --- a/mingw-w64-exiv2/PKGBUILD +++ b/mingw-w64-exiv2/PKGBUILD @@ -22,12 +22,10 @@ depends=("${MINGW_PACKAGE_PREFIX}-expat" options=('strip' 'staticlibs') source=(${_realname}-${pkgver}.tar.gz::"https://github.com/Exiv2/${_realname}/archive/v${pkgver}.tar.gz" 0001-fix-tests.patch) -sha256sums=('6398bc743c32b85b2cb2a604273b8c90aa4eb0fd7c1700bf66cbb2712b4f00c1' - '8d6928e9657554a0ba306bfc931dc3a5fc08422c8552fed1bbe00b512e69eae4') +sha256sums=('6398bc743c32b85b2cb2a604273b8c90aa4eb0fd7c1700bf66cbb2712b4f00c1') prepare() { cd ${srcdir}/${_realname}-${pkgver} - patch -p1 -i ${srcdir}/0001-fix-tests.patch } build() { From 37e52a856d179a50cc3e8e1bcc8145448450597b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Milo=C5=A1=20Komar=C4=8Devi=C4=87?= Date: Tue, 1 Sep 2020 14:32:16 +0200 Subject: [PATCH 081/130] exiv2: Remove older tests patch (again) --- mingw-w64-exiv2/PKGBUILD | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/mingw-w64-exiv2/PKGBUILD b/mingw-w64-exiv2/PKGBUILD index 18eab22b65..7c4b6631ac 100644 --- a/mingw-w64-exiv2/PKGBUILD +++ b/mingw-w64-exiv2/PKGBUILD @@ -20,8 +20,7 @@ depends=("${MINGW_PACKAGE_PREFIX}-expat" "${MINGW_PACKAGE_PREFIX}-libssh2" "${MINGW_PACKAGE_PREFIX}-zlib") options=('strip' 'staticlibs') -source=(${_realname}-${pkgver}.tar.gz::"https://github.com/Exiv2/${_realname}/archive/v${pkgver}.tar.gz" - 0001-fix-tests.patch) +source=(${_realname}-${pkgver}.tar.gz::"https://github.com/Exiv2/${_realname}/archive/v${pkgver}.tar.gz") sha256sums=('6398bc743c32b85b2cb2a604273b8c90aa4eb0fd7c1700bf66cbb2712b4f00c1') prepare() { From ebf02a0a84da3814ae32614ec1dfcc6d2fcfdc3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Milo=C5=A1=20Komar=C4=8Devi=C4=87?= Date: Tue, 1 Sep 2020 17:27:08 +0200 Subject: [PATCH 082/130] Remove tests patch file and check (not run by GHA anyway) --- mingw-w64-exiv2/0001-fix-tests.patch | 20 -------------------- mingw-w64-exiv2/PKGBUILD | 5 ----- 2 files changed, 25 deletions(-) delete mode 100644 mingw-w64-exiv2/0001-fix-tests.patch diff --git a/mingw-w64-exiv2/0001-fix-tests.patch b/mingw-w64-exiv2/0001-fix-tests.patch deleted file mode 100644 index 236d073d67..0000000000 --- a/mingw-w64-exiv2/0001-fix-tests.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff -Naur exiv2-0.26.orig/test/functions.source exiv2-0.26/test/functions.source ---- exiv2-0.26.orig/test/functions.source 2017-04-26 21:16:21.000000000 +0200 -+++ exiv2-0.26/test/functions.source 2017-06-20 23:59:49.920106800 +0200 -@@ -440,6 +440,8 @@ - testdir="$here/tmp" - datadir="../data" - -+ mkdir -p $testdir -+ - if [ -z "$EXIV2_BINDIR" ] ; then - bin="$here/../build/bin/" - else -@@ -452,6 +454,7 @@ - export PLATFORM=cygwin - elif [ "${os:0:4}" == "MING" -o "${os:0:4}" == "MSYS" ]; then - export PLATFORM=mingw -+ bin=$(cygpath $EXIV2_BINDIR) - else - export PLATFORM=$os - fi diff --git a/mingw-w64-exiv2/PKGBUILD b/mingw-w64-exiv2/PKGBUILD index 7c4b6631ac..58dcae99e4 100644 --- a/mingw-w64-exiv2/PKGBUILD +++ b/mingw-w64-exiv2/PKGBUILD @@ -55,11 +55,6 @@ build() { make } -check() { - cd ${srcdir}/build-${MINGW_CHOST} - make tests -} - package() { cd ${srcdir}/build-${MINGW_CHOST} make DESTDIR="${pkgdir}" install From 05d4401664dd286fbc0c67aaebeeb844529c9734 Mon Sep 17 00:00:00 2001 From: fauxpark Date: Thu, 3 Sep 2020 00:13:01 +1000 Subject: [PATCH 083/130] Update arm-none-eabi-gdb to 9.2 --- mingw-w64-arm-none-eabi-gdb/PKGBUILD | 80 ++++++++++++---------------- 1 file changed, 35 insertions(+), 45 deletions(-) diff --git a/mingw-w64-arm-none-eabi-gdb/PKGBUILD b/mingw-w64-arm-none-eabi-gdb/PKGBUILD index 611db1cd9f..ed812e39fa 100644 --- a/mingw-w64-arm-none-eabi-gdb/PKGBUILD +++ b/mingw-w64-arm-none-eabi-gdb/PKGBUILD @@ -1,4 +1,5 @@ # Maintainer: Carlos Antunes +# Maintainer: fauxpark # Contributed by: nanodude _realname=gdb @@ -6,62 +7,51 @@ _target=arm-none-eabi pkgbase=mingw-w64-${_target}-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_target}-${_realname}") -pkgver=7.6.0 +pkgver=9.2 pkgrel=1 -pkgdesc="GNU Tools for ARM Embedded Processors - GDB (mingw-w64)" +pkgdesc='GNU Tools for ARM Embedded Processors - GDB (mingw-w64)' arch=('any') -url="https://launchpad.net/gcc-arm-embedded" -license=('GPL' 'Various') +license=('GPL') +url='https://www.gnu.org/software/gdb/' groups=("${MINGW_PACKAGE_PREFIX}-${_target}-toolchain") -depends=("${MINGW_PACKAGE_PREFIX}-readline" - "${MINGW_PACKAGE_PREFIX}-zlib") -makedepends=("${MINGW_PACKAGE_PREFIX}-gcc") -options=('staticlibs' '!debug' 'strip') -source=('gcc-arm-embedded.tar.bz2::https://launchpad.net/gcc-arm-embedded/4.8/4.8-2014-q3-update/+download/gcc-arm-none-eabi-4_8-2014q3-20140805-src.tar.bz2' - '10-remove-duplicate-tputs.patch') -sha256sums=('09519946642d5366ab739a89d3388b2ea333cd7dc50192bab3736a9593af83e6' - '80c719e0d91b4c712e03a2dd7f2d5197a16d32465d4514d904f4c910cfddb997') -noextract=('gcc-arm-embedded.tar.bz2') +source=(https://ftp.gnu.org/gnu/${_realname}/${_realname}-${pkgver}.tar.xz{,.sig}) +sha256sums=( + '360cd7ae79b776988e89d8f9a01c985d0b1fa21c767a4295e5f88cb49175c555' + 'SKIP' +) +validpgpkeys=('F40ADB902B24264AA42E50BF92EDB04BFF325CF3') # Joel Brobecker prepare() { - # Extract packages from archive - rm -rf ${srcdir}/tmp - mkdir ${srcdir}/tmp && cd ${srcdir}/tmp - tar xvf ../../gcc-arm-embedded.tar.bz2 --strip-components=2 + cd ${srcdir}/${_realname}-${pkgver} - # Copy and extract GDB package - cp gdb.tar.bz2 ${srcdir} - cd ${srcdir} - tar xvf gdb.tar.bz2 - - # GDB: remove duplicate tputs - patch -p1 -i "${srcdir}/10-remove-duplicate-tputs.patch" + mkdir ${_realname}-build } build() { - # Build GDB - cd $srcdir - rm -rf build-${MINGW_CHOST} - mkdir -p build-${MINGW_CHOST} && cd build-${MINGW_CHOST} - ../${_realname}/configure \ - --build="${MINGW_CHOST}" \ - --host="${MINGW_CHOST}" \ - --target="${_target}" \ - --prefix="${MINGW_PREFIX}" \ - --disable-werror \ - --disable-nls \ - --with-system-readline - make + cd ${srcdir}/${_realname}-${pkgver}/${_realname}-build + + ../configure \ + --build=${MINGW_CHOST} \ + --prefix=${MINGW_PREFIX} \ + --target=${_target} \ + --disable-nls \ + --disable-debug \ + --disable-dependency-tracking \ + --disable-binutils \ + --disable-libssp \ + --disable-install-libbfd \ + --disable-install-libiberty \ + --with-system-readline + make } package() { - cd ${srcdir}/build-${MINGW_CHOST} - make -j1 DESTDIR=${pkgdir} install + cd ${srcdir}/${_realname}-${pkgver}/${_realname}-build - # Remove files that conflict with host - rm -rf "${pkgdir}${MINGW_PREFIX}/share/info" - rm -rf "${pkgdir}${MINGW_PREFIX}/share/gdb" - rm -rf "${pkgdir}${MINGW_PREFIX}/include/gdb/jit-reader.h" - rm -rf "${pkgdir}${MINGW_PREFIX}/lib/libiberty.a" + make DESTDIR="$pkgdir" install-gdb + + cd ${pkgdir}${MINGW_PREFIX} + + # Remove files that conflict with native gdb + rm -rf include share/gdb share/info } - From 7ad050383eb68c4c18d99dbe69904017f2145fec Mon Sep 17 00:00:00 2001 From: fauxpark Date: Thu, 3 Sep 2020 00:28:08 +1000 Subject: [PATCH 084/130] Forgot to delete redundant patch --- .../10-remove-duplicate-tputs.patch | 20 ------------------- 1 file changed, 20 deletions(-) delete mode 100644 mingw-w64-arm-none-eabi-gdb/10-remove-duplicate-tputs.patch diff --git a/mingw-w64-arm-none-eabi-gdb/10-remove-duplicate-tputs.patch b/mingw-w64-arm-none-eabi-gdb/10-remove-duplicate-tputs.patch deleted file mode 100644 index 586b2366b0..0000000000 --- a/mingw-w64-arm-none-eabi-gdb/10-remove-duplicate-tputs.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- ./gdb/gdb/windows-termcap.c.orig 2014-11-08 13:40:54.276747600 -0500 -+++ ./gdb/gdb/windows-termcap.c 2014-11-08 13:41:58.879846600 -0500 -@@ -56,7 +56,7 @@ - { - return NULL; - } -- -+/* - int - tputs (char *string, int nlines, int (*outfun) ()) - { -@@ -65,7 +65,7 @@ - - return 0; - } -- -+*/ - char * - tgoto (const char *cap, int col, int row) - { From 8f99a5bf9433afe9deea076bcbf955c31b3d16e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Milo=C5=A1=20Komar=C4=8Devi=C4=87?= Date: Wed, 2 Sep 2020 16:52:14 +0200 Subject: [PATCH 085/130] exiv2: Depend on libiconv, enable curl properly, remove ssh --- mingw-w64-exiv2/PKGBUILD | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/mingw-w64-exiv2/PKGBUILD b/mingw-w64-exiv2/PKGBUILD index 58dcae99e4..2ca4c05a33 100644 --- a/mingw-w64-exiv2/PKGBUILD +++ b/mingw-w64-exiv2/PKGBUILD @@ -15,9 +15,8 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-gcc" "${MINGW_PACKAGE_PREFIX}-libtool" "${MINGW_PACKAGE_PREFIX}-cmake") depends=("${MINGW_PACKAGE_PREFIX}-expat" - "${MINGW_PACKAGE_PREFIX}-gettext" "${MINGW_PACKAGE_PREFIX}-curl" - "${MINGW_PACKAGE_PREFIX}-libssh2" + "${MINGW_PACKAGE_PREFIX}-libiconv" "${MINGW_PACKAGE_PREFIX}-zlib") options=('strip' 'staticlibs') source=(${_realname}-${pkgver}.tar.gz::"https://github.com/Exiv2/${_realname}/archive/v${pkgver}.tar.gz") @@ -48,8 +47,8 @@ build() { -DEXIV2_ENABLE_NLS=OFF \ -DEXIV2_ENABLE_WIN_UNICODE=ON \ -DEXIV2_BUILD_SAMPLES=OFF \ + -DEXIV2_ENABLE_WEBREADY=ON \ -DEXIV2_ENABLE_CURL=ON \ - -DEXIV2_ENABLE_SSH=ON \ ../${_realname}-${pkgver} make From ba4a6c2944b52d7c7d5930ba640d3acaf5234808 Mon Sep 17 00:00:00 2001 From: Andrew Sun Date: Wed, 2 Sep 2020 14:47:35 -0400 Subject: [PATCH 086/130] openlibm: update to 0.7.1 --- mingw-w64-openlibm/PKGBUILD | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mingw-w64-openlibm/PKGBUILD b/mingw-w64-openlibm/PKGBUILD index dd116eb614..b3b6f72255 100644 --- a/mingw-w64-openlibm/PKGBUILD +++ b/mingw-w64-openlibm/PKGBUILD @@ -3,7 +3,7 @@ _realname=openlibm pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") -pkgver=0.7.0 +pkgver=0.7.1 pkgrel=1 pkgdesc="High quality system independent, portable, open source libm implementation (mingw-w64)" arch=('any') @@ -11,7 +11,7 @@ url='http://www.openlibm.org' license=('MIT') options=('strip' 'staticlibs') source=("${_realname}-${pkgver}.tar.gz::https://github.com/JuliaMath/${_realname}/archive/v${pkgver}.tar.gz") -sha256sums=('1699f773198018b55b12631db9c1801fe3ed191e618a1ee1be743f4570ae06a3') +sha256sums=('d4b252b71c74571fe5b39d42dee03ccca4bb238827e6a2c9ba108dbca2d3e879') # Helper macros to help make tasks easier # apply_patch_with_msg() { From 401868cb0d1eb42ed4e1a73a4d4232a245fadb14 Mon Sep 17 00:00:00 2001 From: Andrew Sun Date: Wed, 2 Sep 2020 15:20:22 -0400 Subject: [PATCH 087/130] enchant: update to 2.2.10 --- mingw-w64-enchant/PKGBUILD | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mingw-w64-enchant/PKGBUILD b/mingw-w64-enchant/PKGBUILD index dd7ae11905..58f32834d5 100644 --- a/mingw-w64-enchant/PKGBUILD +++ b/mingw-w64-enchant/PKGBUILD @@ -4,7 +4,7 @@ _realname=enchant pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=2.2.8 +pkgver=2.2.10 pkgrel=1 pkgdesc="Enchanting Spell Checking Library (mingw-w64)" arch=('any') @@ -21,7 +21,7 @@ depends=(${MINGW_PACKAGE_PREFIX}-aspell options=('!libtool' 'strip' '!debug' '!makeflags') source=("${_realname}-${pkgver}.tar.gz::https://github.com/AbiWord/enchant/archive/v${pkgver}.tar.gz" 001_fix_relocation.patch) -sha256sums=('20cf8120e57723c6aa6a2595c357e45f68fd21afe1f0382b0cef5e4c251800e7' +sha256sums=('bacfc31336c4da9f1e6405be2761266e049e893039f22f1d792c75f0366c5a56' '8cac1be09ab84212b4ee388cbaa45593e3ed71b257b64c20e99cf147249dec62') prepare() { From c32d18380be2148d277585462f06e6d664ac6d53 Mon Sep 17 00:00:00 2001 From: Rafal Date: Thu, 3 Sep 2020 10:44:54 +0200 Subject: [PATCH 088/130] Create PKGBUILD --- mingw-w64-hwloc/PKGBUILD | 47 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 mingw-w64-hwloc/PKGBUILD diff --git a/mingw-w64-hwloc/PKGBUILD b/mingw-w64-hwloc/PKGBUILD new file mode 100644 index 0000000000..fad353f040 --- /dev/null +++ b/mingw-w64-hwloc/PKGBUILD @@ -0,0 +1,47 @@ +# Maintainer: Levente Polyak +# Contributor: StƩphane Gaudreault +# Contributor: Sylvain HENRY +# Contributor: HervƩ YVIQUEL + +pkgname=hwloc +pkgver=2.2.0 +pkgrel=1 +pkgdesc='Portable Hardware Locality is a portable abstraction of hierarchical architectures' +url='https://www.open-mpi.org/projects/hwloc/' +arch=('x86_64') +license=('BSD') +depends=('libtool') +makedepends=('libxml2') +optdepends=('libxml2') +options=('!docs') +source=(https://www.open-mpi.org/software/hwloc/v${pkgver%.*}/downloads/${pkgname}-${pkgver}.tar.bz2) +sha512sums=('23efd1d5e2df870ca7a0abb9b3c28c5c5d60dd0cc650ee95d20d5934f48947cbe1d3cf4e90e02b2dc61062ddf7afd67f2c1cf6e1862a48397078d66dd798e850') +b2sums=('00e10f9c7467e6342e14a45d583ed307103428085a9b88398464f0439fec48647949aa80e099042b915b2c371fe105d61e8490d0555383d94740f3e6dab5aeee') + +prepare() { + cd hwloc-${pkgver} + autoreconf -fiv +} + +build() { + cd hwloc-${pkgver} + ./configure \ + --prefix=/usr \ + --sbindir=/usr/bin \ + --enable-static \ + --sysconfdir=/etc + make +} + +check() { + cd hwloc-${pkgver} + make check-am +} + +package() { + cd hwloc-${pkgver} + make DESTDIR="${pkgdir}" install + install -Dm 644 COPYING -t "${pkgdir}/usr/share/licenses/${pkgname}" +} + +# vim: ts=2 sw=2 et: From 1b006e775bd295b9ee7f52b7a6e5b88dcc6fbed6 Mon Sep 17 00:00:00 2001 From: Bjoern Lemke Date: Thu, 3 Sep 2020 11:07:32 +0200 Subject: [PATCH 089/130] lfcxml : update to version 1.2.11 --- mingw-w64-lfcxml/PKGBUILD | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mingw-w64-lfcxml/PKGBUILD b/mingw-w64-lfcxml/PKGBUILD index 2ccde3683b..31c01f5559 100644 --- a/mingw-w64-lfcxml/PKGBUILD +++ b/mingw-w64-lfcxml/PKGBUILD @@ -3,7 +3,7 @@ _realname=lfcxml pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") -pkgver=1.2.10 +pkgver=1.2.11 pkgrel=1 pkgdesc="LFC C++ xml classes (mingw-w64)" arch=('any') @@ -14,7 +14,7 @@ source=("http://www.lemke-it.com/${_realname}-${pkgver}.tar.gz") depends=("${MINGW_PACKAGE_PREFIX}-lfcbase") -sha256sums=("11cb6e26c866ebd3d3c6527b2bba79d2e2d1f63f57ec606a0a8d503f98817aab") +sha256sums=("073f0095e1df2f74f5a986e78aa86ed754a54e695126e47fd267ed6d4913a788") prepare() { cd $srcdir/${_realname}-${pkgver} From 5ab0bf2ea9135a37feae7ca239a1d75653cbacd0 Mon Sep 17 00:00:00 2001 From: Bjoern Lemke Date: Thu, 3 Sep 2020 11:09:53 +0200 Subject: [PATCH 090/130] cego : update to version 2.45.21 --- mingw-w64-cego/PKGBUILD | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mingw-w64-cego/PKGBUILD b/mingw-w64-cego/PKGBUILD index 8ad6cdef59..8a5fb81c96 100644 --- a/mingw-w64-cego/PKGBUILD +++ b/mingw-w64-cego/PKGBUILD @@ -2,7 +2,7 @@ _realname=cego pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") -pkgver=2.45.20 +pkgver=2.45.21 pkgrel=1 pkgdesc="Cego database system (mingw-w64)" arch=('any') @@ -15,7 +15,7 @@ depends=("${MINGW_PACKAGE_PREFIX}-readline" makedepends=("${MINGW_PACKAGE_PREFIX}-gcc") -sha256sums=('61d48a792f32df42d92f57f2d6583b28d0f9d4caffb9266cfa0b12120c3cc777') +sha256sums=('de13e8629d8c529350263bc05933f05b0a3e06c4409dba793366fc25086a5e5b') prepare() { cd $srcdir/${_realname}-${pkgver} From 3968c2ae175c292c13937ac5be90161bc360b54a Mon Sep 17 00:00:00 2001 From: Rafal Date: Thu, 3 Sep 2020 11:11:33 +0200 Subject: [PATCH 091/130] Update PKGBUILD --- mingw-w64-hwloc/PKGBUILD | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mingw-w64-hwloc/PKGBUILD b/mingw-w64-hwloc/PKGBUILD index fad353f040..642061bfdb 100644 --- a/mingw-w64-hwloc/PKGBUILD +++ b/mingw-w64-hwloc/PKGBUILD @@ -11,8 +11,8 @@ url='https://www.open-mpi.org/projects/hwloc/' arch=('x86_64') license=('BSD') depends=('libtool') -makedepends=('libxml2') -optdepends=('libxml2') +makedepends=('cairo' 'libxml2') +optdepends=('cairo' 'libxml2') options=('!docs') source=(https://www.open-mpi.org/software/hwloc/v${pkgver%.*}/downloads/${pkgname}-${pkgver}.tar.bz2) sha512sums=('23efd1d5e2df870ca7a0abb9b3c28c5c5d60dd0cc650ee95d20d5934f48947cbe1d3cf4e90e02b2dc61062ddf7afd67f2c1cf6e1862a48397078d66dd798e850') From 8c2a285087b7837fe70744bc25c95836239af961 Mon Sep 17 00:00:00 2001 From: Rafal Date: Thu, 3 Sep 2020 12:04:43 +0200 Subject: [PATCH 092/130] Update PKGBUILD --- mingw-w64-hwloc/PKGBUILD | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mingw-w64-hwloc/PKGBUILD b/mingw-w64-hwloc/PKGBUILD index 642061bfdb..eb5685e1b9 100644 --- a/mingw-w64-hwloc/PKGBUILD +++ b/mingw-w64-hwloc/PKGBUILD @@ -10,9 +10,9 @@ pkgdesc='Portable Hardware Locality is a portable abstraction of hierarchical ar url='https://www.open-mpi.org/projects/hwloc/' arch=('x86_64') license=('BSD') -depends=('libtool') -makedepends=('cairo' 'libxml2') -optdepends=('cairo' 'libxml2') +depends=('mingw-w64-x86_64-libtool') +makedepends=('mingw-w64-x86_64-cairo' 'mingw-w64-x86_64-libxml2') +optdepends=('mingw-w64-x86_64-cairo' 'mingw-w64-x86_64-libxml2') options=('!docs') source=(https://www.open-mpi.org/software/hwloc/v${pkgver%.*}/downloads/${pkgname}-${pkgver}.tar.bz2) sha512sums=('23efd1d5e2df870ca7a0abb9b3c28c5c5d60dd0cc650ee95d20d5934f48947cbe1d3cf4e90e02b2dc61062ddf7afd67f2c1cf6e1862a48397078d66dd798e850') From 3ff453f8ab564d109167fcd94808f0fd9a823ab7 Mon Sep 17 00:00:00 2001 From: Rafal Date: Thu, 3 Sep 2020 12:39:18 +0200 Subject: [PATCH 093/130] Update PKGBUILD --- mingw-w64-hwloc/PKGBUILD | 1 + 1 file changed, 1 insertion(+) diff --git a/mingw-w64-hwloc/PKGBUILD b/mingw-w64-hwloc/PKGBUILD index eb5685e1b9..c2c71f508a 100644 --- a/mingw-w64-hwloc/PKGBUILD +++ b/mingw-w64-hwloc/PKGBUILD @@ -29,6 +29,7 @@ build() { --prefix=/usr \ --sbindir=/usr/bin \ --enable-static \ + --enable-plugins \ --sysconfdir=/etc make } From 2c271192e6347beca7fabfb3e3f2a243618ed7c9 Mon Sep 17 00:00:00 2001 From: Rafal Date: Thu, 3 Sep 2020 12:48:54 +0200 Subject: [PATCH 094/130] Update PKGBUILD --- mingw-w64-hwloc/PKGBUILD | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/mingw-w64-hwloc/PKGBUILD b/mingw-w64-hwloc/PKGBUILD index c2c71f508a..0df8820124 100644 --- a/mingw-w64-hwloc/PKGBUILD +++ b/mingw-w64-hwloc/PKGBUILD @@ -3,18 +3,21 @@ # Contributor: Sylvain HENRY # Contributor: HervƩ YVIQUEL -pkgname=hwloc +_realname=hwloc + +pkgbase=mingw-w64-${_realname} +pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") +pkgdesc='Portable Hardware Locality is a portable abstraction of hierarchical architectures' pkgver=2.2.0 pkgrel=1 -pkgdesc='Portable Hardware Locality is a portable abstraction of hierarchical architectures' -url='https://www.open-mpi.org/projects/hwloc/' -arch=('x86_64') -license=('BSD') -depends=('mingw-w64-x86_64-libtool') -makedepends=('mingw-w64-x86_64-cairo' 'mingw-w64-x86_64-libxml2') -optdepends=('mingw-w64-x86_64-cairo' 'mingw-w64-x86_64-libxml2') +arch=('any') +depends=("${MINGW_PACKAGE_PREFIX}-libtool") +makedepends=("${MINGW_PACKAGE_PREFIX}-cairo" "${MINGW_PACKAGE_PREFIX}-libxml2") +optdepends=("${MINGW_PACKAGE_PREFIX}-cairo" "${MINGW_PACKAGE_PREFIX}-libxml2") options=('!docs') -source=(https://www.open-mpi.org/software/hwloc/v${pkgver%.*}/downloads/${pkgname}-${pkgver}.tar.bz2) +license=('BSD') +url='https://www.open-mpi.org/projects/hwloc/' +source=(https://www.open-mpi.org/software/hwloc/v${pkgver%.*}/downloads/${_realname}-${pkgver}.tar.bz2) sha512sums=('23efd1d5e2df870ca7a0abb9b3c28c5c5d60dd0cc650ee95d20d5934f48947cbe1d3cf4e90e02b2dc61062ddf7afd67f2c1cf6e1862a48397078d66dd798e850') b2sums=('00e10f9c7467e6342e14a45d583ed307103428085a9b88398464f0439fec48647949aa80e099042b915b2c371fe105d61e8490d0555383d94740f3e6dab5aeee') From 9e414ff2d8a1b8f255831dc15f6a3f8ad6f5b263 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Thu, 3 Sep 2020 21:58:22 +0200 Subject: [PATCH 095/130] python: rebuild without high-entropy-va It crashes the build without it --- mingw-w64-python/PKGBUILD | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mingw-w64-python/PKGBUILD b/mingw-w64-python/PKGBUILD index 279a57eff3..de4f335d4b 100644 --- a/mingw-w64-python/PKGBUILD +++ b/mingw-w64-python/PKGBUILD @@ -18,7 +18,7 @@ pkgbase="mingw-w64-${_realname}" pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") _pybasever=3.8 pkgver=${_pybasever}.5 -pkgrel=1 +pkgrel=2 provides=("${MINGW_PACKAGE_PREFIX}-python3=${pkgver}") conflicts=("${MINGW_PACKAGE_PREFIX}-python3" "${MINGW_PACKAGE_PREFIX}-python2<2.7.16-7") @@ -349,6 +349,9 @@ build() { CFLAGS+=" -fwrapv -D__USE_MINGW_ANSI_STDIO=1 -D_WIN32_WINNT=0x0601" CXXFLAGS+=" -fwrapv -D__USE_MINGW_ANSI_STDIO=1 -D_WIN32_WINNT=0x0601" CPPFLAGS+=" -I${PREFIX_WIN}/include/ncurses " + if [[ "$CARCH" = 'x86_64' ]]; then + LDFLAGS+=" -Wl,--disable-high-entropy-va" + fi declare -a _extra_config if check_option "strip" "y"; then From 49196bdb017cfda75affa890131be7d8b99336d3 Mon Sep 17 00:00:00 2001 From: pal1000 Date: Thu, 3 Sep 2020 22:56:29 +0300 Subject: [PATCH 096/130] Update mingw-w64-mesa to 20.1.7 and add swr driver to MINGW64 package --- mingw-w64-mesa/PKGBUILD | 47 +++--- mingw-w64-mesa/swr-mingw.patch | 255 +++++++++++++++++++++++++++++++++ 2 files changed, 286 insertions(+), 16 deletions(-) create mode 100644 mingw-w64-mesa/swr-mingw.patch diff --git a/mingw-w64-mesa/PKGBUILD b/mingw-w64-mesa/PKGBUILD index fbc19dd29c..c359149e7a 100644 --- a/mingw-w64-mesa/PKGBUILD +++ b/mingw-w64-mesa/PKGBUILD @@ -3,7 +3,7 @@ _realname=mesa pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=20.1.6 +pkgver=20.1.7 pkgrel=1 pkgdesc="Open-source implementation of the OpenGL specification (mingw-w64)" arch=('any') @@ -18,9 +18,11 @@ url="https://www.mesa3d.org/" license=('MIT') options=('staticlibs' 'strip') source=(https://mesa.freedesktop.org/archive/${_realname}-${pkgver}.tar.xz{,.sig} + swr-mingw.patch llvmwrapgen.sh) -sha256sums=('23bed40114b03ad640c95bfe72cc879ed2f941d0d481b77b5204a1fc567fa93c' +sha256sums=('4de9dd0cb2ca367606cada421db62fbf6d276dfd533e522bfab6001ff9aba288' 'SKIP' + '6883042e8f53ab03057d8c66e16c516f096b4dbef06c4a7230947d5be87328ca' '3ad048a4c395adf6d24f2e9325d6a125822b323d494149e00d5cc435d16075e4') validpgpkeys=('8703B6700E7EE06D7A39B8D6EDAE37B02CEB490D') # Emil Velikov validpgpkeys+=('946D09B5E4C9845E63075FF1D961C596A7203456') # Andres Gomez @@ -65,6 +67,11 @@ prepare() { cd ${srcdir}/${_realname}-${pkgver} +# Fix swr build with MinGW - https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6532 + if [ ${_mach} = x86_64 ]; then + apply_patch_with_msg swr-mingw.patch + fi + # Run and optionally test LLVM Meson wrap generator. # Change nollvmconfig value to 1 if you know llvm-config is broken. @@ -74,23 +81,31 @@ prepare() { build() { cd ${srcdir}/${_realname}-${pkgver} - PROCESSOR_ARCHITECTURE="${CARCH}" \ - ${MINGW_PREFIX}/bin/meson ./build/windows-${_mach} \ - --prefix=${MINGW_PREFIX} \ - --includedir=include/mesa \ - --default-library=both \ - --buildtype=release \ - --backend=ninja \ + buildconf="${MINGW_PREFIX}/bin/meson ./build/windows-${_mach} + --prefix=${MINGW_PREFIX} + --includedir=include/mesa + --default-library=both + --buildtype=release + --backend=ninja + -Dshared-glapi=true + -Dgles1=true + -Dgles2=true + -Dllvm=true + -Dosmesa=gallium + -Dbuild-tests=true" + + if [ ${_mach} = x86_64 ]; then + buildconf="${buildconf} + -Dgallium-drivers=swrast,swr + -Dswr-arches=avx,avx2,skx,knl" + fi + + PROCESSOR_ARCHITECTURE="${CARCH}" ${buildconf} \ -Dc_args='-march=core2 -pipe' \ -Dcpp_args='-march=core2 -pipe' \ -Dc_link_args='-s' \ - -Dcpp_link_args='-s' \ - -Dshared-glapi=true \ - -Dgles1=true \ - -Dgles2=true \ - -Dllvm=true \ - -Dosmesa=gallium \ - -Dbuild-tests=true + -Dcpp_link_args='-s' + ${MINGW_PREFIX}/bin/ninja -C ./build/windows-${_mach} } diff --git a/mingw-w64-mesa/swr-mingw.patch b/mingw-w64-mesa/swr-mingw.patch new file mode 100644 index 0000000000..43118e7cb5 --- /dev/null +++ b/mingw-w64-mesa/swr-mingw.patch @@ -0,0 +1,255 @@ +diff --git a/src/gallium/auxiliary/tessellator/tessellator.cpp b/src/gallium/auxiliary/tessellator/tessellator.cpp +index ac16aabd098d4991225f0a522bfa05e3bc4e8b21..7452ec6cb448ba70ff34a9603bb49c5959406635 100644 +--- a/src/gallium/auxiliary/tessellator/tessellator.cpp ++++ b/src/gallium/auxiliary/tessellator/tessellator.cpp +@@ -18,9 +18,7 @@ + */ + + #include "tessellator.hpp" +-#if defined(__MINGW32__) || defined(__MINGW64__) +-#include +-#elif defined(_WIN32) || defined(_WIN64) ++#if defined(_MSC_VER) + #include // ceil + #else + #include +@@ -195,7 +193,7 @@ INT32 floatToIDotF( const float& input ) + if (iShift >= 0) + { + // assert( iShift < 32 ); +-#if defined(_WIN32) || defined(_WIN64) ++#if defined(_MSC_VER) + #pragma warning( suppress : 4293 ) + #endif + _fxpMaxPosValueFloat -= INT32( 1 ) << iShift; +@@ -217,7 +215,7 @@ INT32 floatToIDotF( const float& input ) + if (iShift >= 0) + { + // assert( iShift < 32 ); +-#if defined(_WIN32) || defined(_WIN64) ++#if defined(_MSC_VER) + #pragma warning( suppress : 4293 ) + #endif + _fxpMaxPosValueFloat -= INT32( 1 ) << iShift; +diff --git a/src/gallium/drivers/swr/meson.build b/src/gallium/drivers/swr/meson.build +index f8c4ba93f55f3a587331d6e41e061d7ecfa487b4..0e6f9214f3cda23fcdf2af59accd6ba5eef11172 100644 +--- a/src/gallium/drivers/swr/meson.build ++++ b/src/gallium/drivers/swr/meson.build +@@ -239,6 +239,7 @@ if with_swr_arches.contains('skx') + version : '0.0.0', + soversion : host_machine.system() == 'windows' ? '' : '0', + install : true, ++ name_prefix : host_machine.system() == 'windows' ? '' : 'lib', + ) + else + swr_arch_libs += static_library( +@@ -280,6 +281,7 @@ if with_swr_arches.contains('knl') + version : '0.0.0', + soversion : host_machine.system() == 'windows' ? '' : '0', + install : true, ++ name_prefix : host_machine.system() == 'windows' ? '' : 'lib', + ) + else + swr_arch_libs += static_library( +@@ -326,6 +328,7 @@ if with_swr_arches.contains('avx2') + version : '0.0.0', + soversion : host_machine.system() == 'windows' ? '' : '0', + install : true, ++ name_prefix : host_machine.system() == 'windows' ? '' : 'lib', + ) + else + swr_arch_libs += static_library( +@@ -360,6 +363,7 @@ if with_swr_arches.contains('avx') + version : '0.0.0', + soversion : host_machine.system() == 'windows' ? '' : '0', + install : true, ++ name_prefix : host_machine.system() == 'windows' ? '' : 'lib', + ) + else + swr_arch_libs += static_library( +diff --git a/src/gallium/drivers/swr/rasterizer/archrast/archrast.cpp b/src/gallium/drivers/swr/rasterizer/archrast/archrast.cpp +index c1d3f2d6138b210228e0c4911478b2dd81e77a67..bcdc6d0135832dc977694a8ef7c8057f6c3fff95 100644 +--- a/src/gallium/drivers/swr/rasterizer/archrast/archrast.cpp ++++ b/src/gallium/drivers/swr/rasterizer/archrast/archrast.cpp +@@ -25,6 +25,8 @@ + * @brief Implementation for archrast. + * + ******************************************************************************/ ++#include ++ + #include + #include + +diff --git a/src/gallium/drivers/swr/rasterizer/common/os.cpp b/src/gallium/drivers/swr/rasterizer/common/os.cpp +index aa817d451b4a19c8e6c40f134fa276f6d5a805cd..a40745f30fcabceb04e0ebdfb64d60b6bc8e4bb9 100644 +--- a/src/gallium/drivers/swr/rasterizer/common/os.cpp ++++ b/src/gallium/drivers/swr/rasterizer/common/os.cpp +@@ -34,7 +34,7 @@ + #include + #endif // Linux + +-#if defined(_WIN32) ++#if defined(_MSC_VER) + static const DWORD MS_VC_EXCEPTION = 0x406D1388; + + #pragma pack(push, 8) +@@ -76,7 +76,7 @@ void LegacySetThreadName(const char* pThreadName) + + void SWR_API SetCurrentThreadName(const char* pThreadName) + { +-#if defined(_WIN32) ++#if defined(_MSC_VER) + // The SetThreadDescription API was brought in version 1607 of Windows 10. + typedef HRESULT(WINAPI * PFNSetThreadDescription)(HANDLE hThread, PCWSTR lpThreadDescription); + // The SetThreadDescription API works even if no debugger is attached. +diff --git a/src/gallium/drivers/swr/rasterizer/common/os.h b/src/gallium/drivers/swr/rasterizer/common/os.h +index bda114d64e2faeef2b095085cf5d59c80382cf79..f48ed6443c69c2479822f8d6b8626f691df569fd 100644 +--- a/src/gallium/drivers/swr/rasterizer/common/os.h ++++ b/src/gallium/drivers/swr/rasterizer/common/os.h +@@ -49,7 +49,11 @@ + #undef MemoryFence + #endif + ++#if defined(_MSC_VER) + #define OSALIGN(RWORD, WIDTH) __declspec(align(WIDTH)) RWORD ++#elif defined(__GNUC__) ++#define OSALIGN(RWORD, WIDTH) RWORD __attribute__((aligned(WIDTH))) ++#endif + + #if defined(_DEBUG) + // We compile Debug builds with inline function expansion enabled. This allows +diff --git a/src/gallium/drivers/swr/rasterizer/common/swr_assert.cpp b/src/gallium/drivers/swr/rasterizer/common/swr_assert.cpp +index 8e874fbc223c898100fa0f07d4b74e4c1fe4c6d1..0f5382044c294ba82854e2ea546f838bd35aeec8 100644 +--- a/src/gallium/drivers/swr/rasterizer/common/swr_assert.cpp ++++ b/src/gallium/drivers/swr/rasterizer/common/swr_assert.cpp +@@ -30,7 +30,7 @@ + + #if SWR_ENABLE_ASSERTS || SWR_ENABLE_REL_ASSERTS + +-#if defined(_WIN32) ++#if defined(_MSC_VER) + #pragma comment(lib, "user32.lib") + #endif // _WIN32 + +diff --git a/src/gallium/drivers/swr/rasterizer/common/swr_assert.h b/src/gallium/drivers/swr/rasterizer/common/swr_assert.h +index f6bf83ea5a8ca139eb429ae3f8285aa4ffb0ebeb..cd9854f2549943b516bc1c1060fb8a4585822160 100644 +--- a/src/gallium/drivers/swr/rasterizer/common/swr_assert.h ++++ b/src/gallium/drivers/swr/rasterizer/common/swr_assert.h +@@ -71,7 +71,7 @@ + while (0) \ + _SWR_WARN_RESTORE + +-#if defined(_WIN32) ++#if defined(_MSC_VER) + #define SWR_ASSUME(e, ...) \ + _SWR_MACRO_START __assume(e); \ + _SWR_MACRO_END +diff --git a/src/gallium/drivers/swr/rasterizer/core/tessellator.cpp b/src/gallium/drivers/swr/rasterizer/core/tessellator.cpp +index 05a598b60a9e113101ad891297adb0c2febe410c..d9f4ddb3ffb5b124dd6e7afcc80e2df92060f061 100644 +--- a/src/gallium/drivers/swr/rasterizer/core/tessellator.cpp ++++ b/src/gallium/drivers/swr/rasterizer/core/tessellator.cpp +@@ -18,7 +18,7 @@ + */ + + #include "tessellator.hpp" +-#if defined(_WIN32) || defined(_WIN64) ++#if defined(_MSC_VER) + #include // ceil + #else + #include +@@ -179,7 +179,7 @@ INT32 floatToIDotF( const float& input ) + if (iShift >= 0) + { + // assert( iShift < 32 ); +-#if defined(_WIN32) || defined(_WIN64) ++#if defined(_MSC_VER) + #pragma warning( suppress : 4293 ) + #endif + _fxpMaxPosValueFloat -= INT32( 1 ) << iShift; +@@ -201,7 +201,7 @@ INT32 floatToIDotF( const float& input ) + if (iShift >= 0) + { + // assert( iShift < 32 ); +-#if defined(_WIN32) || defined(_WIN64) ++#if defined(_MSC_VER) + #pragma warning( suppress : 4293 ) + #endif + _fxpMaxPosValueFloat -= INT32( 1 ) << iShift; +diff --git a/src/gallium/drivers/swr/rasterizer/core/threads.cpp b/src/gallium/drivers/swr/rasterizer/core/threads.cpp +index 556e02e99ef049c76106d22fa396cdb99d87516a..1338f92907123b938a7715c2bb562ca51f761b06 100644 +--- a/src/gallium/drivers/swr/rasterizer/core/threads.cpp ++++ b/src/gallium/drivers/swr/rasterizer/core/threads.cpp +@@ -105,8 +105,6 @@ void CalculateProcessorTopology(CPUNumaNodes& out_nodes, uint32_t& out_numThread + + Core* pCore = nullptr; + +- uint32_t numThreads = (uint32_t)_mm_popcount_sizeT(gmask.Mask); +- + while (BitScanForwardSizeT((unsigned long*)&threadId, gmask.Mask)) + { + // clear mask +@@ -148,8 +146,6 @@ void CalculateProcessorTopology(CPUNumaNodes& out_nodes, uint32_t& out_numThread + auto& numaNode = out_nodes[numaId]; + numaNode.numaId = numaId; + +- uint32_t coreId = 0; +- + if (nullptr == pCore) + { + numaNode.cores.push_back(Core()); +@@ -980,14 +976,14 @@ DWORD workerThreadMain(LPVOID) = delete; + template + DWORD workerThreadInit(LPVOID pData) + { +-#if defined(_WIN32) ++#if defined(_MSC_VER) + __try + #endif // _WIN32 + { + return workerThreadMain(pData); + } + +-#if defined(_WIN32) ++#if defined(_MSC_VER) + __except (EXCEPTION_CONTINUE_SEARCH) + { + } +diff --git a/src/gallium/drivers/swr/rasterizer/jitter/JitManager.cpp b/src/gallium/drivers/swr/rasterizer/jitter/JitManager.cpp +index 96224a7373887f34862efabbfdc2dc122ce04deb..7b8689933b5dd6409de9df7a8a3cb5ac64c9315c 100644 +--- a/src/gallium/drivers/swr/rasterizer/jitter/JitManager.cpp ++++ b/src/gallium/drivers/swr/rasterizer/jitter/JitManager.cpp +@@ -159,7 +159,7 @@ JitManager::JitManager(uint32_t simdWidth, const char* arch, const char* core) : + + mFetchShaderTy = FunctionType::get(Type::getVoidTy(mContext), fsArgs, false); + +-#if defined(_WIN32) ++#if defined(_MSC_VER) + // explicitly instantiate used symbols from potentially staticly linked libs + sys::DynamicLibrary::AddSymbol("exp2f", &exp2f); + sys::DynamicLibrary::AddSymbol("log2f", &log2f); +diff --git a/src/gallium/drivers/swr/rasterizer/jitter/jit_pch.hpp b/src/gallium/drivers/swr/rasterizer/jitter/jit_pch.hpp +index a5c5b1f73c9eefce7b18d069cffde6e5824dac69..3e7bc8b5df8a4a2b3017c4c6d98fcb464a3dd7e0 100644 +--- a/src/gallium/drivers/swr/rasterizer/jitter/jit_pch.hpp ++++ b/src/gallium/drivers/swr/rasterizer/jitter/jit_pch.hpp +@@ -30,7 +30,7 @@ + + #pragma once + +-#if defined(_WIN32) ++#if defined(_MSC_VER) + #pragma warning(disable : 4146 4244 4267 4800 4996) + #endif + +diff --git a/src/gallium/drivers/swr/rasterizer/memory/Convert.h b/src/gallium/drivers/swr/rasterizer/memory/Convert.h +index de4986c2732a38371d9ba871e39a9b65aaec8921..c8c6b30daff000eed4046ce792d0bc56873e652c 100644 +--- a/src/gallium/drivers/swr/rasterizer/memory/Convert.h ++++ b/src/gallium/drivers/swr/rasterizer/memory/Convert.h +@@ -27,7 +27,7 @@ + ******************************************************************************/ + #pragma once + +-#if defined(_WIN32) ++#if defined(_MSC_VER) + // disable "potential divide by 0" + #pragma warning(disable: 4723) + #endif From c96fe5bc4e4cf206545101b66c997cca9395f4cf Mon Sep 17 00:00:00 2001 From: Rodrigo Hernandez Date: Wed, 2 Sep 2020 23:56:14 -0600 Subject: [PATCH 097/130] Update v8 to version 8.5.210.20 --- .../0000-add-mingw-main-code-changes.patch | 407 ++++++--------- mingw-w64-v8/0001-add-mingw-toolchain.patch | 479 +++++++++++++----- mingw-w64-v8/PKGBUILD | 12 +- mingw-w64-v8/icu.gn | 29 +- mingw-w64-v8/zlib.gn | 14 +- 5 files changed, 565 insertions(+), 376 deletions(-) diff --git a/mingw-w64-v8/0000-add-mingw-main-code-changes.patch b/mingw-w64-v8/0000-add-mingw-main-code-changes.patch index e17be24378..57412a0548 100644 --- a/mingw-w64-v8/0000-add-mingw-main-code-changes.patch +++ b/mingw-w64-v8/0000-add-mingw-main-code-changes.patch @@ -1,8 +1,8 @@ diff --git a/BUILD.gn b/BUILD.gn -index b2dde3f9d7..30c18562fd 100644 +index 65d137cbed..ca15a61046 100644 --- a/BUILD.gn +++ b/BUILD.gn -@@ -691,17 +691,25 @@ config("toolchain") { +@@ -752,17 +752,25 @@ config("toolchain") { if (v8_current_cpu == "x86") { defines += [ "V8_TARGET_ARCH_IA32" ] if (is_win) { @@ -34,7 +34,7 @@ index b2dde3f9d7..30c18562fd 100644 } } if (is_android && v8_android_log_stdout) { -@@ -757,7 +765,7 @@ config("toolchain") { +@@ -818,7 +826,7 @@ config("toolchain") { } if (v8_no_inline) { @@ -43,7 +43,7 @@ index b2dde3f9d7..30c18562fd 100644 cflags += [ "/Ob0" ] } else { cflags += [ -@@ -781,7 +789,7 @@ config("toolchain") { +@@ -842,7 +850,7 @@ config("toolchain") { } } @@ -52,7 +52,7 @@ index b2dde3f9d7..30c18562fd 100644 cflags += [ "/wd4245", # Conversion with signed/unsigned mismatch. "/wd4267", # Conversion with possible loss of data. -@@ -803,11 +811,11 @@ config("toolchain") { +@@ -864,11 +872,11 @@ config("toolchain") { ] } @@ -66,7 +66,7 @@ index b2dde3f9d7..30c18562fd 100644 cflags += [ # Disable gcc warnings for optimizations based on the assumption that # signed overflow does not occur. Generates false positives (see -@@ -3805,13 +3813,21 @@ v8_component("v8_libbase") { +@@ -3985,13 +3993,21 @@ v8_component("v8_libbase") { defines += [ "_CRT_RAND_S" ] # for rand_s() @@ -94,34 +94,70 @@ index b2dde3f9d7..30c18562fd 100644 } if (v8_current_cpu == "mips" || v8_current_cpu == "mips64") { -@@ -3952,7 +3968,7 @@ v8_source_set("cppgc_base") { +@@ -4115,7 +4131,7 @@ v8_source_set("v8_cppgc_shared") { + "src/heap/base/stack.h", ] - if (target_cpu == "x64") { -- if (is_win) { -+ if (is_win && !is_mingw) { - sources += [ "src/heap/cppgc/asm/x64/push_registers_win.S" ] - } else { - sources += [ "src/heap/cppgc/asm/x64/push_registers.S" ] -@@ -4303,7 +4319,10 @@ if (is_component_build) { +- if (is_clang || !is_win) { ++ if (is_clang || is_mingw) { + if (current_cpu == "x64") { + sources += [ "src/heap/base/asm/x64/push_registers_asm.cc" ] + } else if (current_cpu == "x86") { +@@ -4133,7 +4149,7 @@ v8_source_set("v8_cppgc_shared") { + } else if (current_cpu == "mips64el") { + sources += [ "src/heap/base/asm/mips64/push_registers_asm.cc" ] + } +- } else if (is_win) { ++ } else if (is_win && !is_mingw) { + if (current_cpu == "x64") { + sources += [ "src/heap/base/asm/x64/push_registers_masm.S" ] + } else if (current_cpu == "x86") { +@@ -4354,8 +4370,11 @@ if (current_toolchain == v8_snapshot_toolchain) { + "src/snapshot/snapshot-empty.cc", + ] + +- configs = [ ":internal_config" ] +- ++ configs = [ ++ ":internal_config", ++ "//build/config/win:strip_debug_symbols_at_link_time" # Work around a bug in the mingw linker. ++ ] ++ + deps = [ + ":v8_base_without_compiler", + ":v8_compiler_for_mksnapshot", +@@ -4574,7 +4593,10 @@ if (is_component_build) { ":v8_snapshot", ] - configs = [ ":internal_config" ] + configs = [ + ":internal_config", -+ "//build/config/win:export_all_symbols" ++ "//build/config/win:strip_debug_symbols_at_link_time", # Work around a bug in the mingw linker. ++ ] + + public_configs = [ ":external_config" ] + } +@@ -4593,7 +4615,11 @@ if (is_component_build) { + ":v8_snapshot", + ] + +- configs = [ ":internal_config" ] ++ configs = [ ++ ":internal_config", ++ "//build/config/win:export_all_symbols", ++ "//build/config/win:strip_debug_symbols_at_link_time", # Work around a bug in the mingw linker. + ] public_configs = [ ":external_config" ] } diff --git a/include/v8.h b/include/v8.h -index 9926b308b1..cece860a0d 100644 +index 13b40db28e..f749ccc207 100644 --- a/include/v8.h +++ b/include/v8.h -@@ -28,6 +28,11 @@ - #include "v8-version.h" // NOLINT(build/include) - #include "v8config.h" // NOLINT(build/include) +@@ -30,6 +30,11 @@ + #include "v8-version.h" // NOLINT(build/include_directory) + #include "v8config.h" // NOLINT(build/include_directory) +#if defined(__MINGW32__) || defined(__MINGW64__) +// MinGW header files do not implicitly include windows.h @@ -132,7 +168,7 @@ index 9926b308b1..cece860a0d 100644 // assume there are no name conflicts with the embedder's code. diff --git a/include/v8config.h b/include/v8config.h -index 40d23c35c1..3f3e264c84 100644 +index bbd1d6ce97..74b9c7bc8a 100644 --- a/include/v8config.h +++ b/include/v8config.h @@ -118,7 +118,7 @@ @@ -145,7 +181,7 @@ index 40d23c35c1..3f3e264c84 100644 #endif diff --git a/src/base/bits.h b/src/base/bits.h -index b74b98e106..7d016bf23d 100644 +index cf4b77fa18..414b8073fe 100644 --- a/src/base/bits.h +++ b/src/base/bits.h @@ -12,8 +12,10 @@ @@ -254,10 +290,10 @@ index 5db3e34310..5c8fdc7ef0 100644 namespace base { diff --git a/src/base/platform/time.cc b/src/base/platform/time.cc -index f07fd8e595..270ebfd408 100644 +index a12a5b0d0a..6f1cccf89f 100644 --- a/src/base/platform/time.cc +++ b/src/base/platform/time.cc -@@ -766,13 +766,13 @@ bool ThreadTicks::IsSupported() { +@@ -754,13 +754,13 @@ bool ThreadTicks::IsSupported() { ThreadTicks ThreadTicks::Now() { #if V8_OS_MACOSX return ThreadTicks(ComputeThreadTicks()); @@ -274,18 +310,6 @@ index f07fd8e595..270ebfd408 100644 #else UNREACHABLE(); #endif -diff --git a/src/base/template-utils.h b/src/base/template-utils.h -index 8f89672e1a..001540c7c0 100644 ---- a/src/base/template-utils.h -+++ b/src/base/template-utils.h -@@ -7,6 +7,7 @@ - - #include - #include -+#include - #include - #include - diff --git a/src/base/win32-headers.h b/src/base/win32-headers.h index 82555463c0..8ed6ff5a7b 100644 --- a/src/base/win32-headers.h @@ -326,29 +350,37 @@ index 935e5778e3..d5dae22512 100644 public: explicit NodeCache(Zone* zone) : map_(zone) {} ~NodeCache() = default; -diff --git a/src/heap/cppgc/asm/x64/push_registers.S b/src/heap/cppgc/asm/x64/push_registers.S -index 018859d5c0..3c8dd012c7 100644 ---- a/src/heap/cppgc/asm/x64/push_registers.S -+++ b/src/heap/cppgc/asm/x64/push_registers.S -@@ -11,7 +11,12 @@ - .globl _PushAllRegistersAndIterateStack - _PushAllRegistersAndIterateStack: +diff --git a/src/heap/cppgc/marking-visitor.h b/src/heap/cppgc/marking-visitor.h +index 50427162a1..6083644658 100644 +--- a/src/heap/cppgc/marking-visitor.h ++++ b/src/heap/cppgc/marking-visitor.h +@@ -21,7 +21,7 @@ namespace internal { + class BasePage; + class HeapObjectHeader; --#else // !V8_TARGET_OS_MACOSX -+#elif defined(V8_TARGET_OS_WIN) -+ -+.globl PushAllRegistersAndIterateStack -+PushAllRegistersAndIterateStack: -+ -+#else // !V8_TARGET_OS_MACOSX && !V8_TARGET_OS_WIN +-class MarkingVisitor : public ConservativeTracingVisitor, ++class V8_EXPORT_PRIVATE MarkingVisitor : public ConservativeTracingVisitor, + public heap::base::StackVisitor { + public: + MarkingVisitor(HeapBase&, Marker::MarkingWorklist*, +diff --git a/src/heap/cppgc/raw-heap.h b/src/heap/cppgc/raw-heap.h +index e63fc32c43..f899e5634e 100644 +--- a/src/heap/cppgc/raw-heap.h ++++ b/src/heap/cppgc/raw-heap.h +@@ -49,6 +49,8 @@ class V8_EXPORT_PRIVATE RawHeap final { - .type PushAllRegistersAndIterateStack, %function - .global PushAllRegistersAndIterateStack -diff --git a/src/heap/spaces-inl.h b/src/heap/spaces-inl.h -index a73ea6fe0c..ad596d979f 100644 ---- a/src/heap/spaces-inl.h -+++ b/src/heap/spaces-inl.h -@@ -66,7 +66,7 @@ HeapObject SemiSpaceObjectIterator::Next() { + explicit RawHeap(HeapBase* heap, size_t custom_spaces); + ~RawHeap(); ++ RawHeap(const RawHeap&) = delete; ++ RawHeap& operator=(const RawHeap&) = delete; + + // Space iteration support. + iterator begin() { return spaces_.begin(); } +diff --git a/src/heap/paged-spaces-inl.h b/src/heap/paged-spaces-inl.h +index 6b2e5a848a..09e24adb52 100644 +--- a/src/heap/paged-spaces-inl.h ++++ b/src/heap/paged-spaces-inl.h +@@ -17,7 +17,7 @@ namespace internal { // ----------------------------------------------------------------------------- // PagedSpaceObjectIterator @@ -357,11 +389,11 @@ index a73ea6fe0c..ad596d979f 100644 do { HeapObject next_obj = FromCurrentPage(); if (!next_obj.is_null()) return next_obj; -diff --git a/src/heap/spaces.h b/src/heap/spaces.h -index 8d587443e3..cb0a1a28d1 100644 ---- a/src/heap/spaces.h -+++ b/src/heap/spaces.h -@@ -1628,7 +1628,7 @@ class V8_EXPORT_PRIVATE PagedSpaceObjectIterator : public ObjectIterator { +diff --git a/src/heap/paged-spaces.h b/src/heap/paged-spaces.h +index 395ff29343..01fe7b192c 100644 +--- a/src/heap/paged-spaces.h ++++ b/src/heap/paged-spaces.h +@@ -49,7 +49,7 @@ class V8_EXPORT_PRIVATE PagedSpaceObjectIterator : public ObjectIterator { // Advance to the next object, skipping free spaces and other fillers and // skipping the special garbage section of which there is one per space. // Returns nullptr when the iteration has ended. @@ -371,7 +403,7 @@ index 8d587443e3..cb0a1a28d1 100644 private: // Fast (inlined) path of next(). diff --git a/src/objects/feedback-vector.cc b/src/objects/feedback-vector.cc -index 929b312f22..7beff3395d 100644 +index ce638b2339..f265ff475c 100644 --- a/src/objects/feedback-vector.cc +++ b/src/objects/feedback-vector.cc @@ -114,9 +114,9 @@ Handle FeedbackMetadata::New(LocalIsolate* isolate, @@ -386,163 +418,8 @@ index 929b312f22..7beff3395d 100644 OffThreadIsolate* isolate, const FeedbackVectorSpec* spec); bool FeedbackMetadata::SpecDiffersFrom( -diff --git a/src/objects/js-number-format.cc b/src/objects/js-number-format.cc -index 7d50f947f7..2d7fd77113 100644 ---- a/src/objects/js-number-format.cc -+++ b/src/objects/js-number-format.cc -@@ -1239,44 +1239,33 @@ MaybeHandle JSNumberFormat::New(Isolate* isolate, - } - - namespace { --Maybe IcuFormatNumber( -+Maybe IcuFormatNumber( - Isolate* isolate, - const icu::number::LocalizedNumberFormatter& number_format, -- Handle numeric_obj, icu::FieldPositionIterator* fp_iter) { -+ Handle numeric_obj, icu::number::FormattedNumber* formatted) { - // If it is BigInt, handle it differently. - UErrorCode status = U_ZERO_ERROR; -- icu::number::FormattedNumber formatted; - if (numeric_obj->IsBigInt()) { - Handle big_int = Handle::cast(numeric_obj); - Handle big_int_string; - ASSIGN_RETURN_ON_EXCEPTION_VALUE(isolate, big_int_string, - BigInt::ToString(isolate, big_int), -- Nothing()); -- formatted = number_format.formatDecimal( -+ Nothing()); -+ *formatted = number_format.formatDecimal( - {big_int_string->ToCString().get(), big_int_string->length()}, status); - } else { - double number = numeric_obj->IsNaN() - ? std::numeric_limits::quiet_NaN() - : numeric_obj->Number(); -- formatted = number_format.formatDouble(number, status); -+ *formatted = number_format.formatDouble(number, status); - } - if (U_FAILURE(status)) { - // This happen because of icu data trimming trim out "unit". - // See https://bugs.chromium.org/p/v8/issues/detail?id=8641 -- THROW_NEW_ERROR_RETURN_VALUE(isolate, -- NewTypeError(MessageTemplate::kIcuError), -- Nothing()); -- } -- if (fp_iter) { -- formatted.getAllFieldPositions(*fp_iter, status); -- } -- icu::UnicodeString result = formatted.toString(status); -- if (U_FAILURE(status)) { -- THROW_NEW_ERROR_RETURN_VALUE(isolate, -- NewTypeError(MessageTemplate::kIcuError), -- Nothing()); -+ THROW_NEW_ERROR_RETURN_VALUE( -+ isolate, NewTypeError(MessageTemplate::kIcuError), Nothing()); - } -- return Just(result); -+ return Just(true); - } - - } // namespace -@@ -1287,10 +1276,16 @@ MaybeHandle JSNumberFormat::FormatNumeric( - Handle numeric_obj) { - DCHECK(numeric_obj->IsNumeric()); - -- Maybe maybe_format = -- IcuFormatNumber(isolate, number_format, numeric_obj, nullptr); -+ icu::number::FormattedNumber formatted; -+ Maybe maybe_format = -+ IcuFormatNumber(isolate, number_format, numeric_obj, &formatted); - MAYBE_RETURN(maybe_format, Handle()); -- return Intl::ToString(isolate, maybe_format.FromJust()); -+ UErrorCode status = U_ZERO_ERROR; -+ icu::UnicodeString result = formatted.toString(status); -+ if (U_FAILURE(status)) { -+ THROW_NEW_ERROR(isolate, NewTypeError(MessageTemplate::kIcuError), String); -+ } -+ return Intl::ToString(isolate, result); - } - - namespace { -@@ -1403,12 +1398,18 @@ std::vector FlattenRegionsToParts( - } - - namespace { --Maybe ConstructParts(Isolate* isolate, const icu::UnicodeString& formatted, -- icu::FieldPositionIterator* fp_iter, -+Maybe ConstructParts(Isolate* isolate, -+ icu::number::FormattedNumber* formatted, - Handle result, int start_index, - Handle numeric_obj, bool style_is_unit) { -+ UErrorCode status = U_ZERO_ERROR; -+ icu::UnicodeString formatted_text = formatted->toString(status); -+ if (U_FAILURE(status)) { -+ THROW_NEW_ERROR_RETURN_VALUE( -+ isolate, NewTypeError(MessageTemplate::kIcuError), Nothing()); -+ } - DCHECK(numeric_obj->IsNumeric()); -- int32_t length = formatted.length(); -+ int32_t length = formatted_text.length(); - int index = start_index; - if (length == 0) return Just(index); - -@@ -1417,13 +1418,14 @@ Maybe ConstructParts(Isolate* isolate, const icu::UnicodeString& formatted, - // other region covers some part of the formatted string. It's possible - // there's another field with exactly the same begin and end as this backdrop, - // in which case the backdrop's field_id of -1 will give it lower priority. -- regions.push_back(NumberFormatSpan(-1, 0, formatted.length())); -+ regions.push_back(NumberFormatSpan(-1, 0, formatted_text.length())); - - { -- icu::FieldPosition fp; -- while (fp_iter->next(fp)) { -- regions.push_back(NumberFormatSpan(fp.getField(), fp.getBeginIndex(), -- fp.getEndIndex())); -+ icu::ConstrainedFieldPosition cfp; -+ cfp.constrainCategory(UFIELD_CATEGORY_NUMBER); -+ while (formatted->nextPosition(cfp, status)) { -+ regions.push_back( -+ NumberFormatSpan(cfp.getField(), cfp.getStart(), cfp.getLimit())); - } - } - -@@ -1445,7 +1447,7 @@ Maybe ConstructParts(Isolate* isolate, const icu::UnicodeString& formatted, - Handle substring; - ASSIGN_RETURN_ON_EXCEPTION_VALUE( - isolate, substring, -- Intl::ToString(isolate, formatted, part.begin_pos, part.end_pos), -+ Intl::ToString(isolate, formatted_text, part.begin_pos, part.end_pos), - Nothing()); - Intl::AddElement(isolate, result, index, field_type_string, substring); - ++index; -@@ -1465,20 +1467,19 @@ MaybeHandle JSNumberFormat::FormatToParts( - number_format->icu_number_formatter().raw(); - CHECK_NOT_NULL(fmt); - -- icu::FieldPositionIterator fp_iter; -- Maybe maybe_format = -- IcuFormatNumber(isolate, *fmt, numeric_obj, &fp_iter); -+ icu::number::FormattedNumber formatted; -+ Maybe maybe_format = -+ IcuFormatNumber(isolate, *fmt, numeric_obj, &formatted); - MAYBE_RETURN(maybe_format, Handle()); -- - UErrorCode status = U_ZERO_ERROR; -+ - bool style_is_unit = - Style::UNIT == StyleFromSkeleton(fmt->toSkeleton(status)); - CHECK(U_SUCCESS(status)); - - Handle result = factory->NewJSArray(0); -- Maybe maybe_format_to_parts = -- ConstructParts(isolate, maybe_format.FromJust(), &fp_iter, result, 0, -- numeric_obj, style_is_unit); -+ Maybe maybe_format_to_parts = ConstructParts( -+ isolate, &formatted, result, 0, numeric_obj, style_is_unit); - MAYBE_RETURN(maybe_format_to_parts, Handle()); - - return result; diff --git a/src/objects/ordered-hash-table.h b/src/objects/ordered-hash-table.h -index b587960432..e80b5757e4 100644 +index 5f3c45a110..838057007f 100644 --- a/src/objects/ordered-hash-table.h +++ b/src/objects/ordered-hash-table.h @@ -7,7 +7,11 @@ @@ -558,7 +435,7 @@ index b587960432..e80b5757e4 100644 #include "src/objects/smi.h" #include "src/roots/roots.h" diff --git a/src/objects/string.h b/src/objects/string.h -index 616a4b967b..505ac1b059 100644 +index 7c275cc6cb..ba7fca6fb8 100644 --- a/src/objects/string.h +++ b/src/objects/string.h @@ -293,7 +293,7 @@ class String : public TorqueGeneratedString { @@ -570,24 +447,45 @@ index 616a4b967b..505ac1b059 100644 return IsOneByteEqualTo(Vector::cast(str)); } bool IsTwoByteEqualTo(Vector str); -diff --git a/src/snapshot/serializer-common.cc b/src/snapshot/serializer-common.cc -index 9218d4eaa9..7b226de2f9 100644 ---- a/src/snapshot/serializer-common.cc -+++ b/src/snapshot/serializer-common.cc -@@ -8,7 +8,7 @@ - #include "src/objects/foreign-inl.h" - #include "src/objects/objects-inl.h" - #include "src/objects/slots.h" +diff --git a/src/snapshot/snapshot-utils.cc b/src/snapshot/snapshot-utils.cc +index eb2372372c..7defadb4b1 100644 +--- a/src/snapshot/snapshot-utils.cc ++++ b/src/snapshot/snapshot-utils.cc +@@ -5,7 +5,7 @@ + #include "src/snapshot/snapshot-utils.h" + + #include "src/sanitizer/msan.h" -#include "third_party/zlib/zlib.h" +#include "zlib.h" namespace v8 { namespace internal { +diff --git a/src/wasm/function-body-decoder-impl.h b/src/wasm/function-body-decoder-impl.h +index d038a7c8d5..be70958a3e 100644 +--- a/src/wasm/function-body-decoder-impl.h ++++ b/src/wasm/function-body-decoder-impl.h +@@ -1712,7 +1712,7 @@ class WasmDecoder : public Decoder { + } + + // TODO(clemensb): This is only used by the interpreter; move there. +- V8_EXPORT_PRIVATE std::pair StackEffect(const byte* pc) { ++ std::pair StackEffect(const byte* pc) { + WasmOpcode opcode = static_cast(*pc); + // Handle "simple" opcodes with a fixed signature first. + const FunctionSig* sig = WasmOpcodes::Signature(opcode); diff --git a/test/cctest/BUILD.gn b/test/cctest/BUILD.gn -index 89fe36f65b..7aa3dca4a5 100644 +index a55451c6c9..3540b7940c 100644 --- a/test/cctest/BUILD.gn +++ b/test/cctest/BUILD.gn -@@ -416,17 +416,28 @@ v8_source_set("cctest_sources") { +@@ -31,6 +31,7 @@ v8_executable("cctest") { + "../..:internal_config_base", + "../..:v8_tracing_config", + ":cctest_config", ++ "//build/config/win:strip_debug_symbols_at_link_time", # Work around a bug in the mingw linker. + ] + + ldflags = [] +@@ -435,17 +436,28 @@ v8_source_set("cctest_sources") { } if (is_win) { @@ -595,6 +493,13 @@ index 89fe36f65b..7aa3dca4a5 100644 - # bytecode-utils.h. - # C4309: 'static_cast': truncation of constant value - cflags += [ "/wd4309" ] +- +- # MSVS wants this for gay-{precision,shortest}.cc. +- cflags += [ "/bigobj" ] +- +- if (symbol_level == 2) { +- sources += [ "test-v8windbg.cc" ] +- deps += [ "../../tools/v8windbg:v8windbg_test" ] + if(is_mingw) { + # Buffer overrun warning... intended? + cflags += [ @@ -606,15 +511,10 @@ index 89fe36f65b..7aa3dca4a5 100644 + # bytecode-utils.h. + # C4309: 'static_cast': truncation of constant value + cflags += [ "/wd4309" ] - -- # MSVS wants this for gay-{precision,shortest}.cc. -- cflags += [ "/bigobj" ] ++ + # Buffer overrun warning... intended? + cflags += [ "/wd4789" ] - -- if (symbol_level == 2) { -- sources += [ "test-v8windbg.cc" ] -- deps += [ "../../tools/v8windbg:v8windbg_test" ] ++ + # MSVS wants this for gay-{precision,shortest}.cc. + cflags += [ "/bigobj" ] + @@ -626,10 +526,22 @@ index 89fe36f65b..7aa3dca4a5 100644 } diff --git a/test/unittests/BUILD.gn b/test/unittests/BUILD.gn -index f3b060e5da..ad6c70d73f 100644 +index b42d09d760..1d56eb3297 100644 --- a/test/unittests/BUILD.gn +++ b/test/unittests/BUILD.gn -@@ -366,7 +366,7 @@ v8_source_set("unittests_sources") { +@@ -120,6 +120,11 @@ v8_executable("unittests") { + "../..:external_config", + "../..:internal_config_base", + ] ++ ++ # Work around mingw's ld bug handling large debug symbols. ++ if(!is_component_build){ ++ configs += [ "//build/config/win:strip_debug_symbols_at_link_time" ] ++ } + } + + v8_source_set("unittests_sources") { +@@ -399,7 +404,7 @@ v8_source_set("unittests_sources") { "//testing/gtest", ] @@ -639,7 +551,7 @@ index f3b060e5da..ad6c70d73f 100644 # bytecode-utils.h. # C4309: 'static_cast': truncation of constant value diff --git a/third_party/googletest/BUILD.gn b/third_party/googletest/BUILD.gn -index f105d1a6b4..e63dcb9d6d 100644 +index cfa9205547..f3b0051f61 100644 --- a/third_party/googletest/BUILD.gn +++ b/third_party/googletest/BUILD.gn @@ -30,7 +30,7 @@ config("gtest_config") { @@ -665,6 +577,23 @@ index 2f8197dd36..9b1e4fabb9 100644 data_deps += [ "v8windbg" ] } } +diff --git a/tools/debug_helper/BUILD.gn b/tools/debug_helper/BUILD.gn +index 522a0e2270..bbe5809baa 100644 +--- a/tools/debug_helper/BUILD.gn ++++ b/tools/debug_helper/BUILD.gn +@@ -92,10 +92,12 @@ v8_component("v8_debug_helper") { + "../..:run_torque", + "../..:v8_headers", + "../..:v8_libbase", ++ "../..:v8", + ] + + configs = [ ":internal_config" ] + if (v8_enable_i18n_support) { ++ public_deps = [ "//third_party/icu" ] + configs += [ "//third_party/icu:icu_config" ] + } + diff --git a/tools/v8windbg/BUILD.gn b/tools/v8windbg/BUILD.gn index 10d06a127f..1cdaf86312 100644 --- a/tools/v8windbg/BUILD.gn diff --git a/mingw-w64-v8/0001-add-mingw-toolchain.patch b/mingw-w64-v8/0001-add-mingw-toolchain.patch index 8fd58296d1..6dbce801ac 100644 --- a/mingw-w64-v8/0001-add-mingw-toolchain.patch +++ b/mingw-w64-v8/0001-add-mingw-toolchain.patch @@ -1,5 +1,5 @@ diff --git a/config/BUILD.gn b/config/BUILD.gn -index d0517299b..9679a9fd0 100644 +index 95e23e50e..8f5a63f4b 100644 --- a/config/BUILD.gn +++ b/config/BUILD.gn @@ -127,13 +127,13 @@ config("debug") { @@ -13,8 +13,8 @@ index d0517299b..9679a9fd0 100644 # builds, and we have to tell it to turn it off. defines += [ "_HAS_ITERATOR_DEBUGGING=0" ] } -- } else if (is_linux && current_cpu == "x64" && enable_iterator_debugging) { -+ } else if ((is_linux || is_mingw) && current_cpu == "x64" && enable_iterator_debugging) { +- } else if ((is_linux || is_chromeos) && current_cpu == "x64" && enable_iterator_debugging) { ++ } else if ((is_linux || is_chromeos || is_mingw) && current_cpu == "x64" && enable_iterator_debugging) { # Enable libstdc++ debugging facilities to help catch problems early, see # http://crbug.com/65151 . # TODO(phajdan.jr): Should we enable this for all of POSIX? @@ -44,7 +44,7 @@ index d0517299b..9679a9fd0 100644 ] } diff --git a/config/BUILDCONFIG.gn b/config/BUILDCONFIG.gn -index 11e0a2182..1b8f1fe04 100644 +index e01150218..574521a30 100644 --- a/config/BUILDCONFIG.gn +++ b/config/BUILDCONFIG.gn @@ -133,8 +133,12 @@ declare_args() { @@ -55,8 +55,7 @@ index 11e0a2182..1b8f1fe04 100644 + is_mingw = getenv("MSYSTEM") == "MINGW64" || getenv("MSYSTEM") == "MINGW32" + # Set to true when compiling with the Clang compiler. -- is_clang = current_os != "linux" || -+ is_clang = current_os != "linux" || + is_clang = current_os != "linux" || + !(getenv("MSYSTEM") == "MINGW64" || getenv("MSYSTEM") == "MINGW32") || (current_cpu != "s390x" && current_cpu != "s390" && current_cpu != "ppc64" && current_cpu != "ppc" && @@ -87,10 +86,18 @@ index 11e0a2182..1b8f1fe04 100644 _default_toolchain = "//build/toolchain/win:$target_cpu" } diff --git a/config/compiler/BUILD.gn b/config/compiler/BUILD.gn -index 5fa34150a..e5f0cffa5 100644 +index 3e7965ce9..e53558a1a 100644 --- a/config/compiler/BUILD.gn +++ b/config/compiler/BUILD.gn -@@ -269,7 +269,7 @@ config("compiler") { +@@ -11,7 +11,6 @@ import("//build/config/clang/clang.gni") + import("//build/config/compiler/compiler.gni") + import("//build/config/coverage/coverage.gni") + import("//build/config/dcheck_always_on.gni") +-import("//build/config/gclient_args.gni") + import("//build/config/host_byteorder.gni") + import("//build/config/sanitizers/sanitizers.gni") + import("//build/config/ui.gni") +@@ -266,7 +265,7 @@ config("compiler") { # In general, Windows is totally different, but all the other builds share # some common GCC configuration. @@ -99,7 +106,7 @@ index 5fa34150a..e5f0cffa5 100644 # Common POSIX compiler flags setup. # -------------------------------- cflags += [ "-fno-strict-aliasing" ] # See http://crbug.com/32204 -@@ -283,7 +283,7 @@ config("compiler") { +@@ -280,7 +279,7 @@ config("compiler") { } else { cflags += [ "-fstack-protector" ] } @@ -108,7 +115,7 @@ index 5fa34150a..e5f0cffa5 100644 # TODO(phajdan.jr): Use -fstack-protector-strong when our gcc supports it. # See also https://crbug.com/533294 cflags += [ "--param=ssp-buffer-size=4" ] -@@ -294,6 +294,12 @@ config("compiler") { +@@ -291,6 +290,12 @@ config("compiler") { } else if (current_os != "aix") { # Not available on aix. cflags += [ "-fstack-protector" ] @@ -121,16 +128,16 @@ index 5fa34150a..e5f0cffa5 100644 } } -@@ -320,7 +326,7 @@ config("compiler") { +@@ -319,7 +324,7 @@ config("compiler") { # Non-Mac Posix and Fuchsia compiler flags setup. # ----------------------------------- -- if ((is_posix && !(is_mac || is_ios)) || is_fuchsia) { -+ if ((is_posix && !(is_mac || is_ios)) || is_fuchsia || is_mingw) { +- if ((is_posix && !is_apple) || is_fuchsia) { ++ if ((is_posix && !is_apple) || is_fuchsia || is_mingw) { if (enable_profiling) { if (!is_debug) { cflags += [ "-g" ] -@@ -476,7 +482,7 @@ config("compiler") { +@@ -477,7 +482,7 @@ config("compiler") { # TODO(thakis): Make the driver pass --color-diagnostics to the linker # if -fcolor-diagnostics is passed to it, and pass -fcolor-diagnostics # in ldflags instead. @@ -139,16 +146,16 @@ index 5fa34150a..e5f0cffa5 100644 # On Windows, we call the linker directly, instead of calling it through # the driver. ldflags += [ "--color-diagnostics" ] -@@ -501,7 +507,7 @@ config("compiler") { +@@ -505,7 +510,7 @@ config("compiler") { # C11/C++11 compiler flags setup. # --------------------------- -- if (is_linux || is_android || (is_nacl && is_clang) || current_os == "aix") { -+ if (is_linux || is_android || is_mingw || (is_nacl && is_clang) || current_os == "aix") { +- if (is_linux || is_chromeos || is_android || (is_nacl && is_clang) || ++ if (is_linux || is_mingw || is_chromeos || is_android || (is_nacl && is_clang) || + current_os == "aix") { if (target_os == "android") { cxx11_override = use_cxx11_on_android - } else { -@@ -587,7 +593,7 @@ config("compiler") { +@@ -608,7 +613,7 @@ config("compiler") { lto_opt_level = 0 } @@ -157,7 +164,7 @@ index 5fa34150a..e5f0cffa5 100644 # This is a straight translation of the non-Windows flags below, # except we do not use the ThinLTO cache, which leaks temporary # files on Windows (https://crbug.com/871962). -@@ -646,7 +652,7 @@ config("compiler") { +@@ -664,7 +669,7 @@ config("compiler") { # built with ThinLTO (see https://crbug.com/767901) as well as the GVR shim. if (!is_android) { cflags += [ "-fwhole-program-vtables" ] @@ -166,7 +173,7 @@ index 5fa34150a..e5f0cffa5 100644 ldflags += [ "-fwhole-program-vtables" ] } } -@@ -668,12 +674,12 @@ config("compiler") { +@@ -681,12 +686,12 @@ config("compiler") { if (compiler_timing) { if (is_clang && !is_nacl) { @@ -181,7 +188,7 @@ index 5fa34150a..e5f0cffa5 100644 cflags += [ # "Documented" here: # http://aras-p.info/blog/2017/10/23/Best-unknown-MSVC-flag-d2cgsummary/ -@@ -705,7 +711,7 @@ config("compiler") { +@@ -728,7 +733,7 @@ config("compiler") { # Assign any flags set for the C compiler to asmflags so that they are sent # to the assembler. The Windows assembler takes different types of flags # so only do so for posix platforms. @@ -190,16 +197,16 @@ index 5fa34150a..e5f0cffa5 100644 asmflags += cflags asmflags += cflags_c } -@@ -721,7 +727,7 @@ config("compiler_cpu_abi") { +@@ -744,7 +749,7 @@ config("compiler_cpu_abi") { ldflags = [] defines = [] -- if ((is_posix && !(is_mac || is_ios)) || is_fuchsia) { -+ if ((is_posix && !(is_mac || is_ios)) || is_fuchsia || is_mingw) { +- if ((is_posix && !is_apple) || is_fuchsia) { ++ if ((is_posix && !is_apple) || is_fuchsia || is_mingw) { # CPU architecture. We may or may not be doing a cross compile now, so for # simplicity we always explicitly set the architecture. if (current_cpu == "x64") { -@@ -1075,7 +1081,7 @@ config("compiler_deterministic") { +@@ -1101,7 +1106,7 @@ config("compiler_deterministic") { # Eliminate build metadata (__DATE__, __TIME__ and __TIMESTAMP__) for # deterministic build. See https://crbug.com/314403 if (!is_official_build) { @@ -208,7 +215,7 @@ index 5fa34150a..e5f0cffa5 100644 cflags += [ "/wd4117", # Trying to define or undefine a predefined macro. "/D__DATE__=", -@@ -1236,7 +1242,7 @@ config("default_warnings") { +@@ -1262,7 +1267,7 @@ config("default_warnings") { cflags_cc = [] ldflags = [] @@ -217,7 +224,7 @@ index 5fa34150a..e5f0cffa5 100644 if (treat_warnings_as_errors) { cflags += [ "/WX" ] } -@@ -1446,15 +1452,31 @@ config("default_warnings") { +@@ -1472,15 +1477,31 @@ config("default_warnings") { # files. cflags += [ "-Wno-packed-not-aligned" ] } @@ -250,7 +257,7 @@ index 5fa34150a..e5f0cffa5 100644 } if (is_clang) { -@@ -1537,7 +1559,7 @@ config("default_warnings") { +@@ -1568,7 +1589,7 @@ config("default_warnings") { # part of Chromium. config("chromium_code") { @@ -259,7 +266,7 @@ index 5fa34150a..e5f0cffa5 100644 cflags = [ "/W4" ] # Warning level 4. if (is_clang) { -@@ -1632,7 +1654,7 @@ config("no_chromium_code") { +@@ -1660,7 +1681,7 @@ config("no_chromium_code") { cflags_cc = [] defines = [] @@ -268,7 +275,7 @@ index 5fa34150a..e5f0cffa5 100644 cflags += [ "/W3", # Warning level 3. "/wd4800", # Disable warning when forcing value to bool. -@@ -1691,7 +1713,7 @@ config("noshadowing") { +@@ -1719,7 +1740,7 @@ config("noshadowing") { # Allows turning Run-Time Type Identification on or off. config("rtti") { @@ -277,7 +284,7 @@ index 5fa34150a..e5f0cffa5 100644 cflags_cc = [ "/GR" ] } else { cflags_cc = [ "-frtti" ] -@@ -1701,7 +1723,7 @@ config("rtti") { +@@ -1729,7 +1750,7 @@ config("rtti") { config("no_rtti") { # Some sanitizer configs may require RTTI to be left enabled globally if (!use_rtti) { @@ -286,7 +293,7 @@ index 5fa34150a..e5f0cffa5 100644 cflags_cc = [ "/GR-" ] } else { cflags_cc = [ "-fno-rtti" ] -@@ -1754,7 +1776,7 @@ config("thin_archive") { +@@ -1782,7 +1803,7 @@ config("thin_archive") { # Note: exceptions are disallowed in Google code. config("exceptions") { @@ -295,7 +302,7 @@ index 5fa34150a..e5f0cffa5 100644 # Enables exceptions in the STL. if (!use_custom_libcxx) { defines = [ "_HAS_EXCEPTIONS=1" ] -@@ -1767,7 +1789,7 @@ config("exceptions") { +@@ -1795,7 +1816,7 @@ config("exceptions") { } config("no_exceptions") { @@ -304,7 +311,7 @@ index 5fa34150a..e5f0cffa5 100644 # Disables exceptions in the STL. # libc++ uses the __has_feature macro to control whether to use exceptions, # so defining this macro is unnecessary. Defining _HAS_EXCEPTIONS to 0 also -@@ -1828,7 +1850,7 @@ config("no_shorten_64_warnings") { +@@ -1856,7 +1877,7 @@ config("no_shorten_64_warnings") { if (is_clang) { cflags = [ "-Wno-shorten-64-to-32" ] } else { @@ -313,7 +320,7 @@ index 5fa34150a..e5f0cffa5 100644 # MSVC does not have an explicit warning equivalent to # -Wshorten-64-to-32 but 4267 warns for size_t -> int # on 64-bit builds, so is the closest. -@@ -1868,12 +1890,22 @@ config("no_incompatible_pointer_warnings") { +@@ -1896,12 +1917,22 @@ config("no_incompatible_pointer_warnings") { # Shared settings for both "optimize" and "optimize_max" configs. # IMPORTANT: On Windows "/O1" and "/O2" must go before the common flags. @@ -338,16 +345,16 @@ index 5fa34150a..e5f0cffa5 100644 if (!is_asan) { common_optimize_on_cflags += [ # Put data in separate COMDATs. This allows the linker -@@ -1976,7 +2008,7 @@ config("default_stack_frames") { +@@ -2004,7 +2035,7 @@ config("default_stack_frames") { # Default "optimization on" config. config("optimize") { - if (is_win) { + if (is_win && !is_mingw) { - # Favor size over speed, /O1 must be before the common flags. - # /O1 implies /Os and /GF. - cflags = [ "/O1" ] + common_optimize_on_cflags + [ "/Oi" ] -@@ -1997,7 +2029,7 @@ config("optimize") { + if (chrome_pgo_phase != 2) { + # Favor size over speed, /O1 must be before the common flags. + # /O1 implies /Os and /GF. +@@ -2039,7 +2070,7 @@ config("optimize") { # Turn off optimizations. config("no_optimize") { @@ -356,7 +363,7 @@ index 5fa34150a..e5f0cffa5 100644 cflags = [ "/Od", # Disable optimization. "/Ob0", # Disable all inlining (on by default). -@@ -2043,7 +2075,7 @@ config("optimize_max") { +@@ -2091,7 +2122,7 @@ config("optimize_max") { configs = [ "//build/config/nacl:irt_optimize" ] } else { ldflags = common_optimize_on_ldflags @@ -365,7 +372,7 @@ index 5fa34150a..e5f0cffa5 100644 # Favor speed over size, /O2 must be before the common flags. # /O2 implies /Ot, /Oi, and /GF. cflags = [ "/O2" ] + common_optimize_on_cflags -@@ -2075,7 +2107,7 @@ config("optimize_speed") { +@@ -2123,7 +2154,7 @@ config("optimize_speed") { configs = [ "//build/config/nacl:irt_optimize" ] } else { ldflags = common_optimize_on_ldflags @@ -374,7 +381,7 @@ index 5fa34150a..e5f0cffa5 100644 # Favor speed over size, /O2 must be before the common flags. # /O2 implies /Ot, /Oi, and /GF. cflags = [ "/O2" ] + common_optimize_on_cflags -@@ -2204,7 +2236,7 @@ config("win_pdbaltpath") { +@@ -2253,7 +2284,7 @@ config("win_pdbaltpath") { # Full symbols. config("symbols") { @@ -383,7 +390,7 @@ index 5fa34150a..e5f0cffa5 100644 if (is_clang) { cflags = [ "/Z7" ] # Debug information in the .obj files. } else { -@@ -2310,7 +2342,7 @@ config("symbols") { +@@ -2364,7 +2395,7 @@ config("symbols") { # This config guarantees to hold symbol for stack trace which are shown to user # when crash happens in unittests running on buildbot. config("minimal_symbols") { @@ -392,7 +399,7 @@ index 5fa34150a..e5f0cffa5 100644 # Functions, files, and line tables only. cflags = [] ldflags = [ "/DEBUG" ] -@@ -2367,7 +2399,7 @@ config("minimal_symbols") { +@@ -2417,7 +2448,7 @@ config("minimal_symbols") { # told to not generate debug information and the linker then just puts function # names in the final debug information. config("no_symbols") { @@ -402,32 +409,153 @@ index 5fa34150a..e5f0cffa5 100644 # All configs using /DEBUG should include this: diff --git a/config/linux/pkg-config.py b/config/linux/pkg-config.py -index 5adf70cc3..76899e01c 100644 +index 5adf70cc3..e28e798df 100644 --- a/config/linux/pkg-config.py +++ b/config/linux/pkg-config.py -@@ -109,7 +109,8 @@ def main(): +@@ -41,7 +41,11 @@ from optparse import OptionParser + # Additionally, you can specify the option --atleast-version. This will skip + # the normal outputting of a dictionary and instead print true or false, + # depending on the return value of pkg-config for the given package. +- ++# ++# --pkg_config_libdir= allows direct override ++# of the PKG_CONFIG_LIBDIR environment library. ++# ++# --full-path-libs causes lib names to include their full path. + + def SetConfigPath(options): + """Set the PKG_CONFIG_LIBDIR environment variable. +@@ -105,11 +109,29 @@ def RewritePath(path, strip_prefix, sysroot): + return path + + ++flag_regex = re.compile("(-.)(.+)") ++ ++def FlagReplace(matchobj): ++ if matchobj.group(1) == '-I': ++ return matchobj.group(1) + subprocess.check_output([u'cygpath',u'-w',matchobj.group(2)]).strip().decode("utf-8") ++ if matchobj.group(1) == '-L': ++ return matchobj.group(1) + subprocess.check_output([u'cygpath',u'-w',matchobj.group(2)]).strip().decode("utf-8") ++ if matchobj.group(1) == '-l': ++ return matchobj.group(1) + matchobj.group(2) + '.lib' ++ return matchobj.group(0) ++ ++def ConvertGCCToMSVC(flags): ++ """Rewrites GCC flags into MSVC flags.""" ++ # need a better way to determine mingw vs msvc build ++ if 'win32' not in sys.platform or "GCC" in sys.version: ++ return flags ++ return [ flag_regex.sub(FlagReplace,flag) for flag in flags] ++ + def main(): # If this is run on non-Linux platforms, just return nothing and indicate # success. This allows us to "kind of emulate" a Linux build from other # platforms. - if "linux" not in sys.platform: -+ # Update: MinGW builds do support pkg-config, and MSVC vcpkg does as well. -+ if "linux" not in sys.platform and not ("GCC" in sys.version and sys.platform=='win32') : ++ if "linux" not in sys.platform and 'win32' not in sys.platform: print("[[],[],[],[],[]]") return 0 -@@ -193,7 +194,6 @@ def main(): - cmd = [options.pkg_config, "--cflags", "--libs"] + args - if options.debug: - sys.stderr.write('Running: %s\n' % ' '.join(cmd)) -- - try: - flag_string = subprocess.check_output(cmd).decode('utf-8') - except: +@@ -122,12 +144,15 @@ def main(): + parser.add_option('-a', action='store', dest='arch', type='string') + parser.add_option('--system_libdir', action='store', dest='system_libdir', + type='string', default='lib') ++ parser.add_option('--pkg_config_libdir', action='store', dest='pkg_config_libdir', ++ type='string') + parser.add_option('--atleast-version', action='store', + dest='atleast_version', type='string') + parser.add_option('--libdir', action='store_true', dest='libdir') + parser.add_option('--dridriverdir', action='store_true', dest='dridriverdir') + parser.add_option('--version-as-components', action='store_true', + dest='version_as_components') ++ parser.add_option('--full-path-libs', action='store_true', dest='full_path_libs') + (options, args) = parser.parse_args() + + # Make a list of regular expressions to strip out. +@@ -144,6 +169,10 @@ def main(): + else: + prefix = '' + ++ # Override PKG_CONFIG_LIBDIR ++ if options.pkg_config_libdir: ++ os.environ['PKG_CONFIG_LIBDIR'] = options.pkg_config_libdir ++ + if options.atleast_version: + # When asking for the return value, just run pkg-config and print the return + # value, no need to do other work. +@@ -203,7 +232,7 @@ def main(): + # For now just split on spaces to get the args out. This will break if + # pkgconfig returns quoted things with spaces in them, but that doesn't seem + # to happen in practice. +- all_flags = flag_string.strip().split(' ') ++ all_flags = ConvertGCCToMSVC(flag_string.strip().split(' ')) + + + sysroot = options.sysroot +@@ -220,7 +249,10 @@ def main(): + continue; + + if flag[:2] == '-l': +- libs.append(RewritePath(flag[2:], prefix, sysroot)) ++ library = RewritePath(flag[2:], prefix, sysroot) ++ # Skip math library on MSVC ++ if library != 'm.lib': ++ libs.append(library) + elif flag[:2] == '-L': + lib_dirs.append(RewritePath(flag[2:], prefix, sysroot)) + elif flag[:2] == '-I': +@@ -237,6 +269,14 @@ def main(): + else: + cflags.append(flag) + ++ if options.full_path_libs: ++ full_path_libs = [] ++ for lib_dir in lib_dirs: ++ for lib in libs: ++ if os.path.isfile(lib_dir+"/"+lib): ++ full_path_libs.append(lib_dir+"/"+lib) ++ libs = full_path_libs ++ + # Output a GN array, the first one is the cflags, the second are the libs. The + # JSON formatter prints GN compatible lists when everything is a list of + # strings. +diff --git a/config/linux/pkg_config.gni b/config/linux/pkg_config.gni +index 428e44ac0..a0d2175ee 100644 +--- a/config/linux/pkg_config.gni ++++ b/config/linux/pkg_config.gni +@@ -45,6 +45,9 @@ declare_args() { + # in similar fashion by setting the `system_libdir` variable in the build's + # args.gn file to 'lib' or 'lib64' as appropriate for the target architecture. + system_libdir = "lib" ++ ++ # Allow directly overriding the PKG_CONFIG_LIBDIR enviroment variable ++ pkg_config_libdir = "" + } + + pkg_config_script = "//build/config/linux/pkg-config.py" +@@ -87,6 +90,17 @@ if (host_pkg_config != "") { + host_pkg_config_args = pkg_config_args + } + ++if (pkg_config_libdir != "") { ++ pkg_config_args += [ ++ "--pkg_config_libdir", ++ pkg_config_libdir, ++ ] ++ host_pkg_config_args += [ ++ "--pkg_config_libdir", ++ pkg_config_libdir, ++ ] ++} ++ + template("pkg_config") { + assert(defined(invoker.packages), + "Variable |packages| must be defined to be a list in pkg_config.") diff --git a/config/win/BUILD.gn b/config/win/BUILD.gn -index 7b44f0e43..95afdb5ce 100644 +index 6cc4b1b9f..c53cedd96 100644 --- a/config/win/BUILD.gn +++ b/config/win/BUILD.gn -@@ -45,7 +45,7 @@ declare_args() { +@@ -46,7 +46,7 @@ declare_args() { # is applied to all targets. It is here to separate out the logic that is # Windows-only. config("compiler") { @@ -436,7 +564,7 @@ index 7b44f0e43..95afdb5ce 100644 asmflags = [ # When /safeseh is specified, the linker will only produce an image if it # can also produce a table of the image's safe exception handlers. This -@@ -56,27 +56,36 @@ config("compiler") { +@@ -57,27 +57,36 @@ config("compiler") { ] } @@ -446,7 +574,6 @@ index 7b44f0e43..95afdb5ce 100644 - "/bigobj", # Some of our files are bigger than the regular limits. - "/utf-8", # Assume UTF-8 by default to avoid code page dependencies. - ] -- + if(!is_mingw) { + cflags = [ + "/Gy", # Enable function-level linking. @@ -460,7 +587,7 @@ index 7b44f0e43..95afdb5ce 100644 + "-fno-keep-inline-dllexport" + ] + } -+ + if (is_clang) { cflags += [ "/Zc:twoPhase" ] } @@ -489,7 +616,7 @@ index 7b44f0e43..95afdb5ce 100644 if (is_clang) { # Don't look for includes in %INCLUDE%. -@@ -150,7 +159,7 @@ config("compiler") { +@@ -156,7 +165,7 @@ config("compiler") { ldflags += [ "/lldignoreenv" ] } @@ -498,7 +625,7 @@ index 7b44f0e43..95afdb5ce 100644 # Enable standard linker optimizations like GC (/OPT:REF) and ICF in static # release builds. # Release builds always want these optimizations, so enable them explicitly. -@@ -175,17 +184,19 @@ config("compiler") { +@@ -181,17 +190,19 @@ config("compiler") { ldflags += [ "/PROFILE" ] } @@ -529,7 +656,61 @@ index 7b44f0e43..95afdb5ce 100644 } # This is included by reference in the //build/config/compiler:runtime_library -@@ -324,19 +335,27 @@ config("sdk_link") { +@@ -300,29 +311,31 @@ config("sdk_link") { + ldflags = [ "/MACHINE:ARM64" ] + } + +- vcvars_toolchain_data = exec_script("../../toolchain/win/setup_toolchain.py", +- [ +- visual_studio_path, +- windows_sdk_path, +- visual_studio_runtime_dirs, +- current_os, +- current_cpu, +- "none", +- ], +- "scope") +- +- vc_lib_path = vcvars_toolchain_data.vc_lib_path +- if (defined(vcvars_toolchain_data.vc_lib_atlmfc_path)) { +- vc_lib_atlmfc_path = vcvars_toolchain_data.vc_lib_atlmfc_path +- } +- vc_lib_um_path = vcvars_toolchain_data.vc_lib_um_path ++ if(!is_mingw){ ++ vcvars_toolchain_data = exec_script("../../toolchain/win/setup_toolchain.py", ++ [ ++ visual_studio_path, ++ windows_sdk_path, ++ visual_studio_runtime_dirs, ++ current_os, ++ current_cpu, ++ "none", ++ ], ++ "scope") ++ ++ vc_lib_path = vcvars_toolchain_data.vc_lib_path ++ if (defined(vcvars_toolchain_data.vc_lib_atlmfc_path)) { ++ vc_lib_atlmfc_path = vcvars_toolchain_data.vc_lib_atlmfc_path ++ } ++ vc_lib_um_path = vcvars_toolchain_data.vc_lib_um_path + +- lib_dirs = [ +- "$vc_lib_um_path", +- "$vc_lib_path", +- ] +- if (defined(vc_lib_atlmfc_path)) { +- lib_dirs += [ "$vc_lib_atlmfc_path" ] ++ lib_dirs = [ ++ "$vc_lib_um_path", ++ "$vc_lib_path", ++ ] ++ if (defined(vc_lib_atlmfc_path)) { ++ lib_dirs += [ "$vc_lib_atlmfc_path" ] ++ } + } + } + +@@ -330,19 +343,27 @@ config("sdk_link") { # targets who want different library configurations can remove this and specify # their own. config("common_linker_setup") { @@ -569,7 +750,16 @@ index 7b44f0e43..95afdb5ce 100644 } } -@@ -442,20 +461,22 @@ config("delayloads_not_for_child_dll") { +@@ -354,7 +375,7 @@ config("cfi_linker") { + # ASan and CFG leads to slow process startup. Chromium's test runner uses + # lots of child processes, so this means things are really slow. Disable CFG + # for now. https://crbug.com/846966 +- if (!is_debug && !is_asan) { ++ if (!is_debug && !is_asan && !is_mingw) { + # Turn on CFG bitmap generation and CFG load config. + ldflags = [ "/guard:cf" ] + } +@@ -445,20 +466,22 @@ config("delayloads_not_for_child_dll") { # See https://msdn.microsoft.com/en-us/library/2kzt1wy3.aspx for a reference of # what each value does. config("default_crt") { @@ -604,7 +794,7 @@ index 7b44f0e43..95afdb5ce 100644 } } } -@@ -496,42 +517,54 @@ config("static_crt") { +@@ -499,42 +522,54 @@ config("static_crt") { if (current_cpu == "x64") { # The number after the comma is the minimum required OS version. # 5.02 = Windows Server 2003. @@ -679,7 +869,7 @@ index 7b44f0e43..95afdb5ce 100644 } } -@@ -543,6 +576,9 @@ config("unicode") { +@@ -546,6 +581,9 @@ config("unicode") { "_UNICODE", "UNICODE", ] @@ -689,7 +879,7 @@ index 7b44f0e43..95afdb5ce 100644 } # Lean and mean ---------------------------------------------------------------- -@@ -581,3 +617,10 @@ config("cygprofile_instrumentation") { +@@ -584,3 +622,26 @@ config("cygprofile_instrumentation") { "-finstrument-functions-after-inlining", ] } @@ -700,11 +890,27 @@ index 7b44f0e43..95afdb5ce 100644 + ldflags = [ "-Wl,--export-all-symbols" ] + } +} ++ ++# Workaround a Mingw ld bug where large debug symbol data ++# causes the produced executable to be corrupted ++# https://stackoverflow.com/questions/22261539/ld-exe-crashing-in-mingw ++# this affects mksnapshot and v8 component. ++config("strip_debug_symbols_at_link_time") { ++ if(is_win && is_mingw){ ++ ldflags = [ "-Wl,--strip-debug" ] ++ } ++} ++ ++config("strip_all_symbols_at_link_time") { ++ if(is_win && is_mingw){ ++ ldflags = [ "-Wl,--strip-all" ] ++ } ++} diff --git a/config/win/manifest.gni b/config/win/manifest.gni -index b18a4a141..4eaf3510f 100644 +index e2115083f..c6bdef8fb 100644 --- a/config/win/manifest.gni +++ b/config/win/manifest.gni -@@ -79,12 +79,14 @@ if (is_win) { +@@ -85,12 +85,14 @@ if (is_win) { foreach(i, rebase_path(invoker.sources, root_build_dir)) { manifests += [ "/manifestinput:" + i ] } @@ -725,20 +931,20 @@ index b18a4a141..4eaf3510f 100644 # This source set only exists to add a dep on the invoker's deps and to diff --git a/config/x64.gni b/config/x64.gni -index eead1e1b1..1315ce58b 100644 +index 9e86979cb..ca8f47501 100644 --- a/config/x64.gni +++ b/config/x64.gni @@ -16,7 +16,7 @@ if (current_cpu == "x64") { x64_arch = "" } -- if ((is_posix && !(is_mac || is_ios)) || is_fuchsia) { -+ if ((is_posix && !(is_mac || is_ios)) || is_fuchsia || is_mingw) { +- if ((is_posix && !is_apple) || is_fuchsia) { ++ if ((is_posix && !is_apple) || is_fuchsia || is_mingw) { if (x64_arch == "") { x64_arch = "x86-64" } diff --git a/toolchain/gcc_link_wrapper.py b/toolchain/gcc_link_wrapper.py -index 8892f14bf..22e56dd6e 100644 +index f73221e3b..4e07e3753 100644 --- a/toolchain/gcc_link_wrapper.py +++ b/toolchain/gcc_link_wrapper.py @@ -38,6 +38,9 @@ def main(): @@ -751,7 +957,7 @@ index 8892f14bf..22e56dd6e 100644 parser.add_argument('--unstripped-file', help='Executable file produced by linking command', metavar='FILE') -@@ -63,9 +66,19 @@ def main(): +@@ -80,9 +83,19 @@ def main(): # Finally, strip the linked executable (if desired). if args.strip: @@ -769,13 +975,13 @@ index 8892f14bf..22e56dd6e 100644 + result = subprocess.call(wrapper_utils.CommandToRun( + [args.objcopy, '--add-gnu-debuglink', args.output + '.debug',args.output])) - return result - + if dwp_proc: + dwp_result = dwp_proc.wait() diff --git a/toolchain/gcc_solink_wrapper.py b/toolchain/gcc_solink_wrapper.py -index 540b1eda3..587f942cb 100644 +index 0c034bf95..e2122000c 100644 --- a/toolchain/gcc_solink_wrapper.py +++ b/toolchain/gcc_solink_wrapper.py -@@ -17,10 +17,11 @@ import sys +@@ -18,10 +18,11 @@ import sys import wrapper_utils @@ -786,28 +992,30 @@ index 540b1eda3..587f942cb 100644 + if ("GCC" in sys.version and sys.platform=='win32'): # Mingw's readelf doesn't work on PE files + return 0, toc readelf = subprocess.Popen(wrapper_utils.CommandToRun( - [args.readelf, '-d', args.sofile]), stdout=subprocess.PIPE, bufsize=-1) - for line in readelf.stdout: -@@ -32,6 +33,8 @@ def CollectSONAME(args): + [args.readelf, '-d', args.sofile]), + stdout=subprocess.PIPE, +@@ -36,6 +37,10 @@ def CollectSONAME(args): def CollectDynSym(args): - """Replaces: nm --format=posix -g -D $sofile | cut -f1-2 -d' '""" + """Replaces: nm --format=posix -g -D -p $sofile | cut -f1-2 -d' '""" toc = '' -+ if ("GCC" in sys.version and sys.platform=='win32'): # Mingw's nm doesn't work on PE files ++ ++ if ("GCC" in sys.version and sys.platform=='win32'): # Mingw's nm doesn't work on PE/COFF files + return 0, toc - nm = subprocess.Popen(wrapper_utils.CommandToRun([ - args.nm, '--format=posix', '-g', '-D', args.sofile]), - stdout=subprocess.PIPE, bufsize=-1) -@@ -70,6 +73,9 @@ def main(): - parser.add_argument('--strip', ++ + nm = subprocess.Popen(wrapper_utils.CommandToRun( + [args.nm, '--format=posix', '-g', '-D', '-p', args.sofile]), + stdout=subprocess.PIPE, +@@ -94,6 +99,9 @@ def main(): help='The strip binary to run', metavar='PATH') + parser.add_argument('--dwp', help='The dwp binary to run', metavar='PATH') + parser.add_argument('--objcopy', + help='The objcopy binary to run', + metavar='PATH') parser.add_argument('--sofile', required=True, help='Shared object file produced by linking command', -@@ -141,11 +147,20 @@ def main(): +@@ -189,8 +197,18 @@ def main(): # Finally, strip the linked shared object file (if desired). if args.strip: @@ -824,16 +1032,20 @@ index 540b1eda3..587f942cb 100644 + result = subprocess.call(wrapper_utils.CommandToRun( + [args.objcopy, '--add-gnu-debuglink', args.output + '.debug',args.output])) + if dwp_proc: + dwp_result = dwp_proc.wait() +@@ -199,6 +217,5 @@ def main(): + return result - if __name__ == "__main__": sys.exit(main()) diff --git a/toolchain/gcc_toolchain.gni b/toolchain/gcc_toolchain.gni -index 744c78cbd..0d33e1912 100644 +index 4710fd5f6..1c87d032f 100644 --- a/toolchain/gcc_toolchain.gni +++ b/toolchain/gcc_toolchain.gni -@@ -44,6 +44,7 @@ if (is_linux && target_os == "android") { +@@ -44,6 +44,7 @@ if ((is_linux || is_chromeos) && target_os == "android") { # - cc # - cxx # - ld @@ -852,7 +1064,7 @@ index 744c78cbd..0d33e1912 100644 # This define changes when the toolchain changes, forcing a rebuild. # Nothing should ever use this define. if (defined(invoker.rebuild_define)) { -@@ -227,17 +230,22 @@ template("gcc_toolchain") { +@@ -227,15 +230,19 @@ template("gcc_toolchain") { asm = asm_prefix + invoker.cc ar = invoker.ar ld = "$goma_ld${invoker.ld}" @@ -878,12 +1090,17 @@ index 744c78cbd..0d33e1912 100644 - nm = "nm" + rc = invoker.rc } + if (defined(invoker.dwp)) { + dwp = invoker.dwp +@@ -243,6 +250,7 @@ template("gcc_toolchain") { + dwp = "dwp" + } + if (defined(invoker.shlib_extension)) { default_shlib_extension = invoker.shlib_extension } else { -@@ -315,6 +323,16 @@ template("gcc_toolchain") { +@@ -320,6 +328,16 @@ template("gcc_toolchain") { outputs = [ "$object_subdir/{{source_name_part}}.o" ] } @@ -900,7 +1117,7 @@ index 744c78cbd..0d33e1912 100644 tool("asm") { # For GCC we can just use the C compiler to compile assembly. depfile = "{{output}}.d" -@@ -375,8 +393,6 @@ template("gcc_toolchain") { +@@ -380,8 +398,6 @@ template("gcc_toolchain") { # .TOC file, overwrite it, otherwise, don't change it. tocfile = sofile + ".TOC" @@ -909,7 +1126,7 @@ index 744c78cbd..0d33e1912 100644 # Generate a map file to be used for binary size analysis. # Map file adds ~10% to the link time on a z620. # With target_os="android", libchrome.so.map.gz is ~20MB. -@@ -386,19 +402,41 @@ template("gcc_toolchain") { +@@ -391,19 +407,41 @@ template("gcc_toolchain") { map_switch = " --map-file \"$map_file\"" } @@ -949,12 +1166,12 @@ index 744c78cbd..0d33e1912 100644 # The host might not have a POSIX shell and utilities (e.g. Windows). solink_wrapper = rebase_path("//build/toolchain/gcc_solink_wrapper.py", root_build_dir) -- command = "$python_path \"$solink_wrapper\" --readelf=\"$readelf\" --nm=\"$nm\" $strip_switch--sofile=\"$unstripped_sofile\" --tocfile=\"$tocfile\"$map_switch --output=\"$sofile\" -- $link_command" -+ command = "$python_path \"$solink_wrapper\" --readelf=\"$readelf\" --nm=\"$nm\" $objcopy_switch$strip_switch--sofile=\"$unstripped_sofile\" --tocfile=\"$tocfile\"$map_switch --output=\"$sofile\" -- $link_command" +- command = "$python_path \"$solink_wrapper\" --readelf=\"$readelf\" --nm=\"$nm\" $strip_switch--dwp=\"${dwp}\" --sofile=\"$unstripped_sofile\" --tocfile=\"$tocfile\"$map_switch --output=\"$sofile\" -- $link_command" ++ command = "$python_path \"$solink_wrapper\" --readelf=\"$readelf\" --nm=\"$nm\" $objcopy_switch$strip_switch--dwp=\"${dwp}\" --sofile=\"$unstripped_sofile\" --tocfile=\"$tocfile\"$map_switch --output=\"$sofile\" -- $link_command" if (target_cpu == "mipsel" && is_component_build && is_android) { rspfile_content = "-Wl,--start-group -Wl,--whole-archive {{inputs}} {{solibs}} -Wl,--no-whole-archive {{libs}} -Wl,--end-group" -@@ -527,11 +565,15 @@ template("gcc_toolchain") { +@@ -532,10 +570,14 @@ template("gcc_toolchain") { if (defined(invoker.strip)) { strip_switch = " --strip=\"${invoker.strip}\" --unstripped-file=\"$unstripped_outfile\"" } @@ -963,16 +1180,15 @@ index 744c78cbd..0d33e1912 100644 + objcopy_switch = " --objcopy=${invoker.objcopy} " + } - if (strip_switch != "" || map_switch != "") { - link_wrapper = - rebase_path("//build/toolchain/gcc_link_wrapper.py", root_build_dir) -- command = "$python_path \"$link_wrapper\" --output=\"$outfile\"$strip_switch$map_switch -- $link_command" -+ command = "$python_path \"$link_wrapper\" --output=\"$outfile\"$objcopy_switch$strip_switch$map_switch -- $link_command" - } else { - command = link_command - } + link_wrapper = + rebase_path("//build/toolchain/gcc_link_wrapper.py", root_build_dir) +- command = "$python_path \"$link_wrapper\" --output=\"$outfile\"$strip_switch$map_switch --dwp=\"${dwp}\" -- $link_command" ++ command = "$python_path \"$link_wrapper\" --output=\"$outfile\"$strip_switch$map_switch$objcopy_switch --dwp=\"${dwp}\" -- $link_command" + + description = "LINK $outfile" + rspfile_content = "{{inputs}}" diff --git a/toolchain/win/BUILD.gn b/toolchain/win/BUILD.gn -index 0c356e162..e1c7cdb22 100644 +index be0893059..bd907f716 100644 --- a/toolchain/win/BUILD.gn +++ b/toolchain/win/BUILD.gn @@ -9,6 +9,7 @@ import("//build/config/win/visual_studio_version.gni") @@ -1006,7 +1222,7 @@ index 0c356e162..e1c7cdb22 100644 } if (host_os == "win") { -@@ -520,3 +523,30 @@ if (target_os == "winuwp") { +@@ -528,3 +531,32 @@ if (target_os == "winuwp") { } } } @@ -1018,7 +1234,9 @@ index 0c356e162..e1c7cdb22 100644 + cxx = "g++" + ar = "ar" + ld = cxx -+ rc = "windres" ++ if(is_mingw){ ++ rc = "windres" ++ } + strip = "strip" + if(is_debug){ + objcopy = "objcopy" @@ -1037,6 +1255,32 @@ index 0c356e162..e1c7cdb22 100644 + +mingw_toolchain("x86") { +} +diff --git a/toolchain/win/tool_wrapper.py b/toolchain/win/tool_wrapper.py +index 18986986c..cf409216c 100644 +--- a/toolchain/win/tool_wrapper.py ++++ b/toolchain/win/tool_wrapper.py +@@ -141,9 +141,9 @@ class WinTool(object): + # Read output one line at a time as it shows up to avoid OOM failures when + # GBs of output is produced. + for line in link.stdout: +- if (not line.startswith(' Creating library ') and +- not line.startswith('Generating code') and +- not line.startswith('Finished generating code')): ++ if (not line.startswith(b' Creating library ') and ++ not line.startswith(b'Generating code') and ++ not line.startswith(b'Finished generating code')): + print(line) + return link.wait() + +@@ -159,7 +159,7 @@ class WinTool(object): + stdout=subprocess.PIPE, stderr=subprocess.STDOUT) + out, _ = popen.communicate() + for line in out.splitlines(): +- if not line.startswith(' Assembling: '): ++ if not line.startswith(b' Assembling: '): + print(line) + return popen.returncode + diff --git a/util/lastchange.py b/util/lastchange.py index 874870ad5..a4fc0be8d 100644 --- a/util/lastchange.py @@ -1054,7 +1298,7 @@ index 874870ad5..a4fc0be8d 100644 def WriteIfChanged(file_name, contents): diff --git a/win/BUILD.gn b/win/BUILD.gn -index 9be769fd0..587281dd1 100644 +index d449f5925..558e04229 100644 --- a/win/BUILD.gn +++ b/win/BUILD.gn @@ -16,7 +16,7 @@ windows_manifest("default_exe_manifest") { @@ -1066,3 +1310,12 @@ index 9be769fd0..587281dd1 100644 assert(host_os != "mac" || target_cpu != "x86", "Windows cross-builds from Mac must be 64-bit.") +@@ -92,7 +92,7 @@ if (is_win) { + + group("runtime_libs") { + data = [] +- if (is_component_build) { ++ if (is_component_build && !is_mingw) { + # Copy the VS runtime DLLs into the isolate so that they don't have to be + # preinstalled on the target machine. The debug runtimes have a "d" at + # the end. diff --git a/mingw-w64-v8/PKGBUILD b/mingw-w64-v8/PKGBUILD index a880b9ee3d..0d436a82bb 100644 --- a/mingw-w64-v8/PKGBUILD +++ b/mingw-w64-v8/PKGBUILD @@ -3,7 +3,7 @@ _realname=v8 pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=8.3.110.13 +pkgver=8.5.210.20 pkgrel=1 pkgdesc="Fast and modern Javascript engine (mingw-w64)" arch=('any') @@ -14,7 +14,7 @@ depends=("${MINGW_PACKAGE_PREFIX}-zlib" "${MINGW_PACKAGE_PREFIX}-icu") source=("bare-clones/gn::git+https://gn.googlesource.com/gn#tag=5da62d5e9d0f10cb8ece7c30563a6a214c78b68d" "bare-clones/v8-${pkgver}::git+https://chromium.googlesource.com/v8/v8.git#tag=${pkgver}" - "bare-clones/build::git+https://chromium.googlesource.com/chromium/src/build.git#commit=26e9d485d01d6e0eb9dadd21df767a63494c8fea" + "bare-clones/build::git+https://chromium.googlesource.com/chromium/src/build.git#commit=a99f0cc42967cb19d95f64b1e0e0ed52792fec79" "bare-clones/zlib::git+https://chromium.googlesource.com/chromium/src/third_party/zlib.git#commit=156be8c52f80cde343088b4a69a80579101b6e67" "bare-clones/common::git+https://chromium.googlesource.com/chromium/src/base/trace_event/common.git#commit=dab187b372fc17e51f5b9fad8201813d0aed5129" "bare-clones/googletest::git+https://chromium.googlesource.com/external/github.com/google/googletest.git#commit=10b1902d893ea8cc43c69541d70868f91af3646b" @@ -36,11 +36,11 @@ sha256sums=('SKIP' 'SKIP' 'SKIP' 'SKIP' - 'b167aaa26ad03b301740221a6964173110e4015788da3d444aca35a8920daac4' - '01a051d1b356d319bb4932e774e72ac1916362c2027ce3bb639eca0368ff0f1e' + '9f085f1a91193e9197365e2ca2912fd6831adbfc3390fd4ff3c6811ea455004c' + '95274b914ad319e0ff3869b48c5a29e1cf02ce08bb395acf33672705c73be212' 'b831576af25b275fca72851ec275c9d21bee0be29b4eb973a3e2a2580deac003' - '84719a160ec84ec1112bd46787f48bff2b12d642964bc6598e5b4e958ad911b5' - '9ea4fc33630cf7e3af1e5b086909f85e5e37ab952a52568047608b9ceb891d7f' + 'c10169e7a34e212b1a2bf0eaf45131485719f32a7c34d9a666b692f05a2aa830' + 'b99874ea904724911528a5530c14f3051c358805bd36df9d205df31458ebf8b9' 'fbddbe4849b623afb320472aab316c9a08b54182161b6b4911cb7ef7d65e2b0e' 'ca81528892f0e02fe7ecd159568610221fb8d0df109d9d0dbdfa00c1284dd0fc' '579e199a798ff76b72a5b17380a3cd09d361cb7cee99403090c3a266d1b2e527') diff --git a/mingw-w64-v8/icu.gn b/mingw-w64-v8/icu.gn index 615efc5512..1d701fb457 100644 --- a/mingw-w64-v8/icu.gn +++ b/mingw-w64-v8/icu.gn @@ -1,3 +1,4 @@ +import("//build/config/linux/pkg_config.gni") declare_args() { # Tells icu to load an external data file rather than rely on the icudata @@ -8,7 +9,19 @@ declare_args() { icu_disable_thin_archive = false } -import("//build/config/linux/pkg_config.gni") +pkg_config("system_icui18n") { + packages = [ "icu-i18n" ] + if (is_win && !is_mingw) { + extra_args = ["--full-path-libs"] # Workaround the WinSDK having an older version of ICU + } +} + +pkg_config("system_icuuc") { + packages = [ "icu-uc" ] + if (is_win && !is_mingw) { + extra_args = ["--full-path-libs"] # Workaround the WinSDK having an older version of ICU + } +} group("icu") { public_deps = [ @@ -22,7 +35,7 @@ config("icu_config") { "USING_SYSTEM_ICU=1", ] if(is_win){ - if(!is_component_build && !is_mingw) { + if(!is_mingw && !is_component_build) { ldflags = ["/ignore:4099"] # needed on CI builds } defines += [ "UCHAR_TYPE=wchar_t" ] @@ -37,25 +50,17 @@ config("icu_config") { } } -pkg_config("system_icui18n") { - packages = [ "icu-i18n" ] -} - -pkg_config("system_icuuc") { - packages = [ "icu-uc" ] -} - source_set("icui18n") { public_configs = [ ":icu_config", - ":system_icui18n", + ":system_icui18n" ] } source_set("icuuc") { public_configs = [ ":icu_config", - ":system_icuuc", + ":system_icuuc" ] } diff --git a/mingw-w64-v8/zlib.gn b/mingw-w64-v8/zlib.gn index 66e44ab9a7..c6b57050e8 100644 --- a/mingw-w64-v8/zlib.gn +++ b/mingw-w64-v8/zlib.gn @@ -2,18 +2,20 @@ import("//build/config/linux/pkg_config.gni") pkg_config("system_zlib") { packages = [ "zlib" ] + defines = [ "USE_SYSTEM_ZLIB=1" ] } config("zlib_config") { - if(is_win && !is_component_build && !is_mingw) { - ldflags = ["/ignore:4099"] # needed on CI builds + if(is_win && !is_mingw && !is_component_build) { + ldflags = ["/ignore:4099"] # needed on VCPKG CI builds } - defines = [ "USE_SYSTEM_ZLIB=1" ] - configs = [ ":system_zlib" ] + configs = [ + ":system_zlib", + ] } source_set("zlib") { public_configs = [ - ":zlib_config", - ":system_zlib" ] + ":system_zlib", + ] } From aec7aab70b68bf1bfcc0f1370d2359831493ecdc Mon Sep 17 00:00:00 2001 From: Biswapriyo Nath Date: Fri, 4 Sep 2020 12:23:04 +0530 Subject: [PATCH 098/130] FAudio: update to 20.09 --- mingw-w64-faudio/PKGBUILD | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mingw-w64-faudio/PKGBUILD b/mingw-w64-faudio/PKGBUILD index 11d8ef33b8..632e0f15a5 100644 --- a/mingw-w64-faudio/PKGBUILD +++ b/mingw-w64-faudio/PKGBUILD @@ -3,7 +3,7 @@ _realname=FAudio pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=20.08 +pkgver=20.09 pkgrel=1 pkgdesc="FAudio - Accuracy-focused XAudio reimplementation for open platforms (mingw-w64)" arch=('any') @@ -16,7 +16,7 @@ depends=("${MINGW_PACKAGE_PREFIX}-SDL2" makedepends=("${MINGW_PACKAGE_PREFIX}-cmake") options=('strip' 'staticlibs') source=(${_realname}-${pkgver}.tar.gz::"https://github.com/FNA-XNA/FAudio/archive/${pkgver}.tar.gz") -sha256sums=('5c3409fa0e532591f0ab4de1ae57d07cc345efa5cbe83ec25e9f5ba180f920f4') +sha256sums=('375d12ba57f507b95e030926fd08308029b38af883d0524583a2d5d8fe65168b') build() { [[ -d "${srcdir}"/build-${CARCH} ]] && rm -rf "${srcdir}"/build-${CARCH} From 4bf7db626790f7de1306d2810e5302175b62a169 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Thu, 3 Sep 2020 21:52:19 +0200 Subject: [PATCH 099/130] Rebuilds for libraw See #6922 --- mingw-w64-freeimage/PKGBUILD | 12 +++-- .../freeimage-libraw-0.20.patch | 50 +++++++++++++++++++ mingw-w64-imagemagick/PKGBUILD | 5 +- 3 files changed, 60 insertions(+), 7 deletions(-) create mode 100644 mingw-w64-freeimage/freeimage-libraw-0.20.patch diff --git a/mingw-w64-freeimage/PKGBUILD b/mingw-w64-freeimage/PKGBUILD index 46888897ca..8ada0f6b20 100644 --- a/mingw-w64-freeimage/PKGBUILD +++ b/mingw-w64-freeimage/PKGBUILD @@ -7,7 +7,7 @@ provides=("${MINGW_PACKAGE_PREFIX}-${_realname}") conflicts=("${MINGW_PACKAGE_PREFIX}-${_realname}") replaces=("${MINGW_PACKAGE_PREFIX}-${_realname}") pkgver=3.18.0 -pkgrel=4 +pkgrel=5 pkgdesc="Library project for developers who would like to support popular graphics image formats (mingw-w64)" arch=('any') license=('GPL' 'custom:FIPL') @@ -24,20 +24,24 @@ depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs" makedepends=("${MINGW_PACKAGE_PREFIX}-gcc" "${MINGW_PACKAGE_PREFIX}-iconv" "${MINGW_PACKAGE_PREFIX}-pkg-config" - "dos2unix" "make") + "dos2unix" "make" "lndir") options=('strip' 'staticlibs' '!buildflags') source=("https://downloads.sourceforge.net/sourceforge/freeimage/${_realname}${pkgver//./}.zip" 'FreeImage-3.17.0_mingw-makefiles.patch' - 'FreeImage-3.18.0_unbundle.patch') + 'FreeImage-3.18.0_unbundle.patch' + 'freeimage-libraw-0.20.patch') sha256sums=('f41379682f9ada94ea7b34fe86bf9ee00935a3147be41b6569c9605a53e438fd' 'df3845a61b45fdb0426c4466e48e2478e63effb721cb0b1f2521952390c57290' - '029960951b743bbf78557d78cd3ac5c417146b169f65aaf9fc2c7a914a87611b') + '029960951b743bbf78557d78cd3ac5c417146b169f65aaf9fc2c7a914a87611b' + '71c25974c25dfced11b08206aae6e759675b53bae061be5f34fa1107beec9233') prepare() { cd ${srcdir}/${_realname} patch -p1 -i ${srcdir}/FreeImage-3.18.0_unbundle.patch patch -p1 -i ${srcdir}/FreeImage-3.17.0_mingw-makefiles.patch + # taken from Arch + patch -p1 -i ${srcdir}/freeimage-libraw-0.20.patch # remove all included libs to make sure these don't get used during compile rm -r Source/Lib* Source/ZLib Source/OpenEXR diff --git a/mingw-w64-freeimage/freeimage-libraw-0.20.patch b/mingw-w64-freeimage/freeimage-libraw-0.20.patch new file mode 100644 index 0000000000..b921dca1ea --- /dev/null +++ b/mingw-w64-freeimage/freeimage-libraw-0.20.patch @@ -0,0 +1,50 @@ +--- FreeImage/Source/FreeImage/PluginRAW.cpp.orig 2020-07-23 17:27:57.937848902 +0000 ++++ FreeImage/Source/FreeImage/PluginRAW.cpp 2020-07-23 17:28:59.482079468 +0000 +@@ -63,17 +63,14 @@ + } + + int read(void *buffer, size_t size, size_t count) { +- if(substream) return substream->read(buffer, size, count); + return _io->read_proc(buffer, (unsigned)size, (unsigned)count, _handle); + } + + int seek(INT64 offset, int origin) { +- if(substream) return substream->seek(offset, origin); + return _io->seek_proc(_handle, (long)offset, origin); + } + + INT64 tell() { +- if(substream) return substream->tell(); + return _io->tell_proc(_handle); + } + +@@ -83,13 +80,11 @@ + + int get_char() { + int c = 0; +- if(substream) return substream->get_char(); + if(!_io->read_proc(&c, 1, 1, _handle)) return -1; + return c; + } + + char* gets(char *buffer, int length) { +- if (substream) return substream->gets(buffer, length); + memset(buffer, 0, length); + for(int i = 0; i < length; i++) { + if(!_io->read_proc(&buffer[i], 1, 1, _handle)) +@@ -104,7 +99,6 @@ + std::string buffer; + char element = 0; + bool bDone = false; +- if(substream) return substream->scanf_one(fmt,val); + do { + if(_io->read_proc(&element, 1, 1, _handle) == 1) { + switch(element) { +@@ -127,7 +121,6 @@ + } + + int eof() { +- if(substream) return substream->eof(); + return (_io->tell_proc(_handle) >= _eof); + } + diff --git a/mingw-w64-imagemagick/PKGBUILD b/mingw-w64-imagemagick/PKGBUILD index b487c02b86..e9846aa81b 100644 --- a/mingw-w64-imagemagick/PKGBUILD +++ b/mingw-w64-imagemagick/PKGBUILD @@ -6,7 +6,7 @@ pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" _basever=7.0.10 _rc=-11 pkgver=${_basever}${_rc//-/.} # pkgver doesn't have "," "/", "-" and space. -pkgrel=2 +pkgrel=3 pkgdesc="An image viewing/manipulation program (mingw-w64)" arch=('any') url="https://www.imagemagick.org/" @@ -58,12 +58,11 @@ optdepends=("${MINGW_PACKAGE_PREFIX}-ghostscript: for Ghostscript support" #"${MINGW_PACKAGE_PREFIX}-libwebp: for WEBP support" ) options=('staticlibs' 'strip' '!debug' 'libtool') -source=(https://imagemagick.org/download/releases/ImageMagick-${_basever}${_rc}.tar.xz{,.asc} +source=(https://imagemagick.org/download/releases/ImageMagick-${_basever}${_rc}.tar.xz ImageMagick-7.0.1.3-mingw.patch 001-7.0.4.1-relocate.patch 002-7.0.4.1-build-fixes.patch) sha256sums=('a06d686bbad1eae663b2571bd7bb45f0e1ba438ed2217863d2e79ab394c5dfbd' - 'SKIP' '313e781918c66a2acfdbd99fab3de2fd680c34efdaaab18318d7543d4c79bb3e' '28c54cd97706e14e631f5dd4d67b79c1680be6eacaf94c15b0f5acd8159b64b0' '5ad829d563aed15e6d829f81ea0fa91053108d428449e91c733c5acae5a341b3') From ece09d14ce6d26460dbb4d205fc37d4c4e2a6cd2 Mon Sep 17 00:00:00 2001 From: Rafal Date: Fri, 4 Sep 2020 10:58:45 +0200 Subject: [PATCH 100/130] Update PKGBUILD --- mingw-w64-hwloc/PKGBUILD | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/mingw-w64-hwloc/PKGBUILD b/mingw-w64-hwloc/PKGBUILD index 0df8820124..37b2dee107 100644 --- a/mingw-w64-hwloc/PKGBUILD +++ b/mingw-w64-hwloc/PKGBUILD @@ -4,12 +4,11 @@ # Contributor: HervƩ YVIQUEL _realname=hwloc - pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") -pkgdesc='Portable Hardware Locality is a portable abstraction of hierarchical architectures' pkgver=2.2.0 pkgrel=1 +pkgdesc='Portable Hardware Locality is a portable abstraction of hierarchical architectures' arch=('any') depends=("${MINGW_PACKAGE_PREFIX}-libtool") makedepends=("${MINGW_PACKAGE_PREFIX}-cairo" "${MINGW_PACKAGE_PREFIX}-libxml2") @@ -21,6 +20,8 @@ source=(https://www.open-mpi.org/software/hwloc/v${pkgver%.*}/downloads/${_realn sha512sums=('23efd1d5e2df870ca7a0abb9b3c28c5c5d60dd0cc650ee95d20d5934f48947cbe1d3cf4e90e02b2dc61062ddf7afd67f2c1cf6e1862a48397078d66dd798e850') b2sums=('00e10f9c7467e6342e14a45d583ed307103428085a9b88398464f0439fec48647949aa80e099042b915b2c371fe105d61e8490d0555383d94740f3e6dab5aeee') +# =========================================== # + prepare() { cd hwloc-${pkgver} autoreconf -fiv @@ -29,11 +30,12 @@ prepare() { build() { cd hwloc-${pkgver} ./configure \ - --prefix=/usr \ - --sbindir=/usr/bin \ + --prefix=${MINGW_PREFIX} \ + --sbindir=${MINGW_PREFIX}/bin \ + --sysconfdir=${MINGW_PREFIX}/etc \ --enable-static \ --enable-plugins \ - --sysconfdir=/etc + make } @@ -44,8 +46,8 @@ check() { package() { cd hwloc-${pkgver} - make DESTDIR="${pkgdir}" install - install -Dm 644 COPYING -t "${pkgdir}/usr/share/licenses/${pkgname}" + make install DESTDIR="${pkgdir}" + install -Dm 644 COPYING -t ${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE } # vim: ts=2 sw=2 et: From 2f6cb27c456ca94e66bab0f06614b4d161ea4c98 Mon Sep 17 00:00:00 2001 From: "Oleg A. Khlybov" Date: Fri, 4 Sep 2020 04:16:38 -0700 Subject: [PATCH 101/130] Removed extraneous lapack dependency in .pc file. --- mingw-w64-scalapack/0004-fix-pc.patch | 2 +- mingw-w64-scalapack/PKGBUILD | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/mingw-w64-scalapack/0004-fix-pc.patch b/mingw-w64-scalapack/0004-fix-pc.patch index b55a5bcf69..6cc8bb3f4b 100644 --- a/mingw-w64-scalapack/0004-fix-pc.patch +++ b/mingw-w64-scalapack/0004-fix-pc.patch @@ -6,4 +6,4 @@ diff -urN scalapack-2.0.2.orig/scalapack.pc.in scalapack-2.0.2/scalapack.pc.in URL: http://www.netlib.org/scalapack/ Libs: -L${libdir} -lscalapack -Requires: mpi lapack blas -+Requires: msmpi lapack openblas ++Requires.private: msmpi openblas diff --git a/mingw-w64-scalapack/PKGBUILD b/mingw-w64-scalapack/PKGBUILD index 77b9b59ce4..c126170514 100644 --- a/mingw-w64-scalapack/PKGBUILD +++ b/mingw-w64-scalapack/PKGBUILD @@ -4,11 +4,11 @@ _realname=scalapack pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" pkgver=2.1.0 -pkgrel=1 +pkgrel=2 arch=('any') pkgdesc="Scalable Linear Algebra PACKage (mingw-w64)" -depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs" "${MINGW_PACKAGE_PREFIX}-gcc-libgfortran" "${MINGW_PACKAGE_PREFIX}-openblas") -makedepends=("${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-gcc" "${MINGW_PACKAGE_PREFIX}-gcc-fortran" "${MINGW_PACKAGE_PREFIX}-msmpi") +depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs" "${MINGW_PACKAGE_PREFIX}-gcc-libgfortran") +makedepends=("${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-gcc" "${MINGW_PACKAGE_PREFIX}-gcc-fortran" "${MINGW_PACKAGE_PREFIX}-openblas" "${MINGW_PACKAGE_PREFIX}-msmpi") options=('strip' 'staticlibs') license=('LGPL') url="https://www.netlib.org/scalapack" @@ -22,13 +22,13 @@ sha256sums=('61d9216cf81d246944720cfce96255878a3f85dec13b9351f1fa0fd6768220a6' '24c935293801f64074cf2c749ed54c738b21004bcf6139537d69dee53a19aec6' '11e60508f4257d2d8c1e57f016420acbcdec557624d06e63b714f7ada0054638' 'd44074c56a0562986db2399fcae5cfa9058109e5c524a4fdee2effc09259ea43' - 'a04c4665e4bef26537728ae33f21c75a160579818600c421e9091b9445393b3c' + '0537ac3b058897c53a561a023cdcd74cff65422af06fc9fdf05fa1e3cbecdd3d' '23b85b9fb75bbb4c9ba1650319de5be04d7ef6efb86896e25e6af317f738c34c') prepare() { cd "${srcdir}/${_realname}-${pkgver}" - for p in ${srcdir}/../*.patch; do - patch -p1 < $p + for p in ${source[*]:1}; do + patch -p1 -i "${srcdir}/$p" done } From 128a642bab3200fa4d10f6a647f87c8cf07ec01b Mon Sep 17 00:00:00 2001 From: Biswapriyo Nath Date: Fri, 4 Sep 2020 18:51:09 +0530 Subject: [PATCH 102/130] libslirp: update to 4.3.1 --- mingw-w64-libslirp/PKGBUILD | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mingw-w64-libslirp/PKGBUILD b/mingw-w64-libslirp/PKGBUILD index fadc254986..bcac67e56b 100644 --- a/mingw-w64-libslirp/PKGBUILD +++ b/mingw-w64-libslirp/PKGBUILD @@ -3,8 +3,8 @@ _realname=libslirp pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=4.3.0 -pkgrel=2 +pkgver=4.3.1 +pkgrel=1 pkgdesc="General purpose TCP-IP emulator (mingw-w64)" arch=('any') url="https://gitlab.freedesktop.org/slirp/libslirp" @@ -16,7 +16,7 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-gcc" "${MINGW_PACKAGE_PREFIX}-ninja") #"https://gitlab.freedesktop.org/slirp/${_realname}/-/archive/v${pkgver}/${_realname}-v${pkgver}.tar.bz2" source=("https://elmarco.fedorapeople.org/${_realname}-${pkgver}.tar.xz") -sha256sums=('4866cce89b0e129abebe3e34c7dd3d33145537e3bc77efeeb46e7d9589c13625') +sha256sums=('388b4b08a8cc0996cc5155cb027a097dc1a7f2cfe84b1121496608ab5366cc48') build() { [[ -d ${srcdir}/build-${MINGW_CHOST} ]] && rm -rf ${srcdir}/build-${MINGW_CHOST} From 50db10663cc56ce0bb41aa8caae0de7ec1049e19 Mon Sep 17 00:00:00 2001 From: ofry Date: Fri, 4 Sep 2020 19:43:47 +0300 Subject: [PATCH 103/130] Fix bmake package lookup files. Add fallback way - lookup through native Windows path. Signed-off-by: ofry --- ...pen-file-through-native-windows-path.patch | 40 +++++++++++++++++++ mingw-w64-bmake/PKGBUILD | 3 ++ 2 files changed, 43 insertions(+) create mode 100644 mingw-w64-bmake/0005-fallback-open-file-through-native-windows-path.patch diff --git a/mingw-w64-bmake/0005-fallback-open-file-through-native-windows-path.patch b/mingw-w64-bmake/0005-fallback-open-file-through-native-windows-path.patch new file mode 100644 index 0000000000..fd60ed4141 --- /dev/null +++ b/mingw-w64-bmake/0005-fallback-open-file-through-native-windows-path.patch @@ -0,0 +1,40 @@ +diff --git a/parse.c b/parse.c +index a996c49..851e4db 100644 +--- a/parse.c ++++ b/parse.c +@@ -2279,6 +2279,18 @@ Parse_include_file(char *file, Boolean isSystem, Boolean depinc, int silent) + /* Actually open the file... */ ++#if (defined _WIN32 && ! defined __CYGWIN__) ++ char *error; + fd = open(fullname, O_RDONLY); + if (fd == -1) { +- if (!silent) ++ fd = open(Cmd_Exec(getWindowsPathCmd(fullname), &error), O_RDONLY); ++ } ++#else ++ fd = open(fullname, O_RDONLY); ++#endif ++ if (fd == -1) { ++ if (!silent) { + Parse_Error(PARSE_FATAL, "Cannot open %s", fullname); ++#if (defined _WIN32 && ! defined __CYGWIN__) ++ Parse_Error(PARSE_FATAL, "Cannot open %s", Cmd_Exec(getWindowsPathCmd(fullname), &error)); ++#endif ++ } + free(fullname); +diff --git a/util.c b/util.c +index 25f4f5e..7fd2768 100644 +--- a/util.c ++++ b/util.c +@@ -3032,2 +3032,11 @@ char * getUnixPathCmd(const char *path) + ++char * getWindowsPathCmd(const char *path) ++{ ++ return str_concat( ++ "cygpath -m", str_concat("\"", ++ str_concat(path, "\"", 0), ++ 0), ++ STR_ADDSPACE); ++} ++ + #endif diff --git a/mingw-w64-bmake/PKGBUILD b/mingw-w64-bmake/PKGBUILD index 6d5c325782..88a9b0d8db 100644 --- a/mingw-w64-bmake/PKGBUILD +++ b/mingw-w64-bmake/PKGBUILD @@ -27,6 +27,7 @@ source=("http://www.crufty.net/ftp/pub/sjg/bmake-$pkgver.tar.gz" 0002-enable-debug-output-on-test.patch 0003-print-pwd-on-fail-install.patch 0004-add-windows-draft-configs.patch + 0005-fallback-open-file-through-native-windows-path.patch ) # checksum source: http://www.crufty.net/ftp/pub/sjg/bmake-$pkgver.tar.gz.sha1 sha1sums=('ce7db05c68e2fbad41d1dd92ec110406093293bd' @@ -34,6 +35,7 @@ sha1sums=('ce7db05c68e2fbad41d1dd92ec110406093293bd' 'SKIP' 'SKIP' 'SKIP' + 'SKIP' ) prepare() { @@ -42,6 +44,7 @@ prepare() { patch -p1 -l -i "${srcdir}"/0002-enable-debug-output-on-test.patch patch -p1 -l -i "${srcdir}"/0003-print-pwd-on-fail-install.patch patch -p1 -l -i "${srcdir}"/0004-add-windows-draft-configs.patch + patch -p1 -l -i "${srcdir}"/0005-fallback-open-file-through-native-windows-path.patch } build() { From 2c5de7b8a953b8b71c14ebcc4c67311f4442c850 Mon Sep 17 00:00:00 2001 From: ofry Date: Fri, 4 Sep 2020 19:44:22 +0300 Subject: [PATCH 104/130] Bump pkgrel. Signed-off-by: ofry --- mingw-w64-bmake/PKGBUILD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mingw-w64-bmake/PKGBUILD b/mingw-w64-bmake/PKGBUILD index 88a9b0d8db..3a6623b99d 100644 --- a/mingw-w64-bmake/PKGBUILD +++ b/mingw-w64-bmake/PKGBUILD @@ -8,7 +8,7 @@ _realname=bmake pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" pkgver=20181221 -pkgrel=5 +pkgrel=6 pkgdesc='Portable version of the NetBSD make build tool' arch=('any') url='http://www.crufty.net/help/sjg/bmake.html' From 258b8e3465e7719cf960e863d879916b3b4fa505 Mon Sep 17 00:00:00 2001 From: fauxpark Date: Fri, 4 Sep 2020 06:30:18 +1000 Subject: [PATCH 105/130] Update arm-none-eabi-newlib to 3.3.0 --- .../10-newlib-arm-dynamic-reent.patch | 13 - .../20-newlib-libgloss-configure-fix.patch | 11 - .../99-gcc-isl-0.13.patch | 424 ------------------ mingw-w64-arm-none-eabi-newlib/PKGBUILD | 228 +++++----- 4 files changed, 119 insertions(+), 557 deletions(-) delete mode 100644 mingw-w64-arm-none-eabi-newlib/10-newlib-arm-dynamic-reent.patch delete mode 100644 mingw-w64-arm-none-eabi-newlib/20-newlib-libgloss-configure-fix.patch delete mode 100644 mingw-w64-arm-none-eabi-newlib/99-gcc-isl-0.13.patch diff --git a/mingw-w64-arm-none-eabi-newlib/10-newlib-arm-dynamic-reent.patch b/mingw-w64-arm-none-eabi-newlib/10-newlib-arm-dynamic-reent.patch deleted file mode 100644 index 1828c95484..0000000000 --- a/mingw-w64-arm-none-eabi-newlib/10-newlib-arm-dynamic-reent.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- newlib-2.1.0/newlib/libc/include/sys/config.h.orig 2014-11-03 14:00:09.151452400 -0500 -+++ newlib-2.1.0/newlib/libc/include/sys/config.h 2014-11-03 13:59:47.444421100 -0500 -@@ -8,6 +8,10 @@ - #define MALLOC_ALIGNMENT 16 - #endif - -+#if defined(__arm__) || defined(__thumb__) -+#define __DYNAMIC_REENT__ -+#endif -+ - /* exceptions first */ - #if defined(__H8500__) || defined(__W65__) - #define __SMALL_BITFIELDS diff --git a/mingw-w64-arm-none-eabi-newlib/20-newlib-libgloss-configure-fix.patch b/mingw-w64-arm-none-eabi-newlib/20-newlib-libgloss-configure-fix.patch deleted file mode 100644 index 634552d42e..0000000000 --- a/mingw-w64-arm-none-eabi-newlib/20-newlib-libgloss-configure-fix.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- src/newlib/libgloss/arm/configure.orig 2014-11-05 17:48:37.573856400 -0500 -+++ src/newlib/libgloss/arm/configure 2014-11-05 17:49:42.736954500 -0500 -@@ -2551,7 +2551,7 @@ - - - --host_makefile_frag=${srcdir}/../config/default.mh -+host_makefile_frag=`cd $srcdir/../config;pwd`/default.mh - - host_makefile_frag_path=$host_makefile_frag - diff --git a/mingw-w64-arm-none-eabi-newlib/99-gcc-isl-0.13.patch b/mingw-w64-arm-none-eabi-newlib/99-gcc-isl-0.13.patch deleted file mode 100644 index ee252e8aba..0000000000 --- a/mingw-w64-arm-none-eabi-newlib/99-gcc-isl-0.13.patch +++ /dev/null @@ -1,424 +0,0 @@ ---- gcc/graphite-clast-to-gimple.c.orig 2014-11-04 18:42:39.422980400 -0500 -+++ gcc/graphite-clast-to-gimple.c 2014-11-04 21:27:23.628640600 -0500 -@@ -28,6 +28,7 @@ - #include - #include - #include -+#include - #include - #include - #endif -@@ -851,18 +852,18 @@ - static void - compute_bounds_for_param (scop_p scop, int param, mpz_t low, mpz_t up) - { -- isl_int v; -+ isl_val *v; - isl_aff *aff = isl_aff_zero_on_domain - (isl_local_space_from_space (isl_set_get_space (scop->context))); - - aff = isl_aff_add_coefficient_si (aff, isl_dim_param, param, 1); - -- isl_int_init (v); -- isl_set_min (scop->context, aff, &v); -- isl_int_get_gmp (v, low); -- isl_set_max (scop->context, aff, &v); -- isl_int_get_gmp (v, up); -- isl_int_clear (v); -+ v = isl_set_min_val (scop->context, aff); -+ isl_val_get_num_gmp (v, low); -+ isl_val_free (v); -+ v = isl_set_max_val (scop->context, aff); -+ isl_val_get_num_gmp (v, up); -+ isl_val_free (v); - isl_aff_free (aff); - } - -@@ -881,8 +882,7 @@ - isl_set *domain; - isl_aff *dimension; - isl_local_space *local_space; -- isl_int isl_value; -- enum isl_lp_result lp_result; -+ isl_val *isl_value; - - domain = isl_set_copy (isl_set_from_cloog_domain (loop->domain)); - local_space = isl_local_space_from_space (isl_set_get_space (domain)); -@@ -891,17 +891,12 @@ - isl_set_dim (domain, isl_dim_set) - 1, - 1); - -- isl_int_init (isl_value); -- -- lp_result = isl_set_min (domain, dimension, &isl_value); -- assert (lp_result == isl_lp_ok); -- isl_int_get_gmp (isl_value, low); -- -- lp_result = isl_set_max (domain, dimension, &isl_value); -- assert (lp_result == isl_lp_ok); -- isl_int_get_gmp (isl_value, up); -- -- isl_int_clear (isl_value); -+ isl_value = isl_set_min_val (domain, dimension); -+ isl_val_get_num_gmp (isl_value, low); -+ isl_val_free (isl_value); -+ isl_value = isl_set_max_val (domain, dimension); -+ isl_val_get_num_gmp (isl_value, up); -+ isl_val_free (isl_value); - isl_set_free (domain); - isl_aff_free (dimension); - } ---- gcc/graphite-interchange.c.orig 2014-11-04 18:43:05.876102400 -0500 -+++ gcc/graphite-interchange.c 2014-11-04 21:27:23.618640600 -0500 -@@ -29,6 +29,7 @@ - #include - #include - #include -+#include - #include - #include - #endif -@@ -71,13 +72,13 @@ - isl_local_space *ls = isl_local_space_from_space (isl_map_get_space (map)); - unsigned offset, nsubs; - int i; -- isl_int size, subsize; -+ isl_ctx *ct; -+ -+ isl_val *size, *subsize, *size1; - - res = isl_equality_alloc (ls); -- isl_int_init (size); -- isl_int_set_ui (size, 1); -- isl_int_init (subsize); -- isl_int_set_ui (subsize, 1); -+ ct = isl_local_space_get_ctx (ls); -+ size = isl_val_int_from_ui (ct, 1); - - nsubs = isl_set_dim (pdr->extent, isl_dim_set); - /* -1 for the already included L dimension. */ -@@ -90,18 +91,17 @@ - isl_space *dc; - isl_aff *aff; - -- res = isl_constraint_set_coefficient (res, isl_dim_out, offset + i, size); -- -+ size1 = isl_val_copy (size); -+ res = isl_constraint_set_coefficient_val (res, isl_dim_out, offset + i, size); - dc = isl_set_get_space (pdr->extent); - aff = isl_aff_zero_on_domain (isl_local_space_from_space (dc)); - aff = isl_aff_set_coefficient_si (aff, isl_dim_in, i, 1); -- isl_set_max (pdr->extent, aff, &subsize); -+ subsize = isl_set_max_val (pdr->extent, aff); - isl_aff_free (aff); -- isl_int_mul (size, size, subsize); -+ size = isl_val_mul (size1, subsize); - } - -- isl_int_clear (subsize); -- isl_int_clear (size); -+ isl_val_free (size); - - return res; - } -@@ -118,7 +118,7 @@ - isl_aff *aff; - isl_space *dc; - isl_constraint *lma, *c; -- isl_int islstride; -+ isl_val *islstride; - graphite_dim_t time_depth; - unsigned offset, nt; - unsigned i; -@@ -231,10 +231,9 @@ - aff = isl_aff_zero_on_domain (isl_local_space_from_space (dc)); - aff = isl_aff_set_coefficient_si (aff, isl_dim_in, offset - 1, -1); - aff = isl_aff_set_coefficient_si (aff, isl_dim_in, offset + offset - 1, 1); -- isl_int_init (islstride); -- isl_set_max (set, aff, &islstride); -- isl_int_get_gmp (islstride, stride); -- isl_int_clear (islstride); -+ islstride = isl_set_max_val (set, aff); -+ isl_val_get_num_gmp (islstride, stride); -+ isl_val_free (islstride); - isl_aff_free (aff); - isl_set_free (set); - ---- gcc/graphite-optimize-isl.c.orig 2014-11-04 18:42:39.462980500 -0500 -+++ gcc/graphite-optimize-isl.c 2014-11-04 21:31:43.873183200 -0500 -@@ -252,6 +252,7 @@ - DimToVectorize can be devided by VectorWidth. The default VectorWidth is - currently constant and not yet target specific. This function does not reason - about parallelism. */ -+ - static isl_map * - getPrevectorMap(isl_ctx *ctx, int DimToVectorize, - int ScheduleDimensions, -@@ -265,8 +266,9 @@ - isl_aff *Aff; - int PointDimension; /* ip */ - int TileDimension; /* it */ -- isl_int VectorWidthMP; -+ isl_val *VectorWidthMP; - int i; -+ isl_ctx *ct; - - /* assert (0 <= DimToVectorize && DimToVectorize < ScheduleDimensions);*/ - -@@ -296,10 +298,10 @@ - Aff = isl_aff_zero_on_domain(LocalSpaceRange); - Aff = isl_aff_set_constant_si(Aff, VectorWidth); - Aff = isl_aff_set_coefficient_si(Aff, isl_dim_in, TileDimension, 1); -- isl_int_init(VectorWidthMP); -- isl_int_set_si(VectorWidthMP, VectorWidth); -- Aff = isl_aff_mod(Aff, VectorWidthMP); -- isl_int_clear(VectorWidthMP); -+ -+ ct = isl_aff_get_ctx(Aff); -+ VectorWidthMP = isl_val_int_from_si(ct, VectorWidth); -+ Aff = isl_aff_mod_val(Aff, VectorWidthMP); - Modulo = isl_pw_aff_zero_set(isl_pw_aff_from_aff(Aff)); - TilingMap = isl_map_intersect_range(TilingMap, Modulo); - -@@ -365,7 +367,7 @@ - { - for (i = ScheduleDimensions - 1 ; i >= 0 ; i--) - { -- if (isl_band_member_is_zero_distance(Band, i)) -+ if (isl_band_member_is_coincident(Band, i)) - { - isl_map *TileMap; - isl_union_map *TileUMap; ---- gcc/graphite-poly.c.orig 2014-11-04 18:42:39.565982500 -0500 -+++ gcc/graphite-poly.c 2014-11-04 21:27:23.608640600 -0500 -@@ -28,6 +28,7 @@ - #include - #include - #include -+#include - #include - #include - #endif -@@ -1021,10 +1022,7 @@ - isl_set *transdomain; - isl_space *dc; - isl_aff *aff; -- isl_int isllb, islub; -- -- isl_int_init (isllb); -- isl_int_init (islub); -+ isl_val *isllb, *islub; - - /* Map the iteration domain through the current scatter, and work - on the resulting set. */ -@@ -1038,15 +1036,14 @@ - - /* And find the min/max for that function. */ - /* XXX isl check results? */ -- isl_set_min (transdomain, aff, &isllb); -- isl_set_max (transdomain, aff, &islub); -+ isllb = isl_set_min_val (transdomain, aff); -+ islub = isl_set_max_val (transdomain, aff); - -- isl_int_sub (islub, islub, isllb); -- isl_int_add_ui (islub, islub, 1); -- isl_int_get_gmp (islub, res); -+ islub = isl_val_sub (islub, isllb); -+ islub = isl_val_add_ui (islub, 1); -+ isl_val_get_num_gmp (islub, res); - -- isl_int_clear (isllb); -- isl_int_clear (islub); -+ isl_val_free (islub); - isl_aff_free (aff); - isl_set_free (transdomain); - } ---- gcc/graphite-sese-to-poly.c.orig 2014-11-04 18:42:39.730983000 -0500 -+++ gcc/graphite-sese-to-poly.c 2014-11-04 21:27:23.598640600 -0500 -@@ -26,7 +26,7 @@ - #include - #include - #include --#include -+#include - #include - #include - #endif -@@ -46,7 +46,6 @@ - #include "graphite-poly.h" - #include "graphite-sese-to-poly.h" - -- - /* Assigns to RES the value of the INTEGER_CST T. */ - - static inline void -@@ -461,13 +460,11 @@ - int i; - int nb_iterators = pbb_dim_iter_domain (pbb); - int used_scattering_dimensions = nb_iterators * 2 + 1; -- isl_int val; -+ isl_val *val; - isl_space *dc, *dm; - - gcc_assert (scattering_dimensions >= used_scattering_dimensions); - -- isl_int_init (val); -- - dc = isl_set_get_space (pbb->domain); - dm = isl_space_add_dims (isl_space_from_domain (dc), - isl_dim_out, scattering_dimensions); -@@ -481,12 +478,10 @@ - isl_constraint *c = isl_equality_alloc - (isl_local_space_from_space (isl_map_get_space (pbb->schedule))); - -- if (0 != isl_aff_get_coefficient (static_sched, isl_dim_in, -- i / 2, &val)) -- gcc_unreachable (); -+ val = isl_aff_get_coefficient_val (static_sched, isl_dim_in, i / 2); - -- isl_int_neg (val, val); -- c = isl_constraint_set_constant (c, val); -+ val = isl_val_neg (val); -+ c = isl_constraint_set_constant_val (c, val); - c = isl_constraint_set_coefficient_si (c, isl_dim_out, i, 1); - pbb->schedule = isl_map_add_constraint (pbb->schedule, c); - } -@@ -500,8 +495,6 @@ - } - } - -- isl_int_clear (val); -- - pbb->transformed = isl_map_copy (pbb->schedule); - } - -@@ -681,12 +674,12 @@ - isl_local_space *ls = isl_local_space_from_space (isl_space_copy (space)); - isl_aff *aff = isl_aff_zero_on_domain (ls); - isl_set *dom = isl_set_universe (space); -- isl_int v; -+ isl_val *v; -+ isl_ctx *ct; - -- isl_int_init (v); -- isl_int_set_gmp (v, g); -- aff = isl_aff_add_constant (aff, v); -- isl_int_clear (v); -+ ct = isl_aff_get_ctx (aff); -+ v = isl_val_int_from_gmp (ct, g); -+ aff = isl_aff_add_constant_val (aff, v); - - return isl_pw_aff_alloc (dom, aff); - } -@@ -709,18 +702,16 @@ - - /* Compute pwaff mod 2^width. */ - -+extern isl_ctx *the_isl_ctx; -+ - static isl_pw_aff * - wrap (isl_pw_aff *pwaff, unsigned width) - { -- isl_int mod; -- -- isl_int_init (mod); -- isl_int_set_si (mod, 1); -- isl_int_mul_2exp (mod, mod, width); -- -- pwaff = isl_pw_aff_mod (pwaff, mod); -+ isl_val *mod; - -- isl_int_clear (mod); -+ mod = isl_val_int_from_ui(the_isl_ctx, width); -+ mod = isl_val_2exp (mod); -+ pwaff = isl_pw_aff_mod_val (pwaff, mod); - - return pwaff; - } -@@ -976,11 +967,10 @@ - isl_space *space; - isl_constraint *c; - int pos = isl_set_dim (outer, isl_dim_set); -- isl_int v; -+ isl_val *v; - mpz_t g; - - mpz_init (g); -- isl_int_init (v); - - inner = isl_set_add_dims (inner, isl_dim_set, 1); - space = isl_set_get_space (inner); -@@ -998,8 +988,8 @@ - (isl_local_space_from_space(isl_space_copy (space))); - c = isl_constraint_set_coefficient_si (c, isl_dim_set, pos, -1); - tree_int_to_gmp (nb_iters, g); -- isl_int_set_gmp (v, g); -- c = isl_constraint_set_constant (c, v); -+ v = isl_val_int_from_gmp (the_isl_ctx, g); -+ c = isl_constraint_set_constant_val (c, v); - inner = isl_set_add_constraint (inner, c); - } - -@@ -1053,9 +1043,9 @@ - c = isl_inequality_alloc - (isl_local_space_from_space (isl_space_copy (space))); - c = isl_constraint_set_coefficient_si (c, isl_dim_set, pos, -1); -- isl_int_set_gmp (v, g); -+ v = isl_val_int_from_gmp (the_isl_ctx, g); - mpz_clear (g); -- c = isl_constraint_set_constant (c, v); -+ c = isl_constraint_set_constant_val (c, v); - inner = isl_set_add_constraint (inner, c); - } - else -@@ -1078,7 +1068,6 @@ - - isl_set_free (outer); - isl_space_free (space); -- isl_int_clear (v); - mpz_clear (g); - } - -@@ -1342,17 +1331,15 @@ - isl_space *space = isl_set_get_space (scop->context); - isl_constraint *c; - mpz_t g; -- isl_int v; -+ isl_val *v; - - c = isl_inequality_alloc (isl_local_space_from_space (space)); - mpz_init (g); -- isl_int_init (v); - tree_int_to_gmp (lb, g); -- isl_int_set_gmp (v, g); -- isl_int_neg (v, v); -+ v = isl_val_int_from_gmp (the_isl_ctx, g); -+ v = isl_val_neg (v); - mpz_clear (g); -- c = isl_constraint_set_constant (c, v); -- isl_int_clear (v); -+ c = isl_constraint_set_constant_val (c, v); - c = isl_constraint_set_coefficient_si (c, isl_dim_param, p, 1); - - scop->context = isl_set_add_constraint (scop->context, c); -@@ -1363,17 +1350,15 @@ - isl_space *space = isl_set_get_space (scop->context); - isl_constraint *c; - mpz_t g; -- isl_int v; -+ isl_val *v; - - c = isl_inequality_alloc (isl_local_space_from_space (space)); - - mpz_init (g); -- isl_int_init (v); - tree_int_to_gmp (ub, g); -- isl_int_set_gmp (v, g); -+ v = isl_val_int_from_gmp (the_isl_ctx, g); - mpz_clear (g); -- c = isl_constraint_set_constant (c, v); -- isl_int_clear (v); -+ c = isl_constraint_set_constant_val (c, v); - c = isl_constraint_set_coefficient_si (c, isl_dim_param, p, -1); - - scop->context = isl_set_add_constraint (scop->context, c); diff --git a/mingw-w64-arm-none-eabi-newlib/PKGBUILD b/mingw-w64-arm-none-eabi-newlib/PKGBUILD index 32efe36fec..185ad24a82 100644 --- a/mingw-w64-arm-none-eabi-newlib/PKGBUILD +++ b/mingw-w64-arm-none-eabi-newlib/PKGBUILD @@ -1,138 +1,148 @@ # Maintainer: Carlos Antunes +# Maintainer: fauxpark # Contributed by: nanodude _realname=newlib _target=arm-none-eabi +_gccver=8.4.0 pkgbase=mingw-w64-${_target}-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_target}-${_realname}") -pkgver=2.1.0 +pkgver=3.3.0 pkgrel=1 -pkgdesc="GNU Tools for ARM Embedded Processors - Newlib (mingw-w64)" +pkgdesc='GNU Tools for ARM Embedded Processors - Newlib (mingw-w64)' arch=('any') url="https://sourceware.org/newlib/" license=('Various') groups=("${MINGW_PACKAGE_PREFIX}-${_target}-toolchain") depends=("${MINGW_PACKAGE_PREFIX}-${_target}-binutils") -makedepends=("${MINGW_PACKAGE_PREFIX}-gcc") options=('staticlibs' '!strip' '!emptydirs') -source=('gcc-arm-embedded.tar.bz2::https://launchpad.net/gcc-arm-embedded/4.8/4.8-2014-q3-update/+download/gcc-arm-none-eabi-4_8-2014q3-20140805-src.tar.bz2' - '10-newlib-arm-dynamic-reent.patch' - '20-newlib-libgloss-configure-fix.patch' - '99-gcc-isl-0.13.patch') -sha256sums=('09519946642d5366ab739a89d3388b2ea333cd7dc50192bab3736a9593af83e6' - '7522f26659a69e2f02eb37d3557f8dca08bc32ada8c797b6a812ad131c87b0ef' - '3222e2910068d413c23b2830cf2c9b7b2db210c9b98c5644db5934fee84d9808' - '8e8da71e6e6b347dd7fc7f7938bf9af22be031ad8916749fa6c368f87d8891f0') -noextract=('gcc-arm-embedded.tar.bz2') +source=( + "https://sourceware.org/pub/newlib/newlib-${pkgver}.tar.gz" + "https://ftp.gnu.org/gnu/gcc/gcc-${_gccver}/gcc-${_gccver}.tar.xz" +) +sha256sums=( + '58dd9e3eaedf519360d92d84205c3deef0b3fc286685d1c562e245914ef72c66' + 'e30a6e52d10e1f27ed55104ad233c30bd1e99cfb5ff98ab022dc941edd1b2dd4' +) +noextract=("newlib-${pkgver}.tar.gz") prepare() { - # Extract packages from archive - rm -rf ${srcdir}/tmp - mkdir ${srcdir}/tmp && cd ${srcdir}/tmp - tar xf ../../gcc-arm-embedded.tar.bz2 --strip-components=2 + cd ${srcdir} + # bsdtar doesn't like the symlinks + tar -xf newlib-${pkgver}.tar.gz - # Copy and extract GCC and Newlib packages - cp gcc.tar.bz2 ${srcdir} - cp newlib.tar.bz2 ${srcdir} - cd ${srcdir} - [ -d gcc ] && rm -rf gcc - [ -d newlib ] && rm -rf newlib - tar xf gcc.tar.bz2 - tar xf newlib.tar.bz2 + cd ${srcdir}/gcc-${_gccver} + mkdir gcc-build-${MINGW_CHOST} + mkdir gcc-install-${MINGW_CHOST} - # Newlib - cd ${srcdir}/${_realname} - patch -p1 -i "${srcdir}/10-newlib-arm-dynamic-reent.patch" - patch -p2 -i "${srcdir}/20-newlib-libgloss-configure-fix.patch" + cd ${srcdir}/newlib-${pkgver} + mkdir {newlib,nano}-build-${MINGW_CHOST} +} - # GCC: Compatibility with isl>=0.12.2 - cd "${srcdir}/gcc" - patch -p0 -i "${srcdir}/99-gcc-isl-0.13.patch" +# Newlib is required to build GCC, but GCC is also required to compile newlib +# So we must build a minimal GCC first, to avoid the circular dependency +_build_gcc() { + cd ${srcdir}/gcc-${_gccver}/gcc-build-${MINGW_CHOST} - # Build cross-compiler just to compile newlib - rm -rf "${srcdir}/compiler-${MINGW_CHOST}" - mkdir -p "${srcdir}/compiler-${MINGW_CHOST}" - cp -a "${MINGW_PREFIX}/${_target}" "${srcdir}/compiler-${MINGW_CHOST}" - cd $srcdir - rm -rf build-gcc-${MINGW_CHOST} - mkdir -p build-gcc-${MINGW_CHOST} && cd build-gcc-${MINGW_CHOST} - ../gcc/configure \ - --build="${MINGW_CHOST}" \ - --host="${MINGW_CHOST}" \ - --target="${_target}" \ - --prefix="${srcdir}/compiler-${MINGW_CHOST}" \ - --enable-languages="c" \ - --disable-werror \ - --disable-lto \ - --disable-nls \ - --disable-libffi \ - --disable-decimal-float \ - --disable-libgomp \ - --disable-libmudflap \ - --disable-libquadmath \ - --disable-libssp \ - --disable-libstdcxx-pch \ - --disable-libsanitizer \ - --disable-threads \ - --disable-tls \ - --disable-shared \ - --enable-multilib \ - --enable-interwork \ - --with-newlib \ - --without-headers \ - --with-gnu-as \ - --with-gnu-ld \ - --with-system-zlib \ - --with-{gmp,mpfr,mpc,isl,cloog}="${MINGW_PREFIX}" \ - --disable-isl-version-check \ - --disable-cloog-version-check \ - --with-libelf \ - --with-multilib-list="armv6-m,armv7-m,armv7e-m,armv7-r" \ - --with-sysroot="${MINGW_PREFIX}" \ - --with-build-sysroot="${srcdir}/compiler-${MINGW_CHOST}" \ - --with-build-time-tools="${MINGW_PREFIX}/${_target}/bin" - make all-gcc - make -j1 install-gcc + cp -a ${MINGW_PREFIX}/${_target} ${srcdir}/gcc-${_gccver}/gcc-install-${MINGW_CHOST} + + ../configure \ + --build=${MINGW_CHOST} \ + --host=${MINGW_CHOST} \ + --prefix=/ \ + --target=${_target} \ + --enable-languages=c \ + --disable-nls \ + --disable-libssp \ + --disable-shared \ + --disable-threads \ + --disable-libgomp \ + --disable-werror \ + --disable-lto \ + --disable-libffi \ + --disable-decimal-float \ + --disable-libmudflap \ + --disable-libquadmath \ + --disable-libstdcxx-pch \ + --disable-libsanitizer \ + --disable-tls \ + --enable-multilib \ + --enable-interwork \ + --without-headers \ + --with-libelf \ + --with-newlib \ + --with-multilib-list=rmprofile \ + --with-host-libstdcxx="-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm" \ + --with-sysroot=${MINGW_PREFIX} \ + --with-build-sysroot=${srcdir}/gcc-${_gccver}/gcc-install-${MINGW_CHOST} \ + --with-build-time-tools=${MINGW_PREFIX}/${_target}/bin + + make all-gcc + make DESTDIR=${srcdir}/gcc-${_gccver}/gcc-install-${MINGW_CHOST} install-gcc } build() { - # Build newlib - local armgccpath="${srcdir}/compiler-${MINGW_CHOST}/bin" - if check_option "debug" "y"; then - NEWLIB_CFLAGS="-O0" - else - NEWLIB_CFLAGS="-O3" - fi - NEWLIB_CFLAGS+=" -g -ffunction-sections -fdata-sections" -# NEWLIB_CFLAGS+=" -DMALLOC_PROVIDED" -# NEWLIB_CFLAGS+=" -DREENTRANT_SYSCALLS_PROVIDED" - cd $srcdir - rm -rf build-${MINGW_CHOST} - mkdir -p build-${MINGW_CHOST} && cd build-${MINGW_CHOST} - ../${_realname}/configure \ - --build=${MINGW_CHOST} \ - --host=${MINGW_CHOST} \ - --target=${_target} \ - --prefix=${MINGW_PREFIX} \ - --enable-newlib-io-pos-args \ - --enable-newlib-io-c99-formats \ - --enable-newlib-io-long-long \ - --enable-newlib-io-float \ - --enable-newlib-reent-small \ - --disable-newlib-supplied-syscalls \ - --disable-nls \ - CFLAGS="${NEWLIB_CFLAGS}" \ - PATH="${armgccpath}:${PATH}" - make PATH="${armgccpath}:${PATH}" + _build_gcc + + cd ${srcdir}/newlib-${pkgver}/newlib-build-${MINGW_CHOST} + + ../configure \ + PATH="${srcdir}/gcc-${_gccver}/gcc-install-${MINGW_CHOST}/bin:${PATH}" \ + --build=${MINGW_CHOST} \ + --host=${MINGW_CHOST} \ + --target=${_target} \ + --prefix=${MINGW_PREFIX} \ + --enable-newlib-io-long-long \ + --enable-newlib-io-c99-formats \ + --enable-newlib-register-fini \ + --enable-newlib-retargetable-locking \ + --disable-newlib-supplied-syscalls \ + --disable-nls + make PATH="${srcdir}/gcc-${_gccver}/gcc-install-${MINGW_CHOST}/bin:${PATH}" + + cd ${srcdir}/newlib-${pkgver}/nano-build-${MINGW_CHOST} + + ../configure \ + PATH="${srcdir}/gcc-${_gccver}/gcc-install-${MINGW_CHOST}/bin:${PATH}" \ + --build=${MINGW_CHOST} \ + --host=${MINGW_CHOST} \ + --target=${_target} \ + --prefix=${MINGW_PREFIX} \ + --disable-newlib-supplied-syscalls \ + --enable-newlib-reent-small \ + --enable-newlib-retargetable-locking \ + --disable-newlib-fvwrite-in-streamio \ + --disable-newlib-fseek-optimization \ + --disable-newlib-wide-orient \ + --enable-newlib-nano-malloc \ + --disable-newlib-unbuf-stream-opt \ + --enable-lite-exit \ + --enable-newlib-global-atexit \ + --enable-newlib-nano-formatted-io \ + --disable-nls + make PATH="${srcdir}/gcc-${_gccver}/gcc-install-${MINGW_CHOST}/bin:${PATH}" } package() { - local armgccpath="${srcdir}/compiler-${MINGW_CHOST}/bin" - cd ${srcdir}/build-${MINGW_CHOST} - make -j1 DESTDIR=${pkgdir} PATH="${armgccpath}:${PATH}" install + cd ${pkgdir} - # Remove files that conflict with host - rm -rf "${pkgdir}${MINGW_PREFIX}/share/info" + # make install complains if theses dirs do not already exist, for some reason + mkdir -p ${pkgdir}${MINGW_PREFIX}/${_target}/lib/arm/v5te/{hard,softfp} + mkdir -p ${pkgdir}${MINGW_PREFIX}/${_target}/lib/thumb/nofp + mkdir -p ${pkgdir}${MINGW_PREFIX}/${_target}/lib/thumb/v{6-m,7,7-m,7e-m,8-m.base,8-m.main}/nofp + mkdir -p ${pkgdir}${MINGW_PREFIX}/${_target}/lib/thumb/v{7+fp,7e-m+fp,7e-m+dp,8-m.main+fp,8-m.main+dp}/{hard,softfp} + + cd ${srcdir}/newlib-${pkgver}/nano-build-${MINGW_CHOST} + + make DESTDIR=${pkgdir} PATH="${srcdir}/gcc-${_gccver}/gcc-install-${MINGW_CHOST}/bin:${PATH}" install + + find ${pkgdir} -regex ".*/lib\(c\|g\|rdimon\)\.a" -exec rename .a _nano.a '{}' \; + install -Dm644 -t ${pkgdir}${MINGW_PREFIX}/${_target}/include/newlib-nano ${pkgdir}${MINGW_PREFIX}/${_target}/include/newlib.h + + cd ${srcdir}/newlib-${pkgver}/newlib-build-${MINGW_CHOST} + + make DESTDIR=${pkgdir} PATH="${srcdir}/gcc-${_gccver}/gcc-install-${MINGW_CHOST}/bin:${PATH}" install + + find ${pkgdir}${MINGW_PREFIX}/${_target}/lib \( -name "*.a" -or -name "*.o" \) -exec ${_target}-objcopy -R .comment -R .note -R .debug_info -R .debug_aranges -R .debug_pubnames -R .debug_pubtypes -R .debug_abbrev -R .debug_line -R .debug_str -R .debug_ranges -R .debug_loc '{}' \; } - From c29b8b58e1741f4522ad17f36ae9061b5f239c4a Mon Sep 17 00:00:00 2001 From: Jeremy Drake Date: Fri, 4 Sep 2020 10:35:48 -0700 Subject: [PATCH 106/130] arm-none-eabi-newlib: disable dynamicbase and high base address for gcc build --- mingw-w64-arm-none-eabi-newlib/PKGBUILD | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/mingw-w64-arm-none-eabi-newlib/PKGBUILD b/mingw-w64-arm-none-eabi-newlib/PKGBUILD index 185ad24a82..9587c99360 100644 --- a/mingw-w64-arm-none-eabi-newlib/PKGBUILD +++ b/mingw-w64-arm-none-eabi-newlib/PKGBUILD @@ -47,6 +47,10 @@ _build_gcc() { cp -a ${MINGW_PREFIX}/${_target} ${srcdir}/gcc-${_gccver}/gcc-install-${MINGW_CHOST} + local _GCC_LDFLAGS="${LDFLAGS} -Wl,--disable-dynamicbase" + if [ "${CARCH}" = 'x86_64' ]; then + _GCC_LDFLAGS+=",--image-base=0x400000" + fi ../configure \ --build=${MINGW_CHOST} \ --host=${MINGW_CHOST} \ @@ -76,7 +80,8 @@ _build_gcc() { --with-host-libstdcxx="-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm" \ --with-sysroot=${MINGW_PREFIX} \ --with-build-sysroot=${srcdir}/gcc-${_gccver}/gcc-install-${MINGW_CHOST} \ - --with-build-time-tools=${MINGW_PREFIX}/${_target}/bin + --with-build-time-tools=${MINGW_PREFIX}/${_target}/bin \ + LDFLAGS="${_GCC_LDFLAGS}" make all-gcc make DESTDIR=${srcdir}/gcc-${_gccver}/gcc-install-${MINGW_CHOST} install-gcc From 5b12eaf3f2af42aa11281a442bc5338ede1f40e5 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Sat, 5 Sep 2020 12:03:02 +0200 Subject: [PATCH 107/130] pidgin++: remove Depends on gtk2/python2 and is unmaintained upstream for 5-6 years. --- .../001-autotools-and-fhs-pidgin.patch | 2042 ----------------- .../002-autotools-and-fhs-pidgin++.patch | 189 -- .../003-autotools-and-fhs-adaptation.patch | 140 -- mingw-w64-pidgin++/004-build-fixes.patch | 82 - mingw-w64-pidgin++/005-fix-save-suffix.patch | 12 - .../006-gtk-customizations.patch | 22 - mingw-w64-pidgin++/PKGBUILD | 152 -- 7 files changed, 2639 deletions(-) delete mode 100644 mingw-w64-pidgin++/001-autotools-and-fhs-pidgin.patch delete mode 100644 mingw-w64-pidgin++/002-autotools-and-fhs-pidgin++.patch delete mode 100644 mingw-w64-pidgin++/003-autotools-and-fhs-adaptation.patch delete mode 100644 mingw-w64-pidgin++/004-build-fixes.patch delete mode 100644 mingw-w64-pidgin++/005-fix-save-suffix.patch delete mode 100644 mingw-w64-pidgin++/006-gtk-customizations.patch delete mode 100644 mingw-w64-pidgin++/PKGBUILD diff --git a/mingw-w64-pidgin++/001-autotools-and-fhs-pidgin.patch b/mingw-w64-pidgin++/001-autotools-and-fhs-pidgin.patch deleted file mode 100644 index dbe1e97ce8..0000000000 --- a/mingw-w64-pidgin++/001-autotools-and-fhs-pidgin.patch +++ /dev/null @@ -1,2042 +0,0 @@ -diff -aurN 000/source/configure.ac 001/source/configure.ac ---- 000/source/configure.ac -+++ 001/source/configure.ac -@@ -120,10 +120,44 @@ - dnl Check for Sun compiler - AC_CHECK_DECL([__SUNPRO_C], [SUNCC="yes"], [SUNCC="no"]) - -+dnl ****************************** -+dnl Win32 -+dnl ****************************** -+AC_MSG_CHECKING([for Win32]) -+case "$host" in -+*-mingw*) -+ os_win32=yes -+ not_os_win32=no -+ NO_UNDEFINED='-no-undefined' -+ AVOID_VERSION='-avoid-version' -+ AC_CHECK_TOOL(WINDRES, windres) -+ PURPLE_LIBS='$(top_builddir)/libpurple/libpurple.la' -+ PIDGIN_LIBS='$(top_builddir)/pidgin/libpidgin.la' -+ ;; -+*) -+ os_win32=no -+ not_os_win32=yes -+ NO_UNDEFINED= -+ AVOID_VERSION= -+ PURPLE_LIBS= -+ PIDGIN_LIBS= -+ ;; -+esac -+AC_MSG_RESULT([$os_win32]) -+AM_CONDITIONAL(OS_WIN32, [test $os_win32 = yes]) -+AC_SUBST(NO_UNDEFINED) -+AC_SUBST(AVOID_VERSION) -+AC_SUBST(PURPLE_LIBS) -+AC_SUBST(PIDGIN_LIBS) -+ - dnl Checks for header files. - AC_HEADER_STDC - AC_HEADER_SYS_WAIT --AC_CHECK_HEADERS(arpa/nameser_compat.h fcntl.h sys/time.h unistd.h locale.h signal.h stdint.h regex.h) -+AC_CHECK_HEADERS(arpa/nameser_compat.h fcntl.h sys/time.h unistd.h locale.h stdint.h) -+dnl signal.h is not good in mingw -+if test "$os_win32" != yes; then -+ AC_CHECK_HEADERS(signal.h regex.h) -+fi - - dnl Checks for typedefs, structures, and compiler characteristics. - AC_C_CONST -@@ -145,6 +179,7 @@ - AC_LIBOBJ(getopt1) - ]) - -+if test "$os_win32" != yes; then - dnl Check for inet_aton - AC_CHECK_FUNC(inet_aton, , [AC_CHECK_LIB(resolv, inet_aton, , - [AC_MSG_ERROR([inet_aton not found])])]) -@@ -152,6 +187,8 @@ - AC_CHECK_LIB(nsl, gethostent) - AC_CHECK_FUNC(socket, , - [AC_CHECK_LIB(socket, socket, , [AC_MSG_ERROR([socket not found])])]) -+fi -+ - dnl If all goes well, by this point the previous two checks will have - dnl pulled in -lsocket and -lnsl if we need them. - AC_CHECK_FUNC(getaddrinfo, -@@ -161,6 +198,8 @@ - [AC_DEFINE([HAVE_GETADDRINFO]) LIBS="-lsocket -lsnl $LIBS"], , , -lnsl)]) - AC_CHECK_FUNCS(inet_ntop) - AC_CHECK_FUNCS(getifaddrs) -+ -+if test "$os_win32" != yes; then - dnl Check for socklen_t (in Unix98) - AC_MSG_CHECKING(for socklen_t) - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ -@@ -182,6 +221,7 @@ - AC_DEFINE(socklen_t, int, [socklen_t size]) - ]) - ]) -+fi - - dnl Some systems do not have sa_len field for struct sockaddr. - AC_CHECK_MEMBER([struct sockaddr.sa_len], -@@ -332,6 +372,18 @@ - AM_CONDITIONAL(INSTALL_I18N, test "x$enable_i18n" = "xyes") - - dnl ####################################################################### -+dnl # Check for Zlib -+dnl ####################################################################### -+PKG_CHECK_MODULES([ZLIB],[zlib],[],[ -+ AC_CHECK_HEADER(zlib.h, [ZLIB_CFLAGS=], -+ [AC_MSG_ERROR(zlib.h not found. install zlib)], []) -+ AC_CHECK_LIB(z, inflate, [ ZLIB_LIBS=-lz ], -+ [AC_MSG_ERROR(zlib not found or functional)], []) -+]) -+AC_SUBST(ZLIB_CFLAGS) -+AC_SUBST(ZLIB_LIBS) -+ -+dnl ####################################################################### - dnl # Check for GLib 2.16 (required) - dnl ####################################################################### - PKG_CHECK_MODULES(GLIB, [glib-2.0 >= 2.16.0 gobject-2.0 gmodule-2.0 gthread-2.0], , [ -@@ -1169,7 +1221,7 @@ - AM_CONDITIONAL(STATIC_SILC, test "x$static_silc" = "xyes" -a "x$have_silc" = "xyes") - AM_CONDITIONAL(STATIC_SIMPLE, test "x$static_simple" = "xyes") - AM_CONDITIONAL(STATIC_YAHOO, test "x$static_yahoo" = "xyes") --AM_CONDITIONAL(STATIC_ZEPHYR, test "x$static_zephyr" = "xyes") -+AM_CONDITIONAL(STATIC_ZEPHYR, test "x$static_zephyr" = "xyes" -a "x$enable_zephyr" = "xyes") - AC_SUBST(STATIC_LINK_LIBS) - AC_DEFINE_UNQUOTED(STATIC_PROTO_INIT, $extern_init static void static_proto_init(void) { $load_proto }, - [Loads static protocol plugin module initialization functions.]) -@@ -1190,6 +1242,10 @@ - if test "x$silc10includes" != "xyes" -o "x$silc10client" != "xyes"; then - DYNAMIC_PRPLS=`echo $DYNAMIC_PRPLS | $sedpath 's/silc10//'` - fi -+if test "x$enable_zephyr" != "xyes"; then -+ DYNAMIC_PRPLS=`echo $DYNAMIC_PRPLS | $sedpath 's/zephyr//'` -+fi -+ - AC_SUBST(DYNAMIC_PRPLS) - for i in $DYNAMIC_PRPLS ; do - case $i in -@@ -2542,6 +2598,11 @@ - pidgin/plugins/perl/Makefile - pidgin/plugins/perl/common/Makefile.PL - pidgin/plugins/ticker/Makefile -+ pidgin/plugins/win32/Makefile -+ pidgin/plugins/win32/transparency/Makefile -+ pidgin/plugins/win32/winprefs/Makefile -+ pidgin/win32/pidgin_dll_rc.rc -+ pidgin/win32/pidgin_exe_rc.rc - libpurple/data/gconf/Makefile - libpurple/data/purple.pc - libpurple/data/purple-uninstalled.pc -@@ -2578,6 +2639,7 @@ - libpurple/tests/Makefile - libpurple/purple.h - libpurple/version.h -+ libpurple/win32/libpurplerc.rc - share/sounds/Makefile - share/ca-certs/Makefile - finch/finch.pc -diff -aurN 000/source/finch/gntsound.c 001/source/finch/gntsound.c ---- 000/source/finch/gntsound.c -+++ 001/source/finch/gntsound.c -@@ -615,7 +615,7 @@ - if (!filename || !strlen(filename)) { - g_free(filename); - /* XXX Consider creating a constant for "sounds/purple" to be shared with Pidgin */ -- filename = g_build_filename(DATADIR, "sounds", "purple", sounds[event].def, NULL); -+ filename = g_build_filename(PURPLE_DATADIR, "sounds", "purple", sounds[event].def, NULL); - } - - purple_sound_play_file(filename, NULL); -diff -aurN 000/source/finch/libgnt/wms/Makefile.am 001/source/finch/libgnt/wms/Makefile.am ---- 000/source/finch/libgnt/wms/Makefile.am -+++ 001/source/finch/libgnt/wms/Makefile.am -@@ -29,7 +29,7 @@ - EXTRA_DIST = - - AM_CPPFLAGS = \ -- -DDATADIR=\"$(datadir)\" \ -+ -DPURPLE_DATADIR=\"$(datadir)\" - -I$(top_srcdir)/libpurple \ - -I$(top_srcdir)/finch \ - -I$(top_srcdir)/finch/libgnt \ -diff -aurN 000/source/finch/Makefile.am 001/source/finch/Makefile.am ---- 000/source/finch/Makefile.am -+++ 001/source/finch/Makefile.am -@@ -77,11 +77,11 @@ - $(top_builddir)/libpurple/libpurple.la - - AM_CPPFLAGS = \ -- -DSTANDALONE \ -- -DDATADIR=\"$(datadir)\" \ -- -DLIBDIR=\"$(libdir)/finch/\" \ -+ -DPURPLE_DATADIR=\"$(datadir)\" \ -+ -DFINCH_LIBDIR=\"$(libdir)/finch/\" \ - -DLOCALEDIR=\"$(datadir)/locale\" \ - -DSYSCONFDIR=\"$(sysconfdir)\" \ -+ -DSTANDALONE \ - -I$(top_srcdir)/libpurple/ \ - -I$(top_srcdir) \ - -I$(srcdir)/libgnt/ \ -diff -aurN 000/source/finch/plugins/Makefile.am 001/source/finch/plugins/Makefile.am ---- 000/source/finch/plugins/Makefile.am -+++ 001/source/finch/plugins/Makefile.am -@@ -39,7 +39,7 @@ - EXTRA_DIST = pietray.py - - AM_CPPFLAGS = \ -- -DDATADIR=\"$(datadir)\" \ -+ -DPURPLE_DATADIR=\"$(datadir)\" \ - -I$(top_builddir)/libpurple \ - -I$(top_srcdir)/libpurple \ - -I$(top_srcdir) \ -diff -aurN 000/source/libpurple/certificate.c 001/source/libpurple/certificate.c ---- 000/source/libpurple/certificate.c -+++ 001/source/libpurple/certificate.c -@@ -856,15 +856,15 @@ - { - /* Attempt to point at the appropriate system path */ - if (NULL == x509_ca_paths) { --#ifdef _WIN32 -- x509_ca_paths = g_list_append(NULL, g_build_filename(DATADIR, -+#if defined(_WIN32) && !defined(USE_FHS) -+ x509_ca_paths = g_list_append(NULL, g_build_filename(PURPLE_DATADIR, - "ca-certs", NULL)); - #else - # ifdef SSL_CERTIFICATES_DIR - x509_ca_paths = g_list_append(NULL, g_strdup(SSL_CERTIFICATES_DIR)); - # endif - x509_ca_paths = g_list_append(x509_ca_paths, -- g_build_filename(DATADIR, "purple", "ca-certs", NULL)); -+ g_build_filename(PURPLE_DATADIR, "purple", "ca-certs", NULL)); - #endif - } - -diff -aurN 000/source/libpurple/data/purple.pc.in 001/source/libpurple/data/purple.pc.in ---- 000/source/libpurple/data/purple.pc.in -+++ 001/source/libpurple/data/purple.pc.in -@@ -12,5 +12,5 @@ - Description: libpurple is a GLib-based instant messenger library. - Version: @VERSION@ - Requires: glib-2.0 --Cflags: -I${includedir}/libpurple -+Cflags: -I${includedir}/libpurple -I${includedir}/libpurple/win32 - Libs: -L${libdir} -lpurple -diff -aurN 000/source/libpurple/dnsquery.c 001/source/libpurple/dnsquery.c ---- 000/source/libpurple/dnsquery.c -+++ 001/source/libpurple/dnsquery.c -@@ -744,7 +744,8 @@ - - query_data = data; - --#ifdef USE_IDN -+ -+#if defined(USE_IDN) && defined(HAVE_GETADDRINFO) - if (!dns_str_is_ascii(query_data->hostname)) { - rc = purple_network_convert_idn_to_ascii(query_data->hostname, &hostname); - if (rc != 0) { -diff -aurN 000/source/libpurple/example/Makefile.am 001/source/libpurple/example/Makefile.am ---- 000/source/libpurple/example/Makefile.am -+++ 001/source/libpurple/example/Makefile.am -@@ -11,11 +11,9 @@ - $(top_builddir)/libpurple/libpurple.la - - AM_CPPFLAGS = \ -- -DSTANDALONE \ -- -DDATADIR=\"$(datadir)\" \ -- -DLIBDIR=\"$(libdir)/purple-$(PURPLE_MAJOR_VERSION)/\" \ - -DLOCALEDIR=\"$(datadir)/locale\" \ - -DSYSCONFDIR=\"$(sysconfdir)\" \ -+ -DSTANDALONE \ - -I$(top_builddir)/libpurple \ - -I$(top_srcdir)/libpurple \ - -I$(top_srcdir) \ -diff -aurN 000/source/libpurple/example/nullclient.c 001/source/libpurple/example/nullclient.c ---- 000/source/libpurple/example/nullclient.c -+++ 001/source/libpurple/example/nullclient.c -@@ -308,7 +308,11 @@ - account = purple_account_new(name, prpl); - - /* Get the password for the account */ -+#ifndef _WIN32 - password = getpass("Password: "); -+#else -+ password = "password"; -+#endif - purple_account_set_password(account, password); - - /* It's necessary to enable the account first. */ -diff -aurN 000/source/libpurple/Makefile.am 001/source/libpurple/Makefile.am ---- 000/source/libpurple/Makefile.am -+++ 001/source/libpurple/Makefile.am -@@ -15,21 +15,25 @@ - data/purple-uninstalled.pc.in \ - win32/global.mak \ - win32/libc_interface.c \ -- win32/libc_interface.h \ -- win32/libc_internal.h \ - win32/libpurplerc.rc.in \ - win32/rules.mak \ - win32/targets.mak \ -- win32/wpurpleerror.h \ - win32/win32dep.c \ -- win32/giowin32.c \ -+ win32/giowin32.c -+ -+if !OS_WIN32 -+EXTRA_DIST += \ -+ win32/libc_interface.h \ -+ win32/libc_internal.h \ -+ win32/wpurpleerror.h \ - win32/win32dep.h -+endif - - if USE_GCONFTOOL - GCONF_DIR=data/gconf - endif - --SUBDIRS = $(GCONF_DIR) plugins protocols ciphers . tests example -+SUBDIRS = $(GCONF_DIR) ciphers . plugins protocols tests example - - purple_coresources = \ - account.c \ -@@ -94,6 +98,20 @@ - xmlnode.c \ - whiteboard.c - -+if OS_WIN32 -+purple_coresources += \ -+ win32/giowin32.c \ -+ win32/libc_interface.c \ -+ win32/win32dep.c -+ -+libpurple_win32_res = libpurple-win32-res.o -+libpurple_win32_res_ldflag = -Wl,$(libpurple_win32_res) -+ -+libpurple-win32-res.o: win32/libpurplerc.rc -+ $(WINDRES) -I$(top_srcdir)/libpurple -i $< -o $@ -+ -+endif -+ - purple_builtsources = \ - marshallers.c - -@@ -163,6 +181,14 @@ - codec.h \ - enum-types.h - -+if OS_WIN32 -+purple_win32headers = \ -+ libc_interface.h \ -+ libc_internal.h \ -+ wpurpleerror.h \ -+ win32dep.h -+endif -+ - purple_builtheaders = purple.h version.h marshallers.h - - marshallers.h: marshallers.list -@@ -297,8 +323,15 @@ - pkgconfigdir = $(libdir)/pkgconfig - pkgconfig_DATA = data/purple.pc - --libpurple_la_DEPENDENCIES = $(STATIC_LINK_LIBS) --libpurple_la_LDFLAGS = -export-dynamic -version-info $(PURPLE_LT_VERSION_INFO) -no-undefined -+if OS_WIN32 -+win32includedir=$(includedir)/libpurple/win32 -+win32include_HEADERS = \ -+ $(addprefix $(srcdir)/win32/, $(purple_win32headers)) -+endif -+ -+libpurple_la_DEPENDENCIES = $(STATIC_LINK_LIBS) $(libpurple_win32_res) -+libpurple_la_LDFLAGS = -export-dynamic -version-info $(PURPLE_LT_VERSION_INFO) $(AVOID_VERSION) \ -+ $(NO_UNDEFINED) $(libpurple_win32_res_ldflag) - libpurple_la_LIBADD = \ - $(STATIC_LINK_LIBS) \ - $(DBUS_LIBS) \ -@@ -313,9 +346,14 @@ - ciphers/libpurple-ciphers.la \ - -lm - -+if OS_WIN32 -+libpurple_la_LIBADD += \ -+ -lws2_32 -ldnsapi -+endif -+ - AM_CPPFLAGS = \ -- -DDATADIR=\"$(datadir)\" \ -- -DLIBDIR=\"$(libdir)/purple-$(PURPLE_MAJOR_VERSION)/\" \ -+ -DPURPLE_DATADIR=\"$(datadir)\" \ -+ -DPURPLE_LIBDIR=\"$(libdir)/purple-$(PURPLE_MAJOR_VERSION)/\" \ - -DLOCALEDIR=\"$(datadir)/locale\" \ - -DSYSCONFDIR=\"$(sysconfdir)\" \ - $(GLIB_CFLAGS) \ -@@ -328,6 +366,12 @@ - $(IDN_CFLAGS) \ - $(NETWORKMANAGER_CFLAGS) - -+if OS_WIN32 -+AM_CPPFLAGS += \ -+ -DUSE_FHS \ -+ -I$(top_srcdir)/libpurple/win32 -+endif -+ - # INSTALL_SSL_CERTIFICATES is true when SSL_CERTIFICATES_DIR is empty. - # We want to use SSL_CERTIFICATES_DIR when it's not empty. - if ! INSTALL_SSL_CERTIFICATES -diff -aurN 000/source/libpurple/plugin.c 001/source/libpurple/plugin.c ---- 000/source/libpurple/plugin.c -+++ 001/source/libpurple/plugin.c -@@ -1179,7 +1179,7 @@ - purple_plugins_init(void) { - void *handle = purple_plugins_get_handle(); - -- purple_plugins_add_search_path(LIBDIR); -+ purple_plugins_add_search_path(PURPLE_LIBDIR); - - purple_signal_register(handle, "plugin-load", - purple_marshal_VOID__POINTER, -diff -aurN 000/source/libpurple/plugins/Makefile.am 001/source/libpurple/plugins/Makefile.am ---- 000/source/libpurple/plugins/Makefile.am -+++ 001/source/libpurple/plugins/Makefile.am -@@ -24,27 +24,27 @@ - - plugindir = $(libdir)/purple-$(PURPLE_MAJOR_VERSION) - --autoaccept_la_LDFLAGS = -module -avoid-version --buddynote_la_LDFLAGS = -module -avoid-version --ciphertest_la_LDFLAGS = -module -avoid-version --codeinline_la_LDFLAGS = -module -avoid-version --debug_example_la_LDFLAGS = -module -avoid-version --helloworld_la_LDFLAGS = -module -avoid-version --idle_la_LDFLAGS = -module -avoid-version --joinpart_la_LDFLAGS = -module -avoid-version --log_reader_la_LDFLAGS = -module -avoid-version --newline_la_LDFLAGS = -module -avoid-version --notify_example_la_LDFLAGS = -module -avoid-version --offlinemsg_la_LDFLAGS = -module -avoid-version --one_time_password_la_LDFLAGS = -module -avoid-version --pluginpref_example_la_LDFLAGS = -module -avoid-version --psychic_la_LDFLAGS = -module -avoid-version --signals_test_la_LDFLAGS = -module -avoid-version --simple_la_LDFLAGS = -module -avoid-version --statenotify_la_LDFLAGS = -module -avoid-version -+autoaccept_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) -+buddynote_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) -+ciphertest_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) -+codeinline_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) -+debug_example_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) -+helloworld_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) -+idle_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) -+joinpart_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) -+log_reader_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) -+newline_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) -+notify_example_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) -+offlinemsg_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) -+one_time_password_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) -+pluginpref_example_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) -+psychic_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) -+signals_test_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) -+simple_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) -+statenotify_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) - - # this can't be in a conditional otherwise automake 1.4 yells --dbus_example_la_LDFLAGS = -module -avoid-version -+dbus_example_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) - - if PLUGINS - -@@ -90,29 +90,30 @@ - simple_la_SOURCES = simple.c - statenotify_la_SOURCES = statenotify.c - --autoaccept_la_LIBADD = $(GLIB_LIBS) --buddynote_la_LIBADD = $(GLIB_LIBS) --ciphertest_la_LIBADD = $(GLIB_LIBS) --codeinline_la_LIBADD = $(GLIB_LIBS) --idle_la_LIBADD = $(GLIB_LIBS) --joinpart_la_LIBADD = $(GLIB_LIBS) --log_reader_la_LIBADD = $(GLIB_LIBS) --newline_la_LIBADD = $(GLIB_LIBS) --notify_example_la_LIBADD = $(GLIB_LIBS) --offlinemsg_la_LIBADD = $(GLIB_LIBS) --one_time_password_la_LIBADD = $(GLIB_LIBS) --pluginpref_example_la_LIBADD = $(GLIB_LIBS) --psychic_la_LIBADD = $(GLIB_LIBS) --signals_test_la_LIBADD = $(GLIB_LIBS) --simple_la_LIBADD = $(GLIB_LIBS) --statenotify_la_LIBADD = $(GLIB_LIBS) -+ -+autoaccept_la_LIBADD = $(GLIB_LIBS) $(PURPLE_LIBS) -+buddynote_la_LIBADD = $(GLIB_LIBS) $(PURPLE_LIBS) -+ciphertest_la_LIBADD = $(GLIB_LIBS) $(PURPLE_LIBS) -+codeinline_la_LIBADD = $(GLIB_LIBS) $(PURPLE_LIBS) -+idle_la_LIBADD = $(GLIB_LIBS) $(PURPLE_LIBS) -+joinpart_la_LIBADD = $(GLIB_LIBS) $(PURPLE_LIBS) -+log_reader_la_LIBADD = $(GLIB_LIBS) $(PURPLE_LIBS) -+newline_la_LIBADD = $(GLIB_LIBS) $(PURPLE_LIBS) -+notify_example_la_LIBADD = $(GLIB_LIBS) $(PURPLE_LIBS) -+offlinemsg_la_LIBADD = $(GLIB_LIBS) $(PURPLE_LIBS) -+one_time_password_la_LIBADD = $(GLIB_LIBS) $(PURPLE_LIBS) -+pluginpref_example_la_LIBADD = $(GLIB_LIBS) $(PURPLE_LIBS) -+psychic_la_LIBADD = $(GLIB_LIBS) $(PURPLE_LIBS) -+signals_test_la_LIBADD = $(GLIB_LIBS) $(PURPLE_LIBS) -+simple_la_LIBADD = $(GLIB_LIBS) $(PURPLE_LIBS) -+statenotify_la_LIBADD = $(GLIB_LIBS) $(PURPLE_LIBS) - - if ENABLE_DBUS - - CLEANFILES = dbus-example-bindings.c - dbus_example_la_SOURCES = dbus-example.c - --dbus_example_la_LIBADD = $(GLIB_LIBS) $(DBUS_LIBS) -+dbus_example_la_LIBADD = $(GLIB_LIBS) $(DBUS_LIBS) $(PURPLE_LIBS) - - .PHONY: always - -@@ -140,7 +141,7 @@ - startup.py - - AM_CPPFLAGS = \ -- -DDATADIR=\"$(datadir)\" \ -+ -DPURPLE_DATADIR=\"$(datadir)\" \ - -I$(top_srcdir)/libpurple \ - -I$(top_builddir)/libpurple \ - $(DEBUG_CFLAGS) \ -@@ -148,6 +149,11 @@ - $(PLUGIN_CFLAGS) \ - $(DBUS_CFLAGS) - -+if OS_WIN32 -+AM_CPPFLAGS += \ -+ -I$(top_srcdir)/libpurple/win32 -+endif -+ - # - # This part allows people to build their own plugins in here. - # Yes, it's a mess. -diff -aurN 000/source/libpurple/plugins/perl/Makefile.am 001/source/libpurple/plugins/perl/Makefile.am ---- 000/source/libpurple/plugins/perl/Makefile.am -+++ 001/source/libpurple/plugins/perl/Makefile.am -@@ -165,7 +165,6 @@ - -I$(top_srcdir) \ - -I$(top_srcdir)/libpurple \ - -I$(top_builddir)/libpurple \ -- -DLIBDIR=\"$(libdir)/purple-$(PURPLE_MAJOR_VERSION)\" \ - $(DEBUG_CFLAGS) \ - $(GLIB_CFLAGS) \ - $(PLUGIN_CFLAGS) \ -diff -aurN 000/source/libpurple/plugins/ssl/Makefile.am 001/source/libpurple/plugins/ssl/Makefile.am ---- 000/source/libpurple/plugins/ssl/Makefile.am -+++ 001/source/libpurple/plugins/ssl/Makefile.am -@@ -3,10 +3,10 @@ - - plugindir = $(libdir)/purple-$(PURPLE_MAJOR_VERSION) - --ssl_la_LDFLAGS = -module -avoid-version --ssl_gnutls_la_LDFLAGS = -module -avoid-version --ssl_nss_la_LDFLAGS = -module -avoid-version --nss_prefs_la_LDFLAGS = -module -avoid-version -+ssl_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) -+ssl_gnutls_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) -+ssl_nss_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) -+nss_prefs_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) - - if PLUGINS - -@@ -43,15 +43,15 @@ - ssl_nss_la_SOURCES = ssl-nss.c - nss_prefs_la_SOURCES = nss-prefs.c - --ssl_la_LIBADD = $(GLIB_LIBS) --ssl_gnutls_la_LIBADD = $(GLIB_LIBS) $(GNUTLS_LIBS) --ssl_nss_la_LIBADD = $(GLIB_LIBS) $(NSS_LIBS) --nss_prefs_la_LIBADD = $(GLIB_LIBS) $(NSS_LIBS) -+ssl_la_LIBADD = $(GLIB_LIBS) $(PURPLE_LIBS) -+ssl_gnutls_la_LIBADD = $(GLIB_LIBS) $(GNUTLS_LIBS) $(PURPLE_LIBS) -+ssl_nss_la_LIBADD = $(GLIB_LIBS) $(NSS_LIBS) $(PURPLE_LIBS) -+nss_prefs_la_LIBADD = $(GLIB_LIBS) $(NSS_LIBS) $(PURPLE_LIBS) - - endif # PLUGINS - - AM_CPPFLAGS = \ -- -DDATADIR=\"$(datadir)\" \ -+ -DPURPLE_DATADIR=\"$(datadir)\" \ - -DLIBDIR=\"$(libdir)/libpurple\" \ - -I$(top_srcdir)/libpurple \ - -I$(top_builddir)/libpurple \ -@@ -59,6 +59,12 @@ - $(GLIB_CFLAGS) \ - $(PLUGIN_CFLAGS) - -+if OS_WIN32 -+AM_CPPFLAGS += \ -+ -DWIN32_LEAN_AND_MEAN \ -+ -I$(top_srcdir)/libpurple/win32 -+endif -+ - ssl_gnutls_la_CFLAGS = $(AM_CPPFLAGS) $(GNUTLS_CFLAGS) - ssl_nss_la_CFLAGS = $(AM_CPPFLAGS) $(NSS_CFLAGS) - nss_prefs_la_CFLAGS = $(AM_CPPFLAGS) $(NSS_CFLAGS) -diff -aurN 000/source/libpurple/plugins/tcl/Makefile.am 001/source/libpurple/plugins/tcl/Makefile.am ---- 000/source/libpurple/plugins/tcl/Makefile.am -+++ 001/source/libpurple/plugins/tcl/Makefile.am -@@ -1,13 +1,13 @@ - plugindir = $(libdir)/purple-$(PURPLE_MAJOR_VERSION) - --tcl_la_LDFLAGS = -module -avoid-version -+tcl_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) - - plugin_LTLIBRARIES = tcl.la - - tcl_la_SOURCES = tcl.c tcl_glib.c tcl_glib.h tcl_cmds.c tcl_signals.c tcl_purple.h \ - tcl_ref.c tcl_cmd.c - --tcl_la_LIBADD = $(GLIB_LIBS) $(TCL_LIBS) $(TK_LIBS) -+tcl_la_LIBADD = $(GLIB_LIBS) $(TCL_LIBS) $(TK_LIBS) $(PURPLE_LIBS) - - EXTRA_DIST = signal-test.tcl Makefile.mingw - -@@ -20,3 +20,8 @@ - $(PLUGIN_CFLAGS) \ - $(TK_CFLAGS) \ - $(TCL_CFLAGS) -+ -+if OS_WIN32 -+AM_CPPFLAGS += \ -+ -I$(top_srcdir)/libpurple/win32 -+endif -\ No newline at end of file -diff -aurN 000/source/libpurple/protocols/bonjour/Makefile.am 001/source/libpurple/protocols/bonjour/Makefile.am ---- 000/source/libpurple/protocols/bonjour/Makefile.am -+++ 001/source/libpurple/protocols/bonjour/Makefile.am -@@ -40,7 +40,7 @@ - st = - pkg_LTLIBRARIES = libbonjour.la - libbonjour_la_SOURCES = $(BONJOURSOURCES) --libbonjour_la_LIBADD = $(GLIB_LIBS) $(LIBXML_LIBS) $(AVAHI_LIBS) -+libbonjour_la_LIBADD = $(GLIB_LIBS) $(LIBXML_LIBS) $(AVAHI_LIBS) $(PURPLE_LIBS) - - endif - -diff -aurN 000/source/libpurple/protocols/gg/Makefile.am 001/source/libpurple/protocols/gg/Makefile.am ---- 000/source/libpurple/protocols/gg/Makefile.am -+++ 001/source/libpurple/protocols/gg/Makefile.am -@@ -96,6 +96,10 @@ - $(GNUTLS_CFLAGS) \ - -DGG_IGNORE_DEPRECATED - -+if OS_WIN32 -+INTGG_CFLAGS += -include win32dep.h -+endif -+ - endif - - GGSOURCES = \ -@@ -113,7 +117,7 @@ - - AM_CFLAGS = $(st) - --libgg_la_LDFLAGS = -module -avoid-version -+libgg_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) - - if STATIC_GG - -@@ -121,14 +125,14 @@ - noinst_LTLIBRARIES = libgg.la - libgg_la_SOURCES = $(GGSOURCES) - libgg_la_CFLAGS = $(AM_CFLAGS) --libgg_la_LIBADD = $(LIBGADU_LIBS) $(INTGG_LIBS) -+libgg_la_LIBADD = $(LIBGADU_LIBS) $(INTGG_LIBS) $(PURPLE_LIBS) - - else - - st = - pkg_LTLIBRARIES = libgg.la - libgg_la_SOURCES = $(GGSOURCES) --libgg_la_LIBADD = $(GLIB_LIBS) $(LIBGADU_LIBS) $(INTGG_LIBS) -+libgg_la_LIBADD = $(GLIB_LIBS) $(LIBGADU_LIBS) $(INTGG_LIBS) $(PURPLE_LIBS) - - endif - -@@ -139,3 +143,7 @@ - $(INTGG_CFLAGS) \ - $(GLIB_CFLAGS) \ - $(DEBUG_CFLAGS) -+if OS_WIN32 -+AM_CPPFLAGS += \ -+ -I$(top_srcdir)/libpurple/win32 -+endif -diff -aurN 000/source/libpurple/protocols/irc/Makefile.am 001/source/libpurple/protocols/irc/Makefile.am ---- 000/source/libpurple/protocols/irc/Makefile.am -+++ 001/source/libpurple/protocols/irc/Makefile.am -@@ -13,7 +13,7 @@ - - AM_CFLAGS = $(st) - --libirc_la_LDFLAGS = -module -avoid-version -+libirc_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) - - if STATIC_IRC - -@@ -27,7 +27,7 @@ - st = - pkg_LTLIBRARIES = libirc.la - libirc_la_SOURCES = $(IRCSOURCES) --libirc_la_LIBADD = $(GLIB_LIBS) $(SASL_LIBS) -+libirc_la_LIBADD = $(GLIB_LIBS) $(SASL_LIBS) $(PURPLE_LIBS) - - endif - -@@ -36,3 +36,8 @@ - -I$(top_builddir)/libpurple \ - $(GLIB_CFLAGS) \ - $(DEBUG_CFLAGS) -+ -+if OS_WIN32 -+AM_CPPFLAGS += \ -+ -I$(top_srcdir)/libpurple/win32 -+endif -diff -aurN 000/source/libpurple/protocols/jabber/Makefile.am 001/source/libpurple/protocols/jabber/Makefile.am ---- 000/source/libpurple/protocols/jabber/Makefile.am -+++ 001/source/libpurple/protocols/jabber/Makefile.am -@@ -95,7 +95,8 @@ - - AM_CFLAGS = $(st) - --libxmpp_la_LDFLAGS = -module -avoid-version -+libxmpp_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) -+libjabber_la_LDFLAGS = $(AVOID_VERSION) $(NO_UNDEFINED) - - if USE_CYRUS_SASL - JABBERSOURCES += auth_cyrus.c -@@ -111,12 +112,20 @@ - else - - st = --pkg_LTLIBRARIES = libjabber.la libxmpp.la -+pkg_LTLIBRARIES = libxmpp.la -+ -+if OS_WIN32 -+lib_LTLIBRARIES = libjabber.la -+else -+pkg_LTLIBRARIES += libjabber.la -+endif -+ - libjabber_la_SOURCES = $(JABBERSOURCES) - libjabber_la_LIBADD = $(GLIB_LIBS) $(SASL_LIBS) $(LIBXML_LIBS) $(IDN_LIBS)\ - $(FARSIGHT_LIBS) \ - $(GSTREAMER_LIBS) \ -- $(GSTINTERFACES_LIBS) -+ $(GSTINTERFACES_LIBS) \ -+ $(PURPLE_LIBS) - - libxmpp_la_SOURCES = libxmpp.c - libxmpp_la_LIBADD = libjabber.la -@@ -133,3 +142,10 @@ - $(FARSIGHT_CFLAGS) \ - $(GSTREAMER_CFLAGS) \ - $(GSTINTERFACES_CFLAGS) -+ -+if OS_WIN32 -+AM_CPPFLAGS += \ -+ -I$(top_srcdir)/libpurple/win32 \ -+ -I$(top_srcdir)/libpurple/protocols/jabber/win32 -+endif -+ -diff -aurN 000/source/libpurple/protocols/msn/Makefile.am 001/source/libpurple/protocols/msn/Makefile.am ---- 000/source/libpurple/protocols/msn/Makefile.am -+++ 001/source/libpurple/protocols/msn/Makefile.am -@@ -77,7 +77,7 @@ - - AM_CFLAGS = $(st) - --libmsn_la_LDFLAGS = -module -avoid-version -+libmsn_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) - - if STATIC_MSN - -@@ -91,7 +91,7 @@ - st = - pkg_LTLIBRARIES = libmsn.la - libmsn_la_SOURCES = $(MSNSOURCES) --libmsn_la_LIBADD = $(GLIB_LIBS) -+libmsn_la_LIBADD = $(GLIB_LIBS) $(PURPLE_LIBS) - - endif - -@@ -100,3 +100,8 @@ - -I$(top_builddir)/libpurple \ - $(GLIB_CFLAGS) \ - $(DEBUG_CFLAGS) -+ -+if OS_WIN32 -+AM_CPPFLAGS += \ -+ -I$(top_srcdir)/libpurple/win32 -+endif -diff -aurN 000/source/libpurple/protocols/mxit/Makefile.am 001/source/libpurple/protocols/mxit/Makefile.am ---- 000/source/libpurple/protocols/mxit/Makefile.am -+++ 001/source/libpurple/protocols/mxit/Makefile.am -@@ -40,7 +40,7 @@ - - AM_CFLAGS = $(st) - --libmxit_la_LDFLAGS = -module -avoid-version -+libmxit_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) - - if STATIC_MXIT - -@@ -54,7 +54,7 @@ - st = - pkg_LTLIBRARIES = libmxit.la - libmxit_la_SOURCES = $(MXITSOURCES) --libmxit_la_LIBADD = $(GLIB_LIBS) -+libmxit_la_LIBADD = $(GLIB_LIBS) $(PURPLE_LIBS) - - endif - -@@ -63,3 +63,8 @@ - -I$(top_builddir)/libpurple \ - $(GLIB_CFLAGS) \ - $(DEBUG_CFLAGS) -+ -+if OS_WIN32 -+AM_CPPFLAGS += \ -+ -I$(top_srcdir)/libpurple/win32 -+endif -diff -aurN 000/source/libpurple/protocols/mxit/markup.c 001/source/libpurple/protocols/mxit/markup.c ---- 000/source/libpurple/protocols/mxit/markup.c -+++ 001/source/libpurple/protocols/mxit/markup.c -@@ -231,7 +231,7 @@ - return -1; - } - -- len = (guint8)data[1]; /* length field [1 byte] */ -+ len = data[1]; /* length field [1 byte] */ - if ( data_len - 2 < len ) { - /* not enough bytes left in data! */ - return -1; -diff -aurN 000/source/libpurple/protocols/myspace/Makefile.am 001/source/libpurple/protocols/myspace/Makefile.am ---- 000/source/libpurple/protocols/myspace/Makefile.am -+++ 001/source/libpurple/protocols/myspace/Makefile.am -@@ -19,7 +19,7 @@ - - AM_CFLAGS = $(st) - --libmyspace_la_LDFLAGS = -module -avoid-version -+libmyspace_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) - - if STATIC_MYSPACE - -@@ -33,7 +33,7 @@ - st = - pkg_LTLIBRARIES = libmyspace.la - libmyspace_la_SOURCES = $(MSIMSOURCES) --libmyspace_la_LIBADD = $(GLIB_LIBS) -+libmyspace_la_LIBADD = $(GLIB_LIBS) $(PURPLE_LIBS) - - endif - -@@ -42,3 +42,8 @@ - -I$(top_builddir)/libpurple \ - $(GLIB_CFLAGS) \ - $(DEBUG_CFLAGS) -+ -+if OS_WIN32 -+AM_CPPFLAGS += \ -+ -I$(top_srcdir)/libpurple/win32 -+endif -diff -aurN 000/source/libpurple/protocols/novell/Makefile.am 001/source/libpurple/protocols/novell/Makefile.am ---- 000/source/libpurple/protocols/novell/Makefile.am -+++ 001/source/libpurple/protocols/novell/Makefile.am -@@ -28,7 +28,7 @@ - - AM_CFLAGS = $(st) - --libnovell_la_LDFLAGS = -module -avoid-version -+libnovell_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) - - if STATIC_NOVELL - -@@ -42,7 +42,7 @@ - st = - pkg_LTLIBRARIES = libnovell.la - libnovell_la_SOURCES = $(NOVELLSOURCES) --libnovell_la_LIBADD = $(GLIB_LIBS) -+libnovell_la_LIBADD = $(GLIB_LIBS) $(PURPLE_LIBS) - - endif - -@@ -51,3 +51,8 @@ - -I$(top_builddir)/libpurple \ - $(DEBUG_CFLAGS) \ - $(GLIB_CFLAGS) -+ -+if OS_WIN32 -+AM_CPPFLAGS += \ -+ -I$(top_srcdir)/libpurple/win32 -+endif -diff -aurN 000/source/libpurple/protocols/null/Makefile.am 001/source/libpurple/protocols/null/Makefile.am ---- 000/source/libpurple/protocols/null/Makefile.am -+++ 001/source/libpurple/protocols/null/Makefile.am -@@ -14,10 +14,15 @@ - st = - pkg_LTLIBRARIES = libnull.la - libnull_la_SOURCES = $(NULLSOURCES) --libnull_la_LIBADD = $(GLIB_LIBS) -+libnull_la_LIBADD = $(GLIB_LIBS) $(PURPLE_LIBS) - - AM_CPPFLAGS = \ - -I$(top_srcdir)/libpurple \ - -I$(top_builddir)/libpurple \ - $(GLIB_CFLAGS) \ - $(DEBUG_CFLAGS) -+ -+if OS_WIN32 -+AM_CPPFLAGS += \ -+ -I$(top_srcdir)/libpurple/win32 -+endif -diff -aurN 000/source/libpurple/protocols/oscar/Makefile.am 001/source/libpurple/protocols/oscar/Makefile.am ---- 000/source/libpurple/protocols/oscar/Makefile.am -+++ 001/source/libpurple/protocols/oscar/Makefile.am -@@ -50,8 +50,9 @@ - - AM_CFLAGS = $(st) - --libaim_la_LDFLAGS = -module -avoid-version --libicq_la_LDFLAGS = -module -avoid-version -+libaim_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) -+libicq_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) -+liboscar_la_LDFLAGS = $(AVOID_VERSION) $(NO_UNDEFINED) - if STATIC_OSCAR - - st = -DPURPLE_STATIC_PRPL -@@ -62,9 +63,16 @@ - else - - st = --pkg_LTLIBRARIES = liboscar.la libaim.la libicq.la -+pkg_LTLIBRARIES = libaim.la libicq.la -+ -+if OS_WIN32 -+lib_LTLIBRARIES = liboscar.la -+else -+pkg_LTLIBRARIES += liboscar.la -+endif -+ - liboscar_la_SOURCES = $(OSCARSOURCES) --liboscar_la_LIBADD = $(GLIB_LIBS) -+liboscar_la_LIBADD = $(GLIB_LIBS) $(PURPLE_LIBS) - - libaim_la_SOURCES = libaim.c - libaim_la_LIBADD = liboscar.la -@@ -79,3 +87,8 @@ - -I$(top_builddir)/libpurple \ - $(GLIB_CFLAGS) \ - $(DEBUG_CFLAGS) -+ -+if OS_WIN32 -+AM_CPPFLAGS += \ -+ -I$(top_srcdir)/libpurple/win32 -+endif -diff -aurN 000/source/libpurple/protocols/sametime/Makefile.am 001/source/libpurple/protocols/sametime/Makefile.am ---- 000/source/libpurple/protocols/sametime/Makefile.am -+++ 001/source/libpurple/protocols/sametime/Makefile.am -@@ -24,8 +24,8 @@ - endif - - libsametime_la_SOURCES = $(SAMETIMESOURCES) --libsametime_la_LDFLAGS = -module -avoid-version --libsametime_la_LIBADD = $(GLIB_LIBS) $(MEANWHILE_LIBS) -+libsametime_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) -+libsametime_la_LIBADD = $(GLIB_LIBS) $(MEANWHILE_LIBS) $(PURPLE_LIBS) - - AM_CPPFLAGS = \ - -I$(top_srcdir)/libpurple \ -@@ -35,3 +35,7 @@ - $(MEANWHILE_CFLAGS) \ - -DG_LOG_DOMAIN=\"sametime\" - -+if OS_WIN32 -+AM_CPPFLAGS += \ -+ -I$(top_srcdir)/libpurple/win32 -+endif -diff -aurN 000/source/libpurple/protocols/silc/Makefile.am 001/source/libpurple/protocols/silc/Makefile.am ---- 000/source/libpurple/protocols/silc/Makefile.am -+++ 001/source/libpurple/protocols/silc/Makefile.am -@@ -19,7 +19,7 @@ - - AM_CFLAGS = $(st) - --libsilcpurple_la_LDFLAGS = -module -avoid-version -+libsilcpurple_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) - - if STATIC_SILC - -@@ -34,7 +34,7 @@ - st = $(SILC_CFLAGS) - pkg_LTLIBRARIES = libsilcpurple.la - libsilcpurple_la_SOURCES = $(SILCSOURCES) --libsilcpurple_la_LIBADD = $(GLIB_LIBS) $(SILC_LIBS) -+libsilcpurple_la_LIBADD = $(GLIB_LIBS) $(SILC_LIBS) $(PURPLE_LIBS) - - endif - -@@ -44,3 +44,8 @@ - $(DEBUG_CFLAGS) \ - $(GLIB_CFLAGS) \ - $(SILC_CFLAGS) -+ -+if OS_WIN32 -+AM_CPPFLAGS += \ -+ -I$(top_srcdir)/libpurple/win32 -+endif -diff -aurN 000/source/libpurple/protocols/simple/Makefile.am 001/source/libpurple/protocols/simple/Makefile.am ---- 000/source/libpurple/protocols/simple/Makefile.am -+++ 001/source/libpurple/protocols/simple/Makefile.am -@@ -11,7 +11,7 @@ - - AM_CFLAGS = $(st) - --libsimple_la_LDFLAGS = -module -avoid-version -+libsimple_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) - - if STATIC_SIMPLE - -@@ -25,7 +25,7 @@ - st = - pkg_LTLIBRARIES = libsimple.la - libsimple_la_SOURCES = $(SIMPLESOURCES) --libsimple_la_LIBADD = $(GLIB_LIBS) -+libsimple_la_LIBADD = $(GLIB_LIBS) $(PURPLE_LIBS) - - endif - -@@ -34,3 +34,8 @@ - -I$(top_builddir)/libpurple \ - $(GLIB_CFLAGS) \ - $(DEBUG_CFLAGS) -+ -+if OS_WIN32 -+AM_CPPFLAGS += \ -+ -I$(top_srcdir)/libpurple/win32 -+endif -diff -aurN 000/source/libpurple/protocols/yahoo/Makefile.am 001/source/libpurple/protocols/yahoo/Makefile.am ---- 000/source/libpurple/protocols/yahoo/Makefile.am -+++ 001/source/libpurple/protocols/yahoo/Makefile.am -@@ -27,8 +27,9 @@ - - AM_CFLAGS = $(st) - --libyahoo_la_LDFLAGS = -module -avoid-version --libyahoojp_la_LDFLAGS = -module -avoid-version -+libyahoo_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) -+libyahoojp_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) -+libymsg_la_LDFLAGS = $(AVOID_VERSION) $(NO_UNDEFINED) - - if STATIC_YAHOO - -@@ -40,10 +41,16 @@ - else - - st = --pkg_LTLIBRARIES = libymsg.la libyahoo.la libyahoojp.la -+pkg_LTLIBRARIES = libyahoo.la libyahoojp.la -+ -+if OS_WIN32 -+lib_LTLIBRARIES = libymsg.la -+else -+pkg_LTLIBRARIES += libymsg.la -+endif - - libymsg_la_SOURCES = $(YAHOOSOURCES) --libymsg_la_LIBADD = $(GLIB_LIBS) -+libymsg_la_LIBADD = $(GLIB_LIBS) $(PURPLE_LIBS) - - libyahoo_la_SOURCES = libyahoo.c - libyahoo_la_LIBADD = libymsg.la -@@ -58,3 +65,8 @@ - -I$(top_builddir)/libpurple \ - $(GLIB_CFLAGS) \ - $(DEBUG_CFLAGS) -+ -+if OS_WIN32 -+AM_CPPFLAGS += \ -+ -I$(top_srcdir)/libpurple/win32 -+endif -diff -aurN 000/source/libpurple/win32/libc_interface.h 001/source/libpurple/win32/libc_interface.h ---- 000/source/libpurple/win32/libc_interface.h -+++ 001/source/libpurple/win32/libc_interface.h -@@ -23,6 +23,7 @@ - #ifndef _LIBC_INTERFACE_H_ - #define _LIBC_INTERFACE_H_ - #include -+#undef socklen_t - #include - #include - #include -diff -aurN 000/source/libpurple/win32/libpurplerc.rc.in 001/source/libpurple/win32/libpurplerc.rc.in ---- 000/source/libpurple/win32/libpurplerc.rc.in -+++ 001/source/libpurple/win32/libpurplerc.rc.in -@@ -2,8 +2,8 @@ - #include "version.h" - - VS_VERSION_INFO VERSIONINFO -- FILEVERSION PURPLE_MAJOR_VERSION,PURPLE_MINOR_VERSION,PURPLE_MICRO_VERSION,0 -- PRODUCTVERSION PURPLE_MAJOR_VERSION,PURPLE_MINOR_VERSION,PURPLE_MICRO_VERSION,0 -+ FILEVERSION @PURPLE_MAJOR_VERSION@,@PURPLE_MINOR_VERSION@,@PURPLE_MICRO_VERSION@,0 -+ PRODUCTVERSION @PURPLE_MAJOR_VERSION@,@PURPLE_MINOR_VERSION@,@PURPLE_MICRO_VERSION@,0 - FILEFLAGSMASK 0 - FILEFLAGS 0 - FILEOS VOS__WINDOWS32 -diff -aurN 000/source/libpurple/win32/win32dep.c 001/source/libpurple/win32/win32dep.c ---- 000/source/libpurple/win32/win32dep.c -+++ 001/source/libpurple/win32/win32dep.c -@@ -28,12 +28,18 @@ - - #include "debug.h" - #include "notify.h" -+#ifdef USE_FHS -+#include "version.h" -+#endif - - /* - * LOCALS - */ - static char *app_data_dir = NULL, *install_dir = NULL, - *lib_dir = NULL, *locale_dir = NULL; -+#ifdef USE_FHS -+static char *share_dir = NULL; -+#endif - - static HINSTANCE libpurpledll_hInstance = NULL; - -@@ -153,13 +159,39 @@ - return install_dir; - } - -+#ifdef USE_FHS -+const char *wpurple_share_dir(void) { -+ static gboolean initialized = FALSE; -+ -+ if (!initialized) { -+ const char *inst_dir = wpurple_install_dir(); -+ if (inst_dir != NULL) { -+ share_dir = g_strdup_printf("%s" G_DIR_SEPARATOR_S ".." G_DIR_SEPARATOR_S "share", inst_dir); -+ initialized = TRUE; -+ } else { -+ return NULL; -+ } -+ } -+ -+ return share_dir; -+} -+#else -+const char *wpurple_share_dir(void) { -+ return wpurple_install_dir(); -+} -+#endif -+ - const char *wpurple_lib_dir(void) { - static gboolean initialized = FALSE; - - if (!initialized) { - const char *inst_dir = wpurple_install_dir(); - if (inst_dir != NULL) { -+#ifdef USE_FHS -+ lib_dir = g_strdup_printf("%s" G_DIR_SEPARATOR_S ".." G_DIR_SEPARATOR_S "lib" G_DIR_SEPARATOR_S "purple-%i" , inst_dir, PURPLE_MAJOR_VERSION); -+#else - lib_dir = g_strdup_printf("%s" G_DIR_SEPARATOR_S "plugins", inst_dir); -+#endif - initialized = TRUE; - } else { - return NULL; -@@ -175,7 +207,11 @@ - if (!initialized) { - const char *inst_dir = wpurple_install_dir(); - if (inst_dir != NULL) { -+#ifdef USE_FHS -+ locale_dir = g_strdup_printf("%s" G_DIR_SEPARATOR_S ".." G_DIR_SEPARATOR_S "share" G_DIR_SEPARATOR_S "locale", inst_dir); -+#else - locale_dir = g_strdup_printf("%s" G_DIR_SEPARATOR_S "locale", inst_dir); -+#endif - initialized = TRUE; - } else { - return NULL; -@@ -375,6 +411,11 @@ - lib_dir = NULL; - locale_dir = NULL; - -+#ifdef USE_FHS -+ g_free(share_dir); -+ share_dir = NULL; -+#endif -+ - libpurpledll_hInstance = NULL; - } - -diff -aurN 000/source/libpurple/win32/win32dep.h 001/source/libpurple/win32/win32dep.h ---- 000/source/libpurple/win32/win32dep.h -+++ 001/source/libpurple/win32/win32dep.h -@@ -65,6 +65,7 @@ - const char *wpurple_install_dir(void); - const char *wpurple_lib_dir(void); - const char *wpurple_locale_dir(void); -+const char *wpurple_share_dir(void); - const char *wpurple_data_dir(void); - - /* init / cleanup */ -@@ -80,9 +81,14 @@ - /* - * Purple specific - */ --#define DATADIR wpurple_install_dir() --#define LIBDIR wpurple_lib_dir() -+#undef PURPLE_DATADIR -+#define PURPLE_DATADIR wpurple_share_dir() -+#undef PURPLE_LIBDIR -+#define PURPLE_LIBDIR wpurple_lib_dir() -+#undef LOCALEDIR - #define LOCALEDIR wpurple_locale_dir() -+/* TODO: SYSCONFDIR should be the allusers AppData? */ -+#undef SYSCONFDIR - - #ifdef __cplusplus - } -diff -aurN 000/source/pidgin/data/pidgin.pc.in 001/source/pidgin/data/pidgin.pc.in ---- 000/source/pidgin/data/pidgin.pc.in -+++ 001/source/pidgin/data/pidgin.pc.in -@@ -12,5 +12,6 @@ - Description: Pidgin is a GTK2-based instant messenger application. - Version: @VERSION@ - Requires: gtk+-2.0 purple --Cflags: -I${includedir}/pidgin -+Cflags: -I${includedir}/pidgin -I${includedir}/pidgin/win32 -+Libs: -L${libdir} -lpidgin - -diff -aurN 000/source/pidgin/data/pidgin-2.pc.in 001/source/pidgin/data/pidgin-2.pc.in ---- 000/source/pidgin/data/pidgin-2.pc.in -+++ 001/source/pidgin/data/pidgin-2.pc.in -@@ -13,3 +13,4 @@ - Version: @VERSION@ - Requires: gtk+-2.0 purple - Cflags: -I${includedir} -+Libs: -L${libdir} -lpidgin -diff -aurN 000/source/pidgin/gtkblist.c 001/source/pidgin/gtkblist.c ---- 000/source/pidgin/gtkblist.c -+++ 001/source/pidgin/gtkblist.c -@@ -3369,14 +3369,14 @@ - char *path; - - if (!strcmp(mood, "busy")) { -- path = g_build_filename(DATADIR, "pixmaps", "pidgin", -+ path = g_build_filename(PURPLE_DATADIR, "pixmaps", "pidgin", - "status", "16", "busy.png", NULL); - } else if (!strcmp(mood, "hiptop")) { -- path = g_build_filename(DATADIR, "pixmaps", "pidgin", -+ path = g_build_filename(PURPLE_DATADIR, "pixmaps", "pidgin", - "emblems", "16", "hiptop.png", NULL); - } else { - char *filename = g_strdup_printf("%s.png", mood); -- path = g_build_filename(DATADIR, "pixmaps", "pidgin", -+ path = g_build_filename(PURPLE_DATADIR, "pixmaps", "pidgin", - "emotes", "small", filename, NULL); - g_free(filename); - } -@@ -4026,7 +4026,7 @@ - if (purple_presence_is_status_primitive_active(p, PURPLE_STATUS_MOBILE)) { - /* This emblem comes from the small emoticon set now, - * to reduce duplication. */ -- path = g_build_filename(DATADIR, "pixmaps", "pidgin", "emotes", -+ path = g_build_filename(PURPLE_DATADIR, "pixmaps", "pidgin", "emotes", - "small", "mobile.png", NULL); - return _pidgin_blist_get_cached_emblem(path); - } -@@ -4043,7 +4043,7 @@ - g_return_val_if_fail(buddy != NULL, NULL); - - if (!purple_privacy_check(buddy->account, purple_buddy_get_name(buddy))) { -- path = g_build_filename(DATADIR, "pixmaps", "pidgin", "emblems", "16", "blocked.png", NULL); -+ path = g_build_filename(PURPLE_DATADIR, "pixmaps", "pidgin", "emblems", "16", "blocked.png", NULL); - return _pidgin_blist_get_cached_emblem(path); - } - -@@ -4054,7 +4054,7 @@ - - if (purple_presence_is_status_primitive_active(p, PURPLE_STATUS_MOBILE)) { - /* This emblem comes from the small emoticon set now, to reduce duplication. */ -- path = g_build_filename(DATADIR, "pixmaps", "pidgin", "emotes", "small", "mobile.png", NULL); -+ path = g_build_filename(PURPLE_DATADIR, "pixmaps", "pidgin", "emotes", "small", "mobile.png", NULL); - return _pidgin_blist_get_cached_emblem(path); - } - -@@ -4063,18 +4063,18 @@ - /* Only in MSN. - * TODO: Replace "Tune" with generalized "Media" in 3.0. */ - if (purple_status_get_attr_string(tune, "game") != NULL) { -- path = g_build_filename(DATADIR, "pixmaps", "pidgin", "emblems", "16", "game.png", NULL); -+ path = g_build_filename(PURPLE_DATADIR, "pixmaps", "pidgin", "emblems", "16", "game.png", NULL); - return _pidgin_blist_get_cached_emblem(path); - } - /* Only in MSN. - * TODO: Replace "Tune" with generalized "Media" in 3.0. */ - if (purple_status_get_attr_string(tune, "office") != NULL) { -- path = g_build_filename(DATADIR, "pixmaps", "pidgin", "emblems", "16", "office.png", NULL); -+ path = g_build_filename(PURPLE_DATADIR, "pixmaps", "pidgin", "emblems", "16", "office.png", NULL); - return _pidgin_blist_get_cached_emblem(path); - } - /* Regular old "tune" is the only one in all protocols. */ - /* This emblem comes from the small emoticon set now, to reduce duplication. */ -- path = g_build_filename(DATADIR, "pixmaps", "pidgin", "emotes", "small", "music.png", NULL); -+ path = g_build_filename(PURPLE_DATADIR, "pixmaps", "pidgin", "emotes", "small", "music.png", NULL); - return _pidgin_blist_get_cached_emblem(path); - } - -@@ -4101,7 +4101,7 @@ - path = get_mood_icon_path(name); - } else { - filename = g_strdup_printf("%s.png", name); -- path = g_build_filename(DATADIR, "pixmaps", "pidgin", "emblems", "16", filename, NULL); -+ path = g_build_filename(PURPLE_DATADIR, "pixmaps", "pidgin", "emblems", "16", filename, NULL); - g_free(filename); - } - -diff -aurN 000/source/pidgin/gtkdialogs.c 001/source/pidgin/gtkdialogs.c ---- 000/source/pidgin/gtkdialogs.c -+++ 001/source/pidgin/gtkdialogs.c -@@ -468,7 +468,7 @@ - gtk_window_set_default_size(GTK_WINDOW(win), width? width : 600, height? height : 600); - - /* Generate a logo with a version number */ -- filename = g_build_filename(DATADIR, "pixmaps", "pidgin", "logo.png", NULL); -+ filename = g_build_filename(PURPLE_DATADIR, "pixmaps", "pidgin", "logo.png", NULL); - pixbuf = pidgin_pixbuf_new_from_file(filename); - g_free(filename); - -diff -aurN 000/source/pidgin/gtkdnd-hints.c 001/source/pidgin/gtkdnd-hints.c ---- 000/source/pidgin/gtkdnd-hints.c -+++ 001/source/pidgin/gtkdnd-hints.c -@@ -121,7 +121,7 @@ - for (i = 0; hint_windows[i].filename != NULL; i++) { - gchar *fname; - -- fname = g_build_filename(DATADIR, "pixmaps", "pidgin", -+ fname = g_build_filename(PURPLE_DATADIR, "pixmaps", "pidgin", - hint_windows[i].filename, NULL); - - hint_windows[i].widget = dnd_hints_init_window(fname); -diff -aurN 000/source/pidgin/gtkdocklet-gtk.c 001/source/pidgin/gtkdocklet-gtk.c ---- 000/source/pidgin/gtkdocklet-gtk.c -+++ 001/source/pidgin/gtkdocklet-gtk.c -@@ -291,6 +291,6 @@ - } - - gtk_icon_theme_append_search_path(gtk_icon_theme_get_default(), -- DATADIR G_DIR_SEPARATOR_S "pixmaps" G_DIR_SEPARATOR_S "pidgin" G_DIR_SEPARATOR_S "tray"); -+ PURPLE_DATADIR G_DIR_SEPARATOR_S "pixmaps" G_DIR_SEPARATOR_S "pidgin" G_DIR_SEPARATOR_S "tray"); - } - -diff -aurN 000/source/pidgin/gtkmain.c 001/source/pidgin/gtkmain.c ---- 000/source/pidgin/gtkmain.c -+++ 001/source/pidgin/gtkmain.c -@@ -269,7 +269,7 @@ - #ifndef _WIN32 - /* use the nice PNG icon for all the windows */ - for(i=0; idata; - - if (gtalk_name && strcmp(gtalk_name, plugin->info->name) < 0) { -- char *filename = g_build_filename(DATADIR, "pixmaps", "pidgin", "protocols", -+ char *filename = g_build_filename(PURPLE_DATADIR, "pixmaps", "pidgin", "protocols", - "16", "google-talk.png", NULL); - GtkWidget *item; - -@@ -721,7 +721,7 @@ - } - - if (facebook_name && strcmp(facebook_name, plugin->info->name) < 0) { -- char *filename = g_build_filename(DATADIR, "pixmaps", "pidgin", "protocols", -+ char *filename = g_build_filename(PURPLE_DATADIR, "pixmaps", "pidgin", "protocols", - "16", "facebook.png", NULL); - GtkWidget *item; - -diff -aurN 000/source/pidgin/Makefile.am 001/source/pidgin/Makefile.am ---- 000/source/pidgin/Makefile.am -+++ 001/source/pidgin/Makefile.am -@@ -31,13 +31,28 @@ - win32/nsis/create_nsis_translations.pl \ - win32/nsis/nsis_translations.desktop.in - -+if !OS_WIN32 -+EXTRA_DIST += \ -+ win32/MinimizeToTray.c \ -+ win32/MinimizeToTray.h \ -+ win32/gtkdocklet-win32.c \ -+ win32/gtkwin32dep.c \ -+ win32/gtkwin32dep.h \ -+ win32/resource.h \ -+ win32/untar.c \ -+ win32/untar.h \ -+ win32/winpidgin.c \ -+ win32/wspell.c \ -+ win32/wspell.h -+endif -+ - if ENABLE_GTK - --SUBDIRS = pixmaps plugins -+SUBDIRS = . pixmaps plugins - - bin_PROGRAMS = pidgin - --pidgin_SOURCES = \ -+common_SOURCES = \ - pidginstock.c \ - gtkaccount.c \ - gtkblist.c \ -@@ -51,7 +66,6 @@ - gtkdialogs.c \ - gtkdnd-hints.c \ - gtkdocklet.c \ -- gtkdocklet-gtk.c \ - gtkeventloop.c \ - gtkft.c \ - gtkicon-theme.c \ -@@ -139,14 +153,30 @@ - pidgintooltip.h \ - pidgin.h - -+if OS_WIN32 -+pidgin_win32headers = \ -+ gtkwin32dep.h -+pidgin_win32noinstheaders = \ -+ MinimizeToTray.h \ -+ resource.h \ -+ untar.h \ -+ wspell.h -+endif -+ - pidginincludedir=$(includedir)/pidgin - pidgininclude_HEADERS = \ - $(pidgin_headers) - -+if OS_WIN32 -+win32includedir=$(includedir)/pidgin/win32 -+win32include_HEADERS = \ -+ $(addprefix $(srcdir)/win32/, $(pidgin_win32headers)) -+noinst_HEADERS = \ -+ $(addprefix $(srcdir)/win32/, $(pidgin_win32noinstheaders)) -+endif - - pidgin_DEPENDENCIES = @LIBOBJS@ --pidgin_LDFLAGS = -export-dynamic --pidgin_LDADD = \ -+common_LDADD = \ - @LIBOBJS@ \ - $(GLIB_LIBS) \ - $(DBUS_LIBS) \ -@@ -159,9 +189,47 @@ - $(GTK_LIBS) \ - $(top_builddir)/libpurple/libpurple.la - -+if OS_WIN32 -+lib_LTLIBRARIES = libpidgin.la -+ -+pidgin_SOURCES = \ -+ win32/pidgin_exe_rc.rc \ -+ win32/winpidgin.c -+ -+libpidgin_la_SOURCES = \ -+ $(common_SOURCES) \ -+ win32/MinimizeToTray.c \ -+ win32/gtkdocklet-win32.c \ -+ win32/gtkwin32dep.c \ -+ win32/untar.c \ -+ win32/wspell.c \ -+ win32/pidgin_dll_rc.rc -+ -+libpidgin_la_LDFLAGS = $(AVOID_VERSION) $(NO_UNDEFINED) -+libpidgin_la_LIBADD = $(common_LDADD) -lz -lwinmm -lgdi32 -+ -+pidgin_LDFLAGS = -mwindows -+pidgin_LDADD = -+ -+.rc.o: -+ $(WINDRES) $^ -o $@ -+%.o : %.rc -+ $(WINDRES) -I$(top_srcdir)/pidgin -I$(top_srcdir)/pidgin/win32 -I$(top_srcdir)/libpurple -i $< -o $@ -+ -+else -+pidgin_SOURCES = \ -+ $(common_SOURCES) \ -+ gtkdocklet-gtk.c -+ -+pidgin_CFLAGS = $(AM_CFLAGS) -+pidgin_LDFLAGS = -export-dynamic -+ -+pidgin_LDADD = $(common_LDADD) -+endif -+ - AM_CPPFLAGS = \ -- -DDATADIR=\"$(datadir)\" \ -- -DLIBDIR=\"$(libdir)/pidgin/\" \ -+ -DPURPLE_DATADIR=\"$(datadir)\" \ -+ -DPIDGIN_LIBDIR=\"$(libdir)/pidgin/\" \ - -DLOCALEDIR=\"$(datadir)/locale\" \ - -DSYSCONFDIR=\"$(sysconfdir)\" \ - -I$(top_builddir)/libpurple \ -@@ -177,6 +245,14 @@ - $(LIBXML_CFLAGS) \ - $(INTGG_CFLAGS) - -+ -+if OS_WIN32 -+AM_CPPFLAGS += \ -+ -DUSE_FHS \ -+ -I$(top_srcdir)/libpurple/win32 \ -+ -I$(top_srcdir)/pidgin/win32 -+endif -+ - pkgconfigdir = $(libdir)/pkgconfig - pkgconfig_DATA = data/pidgin.pc - -diff -aurN 000/source/pidgin/pidginstock.c 001/source/pidgin/pidginstock.c ---- 000/source/pidgin/pidginstock.c -+++ 001/source/pidgin/pidginstock.c -@@ -241,7 +241,7 @@ - return filename; - g_free(filename); - } -- filename = g_build_filename(DATADIR, name, NULL); -+ filename = g_build_filename(PURPLE_DATADIR, name, NULL); - if (g_file_test(filename, G_FILE_TEST_EXISTS)) - return filename; - g_free(filename); -diff -aurN 000/source/pidgin/plugins/cap/Makefile.am 001/source/pidgin/plugins/cap/Makefile.am ---- 000/source/pidgin/plugins/cap/Makefile.am -+++ 001/source/pidgin/plugins/cap/Makefile.am -@@ -18,7 +18,7 @@ - cap_la_LIBADD = $(GTK_LIBS) $(SQLITE3_LIBS) - - AM_CPPFLAGS = \ -- -DDATADIR=\"$(datadir)\" \ -+ -DPURPLE_DATADIR=\"$(datadir)\" \ - -I$(top_srcdir)/libpurple \ - -I$(top_builddir)/libpurple \ - -I$(top_srcdir)/pidgin \ -diff -aurN 000/source/pidgin/plugins/disco/gtkdisco.c 001/source/pidgin/plugins/disco/gtkdisco.c ---- 000/source/pidgin/plugins/disco/gtkdisco.c -+++ 001/source/pidgin/plugins/disco/gtkdisco.c -@@ -119,14 +119,14 @@ - - if (service->type == XMPP_DISCO_SERVICE_TYPE_GATEWAY && service->gateway_type) { - char *tmp = g_strconcat(service->gateway_type, ".png", NULL); -- filename = g_build_filename(DATADIR, "pixmaps", "pidgin", "protocols", size, tmp, NULL); -+ filename = g_build_filename(PURPLE_DATADIR, "pixmaps", "pidgin", "protocols", size, tmp, NULL); - g_free(tmp); - #if 0 - } else if (service->type == XMPP_DISCO_SERVICE_TYPE_USER) { -- filename = g_build_filename(DATADIR, "pixmaps", "pidgin", "status", size, "person.png", NULL); -+ filename = g_build_filename(PURPLE_DATADIR, "pixmaps", "pidgin", "status", size, "person.png", NULL); - #endif - } else if (service->type == XMPP_DISCO_SERVICE_TYPE_CHAT) -- filename = g_build_filename(DATADIR, "pixmaps", "pidgin", "status", size, "chat.png", NULL); -+ filename = g_build_filename(PURPLE_DATADIR, "pixmaps", "pidgin", "status", size, "chat.png", NULL); - - if (filename) { - pixbuf = gdk_pixbuf_new_from_file(filename, NULL); -diff -aurN 000/source/pidgin/plugins/disco/Makefile.am 001/source/pidgin/plugins/disco/Makefile.am ---- 000/source/pidgin/plugins/disco/Makefile.am -+++ 001/source/pidgin/plugins/disco/Makefile.am -@@ -1,6 +1,10 @@ -+if OS_WIN32 -+plugindir = $(libdir)/purple-$(PURPLE_MAJOR_VERSION) -+else - plugindir = $(libdir)/pidgin -+endif - --xmppdisco_la_LDFLAGS = -module -avoid-version -+xmppdisco_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) - - EXTRA_DIST = \ - Makefile.mingw -@@ -15,14 +19,21 @@ - xmppdisco.c \ - xmppdisco.h - --xmppdisco_la_LIBADD = $(GTK_LIBS) -+xmppdisco_la_LIBADD = $(GTK_LIBS) $(PURPLE_LIBS) $(PIDGIN_LIBS) - - endif - - AM_CPPFLAGS = \ -- -DDATADIR=\"$(datadir)\" \ -+ -DPURPLE_DATADIR=\"$(datadir)\" \ - -I$(top_srcdir)/libpurple \ - -I$(top_builddir)/libpurple \ - -I$(top_srcdir)/pidgin \ - $(DEBUG_CFLAGS) \ - $(GTK_CFLAGS) -+ -+if OS_WIN32 -+AM_CPPFLAGS += \ -+ -I$(top_srcdir)/libpurple/win32 \ -+ -I$(top_srcdir)/pidgin/win32 -+endif -+ -diff -aurN 000/source/pidgin/plugins/gestures/Makefile.am 001/source/pidgin/plugins/gestures/Makefile.am ---- 000/source/pidgin/plugins/gestures/Makefile.am -+++ 001/source/pidgin/plugins/gestures/Makefile.am -@@ -1,6 +1,10 @@ -+if OS_WIN32 -+plugindir = $(libdir)/purple-$(PURPLE_MAJOR_VERSION) -+else - plugindir = $(libdir)/pidgin -+endif - --gestures_la_LDFLAGS = -module -avoid-version -+gestures_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) - - if PLUGINS - -@@ -13,14 +17,20 @@ - stroke.c \ - stroke-draw.c - --gestures_la_LIBADD = $(GTK_LIBS) -+gestures_la_LIBADD = $(GTK_LIBS) $(PURPLE_LIBS) $(PIDGIN_LIBS) $(GLIB_LIBS) - - endif - - AM_CPPFLAGS = \ -- -DDATADIR=\"$(datadir)\" \ -+ -DPURPLE_DATADIR=\"$(datadir)\" \ - -I$(top_srcdir)/libpurple \ - -I$(top_builddir)/libpurple \ - -I$(top_srcdir)/pidgin \ - $(DEBUG_CFLAGS) \ - $(GTK_CFLAGS) -+ -+if OS_WIN32 -+AM_CPPFLAGS += \ -+ -I$(top_srcdir)/libpurple/win32 \ -+ -I$(top_srcdir)/pidgin/win32 -+endif -\ No newline at end of file -diff -aurN 000/source/pidgin/plugins/gevolution/Makefile.am 001/source/pidgin/plugins/gevolution/Makefile.am ---- 000/source/pidgin/plugins/gevolution/Makefile.am -+++ 001/source/pidgin/plugins/gevolution/Makefile.am -@@ -1,6 +1,10 @@ -+if OS_WIN32 -+plugindir = $(libdir)/purple-$(PURPLE_MAJOR_VERSION) -+else - plugindir = $(libdir)/pidgin -+endif - --gevolution_la_LDFLAGS = -module -avoid-version -+gevolution_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) - - if PLUGINS - -@@ -15,15 +19,22 @@ - new_person_dialog.c \ - eds-utils.c - --gevolution_la_LIBADD = $(EVOLUTION_ADDRESSBOOK_LIBS) $(GTK_LIBS) -+gevolution_la_LIBADD = $(EVOLUTION_ADDRESSBOOK_LIBS) $(GTK_LIBS) $(PURPLE_LIBS) $(PIDGIN_LIBS) $(GLIB_LIBS) - - endif - - AM_CPPFLAGS = \ -- -DDATADIR=\"$(datadir)\" \ -+ -DPURPLE_DATADIR=\"$(datadir)\" \ - -I$(top_srcdir)/libpurple \ - -I$(top_builddir)/libpurple \ - -I$(top_srcdir)/pidgin \ - $(EVOLUTION_ADDRESSBOOK_CFLAGS) \ -+ $(GLIB_CFLAGS) \ - $(DEBUG_CFLAGS) \ - $(GTK_CFLAGS) -+ -+if OS_WIN32 -+AM_CPPFLAGS += \ -+ -I$(top_srcdir)/libpurple/win32 \ -+ -I$(top_srcdir)/pidgin/win32 -+endif -diff -aurN 000/source/pidgin/plugins/Makefile.am 001/source/pidgin/plugins/Makefile.am ---- 000/source/pidgin/plugins/Makefile.am -+++ 001/source/pidgin/plugins/Makefile.am -@@ -1,4 +1,4 @@ --DIST_SUBDIRS = cap disco gestures gevolution musicmessaging perl ticker -+DIST_SUBDIRS = cap disco gestures gevolution musicmessaging perl ticker win32 - - if BUILD_GEVOLUTION - GEVOLUTION_DIR = gevolution -@@ -143,6 +143,12 @@ - $(GSTREAMER_CFLAGS) \ - $(PLUGIN_CFLAGS) - -+if OS_WIN32 -+AM_CPPFLAGS += \ -+ -I$(top_srcdir)/libpurple/win32 \ -+ -I$(top_srcdir)/pidgin/win32 -+endif -+ - # - # This part allows people to build their own plugins in here. - # Yes, it's a mess. -@@ -150,7 +156,7 @@ - SUFFIXES = .c .so - .c.so: - $(LIBTOOL) --mode=compile $(CC) -DHAVE_CONFIG_H -I$(top_builddir) $(AM_CPPFLAGS) $(CFLAGS) -c $< -o tmp$@.lo $(PLUGIN_CFLAGS) -- $(LIBTOOL) --mode=link $(CC) $(CFLAGS) -o libtmp$@.la -rpath $(plugindir) tmp$@.lo $(LIBS) $(LDFLAGS) -module -avoid-version $(PLUGIN_LIBS) -+ $(LIBTOOL) --mode=link $(CC) $(CFLAGS) -o libtmp$@.la -rpath $(plugindir) tmp$@.lo $(LIBS) $(LDFLAGS) -module -avoid-version $(NO_UNDEFINED) $(PLUGIN_LIBS) - @rm -f tmp$@.lo tmp$@.o libtmp$@.la - @cp .libs/libtmp$@*.so $@ - @rm -rf .libs/libtmp$@.* -diff -aurN 000/source/pidgin/plugins/musicmessaging/Makefile.am 001/source/pidgin/plugins/musicmessaging/Makefile.am ---- 000/source/pidgin/plugins/musicmessaging/Makefile.am -+++ 001/source/pidgin/plugins/musicmessaging/Makefile.am -@@ -1,7 +1,11 @@ - EXTRA_DIST = \ - music.png - -+if OS_WIN32 -+musicmessagingdir = $(libdir)/purple-$(PURPLE_MAJOR_VERSION) -+else - musicmessagingdir = $(libdir)/pidgin -+endif - - musicmessaging_la_LDFLAGS = -module -avoid-version - -@@ -16,7 +20,7 @@ - musicmessaging_la_SOURCES = \ - musicmessaging.c - --musicmessaging_la_LIBADD = $(GTK_LIBS) $(DBUS_LIBS) -+musicmessaging_la_LIBADD = $(GTK_LIBS) $(DBUS_LIBS) $(PURPLE_LIBS) $(PIDGIN_LIBS) - - CLEANFILES = music-messaging-bindings.c - -@@ -35,10 +39,16 @@ - endif - - AM_CPPFLAGS = \ -- -DDATADIR=\"$(datadir)\" \ -+ -DPURPLE_DATADIR=\"$(datadir)\" \ - -I$(top_builddir)/libpurple \ - -I$(top_srcdir)/libpurple \ - -I$(top_srcdir)/pidgin \ - $(DEBUG_CFLAGS) \ - $(GTK_CFLAGS) \ - $(DBUS_CFLAGS) -+ -+if OS_WIN32 -+AM_CPPFLAGS += \ -+ -I$(top_srcdir)/libpurple/win32 \ -+ -I$(top_srcdir)/pidgin/win32 -+endif -diff -aurN 000/source/pidgin/plugins/musicmessaging/musicmessaging.c 001/source/pidgin/plugins/musicmessaging/musicmessaging.c ---- 000/source/pidgin/plugins/musicmessaging/musicmessaging.c -+++ 001/source/pidgin/plugins/musicmessaging/musicmessaging.c -@@ -548,11 +548,13 @@ - - static void kill_editor (MMConversation *mmconv) - { -+#ifndef _WIN32 - if (mmconv->pid) - { - kill(mmconv->pid, SIGINT); - mmconv->pid = 0; - } -+#endif - } - - static void init_conversation (PurpleConversation *conv) -@@ -595,7 +597,7 @@ - - g_signal_connect(G_OBJECT(button), "toggled", G_CALLBACK(music_button_toggled), mmconv); - -- file_path = g_build_filename(DATADIR, "pixmaps", "purple", "buttons", -+ file_path = g_build_filename(PURPLE_DATADIR, "pixmaps", "purple", "buttons", - "music.png", NULL); - image = gtk_image_new_from_file(file_path); - g_free(file_path); -diff -aurN 000/source/pidgin/plugins/ticker/Makefile.am 001/source/pidgin/plugins/ticker/Makefile.am ---- 000/source/pidgin/plugins/ticker/Makefile.am -+++ 001/source/pidgin/plugins/ticker/Makefile.am -@@ -1,9 +1,13 @@ - EXTRA_DIST = \ - Makefile.mingw - -+if OS_WIN32 -+plugindir = $(libdir)/purple-$(PURPLE_MAJOR_VERSION) -+else - plugindir = $(libdir)/pidgin -+endif - --ticker_la_LDFLAGS = -module -avoid-version -+ticker_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) - - if PLUGINS - -@@ -14,14 +18,20 @@ - gtkticker.h \ - ticker.c - --ticker_la_LIBADD = $(GTK_LIBS) -+ticker_la_LIBADD = $(GTK_LIBS) $(PURPLE_LIBS) $(PIDGIN_LIBS) - - endif - - AM_CPPFLAGS = \ -- -DDATADIR=\"$(datadir)\" \ -+ -DPURPLE_DATADIR=\"$(datadir)\" \ - -I$(top_srcdir)/libpurple \ - -I$(top_builddir)/libpurple \ - -I$(top_srcdir)/pidgin \ - $(DEBUG_CFLAGS) \ - $(GTK_CFLAGS) -+ -+if OS_WIN32 -+AM_CPPFLAGS += \ -+ -I$(top_srcdir)/libpurple/win32 \ -+ -I$(top_srcdir)/pidgin/win32 -+endif -diff -aurN 000/source/pidgin/plugins/win32/Makefile.am 001/source/pidgin/plugins/win32/Makefile.am ---- 000/source/pidgin/plugins/win32/Makefile.am -+++ 001/source/pidgin/plugins/win32/Makefile.am -@@ -0,0 +1,9 @@ -+DIST_SUBDIRS = transparency winprefs -+ -+if OS_WIN32 -+SUBDIRS = $(DIST_SUBDIRS) -+endif -+ -+EXTRA_DIST = \ -+ Makefile.mingw -+ -diff -aurN 000/source/pidgin/plugins/win32/transparency/Makefile.am 001/source/pidgin/plugins/win32/transparency/Makefile.am ---- 000/source/pidgin/plugins/win32/transparency/Makefile.am -+++ 001/source/pidgin/plugins/win32/transparency/Makefile.am -@@ -0,0 +1,31 @@ -+EXTRA_DIST = \ -+ Makefile.mingw \ -+ win2ktrans.c -+ -+if OS_WIN32 -+plugindir = $(libdir)/purple-$(PURPLE_MAJOR_VERSION) -+ -+win2ktrans_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) -+ -+if PLUGINS -+ -+plugin_LTLIBRARIES = win2ktrans.la -+ -+win2ktrans_la_SOURCES = \ -+ win2ktrans.c -+ -+win2ktrans_la_LIBADD = $(GTK_LIBS) $(PURPLE_LIBS) $(PIDGIN_LIBS) -+ -+endif -+ -+AM_CPPFLAGS = \ -+ -DPURPLE_DATADIR=\"$(datadir)\" \ -+ -I$(top_srcdir)/libpurple \ -+ -I$(top_builddir)/libpurple \ -+ -I$(top_srcdir)/pidgin \ -+ -I$(top_srcdir)/libpurple/win32 \ -+ -I$(top_srcdir)/pidgin/win32 \ -+ $(DEBUG_CFLAGS) \ -+ $(GTK_CFLAGS) -+ -+endif -diff -aurN 000/source/pidgin/plugins/win32/winprefs/gtkappbar.c 001/source/pidgin/plugins/win32/winprefs/gtkappbar.c ---- 000/source/pidgin/plugins/win32/winprefs/gtkappbar.c -+++ 001/source/pidgin/plugins/win32/winprefs/gtkappbar.c -@@ -27,6 +27,7 @@ - * - Move 'App on top' feature from Trans plugin to here - * - Bug: Multiple Show/Hide Desktop calls causes client area to disappear - */ -+#define WINVER 0x500 - #include - #include - #include -diff -aurN 000/source/pidgin/plugins/win32/winprefs/Makefile.am 001/source/pidgin/plugins/win32/winprefs/Makefile.am ---- 000/source/pidgin/plugins/win32/winprefs/Makefile.am -+++ 001/source/pidgin/plugins/win32/winprefs/Makefile.am -@@ -0,0 +1,35 @@ -+EXTRA_DIST = \ -+ gtkappbar.c \ -+ gtkappbar.h \ -+ winprefs.c \ -+ Makefile.mingw -+ -+if OS_WIN32 -+plugindir = $(libdir)/purple-$(PURPLE_MAJOR_VERSION) -+ -+winprefs_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) -+ -+if PLUGINS -+ -+plugin_LTLIBRARIES = winprefs.la -+ -+winprefs_la_SOURCES = \ -+ gtkappbar.c \ -+ gtkappbar.h \ -+ winprefs.c -+ -+winprefs_la_LIBADD = $(GTK_LIBS) $(PURPLE_LIBS) $(PIDGIN_LIBS) -+ -+endif -+ -+AM_CPPFLAGS = \ -+ -DPURPLE_DATADIR=\"$(datadir)\" \ -+ -I$(top_srcdir)/libpurple \ -+ -I$(top_builddir)/libpurple \ -+ -I$(top_srcdir)/pidgin \ -+ -I$(top_srcdir)/libpurple/win32 \ -+ -I$(top_srcdir)/pidgin/win32 \ -+ $(DEBUG_CFLAGS) \ -+ $(GTK_CFLAGS) -+ -+endif -diff -aurN 000/source/pidgin/win32/gtkwin32dep.h 001/source/pidgin/win32/gtkwin32dep.h ---- 000/source/pidgin/win32/gtkwin32dep.h -+++ 001/source/pidgin/win32/gtkwin32dep.h -@@ -25,6 +25,10 @@ - #include - #include - #include "conversation.h" -+#include "win32dep.h" -+ -+#undef PIDGIN_LIBDIR -+#define PIDGIN_LIBDIR PURPLE_LIBDIR - - HINSTANCE winpidgin_dll_hinstance(void); - HINSTANCE winpidgin_exe_hinstance(void); -diff -aurN 000/source/pidgin/win32/MinimizeToTray.c 001/source/pidgin/win32/MinimizeToTray.c ---- 000/source/pidgin/win32/MinimizeToTray.c -+++ 001/source/pidgin/win32/MinimizeToTray.c -@@ -14,7 +14,7 @@ - * - * Copyright 2000 Matthew Ellis - */ --#define _WIN32_WINNT 0x0500 -+#define _WIN32_WINNT 0x0501 - #include - #include "MinimizeToTray.h" - -diff -aurN 000/source/pidgin/win32/pidgin_exe_rc.rc.in 001/source/pidgin/win32/pidgin_exe_rc.rc.in ---- 000/source/pidgin/win32/pidgin_exe_rc.rc.in -+++ 001/source/pidgin/win32/pidgin_exe_rc.rc.in -@@ -7,8 +7,8 @@ - CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "pidgin.manifest.xml" - - VS_VERSION_INFO VERSIONINFO -- FILEVERSION PURPLE_MAJOR_VERSION,PURPLE_MINOR_VERSION,PURPLE_MICRO_VERSION,0 -- PRODUCTVERSION PURPLE_MAJOR_VERSION,PURPLE_MINOR_VERSION,PURPLE_MICRO_VERSION,0 -+ FILEVERSION @PURPLE_MAJOR_VERSION@,@PURPLE_MINOR_VERSION@,@PURPLE_MICRO_VERSION@,0 -+ PRODUCTVERSION @PURPLE_MAJOR_VERSION@,@PURPLE_MINOR_VERSION@,@PURPLE_MICRO_VERSION@,0 - FILEFLAGSMASK 0 - FILEFLAGS 0 - FILEOS VOS__WINDOWS32 -diff -aurN 000/source/pidgin/win32/winpidgin.c 001/source/pidgin/win32/winpidgin.c ---- 000/source/pidgin/win32/winpidgin.c -+++ 001/source/pidgin/win32/winpidgin.c -@@ -321,11 +321,19 @@ - posix = L"sr@Latn"; break; - case SUBLANG_SERBIAN_CYRILLIC: - posix = L"sr"; break; -+/* for some reason mingw-w64 doesn't have these definitions yet */ -+#ifdef SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC - case SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC: -+ posix = L"bs"; break; -+#endif -+#ifdef SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN - case SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN: - posix = L"bs"; break; -+#endif -+#ifdef SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN - case SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN: - posix = L"hr"; break; -+#endif - } - break; - case LANG_SWEDISH: posix = L"sv"; break; -@@ -734,7 +742,7 @@ - return 0; - - /* Now we are ready for Pidgin .. */ -- wcscat(pidgin_dir, L"\\pidgin.dll"); -+ wcscat(pidgin_dir, L"\\libpidgin.dll"); - if ((hmod = LoadLibraryW(pidgin_dir))) - pidgin_main = (LPFNPIDGINMAIN) GetProcAddress(hmod, "pidgin_main"); - -@@ -747,7 +755,7 @@ - BOOL mod_not_found = (dw == ERROR_MOD_NOT_FOUND || dw == ERROR_DLL_NOT_FOUND); - const wchar_t *err_msg = get_win32_error_message(dw); - -- _snwprintf(errbuf, 512, L"Error loading pidgin.dll.\nError: (%u) %s%s%s", -+ _snwprintf(errbuf, 512, L"Error loading libpidgin.dll.\nError: (%u) %s%s%s", - (UINT) dw, err_msg, - mod_not_found ? L"\n" : L"", - mod_not_found ? L"This probably means that GTK+ can't be found." : L""); diff --git a/mingw-w64-pidgin++/002-autotools-and-fhs-pidgin++.patch b/mingw-w64-pidgin++/002-autotools-and-fhs-pidgin++.patch deleted file mode 100644 index 382770e688..0000000000 --- a/mingw-w64-pidgin++/002-autotools-and-fhs-pidgin++.patch +++ /dev/null @@ -1,189 +0,0 @@ -diff -aurN 001/source/finch/finch.c 002/source/finch/finch.c ---- 001/source/finch/finch.c -+++ 002/source/finch/finch.c -@@ -377,7 +377,7 @@ - purple_idle_set_ui_ops(finch_idle_get_ui_ops()); - - plugin_search_path_add_user_directories(); -- purple_plugins_add_search_path(LIBDIR); -+ purple_plugins_add_search_path(FINCH_LIBDIR); - - if (!purple_core_init(FINCH_UI)) - { -diff -aurN 001/source/pidgin/gtkmain.c 002/source/pidgin/gtkmain.c ---- 001/source/pidgin/gtkmain.c -+++ 002/source/pidgin/gtkmain.c -@@ -807,7 +807,7 @@ - * in user's home directory. - */ - plugin_search_path_add_user_directories(); -- purple_plugins_add_search_path(LIBDIR); -+ purple_plugins_add_search_path(PIDGIN_LIBDIR); - - if (!purple_core_init(PIDGIN_UI)) { - fprintf(stderr, -diff -aurN 001/source/pidgin/Makefile.am 002/source/pidgin/Makefile.am ---- 001/source/pidgin/Makefile.am -+++ 002/source/pidgin/Makefile.am -@@ -7,19 +7,8 @@ - data/pidgin.desktop.in \ - data/pidgin.pc.in \ - data/pidgin-uninstalled.pc.in \ -- win32/MinimizeToTray.h \ -- win32/MinimizeToTray.c \ - win32/pidgin_dll_rc.rc.in \ - win32/pidgin_exe_rc.rc.in \ -- win32/gtkdocklet-win32.c \ -- win32/gtkwin32dep.c \ -- win32/gtkwin32dep.h \ -- win32/resource.h \ -- win32/untar.c \ -- win32/untar.h \ -- win32/winpidgin.c \ -- win32/wspell.c \ -- win32/wspell.h \ - win32/nsis/integrate_gtk.sh \ - win32/nsis/rpm2zip.sh \ - win32/nsis/pixmaps/pidgin-header.bmp \ -diff -aurN 001/source/pidgin/plugins/Makefile.am 002/source/pidgin/plugins/Makefile.am ---- 001/source/pidgin/plugins/Makefile.am -+++ 002/source/pidgin/plugins/Makefile.am -@@ -27,28 +27,33 @@ - $(MUSICMESSAGING_DIR) \ - $(PERL_DIR) \ - disco \ -- ticker -+ ticker \ -+ win32 - -+if OS_WIN32 -+plugindir = $(libdir)/purple-$(PURPLE_MAJOR_VERSION) -+else - plugindir = $(libdir)/pidgin -+endif - --convcolors_la_LDFLAGS = -module -avoid-version --contact_priority_la_LDFLAGS = -module -avoid-version --extplacement_la_LDFLAGS = -module -avoid-version --gtk_signals_test_la_LDFLAGS = -module -avoid-version --gtkbuddynote_la_LDFLAGS = -module -avoid-version --history_la_LDFLAGS = -module -avoid-version --iconaway_la_LDFLAGS = -module -avoid-version --markerline_la_LDFLAGS = -module -avoid-version --notify_la_LDFLAGS = -module -avoid-version --pidginrc_la_LDFLAGS = -module -avoid-version --sendbutton_la_LDFLAGS = -module -avoid-version --spellchk_la_LDFLAGS = -module -avoid-version --themeedit_la_LDFLAGS = -module -avoid-version --timestamp_la_LDFLAGS = -module -avoid-version --timestamp_format_la_LDFLAGS = -module -avoid-version --unity_la_LDFLAGS = -module -avoid-version --vvconfig_la_LDFLAGS = -module -avoid-version --xmppconsole_la_LDFLAGS = -module -avoid-version -+convcolors_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) -+contact_priority_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) -+extplacement_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) -+gtk_signals_test_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) -+gtkbuddynote_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) -+history_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) -+iconaway_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) -+markerline_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) -+notify_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) -+pidginrc_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) -+sendbutton_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) -+spellchk_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) -+themeedit_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) -+timestamp_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) -+timestamp_format_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) -+unity_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) -+vvconfig_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) -+xmppconsole_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) - - if PLUGINS - -@@ -99,41 +104,34 @@ - vvconfig_la_SOURCES = vvconfig.c - xmppconsole_la_SOURCES = xmppconsole.c - --convcolors_la_LIBADD = $(GTK_LIBS) --contact_priority_la_LIBADD = $(GTK_LIBS) --extplacement_la_LIBADD = $(GTK_LIBS) --gtk_signals_test_la_LIBADD = $(GTK_LIBS) --gtkbuddynote_la_LIBADD = $(GTK_LIBS) --history_la_LIBADD = $(GTK_LIBS) --iconaway_la_LIBADD = $(GTK_LIBS) --markerline_la_LIBADD = $(GTK_LIBS) --notify_la_LIBADD = $(GTK_LIBS) --pidginrc_la_LIBADD = $(GTK_LIBS) --sendbutton_la_LIBADD = $(GTK_LIBS) --spellchk_la_LIBADD = $(GTK_LIBS) --themeedit_la_LIBADD = $(GTK_LIBS) --timestamp_la_LIBADD = $(GTK_LIBS) --timestamp_format_la_LIBADD = $(GTK_LIBS) --unity_la_LIBADD = $(GTK_LIBS) $(UNITY_LIBS) --vvconfig_la_LIBADD = $(GTK_LIBS) $(GSTREAMER_LIBS) --xmppconsole_la_LIBADD = $(GTK_LIBS) -+convcolors_la_LIBADD = $(GTK_LIBS) $(PIDGIN_LIBS) -+contact_priority_la_LIBADD = $(GTK_LIBS) $(PIDGIN_LIBS) -+extplacement_la_LIBADD = $(GTK_LIBS) $(PIDGIN_LIBS) -+gtk_signals_test_la_LIBADD = $(GTK_LIBS) $(PIDGIN_LIBS) -+gtkbuddynote_la_LIBADD = $(GTK_LIBS) $(PIDGIN_LIBS) -+history_la_LIBADD = $(GTK_LIBS) $(PIDGIN_LIBS) -+iconaway_la_LIBADD = $(GTK_LIBS) $(PIDGIN_LIBS) -+markerline_la_LIBADD = $(GTK_LIBS) $(PIDGIN_LIBS) -+notify_la_LIBADD = $(GTK_LIBS) $(PIDGIN_LIBS) -+pidginrc_la_LIBADD = $(GTK_LIBS) $(PIDGIN_LIBS) -+sendbutton_la_LIBADD = $(GTK_LIBS) $(PIDGIN_LIBS) -+spellchk_la_LIBADD = $(GTK_LIBS) $(PIDGIN_LIBS) -+themeedit_la_LIBADD = $(GTK_LIBS) $(PIDGIN_LIBS) -+timestamp_la_LIBADD = $(GTK_LIBS) $(PIDGIN_LIBS) -+timestamp_format_la_LIBADD = $(GTK_LIBS) $(PIDGIN_LIBS) -+unity_la_LIBADD = $(GTK_LIBS) $(UNITY_LIBS) $(PIDGIN_LIBS) -+vvconfig_la_LIBADD = $(GTK_LIBS) $(GSTREAMER_LIBS) $(PIDGIN_LIBS) -+xmppconsole_la_LIBADD = $(GTK_LIBS) $(PIDGIN_LIBS) - - endif # PLUGINS - - EXTRA_DIST = \ -- Makefile.mingw \ - mailchk.c \ - pidgininc.c \ -- raw.c \ -- win32/transparency/Makefile.mingw \ -- win32/transparency/win2ktrans.c \ -- win32/winprefs/gtkappbar.c \ -- win32/winprefs/gtkappbar.h \ -- win32/winprefs/Makefile.mingw \ -- win32/winprefs/winprefs.c -+ raw.c - - AM_CPPFLAGS = \ -- -DDATADIR=\"$(datadir)\" \ -+ -DPURPLE_DATADIR=\"$(datadir)\" \ - -I$(top_builddir)/libpurple \ - -I$(top_srcdir)/libpurple \ - -I$(top_srcdir)/pidgin \ -diff -aurN 001/source/pidgin/win32/gtkdocklet-win32.c 002/source/pidgin/win32/gtkdocklet-win32.c ---- 001/source/pidgin/win32/gtkdocklet-win32.c -+++ 002/source/pidgin/win32/gtkdocklet-win32.c -@@ -21,7 +21,7 @@ - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - * 02111-1301, USA. - */ --#define _WIN32_IE 0x0500 -+#define _WIN32_IE 0x0501 - #include "internal.h" - #include - #include -diff -aurN 001/source/pidgin/win32/pidgin_exe_rc.rc.in 002/source/pidgin/win32/pidgin_exe_rc.rc.in ---- 001/source/pidgin/win32/pidgin_exe_rc.rc.in -+++ 002/source/pidgin/win32/pidgin_exe_rc.rc.in -@@ -24,7 +24,7 @@ - VALUE "FileVersion", "@APPLICATION_VERSION@" - VALUE "InternalName", "pidgin" - VALUE "LegalCopyright", "Copyright (C) 1998-2015 The @APPLICATION_NAME@ developer community" -- VALUE "OriginalFilename", "@ORIGINAL_FILENAME@" -+ VALUE "OriginalFilename", "pidgin.exe" - VALUE "ProductName", "@APPLICATION_NAME@" - VALUE "ProductVersion", "@DISPLAY_VERSION_FULL@" - END diff --git a/mingw-w64-pidgin++/003-autotools-and-fhs-adaptation.patch b/mingw-w64-pidgin++/003-autotools-and-fhs-adaptation.patch deleted file mode 100644 index 29e38f697c..0000000000 --- a/mingw-w64-pidgin++/003-autotools-and-fhs-adaptation.patch +++ /dev/null @@ -1,140 +0,0 @@ -diff -aurN 002/source/configure.ac 003/source/configure.ac ---- 002/source/configure.ac -+++ 003/source/configure.ac -@@ -82,6 +82,8 @@ - PURPLE_MINOR_VERSION=purple_minor_version - PURPLE_MICRO_VERSION=purple_micro_version - PURPLE_VERSION=[purple_display_version] -+APPLICATION_VERSION=purple_display_version -+AC_SUBST(APPLICATION_VERSION) - AC_SUBST(PURPLE_MAJOR_VERSION) - AC_SUBST(PURPLE_MINOR_VERSION) - AC_SUBST(PURPLE_MICRO_VERSION) -@@ -406,10 +408,17 @@ - [extra version number to be displayed in Help->About and --help (for packagers)]), - EXTRA_VERSION=$withval) - -+DISPLAY_VERSION_FULL='purple_version_suffix' -+DISPLAY_VERSION_FULL="${DISPLAY_VERSION_FULL#-}" -+DISPLAY_VERSION="${DISPLAY_VERSION_FULL%.0}" -+AC_SUBST(DISPLAY_VERSION_FULL) -+ - if test x"$EXTRA_VERSION" != "x" ; then -- AC_DEFINE_UNQUOTED(DISPLAY_VERSION, "$VERSION-$EXTRA_VERSION", [display version info]) -+ AC_DEFINE_UNQUOTED(DISPLAY_VERSION, "$DISPLAY_VERSION-$EXTRA_VERSION", [display version info]) -+ AC_DEFINE_UNQUOTED(DISPLAY_VERSION_FULL, "$DISPLAY_VERSION_FULL-$EXTRA_VERSION", [display version info]) - else -- AC_DEFINE_UNQUOTED(DISPLAY_VERSION, "$VERSION", [display version info]) -+ AC_DEFINE_UNQUOTED(DISPLAY_VERSION, "$DISPLAY_VERSION", [display version info]) -+ AC_DEFINE_UNQUOTED(DISPLAY_VERSION_FULL, "$DISPLAY_VERSION_FULL", [display version info]) - fi - - AC_ARG_ENABLE(missing-dependencies, [AC_HELP_STRING([--disable-missing-dependencies], -diff -aurN 002/source/libpurple/plugins/Makefile.am 003/source/libpurple/plugins/Makefile.am ---- 002/source/libpurple/plugins/Makefile.am -+++ 003/source/libpurple/plugins/Makefile.am -@@ -31,6 +31,7 @@ - debug_example_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) - helloworld_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) - idle_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) -+irchelper_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) - joinpart_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) - log_reader_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) - newline_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) -@@ -52,6 +53,7 @@ - autoaccept.la \ - buddynote.la \ - idle.la \ -+ irchelper.la \ - joinpart.la \ - log_reader.la \ - newline.la \ -@@ -78,6 +80,7 @@ - debug_example_la_SOURCES = debug_example.c - helloworld_la_SOURCES = helloworld.c - idle_la_SOURCES = idle.c -+irchelper_la_SOURCES = irchelper.c - joinpart_la_SOURCES = joinpart.c - log_reader_la_SOURCES = log_reader.c - newline_la_SOURCES = newline.c -@@ -96,6 +99,7 @@ - ciphertest_la_LIBADD = $(GLIB_LIBS) $(PURPLE_LIBS) - codeinline_la_LIBADD = $(GLIB_LIBS) $(PURPLE_LIBS) - idle_la_LIBADD = $(GLIB_LIBS) $(PURPLE_LIBS) -+irchelper_la_LIBADD = $(GLIB_LIBS) $(PURPLE_LIBS) - joinpart_la_LIBADD = $(GLIB_LIBS) $(PURPLE_LIBS) - log_reader_la_LIBADD = $(GLIB_LIBS) $(PURPLE_LIBS) - newline_la_LIBADD = $(GLIB_LIBS) $(PURPLE_LIBS) -diff -aurN 002/source/pidgin/Makefile.am 003/source/pidgin/Makefile.am ---- 002/source/pidgin/Makefile.am -+++ 003/source/pidgin/Makefile.am -@@ -176,7 +176,10 @@ - $(GTKSPELL_LIBS) \ - $(LIBXML_LIBS) \ - $(GTK_LIBS) \ -- $(top_builddir)/libpurple/libpurple.la -+ $(top_builddir)/libpurple/libpurple.la \ -+ -lwinsparkle \ -+ -lcomctl32 \ -+ -lexchndl - - if OS_WIN32 - lib_LTLIBRARIES = libpidgin.la -@@ -198,12 +201,12 @@ - libpidgin_la_LIBADD = $(common_LDADD) -lz -lwinmm -lgdi32 - - pidgin_LDFLAGS = -mwindows --pidgin_LDADD = -+pidgin_LDADD = -lexchndl - - .rc.o: - $(WINDRES) $^ -o $@ - %.o : %.rc -- $(WINDRES) -I$(top_srcdir)/pidgin -I$(top_srcdir)/pidgin/win32 -I$(top_srcdir)/libpurple -i $< -o $@ -+ $(WINDRES) -I$(top_srcdir)/pidgin -I$(top_srcdir)/pidgin/win32 -I$(top_srcdir)/libpurple -I$(top_srcdir)/libpurple/win32 $(shell pkg-config --cflags-only-I gtk+-2.0) -i $< -o $@ - - else - pidgin_SOURCES = \ -@@ -217,6 +220,7 @@ - endif - - AM_CPPFLAGS = \ -+ -DBUILD_DATE=\"$(shell date +%Y%m%d)\" \ - -DPURPLE_DATADIR=\"$(datadir)\" \ - -DPIDGIN_LIBDIR=\"$(libdir)/pidgin/\" \ - -DLOCALEDIR=\"$(datadir)/locale\" \ -diff -aurN 002/source/pidgin/plugins/Makefile.am 003/source/pidgin/plugins/Makefile.am ---- 002/source/pidgin/plugins/Makefile.am -+++ 003/source/pidgin/plugins/Makefile.am -@@ -43,6 +43,7 @@ - gtkbuddynote_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) - history_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) - iconaway_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) -+ircaway_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) - markerline_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) - notify_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) - pidginrc_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) -@@ -63,6 +64,7 @@ - gtkbuddynote.la \ - history.la \ - iconaway.la \ -+ ircaway.la \ - markerline.la \ - notify.la \ - pidginrc.la \ -@@ -92,6 +94,7 @@ - gtkbuddynote_la_SOURCES = gtkbuddynote.c - history_la_SOURCES = history.c - iconaway_la_SOURCES = iconaway.c -+ircaway_la_SOURCES = ircaway.c - markerline_la_SOURCES = markerline.c - notify_la_SOURCES = notify.c - pidginrc_la_SOURCES = pidginrc.c -@@ -111,6 +114,7 @@ - gtkbuddynote_la_LIBADD = $(GTK_LIBS) $(PIDGIN_LIBS) - history_la_LIBADD = $(GTK_LIBS) $(PIDGIN_LIBS) - iconaway_la_LIBADD = $(GTK_LIBS) $(PIDGIN_LIBS) -+ircaway_la_LIBADD = $(GTK_LIBS) $(PIDGIN_LIBS) - markerline_la_LIBADD = $(GTK_LIBS) $(PIDGIN_LIBS) - notify_la_LIBADD = $(GTK_LIBS) $(PIDGIN_LIBS) - pidginrc_la_LIBADD = $(GTK_LIBS) $(PIDGIN_LIBS) diff --git a/mingw-w64-pidgin++/004-build-fixes.patch b/mingw-w64-pidgin++/004-build-fixes.patch deleted file mode 100644 index 0a292b1af2..0000000000 --- a/mingw-w64-pidgin++/004-build-fixes.patch +++ /dev/null @@ -1,82 +0,0 @@ -diff -aurN 003/source/configure.ac 004/source/configure.ac ---- 003/source/configure.ac -+++ 004/source/configure.ac -@@ -703,7 +703,7 @@ - if test "x$enable_consoleui" = "xyes"; then - dnl # Some distros put the headers in ncursesw/, some don't - found_ncurses_h=no -- for location in $ac_ncurses_includes $NCURSES_HEADERS /usr/include/ncursesw /usr/include -+ for location in $ac_ncurses_includes $NCURSES_HEADERS ${prefix}/include/ncursesw ${prefix}/include - do - f="$location/ncurses.h" - orig_CFLAGS="$CFLAGS" -@@ -809,11 +809,11 @@ - [AC_HELP_STRING([--disable-gstreamer], [compile without GStreamer audio support])], - enable_gst="$enableval", enable_gst="yes") - if test "x$enable_gst" != "xno"; then -- PKG_CHECK_MODULES(GSTREAMER, [gstreamer-0.10], [ -+ PKG_CHECK_MODULES(GSTREAMER, [gstreamer-1.0], [ - AC_DEFINE(USE_GSTREAMER, 1, [Use GStreamer for playing sounds]) - AC_SUBST(GSTREAMER_CFLAGS) - AC_SUBST(GSTREAMER_LIBS) -- AC_CHECK_LIB(gstreamer-0.10, gst_registry_fork_set_enabled, -+ AC_CHECK_LIB(gstreamer-1.0, gst_registry_fork_set_enabled, - [ AC_DEFINE(GST_CAN_DISABLE_FORKING, [], - [Define if gst_registry_fork_set_enabled exists])], - [], [$GSTREAMER_LIBS]) -diff -aurN 003/source/libpurple/dbus-server.h 004/source/libpurple/dbus-server.h ---- 003/source/libpurple/dbus-server.h -+++ 004/source/libpurple/dbus-server.h -@@ -199,7 +199,9 @@ - - */ - -+#ifndef HAVE_DBUS - #define DBUS_EXPORT -+#endif - - /* - Here we include the list of #PURPLE_DBUS_DECLARE_TYPE statements for -diff -aurN 003/source/pidgin/Makefile.am 004/source/pidgin/Makefile.am ---- 003/source/pidgin/Makefile.am -+++ 004/source/pidgin/Makefile.am -@@ -194,10 +194,10 @@ - win32/gtkdocklet-win32.c \ - win32/gtkwin32dep.c \ - win32/untar.c \ -- win32/wspell.c \ -- win32/pidgin_dll_rc.rc -+ win32/wspell.c - --libpidgin_la_LDFLAGS = $(AVOID_VERSION) $(NO_UNDEFINED) -+libpidgin_la_DEPENDENCIES = win32/pidgin_dll_rc.o -+libpidgin_la_LDFLAGS = $(AVOID_VERSION) $(NO_UNDEFINED) -Wl,win32/pidgin_dll_rc.o - libpidgin_la_LIBADD = $(common_LDADD) -lz -lwinmm -lgdi32 - - pidgin_LDFLAGS = -mwindows -diff -aurN 003/source/pidgin/plugins/musicmessaging/Makefile.am 004/source/pidgin/plugins/musicmessaging/Makefile.am ---- 003/source/pidgin/plugins/musicmessaging/Makefile.am -+++ 004/source/pidgin/plugins/musicmessaging/Makefile.am -@@ -7,7 +7,7 @@ - musicmessagingdir = $(libdir)/pidgin - endif - --musicmessaging_la_LDFLAGS = -module -avoid-version -+musicmessaging_la_LDFLAGS = -module -avoid-version -no-undefined - - if PLUGINS - if ENABLE_DBUS -diff -aurN 003/source/pidgin/win32/pidgin_dll_rc.rc.in 004/source/pidgin/win32/pidgin_dll_rc.rc.in ---- 003/source/pidgin/win32/pidgin_dll_rc.rc.in -+++ 004/source/pidgin/win32/pidgin_dll_rc.rc.in -@@ -4,8 +4,8 @@ - #include "pidgin.h" - - VS_VERSION_INFO VERSIONINFO -- FILEVERSION PURPLE_MAJOR_VERSION,PURPLE_MINOR_VERSION,PURPLE_MICRO_VERSION,0 -- PRODUCTVERSION PURPLE_MAJOR_VERSION,PURPLE_MINOR_VERSION,PURPLE_MICRO_VERSION,0 -+ FILEVERSION @PURPLE_MAJOR_VERSION@,@PURPLE_MINOR_VERSION@,@PURPLE_MICRO_VERSION@,0 -+ PRODUCTVERSION @PURPLE_MAJOR_VERSION@,@PURPLE_MINOR_VERSION@,@PURPLE_MICRO_VERSION@,0 - FILEFLAGSMASK 0 - FILEFLAGS 0 - FILEOS VOS__WINDOWS32 diff --git a/mingw-w64-pidgin++/005-fix-save-suffix.patch b/mingw-w64-pidgin++/005-fix-save-suffix.patch deleted file mode 100644 index 5dc8da1305..0000000000 --- a/mingw-w64-pidgin++/005-fix-save-suffix.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -aurN 004/source/libpurple/util.c 005/source/libpurple/util.c ---- 004/source/libpurple/util.c -+++ 005/source/libpurple/util.c -@@ -2719,7 +2719,7 @@ - g_free(filename_temp); - return FALSE; - } --#ifndef __COVERITY__ -+#if !defined(__COVERITY__) && !defined(_WIN32) - /* Use stat to be absolutely sure. - * It causes TOCTOU coverity warning (against g_rename below), - * but it's not a threat for us. diff --git a/mingw-w64-pidgin++/006-gtk-customizations.patch b/mingw-w64-pidgin++/006-gtk-customizations.patch deleted file mode 100644 index 2e74b4feb1..0000000000 --- a/mingw-w64-pidgin++/006-gtk-customizations.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff -aurN 005/source/pidgin/win32/gtkwin32dep.c 006/source/pidgin/win32/gtkwin32dep.c ---- 005/source/pidgin/win32/gtkwin32dep.c -+++ 006/source/pidgin/win32/gtkwin32dep.c -@@ -393,6 +393,7 @@ - void winpidgin_init(HINSTANCE hint) { - gchar *debug_dir, *locale_debug_dir; - INITCOMMONCONTROLSEX icc; -+ GtkSettings *settings; - - purple_debug_info("winpidgin", "winpidgin_init start\n"); - -@@ -401,6 +402,10 @@ - icc.dwICC = ICC_STANDARD_CLASSES; - InitCommonControlsEx(&icc); - -+ /* Set GTK+ theme */ -+ settings = gtk_settings_get_default(); -+ gtk_settings_set_string_property(settings, "gtk-theme-name", APPLICATION_NAME, NULL); -+ - exe_hInstance = hint; - debug_dir = g_build_filename(purple_user_dir(), "pidgin.rpt", NULL); - locale_debug_dir = g_locale_from_utf8(debug_dir, -1, NULL, NULL, NULL); diff --git a/mingw-w64-pidgin++/PKGBUILD b/mingw-w64-pidgin++/PKGBUILD deleted file mode 100644 index 945a7861f7..0000000000 --- a/mingw-w64-pidgin++/PKGBUILD +++ /dev/null @@ -1,152 +0,0 @@ -# Maintainer: Renato Silva -# Contributor: Zach Bacon <11doctorwhocanada@gmail.com> - -_realname='pidgin++' -pkgbase="mingw-w64-${_realname}" -pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=15.1 -pkgrel=2 -pkgdesc='An improved version of Pidgin (mingw-w64)' -url='https://pidgin.renatosilva.net/' -license=(GPL2 partial:'GPL2+') # GPL2+, but Novell and SILC are GPL2-only -arch=('any') - -options=(!libtool strip staticlibs) -source=(${_realname}_${pkgver}.zip::"https://launchpad.net/${_realname}/trunk/${pkgver}/+download/Pidgin++%20${pkgver}%20Source.zip" - 001-autotools-and-fhs-pidgin.patch - 002-autotools-and-fhs-pidgin++.patch - 003-autotools-and-fhs-adaptation.patch - 004-build-fixes.patch - 005-fix-save-suffix.patch - 006-gtk-customizations.patch) -sha256sums=('9c19ffbbc3d31c7bb33cc765b734bf58b3a8a0e0b97f9750358e0ccc0fa730e9' - 'f73f7df412985b2d759f0efbbd817b02f2a283c350be9e22d0f5c9b6ee4593c1' - '2af6a6267db17a4d4b9b72da1ed345848c85d3822c984cc3e3b0d3c2a2af82b6' - '350f60efa7b09c6f2a97b21d24fb3e40531022e2c3739657fead7ff9fdec4260' - '020e5ade9001da1df5e62330dd49e02de011497552636faf6b626de8ed2f0ff6' - 'bf587810750a4f0c54a692994f5eff369cd0afd026a6f7efbda7595f64a63de6' - '2545720a791ec20ca4e49a24a6771fa58d8170b6c33a22b35fb4fcc9ce73ec1b') - -conflicts=(${MINGW_PACKAGE_PREFIX}-pidgin) -provides=(${MINGW_PACKAGE_PREFIX}-pidgin - ${MINGW_PACKAGE_PREFIX}-libpurple) -depends=(${MINGW_PACKAGE_PREFIX}-adwaita-icon-theme - ${MINGW_PACKAGE_PREFIX}-ca-certificates - #${MINGW_PACKAGE_PREFIX}-cyrus-sasl - #${MINGW_PACKAGE_PREFIX}-dbus - ${MINGW_PACKAGE_PREFIX}-drmingw - #${MINGW_PACKAGE_PREFIX}-farstream - ${MINGW_PACKAGE_PREFIX}-freetype - ${MINGW_PACKAGE_PREFIX}-fontconfig - ${MINGW_PACKAGE_PREFIX}-gettext - ${MINGW_PACKAGE_PREFIX}-gnutls - ${MINGW_PACKAGE_PREFIX}-gsasl - ${MINGW_PACKAGE_PREFIX}-gst-plugins-base - ${MINGW_PACKAGE_PREFIX}-gst-plugins-good - ${MINGW_PACKAGE_PREFIX}-gtk2 - ${MINGW_PACKAGE_PREFIX}-gtkspell - ${MINGW_PACKAGE_PREFIX}-libgadu - ${MINGW_PACKAGE_PREFIX}-libidn - #${MINGW_PACKAGE_PREFIX}-libxml2 - ${MINGW_PACKAGE_PREFIX}-meanwhile - #${MINGW_PACKAGE_PREFIX}-nspr - ${MINGW_PACKAGE_PREFIX}-nss - ${MINGW_PACKAGE_PREFIX}-ncurses - ${MINGW_PACKAGE_PREFIX}-silc-toolkit - ${MINGW_PACKAGE_PREFIX}-winsparkle - ${MINGW_PACKAGE_PREFIX}-zlib) -makedepends=(gtk-doc rsync easyoptions - #${MINGW_PACKAGE_PREFIX}-dbus-glib - ${MINGW_PACKAGE_PREFIX}-doxygen - ${MINGW_PACKAGE_PREFIX}-gcc - ${MINGW_PACKAGE_PREFIX}-pkg-config - ${MINGW_PACKAGE_PREFIX}-python2 - ${MINGW_PACKAGE_PREFIX}-xmlstarlet) - -_get_string_macro() { - local -n nameref_macro="${2}" - nameref_macro="$(grep --extended-regexp "#define\s+${2}\s" ${1})" - nameref_macro="${nameref_macro#*\"}" - nameref_macro="${nameref_macro%\"*}" -} - -prepare() { - cd "${srcdir}/${_realname}_${pkgver}" - - # From https://build.opensuse.org/package/view_file/windows:mingw:win32/mingw32-pidgin/pidgin-2.10.11-autotools.patch - rm -f source/pidgin/plugins/win32/Makefile.am - rm -f source/pidgin/plugins/win32/transparency/Makefile.am - rm -f source/pidgin/plugins/win32/winprefs/Makefile.am - patch -p1 < "${srcdir}/001-autotools-and-fhs-pidgin.patch" - patch -p1 < "${srcdir}/002-autotools-and-fhs-pidgin++.patch" - - patch -p1 < "${srcdir}/003-autotools-and-fhs-adaptation.patch" - patch -p1 < "${srcdir}/004-build-fixes.patch" - patch -p1 < "${srcdir}/005-fix-save-suffix.patch" - patch -p1 < "${srcdir}/006-gtk-customizations.patch" - - cd source - libtoolize --force --copy --install - autoreconf -f -i -} - -build() { - msg2 'Synchronizing build directory' - rsync --recursive --times "${srcdir}/${_realname}_${pkgver}/source"/* "${srcdir}/${_realname}_${pkgver}.build.${CARCH}" - cd "${srcdir}/${_realname}_${pkgver}.build.${CARCH}" - - case "${CARCH}" in - x86_64) APPLICATION_BITNESS='64' ;; - i686) APPLICATION_BITNESS='32' ;; - *) APPLICATION_BITNESS='BITNESS' - esac - _get_string_macro 'libpurple/internal.h' APPLICATION_NAME - _get_string_macro 'libpurple/internal.h' APPLICATION_WEBSITE - - sed -i "s#env python#env python2#" */plugins/*.py - sed -i "s#env python#env python2#" libpurple/purple-{remote,notifications-example,url-handler} - sed -i "s/@APPLICATION_BITNESS@/${APPLICATION_BITNESS:-bitness}/g" */win32/*.rc.in - sed -i "s/@APPLICATION_WEBSITE@/${APPLICATION_WEBSITE//\//\\\/}/g" */win32/*.rc.in - sed -i "s/@APPLICATION_NAME@/${APPLICATION_NAME}/g" */win32/*.rc.in - - CPPFLAGS+=' -DENABLE_UPDATE_CHECK' - CPPFLAGS+=' -D_WIN32_WINNT=0x501 -DHAVE_GETADDRINFO' # Enable IPv6 - - INTLTOOL_PERL=/usr/bin/perl ./configure \ - --prefix=${MINGW_PREFIX} \ - --build=${MINGW_CHOST} \ - --host=${MINGW_CHOST} \ - --sysconfdir=${MINGW_PREFIX}/etc \ - --with-python=${MINGW_PREFIX}/bin/python2 \ - --with-system-ssl-certs=${MINGW_PREFIX}/ssl/certs \ - --without-x \ - --disable-avahi \ - --disable-schemas-install \ - --disable-screensaver \ - --disable-perl \ - --disable-tcl \ - --disable-tk \ - --disable-sm \ - --disable-nm \ - --disable-vv \ - --disable-dbus \ - #--enable-cyrus-sasl - - make -} - -package() { - cd "${srcdir}/${_realname}_${pkgver}.build.${CARCH}" - make DESTDIR="${pkgdir}" install - install -Dm644 COPYING "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/COPYING" - - # GTK+ customizations - cp -r "${srcdir}/${_realname}_${pkgver}/source/pidgin/win32/gtk"/* "${pkgdir}${MINGW_PREFIX}" - cd "${pkgdir}${MINGW_PREFIX}/share/themes" - mv MS-Windows "${APPLICATION_NAME}" - - # Changelog - mkdir -p "${pkgdir}${MINGW_PREFIX}/share/doc/${_realname}" - cd "${pkgdir}${MINGW_PREFIX}/share/doc/${_realname}" - "${srcdir}/${_realname}_${pkgver}/build/changelog.sh" --html --screenshot-prefix '../../' --output 'CHANGELOG.html' -} From 8aab56d6ff170657cf0f4a74940875cf574b4f47 Mon Sep 17 00:00:00 2001 From: Jannick Date: Sat, 5 Sep 2020 11:12:18 +0200 Subject: [PATCH 108/130] openal(1.20.1): add run-time dependency Add run-time dependency to libmysofa.dll (required by makemhr.exe). --- mingw-w64-openal/PKGBUILD | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/mingw-w64-openal/PKGBUILD b/mingw-w64-openal/PKGBUILD index 1c79d92413..e59f1d12b5 100644 --- a/mingw-w64-openal/PKGBUILD +++ b/mingw-w64-openal/PKGBUILD @@ -4,11 +4,12 @@ _realname=openal pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" pkgver=1.20.1 -pkgrel=1 +pkgrel=2 pkgdesc="OpenAL audio library for use with opengl (mingw-w64)" arch=('any') url="https://github.com/kcat/openal-soft" license=('GPL2') +depends=("${MINGW_PACKAGE_PREFIX}-libmysofa") makedepends=("${MINGW_PACKAGE_PREFIX}-gcc" "${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-fluidsynth" @@ -59,7 +60,7 @@ build() { [[ -d "${srcdir}"/static-${MINGW_CHOST} ]] && rm -rf ${srcdir}/static-${MINGW_CHOST} mkdir -p "${srcdir}/static-${MINGW_CHOST}" && cd "${srcdir}/static-${MINGW_CHOST}" - + # enabling utilities on static causes an undefined reference error. DXSDK_DIR=${MINGW_PREFIX}/${MINGW_CHOST} \ MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \ From 82e4bfb9962ca9bf39741f3b9097bb0a4b208191 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Sat, 5 Sep 2020 13:29:17 +0200 Subject: [PATCH 109/130] gtk3: update to 3.24.23 --- mingw-w64-gtk3/PKGBUILD | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mingw-w64-gtk3/PKGBUILD b/mingw-w64-gtk3/PKGBUILD index a21bc76cef..b3ddc71c07 100644 --- a/mingw-w64-gtk3/PKGBUILD +++ b/mingw-w64-gtk3/PKGBUILD @@ -3,7 +3,7 @@ _realname=gtk3 pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=3.24.22 +pkgver=3.24.23 pkgrel=1 pkgdesc="GObject-based multi-platform GUI toolkit (v3) (mingw-w64)" arch=('any') @@ -35,7 +35,7 @@ source=("https://download.gnome.org/sources/gtk+/${pkgver%.*}/gtk+-${pkgver}.tar "gtk-query-immodules-3.0.hook.in" "gtk-update-icon-cache.hook.in" "gtk-update-icon-cache.script.in") -sha256sums=('bf18a4a5dff28a7b02aaef1b949c2d09c96c18387eddab152bb4cd55a5b67dda' +sha256sums=('5d864d248357a2251545b3387b35942de5f66e4c66013f0962eb5cb6f8dae2b1' '5cdebb11098d241da955d4662904215275fa7a54d52877cc38c4ff4a3087fafd' 'b84a7f38f0af80680bee143d431f2a7bae53899efb337de0f67a1b4d9b59fa02' 'e553083298495f9581ae1454b1046a22b83e81862311b30de984057eec859708' From 71935b2eec8005a280dff14745a7768633dc3dfb Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Sat, 5 Sep 2020 14:28:43 +0200 Subject: [PATCH 110/130] gnupg: Update to 2.2.23 --- mingw-w64-gnupg/PKGBUILD | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mingw-w64-gnupg/PKGBUILD b/mingw-w64-gnupg/PKGBUILD index 3d049c7966..903b1cbb62 100644 --- a/mingw-w64-gnupg/PKGBUILD +++ b/mingw-w64-gnupg/PKGBUILD @@ -4,7 +4,7 @@ _realname=gnupg pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=2.2.20 +pkgver=2.2.23 pkgrel=1 pkgdesc="GNU Privacy Guard - a PGP replacement tool (mingw-w64)" arch=('any') @@ -32,7 +32,7 @@ source=(https://gnupg.org/ftp/gcrypt/gnupg/${_realname}-${pkgver}.tar.bz2{,.sig} 02-mingw-sysconfigdir-under-prefix.patch 03-ldap-libraries-check-order.patch 04-dos-extra-defs.patch) -sha256sums=('04a7c9d48b74c399168ee8270e548588ddbe52218c337703d7f06373d326ca30' +sha256sums=('10b55e49d78b3e49f1edb58d7541ecbdad92ddaeeb885b6f486ed23d1cd1da5c' 'SKIP' '592396d968353f991c879488b4b3e55a550873fa74703e08c7d28bb22241d8b9' 'a936d17a8dc60fb401db07d040e55e03ba382d5e38871d1b62f527b1aa458dc1' From a7ff81332115cec0d2ca40b058fc382a1864a521 Mon Sep 17 00:00:00 2001 From: Jannick Date: Sat, 5 Sep 2020 12:10:22 +0200 Subject: [PATCH 111/130] assimp(5.0.1): regenerate due to changed run-time dependency Dependency of assimp_viewer.exe to d3dx9_43.dll is expected to be linked statically. --- mingw-w64-assimp/PKGBUILD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mingw-w64-assimp/PKGBUILD b/mingw-w64-assimp/PKGBUILD index 2eeb1388b3..cd048e3308 100644 --- a/mingw-w64-assimp/PKGBUILD +++ b/mingw-w64-assimp/PKGBUILD @@ -4,7 +4,7 @@ _realname=assimp pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" pkgver=5.0.1 -pkgrel=2 +pkgrel=3 pkgdesc="Portable Open Source library to import various well-known 3D model formats in an uniform manner (mingw-w64)" arch=('any') license=('BSD') From 401f0e72683974463598b28a6ad46a16abd9c964 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Sat, 5 Sep 2020 14:54:41 +0200 Subject: [PATCH 112/130] libgpg-error: Update to 1.39 --- .../04-use-winpthreads.mingw.patch | 69 ------------------- .../09-fix-generating-union.patch | 31 --------- mingw-w64-libgpg-error/PKGBUILD | 11 +-- 3 files changed, 2 insertions(+), 109 deletions(-) delete mode 100644 mingw-w64-libgpg-error/04-use-winpthreads.mingw.patch delete mode 100644 mingw-w64-libgpg-error/09-fix-generating-union.patch diff --git a/mingw-w64-libgpg-error/04-use-winpthreads.mingw.patch b/mingw-w64-libgpg-error/04-use-winpthreads.mingw.patch deleted file mode 100644 index 450a0444e1..0000000000 --- a/mingw-w64-libgpg-error/04-use-winpthreads.mingw.patch +++ /dev/null @@ -1,69 +0,0 @@ ---- libgpg-error-1.13/configure.ac.orig 2014-04-15 12:25:16.000000000 +0000 -+++ libgpg-error-1.13/configure.ac 2014-05-02 23:52:02.087073700 +0000 -@@ -169,27 +169,8 @@ - - - # Check for thread library. --# --# Windows has always thread support; thus we don't bother to test for --# it as it may lead to false results when cross building. --if test "$have_w32_system" = yes; then -- AC_DEFINE([USE_WINDOWS_THREADS], [1]) -- LIBTHREAD= -- LTLIBTHREAD= -- LIBMULTITHREAD= -- LTLIBMULTITHREAD= -- THREADLIB_CPPFLAGS="" -- AC_SUBST([LIBTHREAD]) -- AC_SUBST([LTLIBTHREAD]) -- AC_SUBST([LIBMULTITHREAD]) -- AC_SUBST([LTLIBMULTITHREAD]) --else -- gl_LOCK -- if test "$gl_threads_api" = posix; then - AC_CHECK_SIZEOF(pthread_mutex_t,,[AC_INCLUDES_DEFAULT - #include ]) -- fi --fi - - - # Substitution used for gpg-error-config ---- libgpg-error-1.13/src/gen-posix-lock-obj.c.orig 2014-01-28 22:47:12.000000000 +0000 -+++ libgpg-error-1.13/src/gen-posix-lock-obj.c 2014-05-02 23:55:32.376277000 +0000 -@@ -21,10 +21,6 @@ - #include - #endif - --#ifdef HAVE_W32_SYSTEM --# error This module may not be build for Windows. --#endif -- - #include - #include - #include ---- libgpg-error-1.13/src/posix-lock.c.orig 2014-01-28 22:47:12.000000000 +0000 -+++ libgpg-error-1.13/src/posix-lock.c 2014-05-02 23:55:32.376277000 +0000 -@@ -25,10 +25,6 @@ - #include - #endif - --#ifdef HAVE_W32_SYSTEM --# error This module may not be build for Windows. --#endif -- - #include - #include - #include ---- libgpg-error-1.13/src/posix-thread.c.orig 2014-01-28 22:47:12.000000000 +0000 -+++ libgpg-error-1.13/src/posix-thread.c 2014-05-02 23:55:32.376277000 +0000 -@@ -25,10 +25,6 @@ - #include - #endif - --#ifdef HAVE_W32_SYSTEM --# error This module may not be build for Windows. --#endif -- - #include - #include - #include diff --git a/mingw-w64-libgpg-error/09-fix-generating-union.patch b/mingw-w64-libgpg-error/09-fix-generating-union.patch deleted file mode 100644 index 28f6130d19..0000000000 --- a/mingw-w64-libgpg-error/09-fix-generating-union.patch +++ /dev/null @@ -1,31 +0,0 @@ ---- libgpg-error-1.16/src/gen-w32-lock-obj.c.orig 2014-01-15 18:53:55.000000000 +0300 -+++ libgpg-error-1.16/src/gen-w32-lock-obj.c 2014-09-26 23:30:41.184111000 +0300 -@@ -39,17 +39,23 @@ - unsigned char *p; - int i; - -- printf ("sizeof CRITICAL_SECTION = %u\n", (int)sizeof (CRITICAL_SECTION)); -- printf ("sizeof _gpgrt_lock_t = %u\n", (int)sizeof lk); -- -+ printf ("#pragma pack(push, 8)\n" -+ "typedef struct\n" -+ "{\n" -+ " volatile char _priv[%d];\n" -+ "} gpgrt_lock_t;\n" -+ "#pragma pack(pop)\n", -+ sizeof lk); -+ - memset (&lk, 0, sizeof lk); - lk.vers = LOCK_ABI_VERSION; - lk.started = -1; -- printf ("#define GPGRT_LOCK_INITIALIZER {"); -+ -+ printf ("#define GPGRT_LOCK_INITIALIZER {{"); - p = (unsigned char *)&lk; - for (i=0; i < sizeof lk - 1; i++) - printf ("%u,", p[i]); -- printf ("%u}\n", p[sizeof(lk)-1]); -+ printf ("%u}}\n", p[sizeof(lk)-1]); - - return 0; - } diff --git a/mingw-w64-libgpg-error/PKGBUILD b/mingw-w64-libgpg-error/PKGBUILD index 2a4e9d546c..2988fdf8f9 100644 --- a/mingw-w64-libgpg-error/PKGBUILD +++ b/mingw-w64-libgpg-error/PKGBUILD @@ -3,7 +3,7 @@ _realname=libgpg-error pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=1.38 +pkgver=1.39 pkgrel=1 pkgdesc="Support library for libgcrypt (mingw-w64)" arch=('any') @@ -15,35 +15,28 @@ options=('staticlibs' 'strip') source=("https://gnupg.org/ftp/gcrypt/libgpg-error/${_realname}-${pkgver}.tar.bz2"{,.sig} 01-mingw32-fix-potomo.mingw.patch 02-fix-symbollist-on.mingw.patch - 04-use-winpthreads.mingw.patch 05-w32-gen.all.patch 07-windows-build.patch - 09-fix-generating-union.patch 10-gpg-error-static-linking.patch) #These might be signed by any of these keys https://gnupg.org/signature_key.html validpgpkeys=('D8692123C4065DEA5E0F3AB5249B39D24F25E3B6' '46CC730865BB5C78EBABADCF04376F3EE0856959' '031EC2536E580D8EA286A9F22071B08A33BD3F06' 'D238EA65D64C67ED4C3073F28A861B1C7EFD60D9') -sha256sums=('d8988275aa69d7149f931c10442e9e34c0242674249e171592b430ff7b3afd02' +sha256sums=('4a836edcae592094ef1c5a4834908f44986ab2b82e0824a0344b49df8cdb298f' 'SKIP' '252349e58d418adfec5621af1e09753db52b1bf39983aa3bc398d636afb9b495' '364da17febff3f6eeffee5a5f1e3ed1b644adeb5ca48a972c5c4675c10238a91' - '2bf2572ac0bada49b8947a842d99e2190acbe34badd73a629173fda757525edc' '9ccdc567810d58526888fd11c5f7d01101627011840b7b75a91e96aa9e71f49d' 'ab1d5e1a10d3803b2ae514aacba184c0bba019417bf9f7615243505455ffabb8' - '999a02c10a2f0c57520a009cebc2a4ea410aea53e2d457e074aa5dc4c877672b' '9780e3e397b983ef52d5dae22d54c4453a47bddf04eafa2f874c75038e3485eb') prepare() { cd "${srcdir}/${_realname}-${pkgver}" patch -p1 -i ${srcdir}/01-mingw32-fix-potomo.mingw.patch patch -p1 -i ${srcdir}/02-fix-symbollist-on.mingw.patch - #patch -p1 -i ${srcdir}/03-fix-config-on.mingw.patch - #patch -p1 -i ${srcdir}/04-use-winpthreads.mingw.patch patch -p1 -i ${srcdir}/05-w32-gen.all.patch patch -p1 -i ${srcdir}/07-windows-build.patch - #patch -p1 -i ${srcdir}/09-fix-generating-union.patch patch -p1 -i ${srcdir}/10-gpg-error-static-linking.patch autoreconf -fi } From 685e2efbb46b2c29c77d5b52ecaa7b0c8bd083ef Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Sat, 5 Sep 2020 14:55:13 +0200 Subject: [PATCH 113/130] gnutls: Update to 3.6.15 --- .../0006-fix-ncrypt-bcrypt-linking.patch | 94 ------------------- mingw-w64-gnutls/PKGBUILD | 12 +-- 2 files changed, 4 insertions(+), 102 deletions(-) delete mode 100644 mingw-w64-gnutls/0006-fix-ncrypt-bcrypt-linking.patch diff --git a/mingw-w64-gnutls/0006-fix-ncrypt-bcrypt-linking.patch b/mingw-w64-gnutls/0006-fix-ncrypt-bcrypt-linking.patch deleted file mode 100644 index d19639aea4..0000000000 --- a/mingw-w64-gnutls/0006-fix-ncrypt-bcrypt-linking.patch +++ /dev/null @@ -1,94 +0,0 @@ -From b47e28afa5c0ee9a7fe1dff907f7eb99511b35c7 Mon Sep 17 00:00:00 2001 -From: Steve Lhomme -Date: Sat, 6 Jun 2020 14:05:16 +0200 -Subject: [PATCH] Merge the extra libraries to link dynamically in - GNUTLS_LIBS_PRIVATE - -This should fix #1020 where bcrypt is missing from thirdparty_libadd. - -Ultimately it would be good to add libraries that always need to be linked in -one variable that is shared between the Makefile and the pkg-config file. - -Signed-off-by: Steve Lhomme ---- - configure.ac | 12 ++++++------ - lib/Makefile.am | 2 +- - lib/gnutls.pc.in | 2 +- - 3 files changed, 8 insertions(+), 8 deletions(-) - -diff --git a/configure.ac b/configure.ac -index d59553b6a1..74278d5689 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -120,8 +120,7 @@ case "$host" in - *mingw32* | *mingw64*) - have_win=yes - AC_DEFINE([_UNICODE], [1], [Defined to 1 for Unicode (wide chars) APIs]) -- LIB_CRYPT32="-lcrypt32" -- AC_SUBST([LIB_CRYPT32]) -+ GNUTLS_LIBS_PRIVATE="${GNUTLS_LIBS_PRIVATE} -lcrypt32" - AC_PREPROC_IFELSE([AC_LANG_PROGRAM( - [[#include - #if defined(_WIN32_WINNT) && _WIN32_WINNT >= 0x0600 -@@ -135,9 +134,8 @@ case "$host" in - if test "x$enable_dyn_ncrypt" = "xyes"; then - AC_DEFINE([DYN_NCRYPT], 1, [Dynamic use of ncrypt API (win32)]) - else -- LIBNCRYPT="-lncrypt" -+ GNUTLS_LIBS_PRIVATE="${GNUTLS_LIBS_PRIVATE} -lncrypt" - fi -- AC_SUBST([LIBNCRYPT]) - ;; - *darwin*) - have_macosx=yes -@@ -601,11 +599,12 @@ fi - AM_CONDITIONAL(HAVE_LIBIDN2, test "$with_libidn2" != "no") - - if test "x$have_vista_dynamic" = "xno"; then -- AC_CHECK_TYPES([BCRYPT_ALG_HANDLE],[LIBBCRYPT="-lbcrypt"],[],[#include -+ AC_CHECK_TYPES([BCRYPT_ALG_HANDLE],[ -+ GNUTLS_LIBS_PRIVATE="${GNUTLS_LIBS_PRIVATE} -lbcrypt" -+ ],[],[#include - #include ]) - fi - AM_CONDITIONAL(HAVE_BCRYPT, test "$ac_cv_type_BCRYPT_ALG_HANDLE" = "yes") --AC_SUBST([LIBBCRYPT]) - - AC_ARG_ENABLE(non-suiteb-curves, - AS_HELP_STRING([--disable-non-suiteb-curves], [disable curves not in SuiteB]), -@@ -937,6 +936,7 @@ AC_CHECK_SIZEOF(time_t, 4) - # export for use in scripts - AC_SUBST(ac_cv_sizeof_time_t) - -+AC_SUBST(GNUTLS_LIBS_PRIVATE) - AC_SUBST(GNUTLS_REQUIRES_PRIVATE) - - -diff --git a/lib/Makefile.am b/lib/Makefile.am -index f55f298f7b..fa47ac5e62 100644 ---- a/lib/Makefile.am -+++ b/lib/Makefile.am -@@ -151,7 +151,7 @@ libgnutls_la_LIBADD = ../gl/libgnu.la x509/libgnutls_x509.la \ - auth/libgnutls_auth.la algorithms/libgnutls_alg.la \ - extras/libgnutls_extras.la - thirdparty_libadd = $(LTLIBZ) $(LTLIBINTL) $(LIBSOCKET) $(LTLIBNSL) \ -- $(P11_KIT_LIBS) $(LIB_SELECT) $(LIB_CRYPT32) -+ $(P11_KIT_LIBS) $(LIB_SELECT) $(GNUTLS_LIBS_PRIVATE) - - if HAVE_LIBIDN2 - thirdparty_libadd += $(LIBIDN2_LIBS) -diff --git a/lib/gnutls.pc.in b/lib/gnutls.pc.in -index 0ed41e2ddd..7cdedda5d7 100644 ---- a/lib/gnutls.pc.in -+++ b/lib/gnutls.pc.in -@@ -19,6 +19,6 @@ Description: Transport Security Layer implementation for the GNU system - URL: https://www.gnutls.org/ - Version: @VERSION@ - Libs: -L${libdir} -lgnutls --Libs.private: @LIBINTL@ @LIBSOCKET@ @INET_PTON_LIB@ @LIBPTHREAD@ @LIB_SELECT@ @TSS_LIBS@ @GMP_LIBS@ @LIBUNISTRING@ @LIBATOMIC_LIBS@ @LIB_CRYPT32@ @LIBNCRYPT@ @LIBBCRYPT@ -+Libs.private: @LIBINTL@ @LIBSOCKET@ @INET_PTON_LIB@ @LIBPTHREAD@ @LIB_SELECT@ @TSS_LIBS@ @GMP_LIBS@ @LIBUNISTRING@ @LIBATOMIC_LIBS@ @GNUTLS_LIBS_PRIVATE@ - @GNUTLS_REQUIRES_PRIVATE@ - Cflags: -I${includedir} --- -2.26.2 - diff --git a/mingw-w64-gnutls/PKGBUILD b/mingw-w64-gnutls/PKGBUILD index 3fdb94ef29..dc9bd65892 100644 --- a/mingw-w64-gnutls/PKGBUILD +++ b/mingw-w64-gnutls/PKGBUILD @@ -3,7 +3,7 @@ _realname=gnutls pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -_pkgver=3.6.14 +_pkgver=3.6.15 pkgver=${_pkgver} pkgrel=1 pkgdesc="A library which provides a secure layer over a reliable transport layer (mingw-w64)" @@ -28,15 +28,13 @@ source=(https://www.gnupg.org/ftp/gcrypt/gnutls/v${_pkgver%.*}/${_realname}-${pk 0001-add-missing-define.patch 0003-gnutls-fix-external-libtasn1-detection.patch 0004-disable-broken-examples.patch - 0005-remove-coverage-rules.patch - 0006-fix-ncrypt-bcrypt-linking.patch) -sha256sums=('5630751adec7025b8ef955af4d141d00d252a985769f51b4059e5affa3d39d63' + 0005-remove-coverage-rules.patch) +sha256sums=('0ea8c3283de8d8335d7ae338ef27c53a916f15f382753b174c18b45ffd481558' 'SKIP' 'fe1d9df924f72ec82972df328467591e49fe82feacebaf2605d37cc059c5429e' '6493f69e782d60fe04de4b0040987e99851c522d0baf2fe25d10b85b63e97863' 'cbf9e59fb2432d4ac1edcb70734023e074b8058fa4c010a036a40de8449f67fb' - '10ea5a84459af8d848788cc8871decd3b3cdd542b829883ebe4f6ec28d60578f' - '33498061ad943439a9a372d77d6e7aa6c618a3f61f766e9931960bfa07188a20') + '10ea5a84459af8d848788cc8871decd3b3cdd542b829883ebe4f6ec28d60578f') validpgpkeys=('0424D4EE81A0E3D119C6F835EDA21E94B565716F') # "Simon Josefsson " validpgpkeys+=('1F42418905D8206AA754CCDC29EE58B996865171') # "Nikos Mavrogiannopoulos validpgpkeys+=('462225C3B46F34879FC8496CD605848ED7E69871') # "Daiki Ueno " @@ -47,8 +45,6 @@ prepare() { patch -p1 -i ${srcdir}/0003-gnutls-fix-external-libtasn1-detection.patch patch -p1 -i ${srcdir}/0004-disable-broken-examples.patch patch -p1 -i ${srcdir}/0005-remove-coverage-rules.patch - # https://gitlab.com/gnutls/gnutls/-/merge_requests/1280 - patch -p1 -i ${srcdir}/0006-fix-ncrypt-bcrypt-linking.patch WANT_AUTOMAKE=latest autoreconf -fiv -I m4 } From a2e01841f11edcef7e1ddc57bf7b3ba350919ffd Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Sat, 5 Sep 2020 14:55:44 +0200 Subject: [PATCH 114/130] libgcrypt: Update to 1.8.6 --- mingw-w64-libgcrypt/PKGBUILD | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mingw-w64-libgcrypt/PKGBUILD b/mingw-w64-libgcrypt/PKGBUILD index e2bd4c5dc9..a90ae0019f 100644 --- a/mingw-w64-libgcrypt/PKGBUILD +++ b/mingw-w64-libgcrypt/PKGBUILD @@ -4,7 +4,7 @@ _realname=libgcrypt pkgbase="mingw-w64-${_realname}" pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=1.8.5 +pkgver=1.8.6 pkgrel=1 pkgdesc="General purpose cryptographic library based on the code from GnuPG (mingw-w64)" arch=('any') @@ -21,7 +21,7 @@ validpgpkeys=('D8692123C4065DEA5E0F3AB5249B39D24F25E3B6' '46CC730865BB5C78EBABADCF04376F3EE0856959' '031EC2536E580D8EA286A9F22071B08A33BD3F06' 'D238EA65D64C67ED4C3073F28A861B1C7EFD60D9') -sha256sums=('3b4a2a94cb637eff5bdebbcaf46f4d95c4f25206f459809339cdada0eb577ac3' +sha256sums=('0cba2700617b99fc33864a0c16b1fa7fdf9781d9ed3509f5d767178e5fd7b975' 'SKIP' '55cf915badebb4b3cfa671eea725aebb77be791aa39a19caef090ded4f38d8eb' 'd6855fc9b7a3a7fa440be1d9ae3477f8c08524d1aab1a8c7bb26d62b55382f72') From 5f229c66e2f14a67b5d0d30ae973590a8d774a3c Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Sat, 5 Sep 2020 15:11:35 +0200 Subject: [PATCH 115/130] gpgme: Update to 1.14.0 --- mingw-w64-gpgme/0008-no-py2.patch | 10 +++++----- mingw-w64-gpgme/PKGBUILD | 8 ++++---- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/mingw-w64-gpgme/0008-no-py2.patch b/mingw-w64-gpgme/0008-no-py2.patch index 049b05b1a0..0bc7b0ad42 100644 --- a/mingw-w64-gpgme/0008-no-py2.patch +++ b/mingw-w64-gpgme/0008-no-py2.patch @@ -1,11 +1,11 @@ ---- gpgme-1.13.1/configure.ac.orig 2019-12-10 09:13:40.267700900 +0100 -+++ gpgme-1.13.1/configure.ac 2019-12-10 09:20:25.726331800 +0100 -@@ -423,7 +423,7 @@ +--- gpgme-1.14.0/configure.ac.orig 2020-09-05 15:02:43.720753300 +0200 ++++ gpgme-1.14.0/configure.ac 2020-09-05 15:03:38.558261200 +0200 +@@ -425,7 +425,7 @@ if test "$found_py" = "1" -o "$found_py3" = "1"; then # Reset everything, so that we can look for another Python. m4_foreach([mym4pythonver], -- [[2.7],[3.4],[3.5],[3.6],[3.7],[3.8],[all]], -+ [[3.4],[3.5],[3.6],[3.7],[3.8],[all]], +- [[2.7],[3.4],[3.5],[3.6],[3.7],[3.8],[3.9],[all]], ++ [[3.4],[3.5],[3.6],[3.7],[3.8],[3.9],[all]], [unset PYTHON unset PYTHON_VERSION unset PYTHON_CPPFLAGS diff --git a/mingw-w64-gpgme/PKGBUILD b/mingw-w64-gpgme/PKGBUILD index d0367c4755..49e4b90b5c 100644 --- a/mingw-w64-gpgme/PKGBUILD +++ b/mingw-w64-gpgme/PKGBUILD @@ -5,8 +5,8 @@ _realname=gpgme pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=1.13.1 -pkgrel=4 +pkgver=1.14.0 +pkgrel=1 pkgdesc="A C wrapper library for GnuPG (mingw-w64)" arch=('any') url="https://gnupg.org/related_software/gpgme/" @@ -35,13 +35,13 @@ validpgpkeys=('D8692123C4065DEA5E0F3AB5249B39D24F25E3B6' '46CC730865BB5C78EBABADCF04376F3EE0856959' '031EC2536E580D8EA286A9F22071B08A33BD3F06' 'D238EA65D64C67ED4C3073F28A861B1C7EFD60D9') -sha256sums=('c4e30b227682374c23cddc7fdb9324a99694d907e79242a25a4deeedb393be46' +sha256sums=('cef1f710a6b0d28f5b44242713ad373702d1466dcbe512eb4e754d7f35cd4307' 'SKIP' '71763a209761afe6495d3d85e25bbe6ba76348450d426f8a2618a34a264e058a' '2389cc237bf860b961bf3519377e83f7678e657dcf28c33510cd155f80516d42' 'b56fe3e3da872ca84d08b4aa426e6f71b3227e2a253bc45bf6023abf1288ecc9' '393c89dfc707a4982ab297196b00b5b7e1b8af7ee5bfc02846800c5ca3608891' - '923a972c161f93f9d19f13314edff23a141600cf71a1b574f87000e0e8aa8a3c' + 'd421cd1a4cdd7a011954c60cbc80e68b42b7fd014f1685aabd33217f3bd23de3' '32465eb5f99015d06a0b89c30c69a7c4208ab32c287275b729cf9bec08c4474c' '0a98bbfeff6643aa7195b3f5c87feab9ea8b329adfb65c2339e72f4fbb98523c' 'd09070c005b72e8aed14a848553f7c7289353ff7f32e62c9013a729ba46d7117') From a8d8c16c3c4f0d8df59bb1b54ec3e9241e9fec59 Mon Sep 17 00:00:00 2001 From: ofry Date: Sun, 6 Sep 2020 04:09:11 +0300 Subject: [PATCH 116/130] Don't try open("", RD_ONLY) at all. Signed-off-by: ofry --- ...pen-file-through-native-windows-path.patch | 28 +++++++++++-------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/mingw-w64-bmake/0005-fallback-open-file-through-native-windows-path.patch b/mingw-w64-bmake/0005-fallback-open-file-through-native-windows-path.patch index fd60ed4141..0c0b89212b 100644 --- a/mingw-w64-bmake/0005-fallback-open-file-through-native-windows-path.patch +++ b/mingw-w64-bmake/0005-fallback-open-file-through-native-windows-path.patch @@ -1,27 +1,33 @@ diff --git a/parse.c b/parse.c -index a996c49..851e4db 100644 +index a996c49..ecc84ea 100644 --- a/parse.c +++ b/parse.c -@@ -2279,6 +2279,18 @@ Parse_include_file(char *file, Boolean isSystem, Boolean depinc, int silent) +@@ -2279,8 +2279,21 @@ Parse_include_file(char *file, Boolean isSystem, Boolean depinc, int silent) /* Actually open the file... */ +#if (defined _WIN32 && ! defined __CYGWIN__) -+ char *error; ++ const char *error; ++ char *windowsFullName; fd = open(fullname, O_RDONLY); if (fd == -1) { - if (!silent) -+ fd = open(Cmd_Exec(getWindowsPathCmd(fullname), &error), O_RDONLY); +- Parse_Error(PARSE_FATAL, "Cannot open %s", fullname); +- free(fullname); +- return; ++ windowsFullName = Cmd_Exec(getWindowsPathCmd(fullname), &error); ++ if (windowsFullName && strlen(windowsFullName) > 0) { ++ fd = open(windowsFullName, O_RDONLY); ++ } + } +#else + fd = open(fullname, O_RDONLY); +#endif + if (fd == -1) { -+ if (!silent) { - Parse_Error(PARSE_FATAL, "Cannot open %s", fullname); -+#if (defined _WIN32 && ! defined __CYGWIN__) -+ Parse_Error(PARSE_FATAL, "Cannot open %s", Cmd_Exec(getWindowsPathCmd(fullname), &error)); -+#endif -+ } - free(fullname); ++ if (!silent) { ++ Parse_Error(PARSE_FATAL, "Cannot open %s", fullname); ++ } ++ free(fullname); ++ return; + } diff --git a/util.c b/util.c index 25f4f5e..7fd2768 100644 --- a/util.c From ab2da3553ae2a6712662edce547114afcd9020b4 Mon Sep 17 00:00:00 2001 From: Virgil ZU Date: Sun, 6 Sep 2020 14:23:17 +0800 Subject: [PATCH 117/130] change apr_ssize_t format "lld" to "I64d" --- mingw-w64-apr/PKGBUILD | 3 ++- mingw-w64-apr/apr_ssize_t.patch | 8 ++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/mingw-w64-apr/PKGBUILD b/mingw-w64-apr/PKGBUILD index 0d6eeba030..8433f75e49 100644 --- a/mingw-w64-apr/PKGBUILD +++ b/mingw-w64-apr/PKGBUILD @@ -9,6 +9,7 @@ pkgdesc="The Apache Portable Runtime (mingw-w64)" arch=('any') url="https://apr.apache.org/" license=('APACHE') +validpgpkeys=('B1B96F45DFBDCCF974019235193F180AB55D9977') makedepends=("${MINGW_PACKAGE_PREFIX}-gcc" "${MINGW_PACKAGE_PREFIX}-libtool" "${MINGW_PACKAGE_PREFIX}-python") @@ -17,7 +18,7 @@ source=(https://www.apache.org/dist/apr/${_realname}-${pkgver}.tar.bz2{,.asc} 'apr_wtypes.patch') sha256sums=('a67ca9fcf9c4ff59bce7f428a323c8b5e18667fdea7b0ebad47d194371b0a105' 'SKIP' - 'cd75b79706dceba2af20f9e9a2d05032eacaf6f04edecb3a21f11594c0ccee4b' + 'ba7d6de7e7930801df483d444b97c159af4ff11b4ce27e1337aea5e0417e6066' 'b82dd98ec8cff2273fb071dc9f1d2ee7466905c9b82a12d3d83ce1cb5920a5d6') prepare() { diff --git a/mingw-w64-apr/apr_ssize_t.patch b/mingw-w64-apr/apr_ssize_t.patch index 5cb261b909..addf78098a 100644 --- a/mingw-w64-apr/apr_ssize_t.patch +++ b/mingw-w64-apr/apr_ssize_t.patch @@ -7,8 +7,8 @@ Index: configure.in ssize_t_fmt="ld" AC_MSG_RESULT(%ld) +elif test "$ac_cv_sizeof_ssize_t" = "$ac_cv_sizeof_long_long"; then -+ ssize_t_fmt="lld" -+ AC_MSG_RESULT(%lld) ++ ssize_t_fmt="I64d" ++ AC_MSG_RESULT(%I64d) else AC_ERROR([could not determine the proper format for apr_ssize_t]) fi @@ -17,8 +17,8 @@ Index: configure.in size_t_fmt="ld" AC_MSG_RESULT(%ld) +elif test "$ac_cv_sizeof_size_t" = "$ac_cv_sizeof_long_long"; then -+ size_t_fmt="lld" -+ AC_MSG_RESULT(%lld) ++ size_t_fmt="I64d" ++ AC_MSG_RESULT(%I64d) else AC_ERROR([could not determine the proper format for apr_size_t]) fi From 3f90b33e89de9c927cee327a8f7339dfb7d97d3c Mon Sep 17 00:00:00 2001 From: Virgil-Zu Date: Sun, 6 Sep 2020 15:37:34 +0800 Subject: [PATCH 118/130] sha256 of apr_ssize_t.patch --- mingw-w64-apr/PKGBUILD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mingw-w64-apr/PKGBUILD b/mingw-w64-apr/PKGBUILD index 8433f75e49..d871dd3d9d 100644 --- a/mingw-w64-apr/PKGBUILD +++ b/mingw-w64-apr/PKGBUILD @@ -4,7 +4,7 @@ _realname=apr pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" pkgver=1.6.5 -pkgrel=2 +pkgrel=3 pkgdesc="The Apache Portable Runtime (mingw-w64)" arch=('any') url="https://apr.apache.org/" From 95e836743bef8f403da631b2eb2bf70af9b95917 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Sun, 6 Sep 2020 10:36:52 +0200 Subject: [PATCH 119/130] apr: remove signature, too old --- mingw-w64-apr/PKGBUILD | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/mingw-w64-apr/PKGBUILD b/mingw-w64-apr/PKGBUILD index d871dd3d9d..6e52f48a48 100644 --- a/mingw-w64-apr/PKGBUILD +++ b/mingw-w64-apr/PKGBUILD @@ -13,11 +13,10 @@ validpgpkeys=('B1B96F45DFBDCCF974019235193F180AB55D9977') makedepends=("${MINGW_PACKAGE_PREFIX}-gcc" "${MINGW_PACKAGE_PREFIX}-libtool" "${MINGW_PACKAGE_PREFIX}-python") -source=(https://www.apache.org/dist/apr/${_realname}-${pkgver}.tar.bz2{,.asc} +source=(https://www.apache.org/dist/apr/${_realname}-${pkgver}.tar.bz2 'apr_ssize_t.patch' 'apr_wtypes.patch') sha256sums=('a67ca9fcf9c4ff59bce7f428a323c8b5e18667fdea7b0ebad47d194371b0a105' - 'SKIP' 'ba7d6de7e7930801df483d444b97c159af4ff11b4ce27e1337aea5e0417e6066' 'b82dd98ec8cff2273fb071dc9f1d2ee7466905c9b82a12d3d83ce1cb5920a5d6') From f9998d1c7a7f2720678a6c61c0270eacde00e935 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Sun, 6 Sep 2020 11:22:18 +0200 Subject: [PATCH 120/130] libgd: fix gd format support --- mingw-w64-libgd/PKGBUILD | 12 +++++++++--- mingw-w64-libgd/upstream-622.patch | 27 +++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 3 deletions(-) create mode 100644 mingw-w64-libgd/upstream-622.patch diff --git a/mingw-w64-libgd/PKGBUILD b/mingw-w64-libgd/PKGBUILD index 5590d647d5..87de9f666a 100644 --- a/mingw-w64-libgd/PKGBUILD +++ b/mingw-w64-libgd/PKGBUILD @@ -4,7 +4,7 @@ _realname=libgd pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" pkgver=2.3.0 -pkgrel=1 +pkgrel=2 pkgdesc="GD is an open source code library for the dynamic creation of images by programmers (mingw-w64)" arch=('any') url="https://libgd.github.io/" @@ -25,11 +25,13 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-gcc" source=("${_realname}-${pkgver}.tar.gz"::"https://github.com/libgd/libgd/releases/download/gd-${pkgver}/${_realname}-${pkgver}.tar.gz" "libgd-export-pkg-config-build-in-subdirs.patch" "mingw-replace-posix_memalign.patch" - "mingw-getline-link.patch") + "mingw-getline-link.patch" + "upstream-622.patch") sha256sums=('32590e361a1ea6c93915d2448ab0041792c11bae7b18ee812514fe08b2c6a342' 'ac2786835434b05c72bd826d0cff5e7346b4bd01e78fa22d8b0bea7720c369d2' 'c3e69c7e59c280e5cc561c984c906b5cfa5ee56aff0b173c0febfdbf90cb048f' - 'b52ec6485d43b511b9b399cda41fc85d5f15f5ebccad1dfc76bb89b451aae512') + 'b52ec6485d43b511b9b399cda41fc85d5f15f5ebccad1dfc76bb89b451aae512' + 'cfa9ce3683c744d92158f639cf275126b03298a8365b4b46026825045c2db4fb') prepare() { cd "${srcdir}/${_realname}-${pkgver}" @@ -40,6 +42,9 @@ prepare() { patch -Nbp1 -i "${srcdir}/libgd-export-pkg-config-build-in-subdirs.patch" patch -Nbp1 -i "${srcdir}/mingw-replace-posix_memalign.patch" patch -Nbp1 -i "${srcdir}/mingw-getline-link.patch" + + # https://github.com/libgd/libgd/pull/622 + patch -Nbp1 -i "${srcdir}/upstream-622.patch" } build() { @@ -60,6 +65,7 @@ build() { -DENABLE_FREETYPE=ON \ -DENABLE_WEBP=ON \ -DENABLE_LIQ=ON \ + -DENABLE_GD_FORMATS=ON \ -DXPM_XPM_INCLUDE_DIR="${MINGW_PREFIX}/include/X11" \ -DWEBP_INCLUDE_DIR="${MINGW_PREFIX}/include/webp/" \ -DLIQ_INCLUDE_DIR="${MINGW_PREFIX}/include/libimagequant" \ diff --git a/mingw-w64-libgd/upstream-622.patch b/mingw-w64-libgd/upstream-622.patch new file mode 100644 index 0000000000..d477a9ba08 --- /dev/null +++ b/mingw-w64-libgd/upstream-622.patch @@ -0,0 +1,27 @@ +From 03529794c6e16e14b11430f38d5552dcf06d4b85 Mon Sep 17 00:00:00 2001 +From: willson-chen +Date: Fri, 10 Apr 2020 15:24:09 +0800 +Subject: [PATCH] src/config.h.cmake: replace #cmakedefine01 with #define in + macro ENABLE_GD_FOORMATS + +Although we have a document describ the avaiable options +are ENABLE_XXX=1/0, there must some one are familar with +ENABLE_XXX=ON/OF. If ENABLE_GD_FORMATS=ON is used, it will +result that GD formats is not enabled actually. +--- + src/config.h.cmake | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/config.h.cmake b/src/config.h.cmake +index 54f3a528..836be470 100644 +--- a/src/config.h.cmake ++++ b/src/config.h.cmake +@@ -4,7 +4,7 @@ + #cmakedefine BGDWIN32 + + /* Whether to support gd image formats */ +-#define ENABLE_GD_FORMATS @ENABLE_GD_FORMATS@ ++#cmakedefine01 ENABLE_GD_FORMATS + + /* Define to 1 if you have the header file. */ + #cmakedefine HAVE_DIRENT_H From a59d7a471b9d7d08d60b73656da064b896dda078 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Sun, 6 Sep 2020 11:25:53 +0200 Subject: [PATCH 121/130] libgd: switch to ninja --- mingw-w64-libgd/PKGBUILD | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/mingw-w64-libgd/PKGBUILD b/mingw-w64-libgd/PKGBUILD index 87de9f666a..4c822aabcf 100644 --- a/mingw-w64-libgd/PKGBUILD +++ b/mingw-w64-libgd/PKGBUILD @@ -4,7 +4,7 @@ _realname=libgd pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" pkgver=2.3.0 -pkgrel=2 +pkgrel=3 pkgdesc="GD is an open source code library for the dynamic creation of images by programmers (mingw-w64)" arch=('any') url="https://libgd.github.io/" @@ -21,7 +21,8 @@ depends=("${MINGW_PACKAGE_PREFIX}-libpng" "${MINGW_PACKAGE_PREFIX}-zlib") replaces=("${MINGW_PACKAGE_PREFIX}-gd") makedepends=("${MINGW_PACKAGE_PREFIX}-gcc" - "${MINGW_PACKAGE_PREFIX}-cmake") + "${MINGW_PACKAGE_PREFIX}-cmake" + "${MINGW_PACKAGE_PREFIX}-ninja") source=("${_realname}-${pkgver}.tar.gz"::"https://github.com/libgd/libgd/releases/download/gd-${pkgver}/${_realname}-${pkgver}.tar.gz" "libgd-export-pkg-config-build-in-subdirs.patch" "mingw-replace-posix_memalign.patch" @@ -53,7 +54,7 @@ build() { MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \ ${MINGW_PREFIX}/bin/cmake.exe \ - -G"MSYS Makefiles" \ + -GNinja \ -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ -DBUILD_{SHARED,STATIC}_LIBS=ON \ -DENABLE_FONTCONFIG=ON \ @@ -73,12 +74,13 @@ build() { -DFREETYPE_INCLUDE_DIRS="${MINGW_PREFIX}/include/freetype2" \ ../${_realname}-${pkgver} - make + ${MINGW_PREFIX}/bin/cmake --build ./ } package() { cd "${srcdir}/build-${MINGW_CHOST}" - make DESTDIR=${pkgdir} install + + DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/cmake --build ./ --target install local PREFIX_WIN=$(cygpath -wm ${MINGW_PREFIX}) files=("/lib/pkgconfig/gdlib.pc") From 92915415b880fca7fa36b8634d0fb9ca62aaf770 Mon Sep 17 00:00:00 2001 From: fauxpark Date: Sun, 6 Sep 2020 22:58:00 +1000 Subject: [PATCH 122/130] Update arm-none-eabi-gcc to 8.4.0 --- .../010-gcc-isl-0.13.patch | 424 ------------------ .../020-gcc-auto-host-screwup.patch | 10 - mingw-w64-arm-none-eabi-gcc/PKGBUILD | 187 ++++---- 3 files changed, 108 insertions(+), 513 deletions(-) delete mode 100644 mingw-w64-arm-none-eabi-gcc/010-gcc-isl-0.13.patch delete mode 100644 mingw-w64-arm-none-eabi-gcc/020-gcc-auto-host-screwup.patch diff --git a/mingw-w64-arm-none-eabi-gcc/010-gcc-isl-0.13.patch b/mingw-w64-arm-none-eabi-gcc/010-gcc-isl-0.13.patch deleted file mode 100644 index ee252e8aba..0000000000 --- a/mingw-w64-arm-none-eabi-gcc/010-gcc-isl-0.13.patch +++ /dev/null @@ -1,424 +0,0 @@ ---- gcc/graphite-clast-to-gimple.c.orig 2014-11-04 18:42:39.422980400 -0500 -+++ gcc/graphite-clast-to-gimple.c 2014-11-04 21:27:23.628640600 -0500 -@@ -28,6 +28,7 @@ - #include - #include - #include -+#include - #include - #include - #endif -@@ -851,18 +852,18 @@ - static void - compute_bounds_for_param (scop_p scop, int param, mpz_t low, mpz_t up) - { -- isl_int v; -+ isl_val *v; - isl_aff *aff = isl_aff_zero_on_domain - (isl_local_space_from_space (isl_set_get_space (scop->context))); - - aff = isl_aff_add_coefficient_si (aff, isl_dim_param, param, 1); - -- isl_int_init (v); -- isl_set_min (scop->context, aff, &v); -- isl_int_get_gmp (v, low); -- isl_set_max (scop->context, aff, &v); -- isl_int_get_gmp (v, up); -- isl_int_clear (v); -+ v = isl_set_min_val (scop->context, aff); -+ isl_val_get_num_gmp (v, low); -+ isl_val_free (v); -+ v = isl_set_max_val (scop->context, aff); -+ isl_val_get_num_gmp (v, up); -+ isl_val_free (v); - isl_aff_free (aff); - } - -@@ -881,8 +882,7 @@ - isl_set *domain; - isl_aff *dimension; - isl_local_space *local_space; -- isl_int isl_value; -- enum isl_lp_result lp_result; -+ isl_val *isl_value; - - domain = isl_set_copy (isl_set_from_cloog_domain (loop->domain)); - local_space = isl_local_space_from_space (isl_set_get_space (domain)); -@@ -891,17 +891,12 @@ - isl_set_dim (domain, isl_dim_set) - 1, - 1); - -- isl_int_init (isl_value); -- -- lp_result = isl_set_min (domain, dimension, &isl_value); -- assert (lp_result == isl_lp_ok); -- isl_int_get_gmp (isl_value, low); -- -- lp_result = isl_set_max (domain, dimension, &isl_value); -- assert (lp_result == isl_lp_ok); -- isl_int_get_gmp (isl_value, up); -- -- isl_int_clear (isl_value); -+ isl_value = isl_set_min_val (domain, dimension); -+ isl_val_get_num_gmp (isl_value, low); -+ isl_val_free (isl_value); -+ isl_value = isl_set_max_val (domain, dimension); -+ isl_val_get_num_gmp (isl_value, up); -+ isl_val_free (isl_value); - isl_set_free (domain); - isl_aff_free (dimension); - } ---- gcc/graphite-interchange.c.orig 2014-11-04 18:43:05.876102400 -0500 -+++ gcc/graphite-interchange.c 2014-11-04 21:27:23.618640600 -0500 -@@ -29,6 +29,7 @@ - #include - #include - #include -+#include - #include - #include - #endif -@@ -71,13 +72,13 @@ - isl_local_space *ls = isl_local_space_from_space (isl_map_get_space (map)); - unsigned offset, nsubs; - int i; -- isl_int size, subsize; -+ isl_ctx *ct; -+ -+ isl_val *size, *subsize, *size1; - - res = isl_equality_alloc (ls); -- isl_int_init (size); -- isl_int_set_ui (size, 1); -- isl_int_init (subsize); -- isl_int_set_ui (subsize, 1); -+ ct = isl_local_space_get_ctx (ls); -+ size = isl_val_int_from_ui (ct, 1); - - nsubs = isl_set_dim (pdr->extent, isl_dim_set); - /* -1 for the already included L dimension. */ -@@ -90,18 +91,17 @@ - isl_space *dc; - isl_aff *aff; - -- res = isl_constraint_set_coefficient (res, isl_dim_out, offset + i, size); -- -+ size1 = isl_val_copy (size); -+ res = isl_constraint_set_coefficient_val (res, isl_dim_out, offset + i, size); - dc = isl_set_get_space (pdr->extent); - aff = isl_aff_zero_on_domain (isl_local_space_from_space (dc)); - aff = isl_aff_set_coefficient_si (aff, isl_dim_in, i, 1); -- isl_set_max (pdr->extent, aff, &subsize); -+ subsize = isl_set_max_val (pdr->extent, aff); - isl_aff_free (aff); -- isl_int_mul (size, size, subsize); -+ size = isl_val_mul (size1, subsize); - } - -- isl_int_clear (subsize); -- isl_int_clear (size); -+ isl_val_free (size); - - return res; - } -@@ -118,7 +118,7 @@ - isl_aff *aff; - isl_space *dc; - isl_constraint *lma, *c; -- isl_int islstride; -+ isl_val *islstride; - graphite_dim_t time_depth; - unsigned offset, nt; - unsigned i; -@@ -231,10 +231,9 @@ - aff = isl_aff_zero_on_domain (isl_local_space_from_space (dc)); - aff = isl_aff_set_coefficient_si (aff, isl_dim_in, offset - 1, -1); - aff = isl_aff_set_coefficient_si (aff, isl_dim_in, offset + offset - 1, 1); -- isl_int_init (islstride); -- isl_set_max (set, aff, &islstride); -- isl_int_get_gmp (islstride, stride); -- isl_int_clear (islstride); -+ islstride = isl_set_max_val (set, aff); -+ isl_val_get_num_gmp (islstride, stride); -+ isl_val_free (islstride); - isl_aff_free (aff); - isl_set_free (set); - ---- gcc/graphite-optimize-isl.c.orig 2014-11-04 18:42:39.462980500 -0500 -+++ gcc/graphite-optimize-isl.c 2014-11-04 21:31:43.873183200 -0500 -@@ -252,6 +252,7 @@ - DimToVectorize can be devided by VectorWidth. The default VectorWidth is - currently constant and not yet target specific. This function does not reason - about parallelism. */ -+ - static isl_map * - getPrevectorMap(isl_ctx *ctx, int DimToVectorize, - int ScheduleDimensions, -@@ -265,8 +266,9 @@ - isl_aff *Aff; - int PointDimension; /* ip */ - int TileDimension; /* it */ -- isl_int VectorWidthMP; -+ isl_val *VectorWidthMP; - int i; -+ isl_ctx *ct; - - /* assert (0 <= DimToVectorize && DimToVectorize < ScheduleDimensions);*/ - -@@ -296,10 +298,10 @@ - Aff = isl_aff_zero_on_domain(LocalSpaceRange); - Aff = isl_aff_set_constant_si(Aff, VectorWidth); - Aff = isl_aff_set_coefficient_si(Aff, isl_dim_in, TileDimension, 1); -- isl_int_init(VectorWidthMP); -- isl_int_set_si(VectorWidthMP, VectorWidth); -- Aff = isl_aff_mod(Aff, VectorWidthMP); -- isl_int_clear(VectorWidthMP); -+ -+ ct = isl_aff_get_ctx(Aff); -+ VectorWidthMP = isl_val_int_from_si(ct, VectorWidth); -+ Aff = isl_aff_mod_val(Aff, VectorWidthMP); - Modulo = isl_pw_aff_zero_set(isl_pw_aff_from_aff(Aff)); - TilingMap = isl_map_intersect_range(TilingMap, Modulo); - -@@ -365,7 +367,7 @@ - { - for (i = ScheduleDimensions - 1 ; i >= 0 ; i--) - { -- if (isl_band_member_is_zero_distance(Band, i)) -+ if (isl_band_member_is_coincident(Band, i)) - { - isl_map *TileMap; - isl_union_map *TileUMap; ---- gcc/graphite-poly.c.orig 2014-11-04 18:42:39.565982500 -0500 -+++ gcc/graphite-poly.c 2014-11-04 21:27:23.608640600 -0500 -@@ -28,6 +28,7 @@ - #include - #include - #include -+#include - #include - #include - #endif -@@ -1021,10 +1022,7 @@ - isl_set *transdomain; - isl_space *dc; - isl_aff *aff; -- isl_int isllb, islub; -- -- isl_int_init (isllb); -- isl_int_init (islub); -+ isl_val *isllb, *islub; - - /* Map the iteration domain through the current scatter, and work - on the resulting set. */ -@@ -1038,15 +1036,14 @@ - - /* And find the min/max for that function. */ - /* XXX isl check results? */ -- isl_set_min (transdomain, aff, &isllb); -- isl_set_max (transdomain, aff, &islub); -+ isllb = isl_set_min_val (transdomain, aff); -+ islub = isl_set_max_val (transdomain, aff); - -- isl_int_sub (islub, islub, isllb); -- isl_int_add_ui (islub, islub, 1); -- isl_int_get_gmp (islub, res); -+ islub = isl_val_sub (islub, isllb); -+ islub = isl_val_add_ui (islub, 1); -+ isl_val_get_num_gmp (islub, res); - -- isl_int_clear (isllb); -- isl_int_clear (islub); -+ isl_val_free (islub); - isl_aff_free (aff); - isl_set_free (transdomain); - } ---- gcc/graphite-sese-to-poly.c.orig 2014-11-04 18:42:39.730983000 -0500 -+++ gcc/graphite-sese-to-poly.c 2014-11-04 21:27:23.598640600 -0500 -@@ -26,7 +26,7 @@ - #include - #include - #include --#include -+#include - #include - #include - #endif -@@ -46,7 +46,6 @@ - #include "graphite-poly.h" - #include "graphite-sese-to-poly.h" - -- - /* Assigns to RES the value of the INTEGER_CST T. */ - - static inline void -@@ -461,13 +460,11 @@ - int i; - int nb_iterators = pbb_dim_iter_domain (pbb); - int used_scattering_dimensions = nb_iterators * 2 + 1; -- isl_int val; -+ isl_val *val; - isl_space *dc, *dm; - - gcc_assert (scattering_dimensions >= used_scattering_dimensions); - -- isl_int_init (val); -- - dc = isl_set_get_space (pbb->domain); - dm = isl_space_add_dims (isl_space_from_domain (dc), - isl_dim_out, scattering_dimensions); -@@ -481,12 +478,10 @@ - isl_constraint *c = isl_equality_alloc - (isl_local_space_from_space (isl_map_get_space (pbb->schedule))); - -- if (0 != isl_aff_get_coefficient (static_sched, isl_dim_in, -- i / 2, &val)) -- gcc_unreachable (); -+ val = isl_aff_get_coefficient_val (static_sched, isl_dim_in, i / 2); - -- isl_int_neg (val, val); -- c = isl_constraint_set_constant (c, val); -+ val = isl_val_neg (val); -+ c = isl_constraint_set_constant_val (c, val); - c = isl_constraint_set_coefficient_si (c, isl_dim_out, i, 1); - pbb->schedule = isl_map_add_constraint (pbb->schedule, c); - } -@@ -500,8 +495,6 @@ - } - } - -- isl_int_clear (val); -- - pbb->transformed = isl_map_copy (pbb->schedule); - } - -@@ -681,12 +674,12 @@ - isl_local_space *ls = isl_local_space_from_space (isl_space_copy (space)); - isl_aff *aff = isl_aff_zero_on_domain (ls); - isl_set *dom = isl_set_universe (space); -- isl_int v; -+ isl_val *v; -+ isl_ctx *ct; - -- isl_int_init (v); -- isl_int_set_gmp (v, g); -- aff = isl_aff_add_constant (aff, v); -- isl_int_clear (v); -+ ct = isl_aff_get_ctx (aff); -+ v = isl_val_int_from_gmp (ct, g); -+ aff = isl_aff_add_constant_val (aff, v); - - return isl_pw_aff_alloc (dom, aff); - } -@@ -709,18 +702,16 @@ - - /* Compute pwaff mod 2^width. */ - -+extern isl_ctx *the_isl_ctx; -+ - static isl_pw_aff * - wrap (isl_pw_aff *pwaff, unsigned width) - { -- isl_int mod; -- -- isl_int_init (mod); -- isl_int_set_si (mod, 1); -- isl_int_mul_2exp (mod, mod, width); -- -- pwaff = isl_pw_aff_mod (pwaff, mod); -+ isl_val *mod; - -- isl_int_clear (mod); -+ mod = isl_val_int_from_ui(the_isl_ctx, width); -+ mod = isl_val_2exp (mod); -+ pwaff = isl_pw_aff_mod_val (pwaff, mod); - - return pwaff; - } -@@ -976,11 +967,10 @@ - isl_space *space; - isl_constraint *c; - int pos = isl_set_dim (outer, isl_dim_set); -- isl_int v; -+ isl_val *v; - mpz_t g; - - mpz_init (g); -- isl_int_init (v); - - inner = isl_set_add_dims (inner, isl_dim_set, 1); - space = isl_set_get_space (inner); -@@ -998,8 +988,8 @@ - (isl_local_space_from_space(isl_space_copy (space))); - c = isl_constraint_set_coefficient_si (c, isl_dim_set, pos, -1); - tree_int_to_gmp (nb_iters, g); -- isl_int_set_gmp (v, g); -- c = isl_constraint_set_constant (c, v); -+ v = isl_val_int_from_gmp (the_isl_ctx, g); -+ c = isl_constraint_set_constant_val (c, v); - inner = isl_set_add_constraint (inner, c); - } - -@@ -1053,9 +1043,9 @@ - c = isl_inequality_alloc - (isl_local_space_from_space (isl_space_copy (space))); - c = isl_constraint_set_coefficient_si (c, isl_dim_set, pos, -1); -- isl_int_set_gmp (v, g); -+ v = isl_val_int_from_gmp (the_isl_ctx, g); - mpz_clear (g); -- c = isl_constraint_set_constant (c, v); -+ c = isl_constraint_set_constant_val (c, v); - inner = isl_set_add_constraint (inner, c); - } - else -@@ -1078,7 +1068,6 @@ - - isl_set_free (outer); - isl_space_free (space); -- isl_int_clear (v); - mpz_clear (g); - } - -@@ -1342,17 +1331,15 @@ - isl_space *space = isl_set_get_space (scop->context); - isl_constraint *c; - mpz_t g; -- isl_int v; -+ isl_val *v; - - c = isl_inequality_alloc (isl_local_space_from_space (space)); - mpz_init (g); -- isl_int_init (v); - tree_int_to_gmp (lb, g); -- isl_int_set_gmp (v, g); -- isl_int_neg (v, v); -+ v = isl_val_int_from_gmp (the_isl_ctx, g); -+ v = isl_val_neg (v); - mpz_clear (g); -- c = isl_constraint_set_constant (c, v); -- isl_int_clear (v); -+ c = isl_constraint_set_constant_val (c, v); - c = isl_constraint_set_coefficient_si (c, isl_dim_param, p, 1); - - scop->context = isl_set_add_constraint (scop->context, c); -@@ -1363,17 +1350,15 @@ - isl_space *space = isl_set_get_space (scop->context); - isl_constraint *c; - mpz_t g; -- isl_int v; -+ isl_val *v; - - c = isl_inequality_alloc (isl_local_space_from_space (space)); - - mpz_init (g); -- isl_int_init (v); - tree_int_to_gmp (ub, g); -- isl_int_set_gmp (v, g); -+ v = isl_val_int_from_gmp (the_isl_ctx, g); - mpz_clear (g); -- c = isl_constraint_set_constant (c, v); -- isl_int_clear (v); -+ c = isl_constraint_set_constant_val (c, v); - c = isl_constraint_set_coefficient_si (c, isl_dim_param, p, -1); - - scop->context = isl_set_add_constraint (scop->context, c); diff --git a/mingw-w64-arm-none-eabi-gcc/020-gcc-auto-host-screwup.patch b/mingw-w64-arm-none-eabi-gcc/020-gcc-auto-host-screwup.patch deleted file mode 100644 index adc0a26cda..0000000000 --- a/mingw-w64-arm-none-eabi-gcc/020-gcc-auto-host-screwup.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- gcc/libgcc/crtstuff.c.orig 2014-11-06 20:00:44.376302800 -0500 -+++ gcc/libgcc/crtstuff.c 2014-11-06 20:01:33.215445300 -0500 -@@ -52,6 +52,7 @@ - identified the set of defines that need to go into auto-target.h, - this will have to do. */ - #include "auto-host.h" -+#undef caddr_t - #undef pid_t - #undef rlim_t - #undef ssize_t diff --git a/mingw-w64-arm-none-eabi-gcc/PKGBUILD b/mingw-w64-arm-none-eabi-gcc/PKGBUILD index 9eafdcb102..2ea48063bb 100644 --- a/mingw-w64-arm-none-eabi-gcc/PKGBUILD +++ b/mingw-w64-arm-none-eabi-gcc/PKGBUILD @@ -1,4 +1,5 @@ # Maintainer: Carlos Antunes +# Maintainer: fauxpark # Contributed by: nanodude _realname=gcc @@ -6,98 +7,126 @@ _target=arm-none-eabi pkgbase=mingw-w64-${_target}-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_target}-${_realname}") -pkgver=8.2.0 +pkgver=8.4.0 pkgrel=1 -pkgdesc="GNU Tools for ARM Embedded Processors - GCC (mingw-w64)" +pkgdesc='GNU Tools for ARM Embedded Processors - GCC (mingw-w64)' arch=('any') -url="https://launchpad.net/gcc-arm-embedded" -license=('GPL' 'Various') +license=('GPL') +url='https://www.gnu.org/software/gcc/gcc.html' groups=("${MINGW_PACKAGE_PREFIX}-${_target}-toolchain") -depends=("${MINGW_PACKAGE_PREFIX}-${_target}-newlib" - "${MINGW_PACKAGE_PREFIX}-${_target}-binutils") -makedepends=("${MINGW_PACKAGE_PREFIX}-gcc") -options=('staticlibs' '!debug' '!strip') -source=('gcc-arm-embedded.tar.bz2::https://launchpad.net/gcc-arm-embedded/4.8/4.8-2014-q3-update/+download/gcc-arm-none-eabi-4_8-2014q3-20140805-src.tar.bz2' - '010-gcc-isl-0.13.patch' - '020-gcc-auto-host-screwup.patch') -sha256sums=('09519946642d5366ab739a89d3388b2ea333cd7dc50192bab3736a9593af83e6' - '8e8da71e6e6b347dd7fc7f7938bf9af22be031ad8916749fa6c368f87d8891f0' - 'b5e826a0dc477f04233e68cc7d0dfc4f498c36e16c5cc3751cb52bcd9a7f0c24') -noextract=('gcc-arm-embedded.tar.bz2') +depends=( + "${MINGW_PACKAGE_PREFIX}-${_target}-binutils" + "${MINGW_PACKAGE_PREFIX}-${_target}-newlib" + "${MINGW_PACKAGE_PREFIX}-isl" + "${MINGW_PACKAGE_PREFIX}-mpc" + "${MINGW_PACKAGE_PREFIX}-zlib" +) +makedepends=( + "${MINGW_PACKAGE_PREFIX}-gmp" + "${MINGW_PACKAGE_PREFIX}-mpfr" +) +options=('!emptydirs' '!strip') +source=("https://ftp.gnu.org/gnu/gcc/gcc-${pkgver}/gcc-${pkgver}.tar.xz") +sha256sums=('e30a6e52d10e1f27ed55104ad233c30bd1e99cfb5ff98ab022dc941edd1b2dd4') prepare() { - # Extract packages from archive - rm -rf ${srcdir}/tmp - mkdir ${srcdir}/tmp && cd ${srcdir}/tmp - tar xf ../../gcc-arm-embedded.tar.bz2 --strip-components=2 + cd ${srcdir}/gcc-${pkgver} - # Copy and extract GCC package - cp gcc.tar.bz2 ${srcdir} - cd ${srcdir} - [ -d gcc ] && rm -rf gcc - tar xf gcc.tar.bz2 + mkdir gcc-build-${MINGW_CHOST} + mkdir gcc-build-nano-${MINGW_CHOST} +} - # GCC: Compatibility with isl>=0.12.2 - cd "${srcdir}/gcc" - patch -p0 -i "${srcdir}/010-gcc-isl-0.13.patch" +_build_gcc() { + local _GCC_LDFLAGS="${LDFLAGS} -Wl,--disable-dynamicbase" + if [ "${CARCH}" = 'x86_64' ]; then + _GCC_LDFLAGS+=",--image-base=0x400000" + fi + ../configure \ + --build=${MINGW_CHOST} \ + --host=${MINGW_CHOST} \ + --prefix=${MINGW_PREFIX} \ + --target=${_target} \ + --with-native-system-header-dir=${MINGW_PREFIX}/${MINGW_CHOST}/include \ + --libexecdir=${MINGW_PREFIX}/lib \ + --enable-languages=c,c++ \ + --enable-plugins \ + --disable-decimal-float \ + --disable-libffi \ + --disable-libgomp \ + --disable-libmudflap \ + --disable-libquadmath \ + --disable-libssp \ + --disable-libstdcxx-pch \ + --disable-nls \ + --disable-shared \ + --disable-threads \ + --disable-tls \ + --with-gnu-as \ + --with-gnu-ld \ + --with-system-zlib \ + --with-newlib \ + --with-headers=${MINGW_PREFIX}/${_target}/include \ + --with-python-dir=share/gcc-${_target} \ + --with-gmp \ + --with-mpfr \ + --with-mpc \ + --with-isl \ + --with-libelf \ + --enable-gnu-indirect_function \ + --with-multilib-list=rmprofile \ + --with-host-libstdcxx="-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm" \ + LDFLAGS="${_GCC_LDFLAGS}" - # GCC: deal with auto-host.h hack in crtstuff.c - patch -p1 -i "${srcdir}/020-gcc-auto-host-screwup.patch" + make INHIBIT_LIBC_CFLAGS='-DUSE_TM_CLONE_REGISTRY=0' } build() { - # Build GCC - cd $srcdir - rm -rf build-${MINGW_CHOST} - mkdir -p build-${MINGW_CHOST} && cd build-${MINGW_CHOST} - unset CFLAGS - unset CXXFLAGS - CFLAGS="-g -O3 -fdata-sections -ffunction-sections" - CXXFLAGS="${CFLAGS}" - ../${_realname}/configure \ - --build="${MINGW_CHOST}" \ - --host="${MINGW_CHOST}" \ - --target="${_target}" \ - --prefix="${MINGW_PREFIX}" \ - --enable-languages="c,c++" \ - --disable-werror \ - --disable-lto \ - --disable-nls \ - --disable-libffi \ - --disable-decimal-float \ - --disable-libgomp \ - --disable-libmudflap \ - --disable-libquadmath \ - --disable-libssp \ - --disable-libstdcxx-pch \ - --disable-libsanitizer \ - --disable-threads \ - --disable-tls \ - --disable-shared \ - --enable-multilib \ - --enable-interwork \ - --with-newlib \ - --with-headers=yes \ - --with-native-system-header-dir=/include \ - --with-gnu-as \ - --with-gnu-ld \ - --with-system-zlib \ - --with-python-dir="share/${_target}-${_realname}" \ - --with-libelf \ - --with-{gmp,mpfr,mpc,isl,cloog}="${MINGW_PREFIX}" \ - --disable-isl-version-check \ - --disable-cloog-version-check \ - --with-multilib-list="armv6-m,armv7-m,armv7e-m,armv7-r" \ - --with-host-libstdcxx="-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm" \ - --with-sysroot="${MINGW_PREFIX}" - make + cd ${srcdir}/gcc-${pkgver}/gcc-build-${MINGW_CHOST} + + export CFLAGS_FOR_TARGET='-g -Os -ffunction-sections -fdata-sections' + export CXXFLAGS_FOR_TARGET='-g -Os -ffunction-sections -fdata-sections' + _build_gcc + + # Build libstdc++ without exceptions support (the 'nano' variant) + cd ${srcdir}/gcc-${pkgver}/gcc-build-nano-${MINGW_CHOST} + + export CFLAGS_FOR_TARGET='-g -Os -ffunction-sections -fdata-sections -fno-exceptions' + export CXXFLAGS_FOR_TARGET='-g -Os -ffunction-sections -fdata-sections -fno-exceptions' + _build_gcc } package() { - cd ${srcdir}/build-${MINGW_CHOST} - make -j1 DESTDIR=${pkgdir} install + cd ${srcdir}/gcc-${pkgver}/gcc-build-${MINGW_CHOST} - # Remove files that conflict with host - rm -rf "${pkgdir}${MINGW_PREFIX}/share/info" + make DESTDIR="${pkgdir}" install + + cd ${srcdir}/gcc-${pkgver}/gcc-build-nano-${MINGW_CHOST} + + mkdir ${pkgdir}/nano-install-${MINGW_CHOST} + + make DESTDIR="${pkgdir}/nano-install-${MINGW_CHOST}" install + + cd ${pkgdir}${MINGW_PREFIX} + + # we need only libstdc nano files + multilibs=($(bin/${_target}-gcc -print-multi-lib 2>/dev/null)) + for multilib in "${multilibs[@]}"; do + dir="${multilib%%;*}" + from_dir=${pkgdir}/nano-install-${MINGW_CHOST}${MINGW_PREFIX}/${_target}/lib/"$dir" + to_dir=${_target}/lib/"$dir" + + cp -f "$from_dir"/libstdc++.a "$to_dir"/libstdc++_nano.a + cp -f "$from_dir"/libsupc++.a "$to_dir"/libsupc++_nano.a + done + rm -r ${pkgdir}/nano-install-${MINGW_CHOST} + + # strip target binaries + find lib/gcc/${_target}/${pkgver} ${_target}/lib -type f -and \( -name \*.a -or -name \*.o \) -exec ${_target}-objcopy -R .comment -R .note -R .debug_info -R .debug_aranges -R .debug_pubnames -R .debug_pubtypes -R .debug_abbrev -R .debug_line -R .debug_str -R .debug_ranges -R .debug_loc '{}' \; + + # strip host binaries + find bin/ lib/gcc/${_target}/${pkgver} -type f -and \( -executable \) -exec strip '{}' \; + + # Remove files that conflict with host gcc package + rm -r share/man/man7 + rm -r share/info } - From 01d92abd9d3fdb02cb22798005256e5cd108f030 Mon Sep 17 00:00:00 2001 From: Jeremy Drake Date: Sun, 6 Sep 2020 12:20:55 -0700 Subject: [PATCH 123/130] tk: fix issues on x64 with addresses over 4GB. Fixes #6931. --- mingw-w64-tk/009-esp-pointer-truncation.patch | 23 ++++++++++++++++++ mingw-w64-tk/010-rip-relative-address.patch | 24 +++++++++++++++++++ mingw-w64-tk/PKGBUILD | 12 +++++++--- 3 files changed, 56 insertions(+), 3 deletions(-) create mode 100644 mingw-w64-tk/009-esp-pointer-truncation.patch create mode 100644 mingw-w64-tk/010-rip-relative-address.patch diff --git a/mingw-w64-tk/009-esp-pointer-truncation.patch b/mingw-w64-tk/009-esp-pointer-truncation.patch new file mode 100644 index 0000000000..ed0ac2b54c --- /dev/null +++ b/mingw-w64-tk/009-esp-pointer-truncation.patch @@ -0,0 +1,23 @@ +From efb26166cd9347b21a12fe840e2c80d1e660cf31 Mon Sep 17 00:00:00 2001 +From: "jan.nijtmans" +Date: Mon, 9 Dec 2019 23:07:44 +0000 +Subject: [PATCH] Fix [7ca9a5b7cc]: Segfault due to pointer truncation in + DLL_PROCESS_DETACH + +--- + win/tkWin32Dll.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/win/tkWin32Dll.c b/win/tkWin32Dll.c +index 3c3d83a4b..88b050723 100644 +--- a/win/tkWin32Dll.c ++++ b/win/tkWin32Dll.c +@@ -150,7 +150,7 @@ DllMain( + * Call TkFinalize + */ + +- "movq $0x0, 0x0(%%esp)" "\n\t" ++ "movq $0x0, 0x0(%%rsp)" "\n\t" + "call TkFinalize" "\n\t" + + /* diff --git a/mingw-w64-tk/010-rip-relative-address.patch b/mingw-w64-tk/010-rip-relative-address.patch new file mode 100644 index 0000000000..0618cea300 --- /dev/null +++ b/mingw-w64-tk/010-rip-relative-address.patch @@ -0,0 +1,24 @@ +From 892a3d64076baacbf011e008eda9a43660da05e5 Mon Sep 17 00:00:00 2001 +From: jeremyd2019 +Date: Sun, 6 Sep 2020 12:10:54 -0700 +Subject: [PATCH] use rip-relative addressing on x64 + +If the image base is greater than 4GB, the previous method results in a linker error +tkWin32Dll.o:tkWin32Dll.c:(.text+0x4d): relocation truncated to fit: R_X86_64_32S against `.text' +--- + win/tkWin32Dll.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/win/tkWin32Dll.c b/win/tkWin32Dll.c +index 49ffd832c..9ff374e4d 100644 +--- a/win/tkWin32Dll.c ++++ b/win/tkWin32Dll.c +@@ -135,7 +135,7 @@ DllMain( + "leaq %[registration], %%rdx" "\n\t" + "movq %%gs:0, %%rax" "\n\t" + "movq %%rax, 0x0(%%rdx)" "\n\t" /* link */ +- "leaq 1f, %%rax" "\n\t" ++ "leaq 1f(%%rip), %%rax" "\n\t" + "movq %%rax, 0x8(%%rdx)" "\n\t" /* handler */ + "movq %%rbp, 0x10(%%rdx)" "\n\t" /* rbp */ + "movq %%rsp, 0x18(%%rdx)" "\n\t" /* rsp */ diff --git a/mingw-w64-tk/PKGBUILD b/mingw-w64-tk/PKGBUILD index c78a74ca72..b64dd008b8 100644 --- a/mingw-w64-tk/PKGBUILD +++ b/mingw-w64-tk/PKGBUILD @@ -7,7 +7,7 @@ pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" _basever=8.6.10 _patch= pkgver=${_basever}${_patch} -pkgrel=1 +pkgrel=2 pkgdesc="A windowing toolkit for use with tcl (mingw-w64)" arch=('any') url="https://tcl.sourceforge.io/" @@ -20,13 +20,17 @@ source=("https://downloads.sourceforge.net/sourceforge/tcl/${_realname}${pkgver} 003-fix-forbidden-colon-in-paths.mingw.patch 004-install-man.mingw.patch 006-prevent-tclStubsPtr-segfault.patch - 008-dont-link-shared-with--static-libgcc.patch) + 008-dont-link-shared-with--static-libgcc.patch + 009-esp-pointer-truncation.patch + 010-rip-relative-address.patch) sha256sums=('63df418a859d0a463347f95ded5cd88a3dd3aaa1ceecaeee362194bc30f3e386' '441f2f5bdf1ee2bf6697569365207d554130bd5a2bac01e10a6e1a37738d8006' '5347487af0e736dbb51425b22ed308840faf75b44c070623baa55f78dac3d053' '8516749dd73c084ece7b9df6d1ba5708e652e8ba39cad59120c7f909f61747f0' '0029fde6782ce7635e9957412d3e36a7e76d304399d57d64a42818f93e705621' - 'a16406e8519ab681bba0915e35b23a7f91cf978934b0a4ebdc7e949e87f0c877') + 'a16406e8519ab681bba0915e35b23a7f91cf978934b0a4ebdc7e949e87f0c877' + 'a8c7038e93957c7d99401ea0e2637f057074b71a712fb6de21355dd86d43ce55' + 'd32df352043e038db3ce40bc71f968aee9f9a53b195aff925ccd588ab823d085') prepare() { cd "${srcdir}/${_realname}${_basever}" @@ -35,6 +39,8 @@ prepare() { patch -p1 -i "${srcdir}"/004-install-man.mingw.patch patch -p1 -i "${srcdir}"/006-prevent-tclStubsPtr-segfault.patch patch -p1 -i "${srcdir}"/008-dont-link-shared-with--static-libgcc.patch + patch -p1 -i "${srcdir}"/009-esp-pointer-truncation.patch + patch -p1 -i "${srcdir}"/010-rip-relative-address.patch cd win && autoreconf -fi } From daf393725b2130518ea841a68bf98d29761dd3ae Mon Sep 17 00:00:00 2001 From: Jeremy Drake Date: Sun, 6 Sep 2020 12:22:11 -0700 Subject: [PATCH 124/130] python: remove --disable-high-entropy-va override. With tk fix, this is no longer necessary. --- mingw-w64-python/PKGBUILD | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/mingw-w64-python/PKGBUILD b/mingw-w64-python/PKGBUILD index de4f335d4b..b2781c0b88 100644 --- a/mingw-w64-python/PKGBUILD +++ b/mingw-w64-python/PKGBUILD @@ -18,7 +18,7 @@ pkgbase="mingw-w64-${_realname}" pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") _pybasever=3.8 pkgver=${_pybasever}.5 -pkgrel=2 +pkgrel=3 provides=("${MINGW_PACKAGE_PREFIX}-python3=${pkgver}") conflicts=("${MINGW_PACKAGE_PREFIX}-python3" "${MINGW_PACKAGE_PREFIX}-python2<2.7.16-7") @@ -349,9 +349,6 @@ build() { CFLAGS+=" -fwrapv -D__USE_MINGW_ANSI_STDIO=1 -D_WIN32_WINNT=0x0601" CXXFLAGS+=" -fwrapv -D__USE_MINGW_ANSI_STDIO=1 -D_WIN32_WINNT=0x0601" CPPFLAGS+=" -I${PREFIX_WIN}/include/ncurses " - if [[ "$CARCH" = 'x86_64' ]]; then - LDFLAGS+=" -Wl,--disable-high-entropy-va" - fi declare -a _extra_config if check_option "strip" "y"; then From 3cc819f5c2855222f7e40f51a6b7608c4caab8ec Mon Sep 17 00:00:00 2001 From: Jeremy Drake Date: Sun, 6 Sep 2020 12:45:25 -0700 Subject: [PATCH 125/130] arm-none-eabi-gcc: use default LDFLAGS for plugin. --- mingw-w64-arm-none-eabi-gcc/PKGBUILD | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mingw-w64-arm-none-eabi-gcc/PKGBUILD b/mingw-w64-arm-none-eabi-gcc/PKGBUILD index 2ea48063bb..77a681bce4 100644 --- a/mingw-w64-arm-none-eabi-gcc/PKGBUILD +++ b/mingw-w64-arm-none-eabi-gcc/PKGBUILD @@ -8,7 +8,7 @@ _target=arm-none-eabi pkgbase=mingw-w64-${_target}-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_target}-${_realname}") pkgver=8.4.0 -pkgrel=1 +pkgrel=2 pkgdesc='GNU Tools for ARM Embedded Processors - GCC (mingw-w64)' arch=('any') license=('GPL') @@ -75,6 +75,7 @@ _build_gcc() { --enable-gnu-indirect_function \ --with-multilib-list=rmprofile \ --with-host-libstdcxx="-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm" \ + --enable-linker-plugin-flags='LDFLAGS=-static-libstdc++\ -static-libgcc\ '"${LDFLAGS// /\\ }"'\ -Wl,--stack,12582912' \ LDFLAGS="${_GCC_LDFLAGS}" make INHIBIT_LIBC_CFLAGS='-DUSE_TM_CLONE_REGISTRY=0' From 4dbfbe1d282086ec4e83343fe44b44944cf9eb9d Mon Sep 17 00:00:00 2001 From: ofry Date: Mon, 7 Sep 2020 05:23:54 +0300 Subject: [PATCH 126/130] Trying to fix segfaults on CI build. Signed-off-by: ofry --- ...llback-open-file-through-native-windows-path.patch | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/mingw-w64-bmake/0005-fallback-open-file-through-native-windows-path.patch b/mingw-w64-bmake/0005-fallback-open-file-through-native-windows-path.patch index 0c0b89212b..febed28ec6 100644 --- a/mingw-w64-bmake/0005-fallback-open-file-through-native-windows-path.patch +++ b/mingw-w64-bmake/0005-fallback-open-file-through-native-windows-path.patch @@ -1,3 +1,14 @@ +diff --git a/make.h b/make.h +index ea864b4..c6ae5fb 100644 +--- a/make.h ++++ b/make.h +@@ -572,2 +572,6 @@ extern int system_np(const char* command, int timeout_milliseconds, + ++extern char * getUnixPathCmd(const char *path); ++ ++extern char * getWindowsPathCmd(const char *path); ++ + #endif /* _MAKE_H_ */ diff --git a/parse.c b/parse.c index a996c49..ecc84ea 100644 --- a/parse.c From 4f53657c4255de463c2dc4f73221f4eb1b03ed0f Mon Sep 17 00:00:00 2001 From: Biswapriyo Nath Date: Mon, 7 Sep 2020 12:02:05 +0530 Subject: [PATCH 127/130] gnuplot: update to 5.4.0 --- mingw-w64-gnuplot/01-gnuplot.patch | 406 ++++++++++------------------- mingw-w64-gnuplot/PKGBUILD | 8 +- 2 files changed, 139 insertions(+), 275 deletions(-) diff --git a/mingw-w64-gnuplot/01-gnuplot.patch b/mingw-w64-gnuplot/01-gnuplot.patch index e66e4e8aa6..297ce9eeac 100644 --- a/mingw-w64-gnuplot/01-gnuplot.patch +++ b/mingw-w64-gnuplot/01-gnuplot.patch @@ -1,177 +1,144 @@ -diff -Naur gnuplot-5.2.0.orig/config/mingw/Makefile gnuplot-5.2.0/config/mingw/Makefile ---- gnuplot-5.2.0.orig/config/mingw/Makefile 2017-07-31 04:02:24.000000000 +0200 -+++ gnuplot-5.2.0/config/mingw/Makefile 2017-09-10 18:36:11.300817700 +0200 -@@ -236,8 +236,8 @@ +diff --unified '--color=auto' -r gnuplot-5.4.0.orig/config/mingw/Makefile gnuplot-5.4.0/config/mingw/Makefile +--- gnuplot-5.4.0.orig/config/mingw/Makefile 2020-04-10 09:15:40.000000000 +0530 ++++ gnuplot-5.4.0/config/mingw/Makefile 2020-09-06 20:38:04.140186600 +0530 +@@ -784,19 +784,19 @@ + $(HELPFILE): $(BUILDHELPFILE) + $(CP) $^ $@ - ifndef TARGET - TARGET=wgnuplot.exe --#TARGET=wgnuplot_pipes.exe --#TARGET=gnuplot.exe -+TARGET=wgnuplot_pipes.exe -+TARGET=gnuplot.exe - endif - - # Set PIPES and CONSOLE according to the target -@@ -571,7 +571,7 @@ - $(MAKE) TARGET=gnuplot.exe gnuplot.pdf tutorial.pdf \ - ps_symbols.pdf ps_fontfile_doc.pdf ps_guide.pdf - --support: $(HELPFILE) $(M)bf_test.exe $(QT_TARGET) $(QT_TRANSLATION) demo_plugin.dll $(LUATARGETS) $(HELPFILEJA) -+support: $(QT_TARGET) $(QT_TRANSLATION) $(LUATARGETS) - - ja: $(HELPFILEJA) - -@@ -598,8 +598,8 @@ - $(CC) -c $(CFLAGS) $(CFLAGSEXTRA) -MMD -MT '$*.$$(O)' -MF $*.d -o $@ $< - - LDLIBS = -lkernel32 -lgdi32 -lwinspool -lcomdlg32 -lcomctl32 -ladvapi32 -lshell32 -lmsimg32 -lgdiplus -lshlwapi -ld2d1 -ldwrite -lole32 --LDLIBS += -lhtmlhelp --LDFLAGS2 += -L$(HHWPATH)lib -+#LDLIBS += -lhtmlhelp -+#LDFLAGS2 += -L$(HHWPATH)lib - ifdef MINGW64 - LDFLAGS2 += -L. - endif -@@ -717,24 +717,24 @@ - $(CC) $(CFLAGS) -I$(M)plugin -shared -o $@ $< - - # convert gnuplot.doc to windows/wgnuplot.html --$(BUILDHELPFILE): doc2html.exe $(D)gnuplot.doc $(D)windows/wgnuplot.hhp $(D)windows/wgnuplot.hhk \ -- $(D)windows/wgnuplot.stp $(D)plotstyles.gnu $(CORETERM) -- ./doc2html $(D)gnuplot.doc $(D)windows/ -- -./$(TARGET) -d -e "winhelp=1; cd '$(D)'" plotstyles.gnu -- -$(HHC) $(D)windows/wgnuplot.hhp -- --$(HELPFILE): $(BUILDHELPFILE) -- $(CP) $^ $@ -- --htmlhelp.lib: htmlhelp.def -- dlltool -d htmlhelp.def -l htmlhelp.lib -- --htmlhelp.def: +-htmlhelp.def: /c/Windows/System32/hhctrl.ocx -ifndef MINGW64 -- pexports c/Windows/System32/hhctrl.ocx > htmlhelp.def +- pexports $^ > $@ -else -- gendef - /c/Windows/System32/hhctrl.ocx > htmlhelp.def +- gendef - $^ > $@ -endif -+#$(BUILDHELPFILE): doc2html.exe $(D)gnuplot.doc $(D)windows/wgnuplot.hhp $(D)windows/wgnuplot.hhk \ -+# $(D)windows/wgnuplot.stp $(D)plotstyles.gnu $(CORETERM) -+# ./doc2html $(D)gnuplot.doc $(D)windows/ -+# -./$(TARGET) -d -e "winhelp=1; cd '$(D)'" plotstyles.gnu -+# -$(HHC) $(D)windows/wgnuplot.hhp -+# -+#$(HELPFILE): $(BUILDHELPFILE) -+# $(CP) $^ $@ -+# -+#htmlhelp.lib: htmlhelp.def -+# dlltool -d htmlhelp.def -l htmlhelp.lib -+ -+#htmlhelp.def: ++#htmlhelp.def: /c/Windows/System32/hhctrl.ocx +#ifndef MINGW64 -+# pexports c/Windows/System32/hhctrl.ocx > htmlhelp.def ++# pexports $^ > $@ +#else -+# gendef - /c/Windows/System32/hhctrl.ocx > htmlhelp.def ++# gendef - $^ > $@ ++#endif + +-prntvpt.def: /c/Windows/System32/prntvpt.dll +-ifndef MINGW64 +- pexports $^ > $@ +-else +- gendef - $^ > $@ +-endif ++#prntvpt.def: /c/Windows/System32/prntvpt.dll ++#ifndef MINGW64 ++# pexports $^ > $@ ++#else ++# gendef - $^ > $@ +#endif # Working directory for patched Japanese sources JA = ja/ -@@ -973,9 +973,9 @@ - cp -p wgnuplot_pipes.exe $(DESTDIR)/bin/ - cp -p $(W)/wgnuplot.mnu $(DESTDIR)/bin/ - cp -p $(W)/wgnuplot-ja.mnu $(DESTDIR)/bin/ -- cp -p $(HELPFILE) $(DESTDIR)/bin/ -+ #cp -p $(HELPFILE) $(DESTDIR)/bin/ - ifdef HELPFILEJA -- cp -p $(HELPFILEJA) $(DESTDIR)/bin/ -+ #cp -p $(HELPFILEJA) $(DESTDIR)/bin/ - endif - # configuration files - mkdir -p $(DESTDIR)/$(GNUPLOT_SHARE_DIR) -@@ -1037,12 +1037,12 @@ - cp -p $(TOP)/FAQ.pdf $(DESTDIR)/docs/ - -cp -p tutorial.pdf $(DESTDIR)/docs/ - mkdir -p $(DESTDIR)/docs/psdoc -- cp -p $(D)psdoc/ps_file.doc $(DESTDIR)/docs/psdoc/ps_file_doc.txt -- cp -p $(D)psdoc/ps_guide.ps $(DESTDIR)/docs/psdoc/ -- -cp -p ps_guide.pdf $(DESTDIR)/docs/psdoc/ -- -cp -p ps_symbols.ps $(DESTDIR)/docs/psdoc/ -- -cp -p ps_symbols.pdf $(DESTDIR)/docs/psdoc/ -- -cp -p ps_fontfile_doc.pdf $(DESTDIR)/docs/psdoc/ -+ #cp -p $(D)psdoc/ps_file.doc $(DESTDIR)/docs/psdoc/ps_file_doc.txt -+ #cp -p $(D)psdoc/ps_guide.ps $(DESTDIR)/docs/psdoc/ -+ #-cp -p ps_guide.pdf $(DESTDIR)/docs/psdoc/ -+ #-cp -p ps_symbols.ps $(DESTDIR)/docs/psdoc/ -+ #-cp -p ps_symbols.pdf $(DESTDIR)/docs/psdoc/ -+ #-cp -p ps_fontfile_doc.pdf $(DESTDIR)/docs/psdoc/ - # runtime libraries, configuration files etc. - ifdef EXTRADIST - cp -pR $(EXTRADIST)/* $(DESTDIR)/ -diff -Naur gnuplot-5.2.0.orig/src/command.c gnuplot-5.2.0/src/command.c ---- gnuplot-5.2.0.orig/src/command.c 2017-08-30 20:48:26.000000000 +0200 -+++ gnuplot-5.2.0/src/command.c 2017-09-10 18:33:08.422397000 +0200 -@@ -117,7 +117,7 @@ +diff --unified '--color=auto' -r gnuplot-5.4.0.orig/configure.ac gnuplot-5.4.0/configure.ac +--- gnuplot-5.4.0.orig/configure.ac 2020-07-12 05:59:47.000000000 +0530 ++++ gnuplot-5.4.0/configure.ac 2020-09-06 20:04:48.475405900 +0530 +@@ -37,6 +37,8 @@ + AC_C_STRINGIZE + AC_PROG_LN_S + ++AC_CANONICAL_HOST ++ + if test "${build}" != "${host}" + then + CC=${CC-${host_alias-gcc}} +@@ -50,6 +52,8 @@ + CC_FOR_BUILD="${CC}" + AC_PROG_CC + ++ build_mingw=no ++ + # We must set the default linker to the linker used by gcc for the correct + # operation of libtool. If LD is not defined and we are using gcc, try to + # set the LD default to the ld used by gcc. +@@ -59,7 +63,10 @@ + then + case $build in + *-*-mingw*) +- gcc_prog_ld=`$CC -print-prog-name=ld 2>&1 | tr -d '\015'` ;; ++ gcc_prog_ld=`$CC -print-prog-name=ld 2>&1 | tr -d '\015'` ++ AC_MSG_NOTICE([MINGW environment detected, executing MINGW type build]) ++ #AC_CONFIG_LINKS([src/config.h:config/config.mgw]) ++ build_mingw=yes ;; + *) + gcc_prog_ld=`$CC -print-prog-name=ld 2>&1` ;; + esac +@@ -955,6 +962,8 @@ + + AM_CONDITIONAL(BUILD_GPCAIRO, test "${build_gpcairo}" = yes) + ++AM_CONDITIONAL(BUILD_MINGW, test "${build_mingw}" = yes) ++ + dnl Enable subsystem to generate statistical summary of file contents + AC_ARG_ENABLE(stats,dnl + [ --disable-stats Omit calculation of statistical summary of data], +diff --unified '--color=auto' -r gnuplot-5.4.0.orig/demo/plugin/Makefile.am gnuplot-5.4.0/demo/plugin/Makefile.am +--- gnuplot-5.4.0.orig/demo/plugin/Makefile.am 2017-12-22 23:02:30.000000000 +0530 ++++ gnuplot-5.4.0/demo/plugin/Makefile.am 2020-09-06 20:05:12.659453700 +0530 +@@ -4,7 +4,7 @@ + noinst_PROGRAMS = demo_plugin.so + + demo_plugin_so_SOURCES = demo_plugin.c gnuplot_plugin.h +-demo_plugin_so_CFLAGS = -rdynamic -fPIC -I$(top_srcdir)/src ++demo_plugin_so_CFLAGS = -fPIC -I$(top_srcdir)/src + demo_plugin_so_LDFLAGS = -shared + + # Note: Solaris SunPro C compiler needs these flags instead +diff --unified '--color=auto' -r gnuplot-5.4.0.orig/docs/Makefile.am gnuplot-5.4.0/docs/Makefile.am +--- gnuplot-5.4.0.orig/docs/Makefile.am 2020-04-10 22:24:28.000000000 +0530 ++++ gnuplot-5.4.0/docs/Makefile.am 2020-09-06 20:03:02.506859700 +0530 +@@ -50,6 +50,11 @@ + + AM_CPPFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/term + ++if BUILD_MINGW ++AM_CPPFLAGS += -DWINDOWS_NO_GUI ++dist_doc_DATA = gnuplot.pdf ++endif ++ + # Documentation will be prepared for all terminals in CORETERM + # even if the terminal itself is not included in the build. + +diff --unified '--color=auto' -r gnuplot-5.4.0.orig/Makefile.am gnuplot-5.4.0/Makefile.am +--- gnuplot-5.4.0.orig/Makefile.am 2020-03-31 22:58:16.000000000 +0530 ++++ gnuplot-5.4.0/Makefile.am 2020-09-06 20:01:49.907467200 +0530 +@@ -7,6 +7,8 @@ + PATCHLEVEL PGPKEYS README RELEASE_NOTES \ + configure.vms win + ++dist_doc_DATA = FAQ.pdf README RELEASE_NOTES Copyright NEWS BUGS ++ + DISTCLEANFILES = stamp-h + + ACLOCAL_AMFLAGS = -I m4 +diff --unified '--color=auto' -r gnuplot-5.4.0.orig/src/command.c gnuplot-5.4.0/src/command.c +--- gnuplot-5.4.0.orig/src/command.c 2020-06-11 03:03:34.000000000 +0530 ++++ gnuplot-5.4.0/src/command.c 2020-09-06 19:57:28.950915200 +0530 +@@ -112,7 +112,7 @@ + int thread_rl_RetCode = -1; /* return code from readline in a thread */ #endif /* OS2_IPC */ - --#ifndef _Windows -+#if !defined( _Windows) || defined(__MINGW32__) +-#ifndef _WIN32 ++#if !defined (_WIN32) || defined (__MINGW32__) # include "help.h" - #endif /* _Windows */ + #endif -@@ -129,7 +129,7 @@ - # else - # include - # endif /* !MSC */ --# include -+//# include - # include "win/winmain.h" - #endif /* _Windows */ - -@@ -2857,7 +2857,7 @@ +@@ -2839,7 +2839,7 @@ #ifdef NO_GIH --#if defined(_Windows) -+#if defined(_Windows) && !defined (__MINGW32__) +-#ifdef _WIN32 ++#if defined (_WIN32) && !defined (__MINGW32__) void help_command() { -diff -Naur gnuplot-5.2.0.orig/src/win/winmain.c gnuplot-5.2.0/src/win/winmain.c ---- gnuplot-5.2.0.orig/src/win/winmain.c 2017-07-30 18:44:02.000000000 +0200 -+++ gnuplot-5.2.0/src/win/winmain.c 2017-09-10 18:29:06.999408000 +0200 -@@ -56,7 +56,7 @@ - #include - #include - #include --#include -+//#include - #include - #include - #include -@@ -371,7 +371,8 @@ - else - lang = GetLanguageCode(); - -- filename = (LPTSTR) malloc((_tcslen(szModuleName) + _tcslen(name) + _tcslen(lang) + _tcslen(ext) + 1) * sizeof(TCHAR)); -+ //filename = (LPTSTR) malloc((_tcslen(szModuleName) + _tcslen(name) + _tcslen(lang) + _tcslen(ext) + 1) * sizeof(TCHAR)); -+ filename = (LPTSTR) malloc(1024 * sizeof(TCHAR)); - if (filename) { - _tcscpy(filename, szModuleName); - _tcscat(filename, name); ---- gnuplot-5.2.0.orig/src/term.c 2017-07-09 01:49:45.000000000 +0200 -+++ gnuplot-5.2.0/src/term.c 2017-09-22 06:30:56.438408900 +0200 -@@ -1582,7 +1582,7 @@ - - #if defined(WXWIDGETS) && defined(_WIN32) - if (term_name == (char *) NULL) -- term_name = "wxt"; -+ term_name = "win"; - #endif - - #ifdef QTTERM ---- gnuplot-5.2.0.orig/src/makefile.am.orig 2016-01-10 01:22:18.000000000 +0100 -+++ gnuplot-5.2.0/src/makefile.am 2017-09-22 00:25:36.299247900 +0200 -@@ -91,6 +91,26 @@ +diff --unified '--color=auto' -r gnuplot-5.4.0.orig/src/Makefile.am gnuplot-5.4.0/src/Makefile.am +--- gnuplot-5.4.0.orig/src/Makefile.am 2020-03-31 22:58:16.000000000 +0530 ++++ gnuplot-5.4.0/src/Makefile.am 2020-09-06 20:06:11.275225300 +0530 +@@ -93,6 +93,25 @@ # Hercules and original pc graphics driver code # corgraph.asm header.mac hrcgraph.asm pcgraph.asm lineproc.mac @@ -184,7 +151,6 @@ diff -Naur gnuplot-5.2.0.orig/src/win/winmain.c gnuplot-5.2.0/src/win/winmain.c +AM_CPPFLAGS += -D__USE_MINGW_ANSI_STDIO=1 +AM_CPPFLAGS += -DUSE_MOUSE=1 -DWIN_IPC + -+ +AM_LDFLAGS = + +gnuplot_SOURCES += win/winmain.c win/wgnuplib.c win/wgraph.c win/wprinter.c \ @@ -198,7 +164,7 @@ diff -Naur gnuplot-5.2.0.orig/src/win/winmain.c gnuplot-5.2.0/src/win/winmain.c if BUILD_WXWIDGETS gnuplot_SOURCES += wxterminal/wxt_gui.cpp endif -@@ -101,6 +121,43 @@ +@@ -103,6 +122,41 @@ if BUILD_BITMAP gnuplot_SOURCES += bitmap.c @@ -208,7 +174,6 @@ diff -Naur gnuplot-5.2.0.orig/src/win/winmain.c gnuplot-5.2.0/src/win/winmain.c + +menudir = $(prefix)/bin +menu_DATA = win/wgnuplot.mnu -+dist_doc_DATA = ../FAQ.pdf ../README ../RELEASE_NOTES ../Copyright ../NEWS ../ChangeLog ../BUGS + +wgnuplot_SOURCES = $(gnuplot_SOURCES) +wgnuplot_SOURCES += win/wtext.c win/screenbuf.c win/wmenu.c win/wredirect.cpp @@ -216,7 +181,6 @@ diff -Naur gnuplot-5.2.0.orig/src/win/winmain.c gnuplot-5.2.0/src/win/winmain.c +wgnuplot_LDADD = $(gnuplot_LDADD) wgplt_res.$(O) +wgnuplot_LDFLAGS = $(AM_LDFLAGS) -mwindows --enable-auto-import + -+ +#wgnuplot_pipes section +bin_PROGRAMS += wgnuplot_pipes + @@ -241,117 +205,17 @@ diff -Naur gnuplot-5.2.0.orig/src/win/winmain.c gnuplot-5.2.0/src/win/winmain.c + endif - DISTCLEANFILES = timestamp.h ---- gnuplot-5.2.0.orig/makefile.am 2017-06-05 00:03:34.000000000 +0200 -+++ gnuplot-5.2.0/makefile.am 2017-09-22 06:53:00.751133800 +0200 -@@ -7,6 +7,8 @@ - Makefile.maint PATCHLEVEL PGPKEYS README RELEASE_NOTES \ - VERSION configure.vms win + if DEVELOPMENT_VERSION +diff --unified '--color=auto' -r gnuplot-5.4.0.orig/src/win/winmain.c gnuplot-5.4.0/src/win/winmain.c +--- gnuplot-5.4.0.orig/src/win/winmain.c 2020-04-10 22:24:28.000000000 +0530 ++++ gnuplot-5.4.0/src/win/winmain.c 2020-09-06 19:58:17.437576400 +0530 +@@ -368,7 +368,8 @@ + else + lang = GetLanguageCode(); -+dist_doc_DATA = FAQ.pdf README RELEASE_NOTES Copyright NEWS ChangeLog BUGS -+ - DISTCLEANFILES = stamp-h - - ACLOCAL_AMFLAGS = -I m4 ---- gnuplot-5.2.0.orig/docs/makefile.am.orig 2017-07-06 01:01:27.000000000 +0200 -+++ gnuplot-5.2.0/docs/makefile.am 2017-09-22 07:01:56.461836100 +0200 -@@ -50,6 +50,12 @@ - - AM_CPPFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/term - -+if BUILD_MINGW -+AM_CPPFLAGS += -DWINDOWS_NO_GUI -+dist_doc_DATA = gnuplot.pdf -+endif -+ -+ - T = $(top_srcdir)/term/ - CORETERM = $(T)ai.trm $(T)aquaterm.trm $(T)be.trm $(T)caca.trm \ - $(T)cairo.trm $(T)canvas.trm $(T)cgm.trm $(T)context.trm \ -@@ -124,7 +130,8 @@ - done >$@ - - # for debugging --alldoc: check dvi gih hlp html info ipf nroff pdf ps rnh rtf htb -+#alldoc: check dvi gih hlp html info ipf nroff pdf ps rnh rtf htb -+alldoc: gih - - ### [tn]roff documentation - troff: gnuplot.ms $(srcdir)/titlepag.ms -@@ -223,6 +230,7 @@ - - doc2tex_SOURCES = doc2tex.c termdoc.c - doc2tex_CPPFLAGS = -DALL_TERM_DOC $(AM_CPPFLAGS) -+doc2tex_CFLAGS= -DWINDOWS_NO_GUI - - dvi: gnuplot.dvi - gnuplot.dvi: gnuplot.tex $(srcdir)/titlepag.tex $(srcdir)/toc_entr.sty -@@ -339,6 +347,7 @@ - $(AM_V_GEN) ./doc2ipf$(EXEEXT) $(srcdir)/gnuplot.doc gnuplot.ipf - - doc2ipf_SOURCES = doc2ipf.c termdoc.c xref.c -+doc2ipf_CFLAGS= -DWINDOWS_NO_GUI - - ### Rich Text Format - rtf: gnuplot.rtf -@@ -366,6 +375,8 @@ - fi - - checkdoc_SOURCES = checkdoc.c termdoc.c gnuplot.doc -+checkdoc_CFLAGS= -DWINDOWS_NO_GUI -+ - - clean-local: - $(AM_V_at)for f in figure*.pdf $(LUA_HELP); do \ ---- gnuplot-5.2.0.orig/configure.ac.orig 2017-09-03 05:43:58.000000000 +0200 -+++ gnuplot-5.2.0/configure.ac 2017-09-20 15:41:50.308502400 +0200 -@@ -36,6 +36,8 @@ - AC_C_STRINGIZE - AC_PROG_LN_S - -+AC_CANONICAL_HOST -+ - if test "${build}" != "${host}" - then - CC=${CC-${host_alias-gcc}} -@@ -49,6 +51,8 @@ - CC_FOR_BUILD="${CC}" - AC_PROG_CC - -+ build_mingw=no -+ - # We must set the default linker to the linker used by gcc for the correct - # operation of libtool. If LD is not defined and we are using gcc, try to - # set the LD default to the ld used by gcc. -@@ -58,7 +62,10 @@ - then - case $build in - *-*-mingw*) -- gcc_prog_ld=`$CC -print-prog-name=ld 2>&1 | tr -d '\015'` ;; -+ gcc_prog_ld=`$CC -print-prog-name=ld 2>&1 | tr -d '\015'` -+ AC_MSG_NOTICE([MINGW environment detected, executing MINGW type build]) -+ #AC_CONFIG_LINKS([src/config.h:config/config.mgw]) -+ build_mingw=yes ;; - *) - gcc_prog_ld=`$CC -print-prog-name=ld 2>&1` ;; - esac -@@ -1087,6 +1094,8 @@ - - AM_CONDITIONAL(BUILD_GPCAIRO, test "${build_gpcairo}" = yes) - -+AM_CONDITIONAL(BUILD_MINGW, test "${build_mingw}" = yes) -+ - dnl Enable subsystem to generate statistical summary of file contents - AC_ARG_ENABLE(stats,dnl - [ --disable-stats Omit calculation of statistical summary of data], ---- gnuplot-5.2.0.orig/demo/plugin/Makefile.am.orig 2016-06-22 22:58:42.000000000 +0200 -+++ gnuplot-5.2.0/demo/plugin/Makefile.am 2018-02-23 15:44:39.590296200 +0100 -@@ -4,8 +4,8 @@ - noinst_PROGRAMS = demo_plugin.so - - demo_plugin_so_SOURCES = demo_plugin.c gnuplot_plugin.h --demo_plugin_so_CFLAGS = -rdynamic -fPIC -I$(top_srcdir)/src -+demo_plugin_so_CFLAGS = -fPIC -I$(top_srcdir)/src - demo_plugin_so_LDFLAGS = -shared - - # Note: Solaris SunPro C compiler needs these flags instead +- filename = (LPTSTR) malloc((_tcslen(szModuleName) + _tcslen(name) + _tcslen(lang) + _tcslen(ext) + 1) * sizeof(TCHAR)); ++ //filename = (LPTSTR) malloc((_tcslen(szModuleName) + _tcslen(name) + _tcslen(lang) + _tcslen(ext) + 1) * sizeof(TCHAR)); ++ filename = (LPTSTR) malloc(1024 * sizeof(TCHAR)); + if (filename) { + _tcscpy(filename, szModuleName); + _tcscat(filename, name); diff --git a/mingw-w64-gnuplot/PKGBUILD b/mingw-w64-gnuplot/PKGBUILD index ce7f53a6d6..d255be4e74 100644 --- a/mingw-w64-gnuplot/PKGBUILD +++ b/mingw-w64-gnuplot/PKGBUILD @@ -6,7 +6,7 @@ _realname=gnuplot pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") -pkgver=5.2.8 +pkgver=5.4.0 pkgrel=1 pkgdesc="Plotting package which outputs to X11, PostScript, PNG, GIF, and others (mingw-w64)" arch=('any') @@ -25,14 +25,14 @@ depends=("${MINGW_PACKAGE_PREFIX}-cairo" options=('strip' 'staticlibs') source=("https://downloads.sourceforge.net/sourceforge/${_realname}/${_realname}-${pkgver}.tar.gz" "01-gnuplot.patch" ) -sha256sums=('60a6764ccf404a1668c140f11cc1f699290ab70daa1151bb58fed6139a28ac37' - '4e87cf60cba733fd0f7144c886329b5f762902853fb48da042f3c11d980e2a69') +sha256sums=('eb4082f03a399fd1e9e2b380cf7a4f785e77023d8dcc7e17570c1b5570a49c47' + '9f32dd569400d986f4597a89ecb83021cebb4ce8a15256cab7a0d71581b05fa4') prepare() { cd "${srcdir}"/${_realname}-${pkgver} patch -p1 -i ${srcdir}/01-gnuplot.patch - autoreconf -fi + autoreconf -fiv } build() { From 9641e8954a81ee56a0b9f7fa6ee703d7e20192c8 Mon Sep 17 00:00:00 2001 From: kojix2 <2xijok@gmail.com> Date: Mon, 7 Sep 2020 20:53:31 +0900 Subject: [PATCH 128/130] gr: Update to 0.52.0 --- mingw-w64-gr/PKGBUILD | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mingw-w64-gr/PKGBUILD b/mingw-w64-gr/PKGBUILD index ffa66a180e..6bdccce0da 100644 --- a/mingw-w64-gr/PKGBUILD +++ b/mingw-w64-gr/PKGBUILD @@ -3,7 +3,7 @@ _realname=gr pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=0.51.2 +pkgver=0.52.0 pkgrel=1 pkgdesc="A graphics library for visualisation applications (mingw-w64)" arch=("any") @@ -26,7 +26,7 @@ makedepends=("git" options=("staticlibs" "strip" "!buildflags") source=("${_realname}-${pkgver}.tar.gz::https://github.com/sciapp/gr/archive/v${pkgver}.tar.gz") noextract=("${_realname}-${pkgver}.tar.gz") -sha256sums=("E6A3D0ED911F6E59CC2293B5694EE18A0620849E666143870A9EDA71C02BB833") +sha256sums=("8C9149377BFD3FE61B05CDA34B980F894F1A723D7C74C4ACE5DA2E31D3630870") prepare() { # We can't use bsdtar to extract the archive because the archive includes From 9a6f297d37b4d3f50910d6a84887e74c4357d93a Mon Sep 17 00:00:00 2001 From: Andrew Sun Date: Mon, 7 Sep 2020 21:08:35 -0400 Subject: [PATCH 129/130] libheif: update to 1.8.0 --- mingw-w64-libheif/PKGBUILD | 13 ++++++--- ...itialize-img_format-and-fix-warnings.patch | 27 +++++++++++++++++++ 2 files changed, 36 insertions(+), 4 deletions(-) create mode 100644 mingw-w64-libheif/initialize-img_format-and-fix-warnings.patch diff --git a/mingw-w64-libheif/PKGBUILD b/mingw-w64-libheif/PKGBUILD index a8adab7334..42bcdc9b06 100644 --- a/mingw-w64-libheif/PKGBUILD +++ b/mingw-w64-libheif/PKGBUILD @@ -3,7 +3,7 @@ _realname=libheif pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=1.7.0 +pkgver=1.8.0 pkgrel=1 pkgdesc="HEIF image decoder/encoder library and tools (mingw-w64)" arch=('any') @@ -20,13 +20,18 @@ depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs" "${MINGW_PACKAGE_PREFIX}-x265") options=('strip') source=("https://github.com/strukturag/libheif/releases/download/v${pkgver}/${_realname}-${pkgver}.tar.gz" - 001-fix-pkgconfig-provide-includedir.patch) -sha256sums=('842a9ab4b8d6f0faf5a6dc5e8507321199ec44c0b1d8eb199f2de9b49e2db092' - 'b782444a8f2c3f23c3b57e6e0a25ebe1313656aeeb72fad2335b1c6ee4b90a0b') + 001-fix-pkgconfig-provide-includedir.patch + initialize-img_format-and-fix-warnings.patch) +sha256sums=('e43ef91a5ad41de4471a2fd484279d0793b419009a7d102965739da8f7b75d96' + 'b782444a8f2c3f23c3b57e6e0a25ebe1313656aeeb72fad2335b1c6ee4b90a0b' + 'f923553318fce9c1fe0abb5e054cb92c63ffa19b116e8e33d8b60dffd87fdcea') prepare() { cd ${_realname}-${pkgver} patch -p1 -i ${srcdir}/001-fix-pkgconfig-provide-includedir.patch + + # already fixed upstream for next release + patch -Np1 -i ${srcdir}/initialize-img_format-and-fix-warnings.patch } build() { diff --git a/mingw-w64-libheif/initialize-img_format-and-fix-warnings.patch b/mingw-w64-libheif/initialize-img_format-and-fix-warnings.patch new file mode 100644 index 0000000000..096032e2f6 --- /dev/null +++ b/mingw-w64-libheif/initialize-img_format-and-fix-warnings.patch @@ -0,0 +1,27 @@ +diff --git a/libheif/heif_context.cc b/libheif/heif_context.cc +index da7027f..c9b6d7a 100644 +--- a/libheif/heif_context.cc ++++ b/libheif/heif_context.cc +@@ -1617,8 +1617,8 @@ create_alpha_image_from_image_alpha_channel(const std::shared_ptrcopy_new_plane_from(image, heif_channel_Alpha, heif_channel_Y); + +- int bpp = image->get_bits_per_pixel(heif_channel_Alpha); +- int half_range = 1<<(bpp-1); ++ uint8_t bpp = image->get_bits_per_pixel(heif_channel_Alpha); ++ uint16_t half_range = static_cast(1 << (bpp - 1)); + + alpha_image->fill_new_plane(heif_channel_Cb, half_range, chroma_width, chroma_height, bpp); + alpha_image->fill_new_plane(heif_channel_Cr, half_range, chroma_width, chroma_height, bpp); +diff --git a/libheif/heif_encoder_aom.cc b/libheif/heif_encoder_aom.cc +index e8652a0..4d85b81 100644 +--- a/libheif/heif_encoder_aom.cc ++++ b/libheif/heif_encoder_aom.cc +@@ -524,6 +524,7 @@ struct heif_error aom_encode_image(void* encoder_raw, const struct heif_image* i + img_format = AOM_IMG_FMT_I444; + break; + default: ++ img_format = AOM_IMG_FMT_NONE; + assert(false); + break; + } From a6e0a580c53d46c873dacc62f9539c745ebe0e27 Mon Sep 17 00:00:00 2001 From: Beat Bolli Date: Tue, 8 Sep 2020 10:22:22 +0200 Subject: [PATCH 130/130] catch: update to 2.13.1 --- mingw-w64-catch/PKGBUILD | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mingw-w64-catch/PKGBUILD b/mingw-w64-catch/PKGBUILD index 28f1801bbf..80a0149ab6 100644 --- a/mingw-w64-catch/PKGBUILD +++ b/mingw-w64-catch/PKGBUILD @@ -3,7 +3,7 @@ _realname=catch pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=2.13.0 +pkgver=2.13.1 pkgrel=1 pkgdesc="Multi-paradigm automated test framework for C++ and Objective-C (mingw-w64)" arch=('any') @@ -13,7 +13,7 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-gcc" "${MINGW_PACKAGE_PREFIX}-python") license=('custom') source=(${_realname}-${pkgver}.tar.gz::https://github.com/catchorg/Catch2/archive/v${pkgver}.tar.gz) -sha256sums=('4e6608d3fb0247e2aa988735bae2064381b0ec712f47beb766dd761838a546b6') +sha256sums=('36bcc9e6190923961be11e589d747e606515de95f10779e29853cfeae560bd6c') build() { rm -rf "${srcdir}/build-${MINGW_CHOST}"