diff --git a/mingw-w64-creduce-git/PKGBUILD b/mingw-w64-creduce-git/PKGBUILD index 4bf4c468cd..bac7a78efe 100644 --- a/mingw-w64-creduce-git/PKGBUILD +++ b/mingw-w64-creduce-git/PKGBUILD @@ -5,7 +5,7 @@ pkgbase=mingw-w64-${_realname}-git pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}-git") provides=("${MINGW_PACKAGE_PREFIX}-${_realname}") conflicts=("${MINGW_PACKAGE_PREFIX}-${_realname}") -pkgver=2.4.0.r205.gbc92ff4 +pkgver=2.5.0.r77.g56670fd pkgrel=1 pkgdesc="A C program reducer (mingw-w64)" depends=('perl-Benchmark-Timer' diff --git a/mingw-w64-creduce/0001-Track-member-function-name-capitalization-change.patch b/mingw-w64-creduce/0001-Track-member-function-name-capitalization-change.patch deleted file mode 100644 index fefefaa3d2..0000000000 --- a/mingw-w64-creduce/0001-Track-member-function-name-capitalization-change.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 0df87ff60d5c5df528feaeae16d5ad9c2741eeb5 Mon Sep 17 00:00:00 2001 -From: Eric Eide -Date: Mon, 14 Sep 2015 17:35:33 -0600 -Subject: [PATCH] Track member-function-name capitalization change. - ---- - clang_delta/TransformationManager.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/clang_delta/TransformationManager.cpp b/clang_delta/TransformationManager.cpp -index e677930..dceb497 100644 ---- a/clang_delta/TransformationManager.cpp -+++ b/clang_delta/TransformationManager.cpp -@@ -112,7 +112,7 @@ bool TransformationManager::initializeCompilerInstance(std::string &ErrorMsg) - ClangInstance->setASTConsumer( - std::unique_ptr(CurrentTransformationImpl)); - Preprocessor &PP = ClangInstance->getPreprocessor(); -- PP.getBuiltinInfo().InitializeBuiltins(PP.getIdentifierTable(), -+ PP.getBuiltinInfo().initializeBuiltins(PP.getIdentifierTable(), - PP.getLangOpts()); - - if (!ClangInstance->InitializeSourceManager(FrontendInputFile(SrcFileName, IK))) { --- -2.8.1 - diff --git a/mingw-w64-creduce/PKGBUILD b/mingw-w64-creduce/PKGBUILD index 6ec7bb3518..fb129548df 100644 --- a/mingw-w64-creduce/PKGBUILD +++ b/mingw-w64-creduce/PKGBUILD @@ -4,7 +4,7 @@ _realname=creduce pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") replaces=("${MINGW_PACKAGE_PREFIX}-${_realname}-git") -pkgver=2.4.0 +pkgver=2.5.0 pkgrel=1 pkgdesc="A C program reducer (mingw-w64)" depends=('perl-Benchmark-Timer' @@ -13,7 +13,6 @@ depends=('perl-Benchmark-Timer' 'perl-Getopt-Tabular' 'perl-Regexp-Common' 'perl-Sys-CPU' - 'delta' "${MINGW_PACKAGE_PREFIX}-astyle" "${MINGW_PACKAGE_PREFIX}-indent" "${MINGW_PACKAGE_PREFIX}-clang") @@ -22,10 +21,8 @@ url='https://github.com/csmith-project/creduce' license=('custom:University of Illinois/NCSA Open Source License') makedepends=("flex" "${MINGW_PACKAGE_PREFIX}-clang") source=(https://github.com/csmith-project/creduce/archive/${_realname}-${pkgver}.tar.gz - "0001-Track-member-function-name-capitalization-change.patch" "llvm-config-cygpath") -sha256sums=('a3917e37b0c7d77e7f2c2961794ba511f874f78684a7fd944e51c9d43cc5d7c6' - 'f345091edbb54a614256dea99c373dd3fd0c1de9d97c27cf58685292c8e2ab8b' +sha256sums=('6d860adaeac10589441b6075f78778b70a25d1305c7c1638f02e953c804ab16d' '03a7239d1e26d8a5dd5f405e10826679725cae6c01a9c37e80c6f1c184dad0a9') prepare() { @@ -33,8 +30,6 @@ prepare() { [[ -d tools ]] && rm -rf tools mkdir tools cp -f "${srcdir}"/llvm-config-cygpath tools/llvm-config - cd ${_realname}-${_realname}-${pkgver} - patch -p1 -i "${srcdir}"/0001-Track-member-function-name-capitalization-change.patch } build() { diff --git a/mingw-w64-gcc-git/0016-gcc-6-branch-PR-c-71092-ICE-with-array-and-constexpr.patch b/mingw-w64-gcc-git/0016-gcc-6-branch-PR-c-71092-ICE-with-array-and-constexpr.patch new file mode 100644 index 0000000000..ee5fb76bb9 --- /dev/null +++ b/mingw-w64-gcc-git/0016-gcc-6-branch-PR-c-71092-ICE-with-array-and-constexpr.patch @@ -0,0 +1,111 @@ +From e743361cb91a7e1b8572c2c125ad2ddf69eed890 Mon Sep 17 00:00:00 2001 +From: jason +Date: Fri, 15 Jul 2016 18:49:38 +0000 +Subject: [PATCH] PR c++/71092 - ICE with array and constexpr. + + * constexpr.c (cxx_eval_call_expression): Fail quietly when cgraph + threw away DECL_SAVED_TREE. + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238395 138bc75d-0d04-0410-961f-82ee72b054a4 +--- + gcc/cp/constexpr.c | 14 +++++- + gcc/testsuite/g++.dg/cpp0x/constexpr-array17.C | 61 ++++++++++++++++++++++++++ + 2 files changed, 73 insertions(+), 2 deletions(-) + create mode 100644 gcc/testsuite/g++.dg/cpp0x/constexpr-array17.C + +diff --git a/gcc/cp/constexpr.c b/gcc/cp/constexpr.c +index 55b05e7..4c98518 100644 +--- a/gcc/cp/constexpr.c ++++ b/gcc/cp/constexpr.c +@@ -1450,9 +1450,19 @@ cxx_eval_call_expression (const constexpr_ctx *ctx, tree t, + } + else + { +- if (!result || result == error_mark_node) ++ if (result && result != error_mark_node) ++ /* OK */; ++ else if (!DECL_SAVED_TREE (fun)) ++ { ++ /* When at_eof >= 2, cgraph has started throwing away ++ DECL_SAVED_TREE, so fail quietly. FIXME we get here because of ++ late code generation for VEC_INIT_EXPR, which needs to be ++ completely reconsidered. */ ++ gcc_assert (at_eof >= 2 && ctx->quiet); ++ *non_constant_p = true; ++ } ++ else + { +- gcc_assert (DECL_SAVED_TREE (fun)); + tree body, parms, res; + + /* Reuse or create a new unshared copy of this function's body. */ +diff --git a/gcc/testsuite/g++.dg/cpp0x/constexpr-array17.C b/gcc/testsuite/g++.dg/cpp0x/constexpr-array17.C +new file mode 100644 +index 0000000..c6afa50 +--- /dev/null ++++ b/gcc/testsuite/g++.dg/cpp0x/constexpr-array17.C +@@ -0,0 +1,61 @@ ++// PR c++/71092 ++// { dg-do compile { target c++11 } } ++ ++template struct A { using type = _Default; }; ++template class> ++using __detected_or = A<_Default>; ++template class _Op> ++using __detected_or_t = typename __detected_or<_Default, _Op>::type; ++template struct B { typedef _Tp value_type; }; ++struct C { ++ template using __pointer = typename _Tp::pointer; ++}; ++template struct J : C { ++ using pointer = __detected_or_t; ++}; ++template void _Construct(_T1 *) { new _T1; } ++struct D { ++ template ++ static _ForwardIterator __uninit_default_n(_ForwardIterator p1, _Size) { ++ _Construct(p1); ++ } ++}; ++template ++void __uninitialized_default_n(_ForwardIterator p1, _Size) { ++ D::__uninit_default_n(p1, 0); ++} ++template ++void __uninitialized_default_n_a(_ForwardIterator p1, _Size, _Tp) { ++ __uninitialized_default_n(p1, 0); ++} ++template struct __shared_ptr { ++ constexpr __shared_ptr() : _M_ptr(), _M_refcount() {} ++ int _M_ptr; ++ int _M_refcount; ++}; ++template struct F { ++ typedef _Alloc _Tp_alloc_type; ++ struct G { ++ typename J<_Tp_alloc_type>::pointer _M_start; ++ G(_Tp_alloc_type); ++ }; ++ F(int, _Alloc p2) : _M_impl(p2) {} ++ G _M_impl; ++}; ++template > struct K : F<_Alloc> { ++ typedef _Alloc allocator_type; ++ K(int, allocator_type p2 = allocator_type()) : F<_Alloc>(0, p2) { ++ __uninitialized_default_n_a(this->_M_impl._M_start, 0, 0); ++ } ++}; ++struct H { ++ H(); ++ struct I { ++ __shared_ptr trigger[1]; ++ }; ++ __shared_ptr resetTrigger_; ++ K states_; ++ __shared_ptr triggerManager_; ++}; ++__shared_ptr a; ++H::H() : states_(0), triggerManager_(a) {} +-- +2.9.1 + diff --git a/mingw-w64-gcc-git/9999-gcc-6-branch-Add-defines-to-disable-optimize-for-size-changes.patch b/mingw-w64-gcc-git/9999-gcc-6-branch-Add-defines-to-disable-optimize-for-size-changes.patch new file mode 100644 index 0000000000..fd3e392b00 --- /dev/null +++ b/mingw-w64-gcc-git/9999-gcc-6-branch-Add-defines-to-disable-optimize-for-size-changes.patch @@ -0,0 +1,251 @@ +From 0436f76da397aef1b088d7fe8ad68f3fd259f750 Mon Sep 17 00:00:00 2001 +From: Ray Donnelly +Date: Sat, 16 Jul 2016 18:06:04 +0100 +Subject: [PATCH] Add defines to disable optimize for size changes + +--- + gcc/c-family/c-opts.c | 4 ++++ + gcc/cgraph.c | 2 ++ + gcc/cgraph.h | 2 ++ + gcc/config.in | 11 +++++++++++ + gcc/config/i386/i386.c | 15 +++++++++++++-- + gcc/ipa-icf.c | 14 ++++++++++---- + gcc/ipa-inline.c | 16 +++++++++++----- + gcc/predict.c | 4 ++++ + 8 files changed, 57 insertions(+), 11 deletions(-) + +diff --git a/gcc/c-family/c-opts.c b/gcc/c-family/c-opts.c +index fec58bc..4db2809 100644 +--- a/gcc/c-family/c-opts.c ++++ b/gcc/c-family/c-opts.c +@@ -869,8 +869,12 @@ c_common_post_options (const char **pfilename) + && (cxx_dialect >= cxx11 || flag_isoc99)); + + /* Declone C++ 'structors if -Os. */ ++#ifdef OSIZE_FLAG_DECLONE_CTOR_DTOR + if (flag_declone_ctor_dtor == -1) + flag_declone_ctor_dtor = optimize_size; ++#else ++ flag_declone_ctor_dtor = 0; ++#endif + + if (warn_abi_version == -1) + { +diff --git a/gcc/cgraph.c b/gcc/cgraph.c +index e256dd0..5be5aad 100644 +--- a/gcc/cgraph.c ++++ b/gcc/cgraph.c +@@ -2097,8 +2097,10 @@ cgraph_node::dump (FILE *f) + fprintf (f, " only_called_at_startup"); + if (only_called_at_exit) + fprintf (f, " only_called_at_exit"); ++#ifdef OSIZE_CGRAPH_NODE_DUMP + if (opt_for_fn (decl, optimize_size)) + fprintf (f, " optimize_size"); ++#endif + if (parallelized_function) + fprintf (f, " parallelized_function"); + +diff --git a/gcc/cgraph.h b/gcc/cgraph.h +index ecafe63..ce5c7bb 100644 +--- a/gcc/cgraph.h ++++ b/gcc/cgraph.h +@@ -3070,8 +3070,10 @@ cgraph_node::mark_force_output (void) + inline bool + cgraph_node::optimize_for_size_p (void) + { ++#ifdef OSIZE_CGRAPH_NODE_OPTIMIZE_FOR_SIZE_P + if (opt_for_fn (decl, optimize_size)) + return true; ++#endif + if (frequency == NODE_FREQUENCY_UNLIKELY_EXECUTED) + return true; + else +diff --git a/gcc/config.in b/gcc/config.in +index 2deb8ed..a7ab371 100644 +--- a/gcc/config.in ++++ b/gcc/config.in +@@ -2361,3 +2361,14 @@ + #undef vfork + #endif + ++#define OSIZE_FLAG_DECLONE_CTOR_DTOR ++#define OSIZE_CGRAPH_NODE_DUMP ++#define OSIZE_CGRAPH_NODE_OPTIMIZE_FOR_SIZE_P ++#define OSIZE_DONT_PASS_INSERT_VZEROUPPER ++#define OSIZE_USE_SIZE_COST ++#define OSIZE_CHECK_FOR_X_FLAG_PREFETCH_LOOP_ARRAYS ++#define OSIZE_USE_SIZE_COST2 ++#define OSIZE_DECIDE_ALIGNMENT_AS_1 ++#define OSIZE_OPTIMIZE_FUNCTION_FOR_SIZE_P ++#define OSIZE_IPA_ICF_CHECK_OPT_FOR_SIZE ++#define OSIZE_IPA_INLINE_CHECK_OPT_FOR_SIZE +diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c +index c5e5e12..d0fbe17 100644 +--- a/gcc/config/i386/i386.c ++++ b/gcc/config/i386/i386.c +@@ -4015,7 +4015,11 @@ public: + { + return TARGET_AVX && !TARGET_AVX512F + && TARGET_VZEROUPPER && flag_expensive_optimizations +- && !optimize_size; ++#ifdef OSIZE_DONT_PASS_INSERT_VZEROUPPER ++ && !optimize_size; ++#else ++ ; ++#endif + } + + virtual unsigned int execute (function *) +@@ -5483,9 +5487,11 @@ ix86_option_override_internal (bool main_args_p, + ix86_tune_cost = processor_target_table[ix86_tune].cost; + /* TODO: ix86_cost should be chosen at instruction or function granuality + so for cold code we use size_cost even in !optimize_size compilation. */ ++#ifdef OSIZE_USE_SIZE_COST + if (opts->x_optimize_size) + ix86_cost = &ix86_size_cost; + else ++#endif + ix86_cost = ix86_tune_cost; + + /* Arrange to set up i386_stack_locals for all functions. */ +@@ -5779,7 +5785,9 @@ ix86_option_override_internal (bool main_args_p, + if (opts->x_flag_prefetch_loop_arrays < 0 + && HAVE_prefetch + && (opts->x_optimize >= 3 || opts->x_flag_profile_use) ++#ifdef OSIZE_CHECK_FOR_X_FLAG_PREFETCH_LOOP_ARRAYS + && !opts->x_optimize_size ++#endif + && TARGET_SOFTWARE_PREFETCHING_BENEFICIAL) + opts->x_flag_prefetch_loop_arrays = 1; + +@@ -6196,9 +6204,11 @@ ix86_function_specific_restore (struct gcc_options *opts, + ix86_tune_cost = processor_target_table[ix86_tune].cost; + /* TODO: ix86_cost should be chosen at instruction or function granuality + so for cold code we use size_cost even in !optimize_size compilation. */ ++#ifdef OSIZE_USE_SIZE_COST2 + if (opts->x_optimize_size) + ix86_cost = &ix86_size_cost; + else ++#endif + ix86_cost = ix86_tune_cost; + + /* Recreate the arch feature tests if the arch changed */ +@@ -26789,9 +26799,10 @@ decide_alignment (int align, + if (TARGET_PENTIUMPRO + && (alg == rep_prefix_4_byte || alg == rep_prefix_1_byte)) + desired_align = 8; +- ++#ifdef OSIZE_DECIDE_ALIGNMENT_AS_1 + if (optimize_size) + desired_align = 1; ++#endif + if (desired_align < align) + desired_align = align; + if (expected_size != -1 && expected_size < 4) +diff --git a/gcc/ipa-icf.c b/gcc/ipa-icf.c +index 3c04b5a..a6976a5 100644 +--- a/gcc/ipa-icf.c ++++ b/gcc/ipa-icf.c +@@ -84,6 +84,12 @@ along with GCC; see the file COPYING3. If not see + #include "stor-layout.h" + #include "dbgcnt.h" + ++#ifdef OSIZE_IPA_ICF_CHECK_OPT_FOR_SIZE ++#define opt_for_fn_2(fndecl, opt) (opts_for_fn (fndecl)->x_##opt) ++#else ++#define opt_for_fn_2(fndecl, opt) (0) ++#endif ++ + using namespace ipa_icf_gimple; + + namespace ipa_icf { +@@ -393,8 +399,8 @@ sem_item::compare_referenced_symbol_properties (symtab_node *used_by, + unit has no !optimize_size functions. */ + + if ((!used_by || address || !is_a (used_by) +- || !opt_for_fn (used_by->decl, optimize_size)) +- && !opt_for_fn (n1->decl, optimize_size) ++ || !opt_for_fn_2 (used_by->decl, optimize_size)) ++ && !opt_for_fn_2 (n1->decl, optimize_size) + && n1->get_availability () > AVAIL_INTERPOSABLE + && (!DECL_UNINLINABLE (n1->decl) || !DECL_UNINLINABLE (n2->decl))) + { +@@ -466,8 +472,8 @@ sem_item::hash_referenced_symbol_properties (symtab_node *ref, + { + if (is_a (ref)) + { +- if ((type != FUNC || address || !opt_for_fn (decl, optimize_size)) +- && !opt_for_fn (ref->decl, optimize_size) ++ if ((type != FUNC || address || !opt_for_fn_2 (decl, optimize_size)) ++ && !opt_for_fn_2 (ref->decl, optimize_size) + && !DECL_UNINLINABLE (ref->decl)) + { + hstate.add_flag (DECL_DISREGARD_INLINE_LIMITS (ref->decl)); +diff --git a/gcc/ipa-inline.c b/gcc/ipa-inline.c +index 5c9366a..d247654 100644 +--- a/gcc/ipa-inline.c ++++ b/gcc/ipa-inline.c +@@ -124,6 +124,12 @@ static int overall_size; + static gcov_type max_count; + static gcov_type spec_rem; + ++#ifdef OSIZE_IPA_INLINE_CHECK_OPT_FOR_SIZE ++#define opt_for_fn_2(fndecl, opt) (opts_for_fn (fndecl)->x_##opt) ++#else ++#define opt_for_fn_2(fndecl, opt) (0) ++#endif ++ + /* Pre-computed constants 1/CGRAPH_FREQ_BASE and 1/100. */ + static sreal cgraph_freq_base_rec, percent_rec; + +@@ -483,8 +489,8 @@ can_inline_edge_p (struct cgraph_edge *e, bool report, + code shrinks or we are in MAX_INLINE_INSNS_SINGLE limit and callee + is inline (and thus likely an unified comdat). This will allow caller + to run faster. */ +- else if (opt_for_fn (callee->decl, optimize_size) +- > opt_for_fn (caller->decl, optimize_size)) ++ else if (opt_for_fn_2 (callee->decl, optimize_size) ++ > opt_for_fn_2 (caller->decl, optimize_size)) + { + int growth = estimate_edge_growth (e); + if (growth > 0 +@@ -498,8 +504,8 @@ can_inline_edge_p (struct cgraph_edge *e, bool report, + } + /* If callee is more aggressively optimized for performance than caller, + we generally want to inline only cheap (runtime wise) functions. */ +- else if (opt_for_fn (callee->decl, optimize_size) +- < opt_for_fn (caller->decl, optimize_size) ++ else if (opt_for_fn_2 (callee->decl, optimize_size) ++ < opt_for_fn_2 (caller->decl, optimize_size) + || (opt_for_fn (callee->decl, optimize) + > opt_for_fn (caller->decl, optimize))) + { +@@ -1704,7 +1710,7 @@ bool + inline_account_function_p (struct cgraph_node *node) + { + return (!DECL_EXTERNAL (node->decl) +- && !opt_for_fn (node->decl, optimize_size) ++ && !opt_for_fn_2 (node->decl, optimize_size) + && node->frequency != NODE_FREQUENCY_UNLIKELY_EXECUTED); + } + +diff --git a/gcc/predict.c b/gcc/predict.c +index 7d55ff7..84c2390 100644 +--- a/gcc/predict.c ++++ b/gcc/predict.c +@@ -272,7 +272,11 @@ bool + optimize_function_for_size_p (struct function *fun) + { + if (!fun || !fun->decl) ++#ifdef OSIZE_OPTIMIZE_FUNCTION_FOR_SIZE_P + return optimize_size; ++#else ++ return 0; ++#endif + cgraph_node *n = cgraph_node::get (fun->decl); + return n && n->optimize_for_size_p (); + } +-- +2.9.1 + diff --git a/mingw-w64-gcc-git/PKGBUILD b/mingw-w64-gcc-git/PKGBUILD index cc6a86f787..fa44c1eb25 100644 --- a/mingw-w64-gcc-git/PKGBUILD +++ b/mingw-w64-gcc-git/PKGBUILD @@ -11,7 +11,7 @@ pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}-git" "${MINGW_PACKAGE_PREFIX}-${_realname}-fortran-git" "${MINGW_PACKAGE_PREFIX}-${_realname}-ada-git" "${MINGW_PACKAGE_PREFIX}-${_realname}-objc-git") -pkgver=r145817.32dc90f +pkgver=r146016.f1d38eb pkgrel=1 pkgdesc="GCC for the MinGW-w64" arch=('any') @@ -60,7 +60,9 @@ source=("git://gcc.gnu.org/git/gcc.git#branch=${_branch}" "0013-MinGW-w64-Enable-shared-gnat.patch" "0014-gcc-5-branch-clone_function_name_1-Retain-any-stdcall-suffix.patch" "0014-gcc-6-branch-clone_function_name_1-Retain-any-stdcall-suffix.patch" - "0015-Force-linking-to-libgcc_s_dw2-1.dll-deprecated.patch") + "0015-Force-linking-to-libgcc_s_dw2-1.dll-deprecated.patch" + "0016-gcc-6-branch-PR-c-71092-ICE-with-array-and-constexpr.patch" + "9999-gcc-6-branch-Add-defines-to-disable-optimize-for-size-changes.patch") sha256sums=('SKIP' '49a5e264e611de7f2388f01ba649ec22cf3ae1cde3ba45082a7d72294c2f4fd7' '83e9c6f76f728ae3e2f2eabb588b0d6cea7a3eda03cd5e77aed9d613143b7348' @@ -78,7 +80,9 @@ sha256sums=('SKIP' 'bab73267116024d0b0d2a9dcb78a0ad839bb6a232f1ebbee7ed8fd54c8d71087' 'ad4bb777a7f19070e83bdf5046281ee9e359ed039c70179285c4119244cf9093' '60a58ed41389691a68ef4b7d47a0328df4d28d26e6c680a6b06b31191481ca65' - '262c6fb0f6c9951d69e4c2dcc27949aa8f2cca8e672faf66740a7dbba4a4cd2c') + '262c6fb0f6c9951d69e4c2dcc27949aa8f2cca8e672faf66740a7dbba4a4cd2c' + '2f422c1c3c90145072c8636cf5ee94419d4f7872741fcff913fa65b3a98df570' + 'a82eadfbb6a182b1ffeb860e89c89f46373a8b891594280b2268ecac8d7bac88') _threads="posix" @@ -89,21 +93,24 @@ pkgver() { prepare() { cd ${srcdir}/${_realname} - git am "${srcdir}"/0001-${_branch}-gfortran-incorrect-reading-of-values-fr.patch || true - git am "${srcdir}"/0002-Relocate-libintl.patch - git am "${srcdir}"/0003-Windows-Follow-Posix-dir-exists-semantics-more-close.patch - git am "${srcdir}"/0004-Windows-Use-not-in-progpath-and-leave-case-as-is.patch - git am "${srcdir}"/0005-Windows-Don-t-ignore-native-system-header-dir.patch - git am "${srcdir}"/0006-${_branch}-Windows-New-feature-to-allow-overriding.patch - git am "${srcdir}"/0007-Build-EXTRA_GNATTOOLS-for-Ada.patch - git am "${srcdir}"/0008-Prettify-linking-no-undefined.patch - git am "${srcdir}"/0009-gcc-make-xmmintrin-header-cplusplus-compatible-depre.patch - git am "${srcdir}"/0010-Fix-using-large-PCH.patch - git am "${srcdir}"/0011-Enable-shared-gnat-implib.patch - git am "${srcdir}"/0012-MinGW-w64-Enable-libitm.patch - git am "${srcdir}"/0013-MinGW-w64-Enable-shared-gnat.patch - git am "${srcdir}"/0014-${_branch}-clone_function_name_1-Retain-any-stdcall-suffix.patch - git am "${srcdir}"/0015-Force-linking-to-libgcc_s_dw2-1.dll-deprecated.patch + GIT_AM="git am --committer-date-is-author-date" + ${GIT_AM} "${srcdir}"/0001-${_branch}-gfortran-incorrect-reading-of-values-fr.patch || true + ${GIT_AM} "${srcdir}"/0002-Relocate-libintl.patch + ${GIT_AM} "${srcdir}"/0003-Windows-Follow-Posix-dir-exists-semantics-more-close.patch + ${GIT_AM} "${srcdir}"/0004-Windows-Use-not-in-progpath-and-leave-case-as-is.patch + ${GIT_AM} "${srcdir}"/0005-Windows-Don-t-ignore-native-system-header-dir.patch + ${GIT_AM} "${srcdir}"/0006-${_branch}-Windows-New-feature-to-allow-overriding.patch + ${GIT_AM} "${srcdir}"/0007-Build-EXTRA_GNATTOOLS-for-Ada.patch + ${GIT_AM} "${srcdir}"/0008-Prettify-linking-no-undefined.patch + ${GIT_AM} "${srcdir}"/0009-gcc-make-xmmintrin-header-cplusplus-compatible-depre.patch + ${GIT_AM} "${srcdir}"/0010-Fix-using-large-PCH.patch + ${GIT_AM} "${srcdir}"/0011-Enable-shared-gnat-implib.patch + ${GIT_AM} "${srcdir}"/0012-MinGW-w64-Enable-libitm.patch + ${GIT_AM} "${srcdir}"/0013-MinGW-w64-Enable-shared-gnat.patch + ${GIT_AM} "${srcdir}"/0014-${_branch}-clone_function_name_1-Retain-any-stdcall-suffix.patch + ${GIT_AM} "${srcdir}"/0015-Force-linking-to-libgcc_s_dw2-1.dll-deprecated.patch + ${GIT_AM} "${srcdir}"/0016-gcc-6-branch-PR-c-71092-ICE-with-array-and-constexpr.patch +# ${GIT_AM} "${srcdir}"/9999-gcc-6-branch-Add-defines-to-disable-optimize-for-size-changes.patch # do not expect $prefix/mingw symlink - this should be superceded by # 0004-Windows-Don-t-ignore-native-system-header-dir.patch .. but isn't! diff --git a/mingw-w64-ngspice/PKGBUILD b/mingw-w64-ngspice/PKGBUILD new file mode 100644 index 0000000000..316230c510 --- /dev/null +++ b/mingw-w64-ngspice/PKGBUILD @@ -0,0 +1,67 @@ +# Maintainer: Maciej Suminski +# +# Based on Arch ngspice PKGBUILD: +# https://git.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/ngspice +# Contributor: Kyle Keen +# Contributor: Abhishek Dasgupta +# Contributor: Jason Taylor +# Contributor: Luis Henrique + +_realname=ngspice +pkgbase=mingw-w64-${_realname} +pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" +pkgver=26 +pkgrel=1 +pkgdesc='Mixed-level/Mixed-signal circuit simulator based on Spice3f5, Ciber1b1, and Xspice.' +url='http://ngspice.sourceforge.net' +license=('BSD') +arch=('any') +makedepends=("${MINGW_PACKAGE_PREFIX}-gcc") +depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs") +source=("http://downloads.sourceforge.net/project/${_realname}/ng-spice-rework/${pkgver}/${_realname}-${pkgver}.tar.gz" + "http://downloads.sourceforge.net/project/${_realname}/ng-spice-rework/${pkgver}/${_realname}-doc-${pkgver}.tar.gz") +sha256sums=('51e230c8b720802d93747bc580c0a29d1fb530f3dd06f213b6a700ca9a4d0108' + 'adc722cf627ee4506ea612c3fcb79f9c73c497e328547ab2d1ea97da588459cb') + +build() { + cd "${srcdir}/${_realname}-${pkgver}" + [[ -d "${srcdir}/build-shared-${CARCH}" ]] && rm -rf "${srcdir}/build-shared-${CARCH}" + mkdir -p "${srcdir}/build-shared-${CARCH}" && cd "${srcdir}/build-shared-${CARCH}" + + # FS#45230, create so lib + # shared lib sets flags and modifies headers, needs dedicated pass + # adding --with-readline disables libngspice-0.dll + ../${_realname}-${pkgver}/configure \ + --prefix=${MINGW_PREFIX} \ + --build=${MINGW_CHOST} \ + --host=${MINGW_CHOST} \ + --enable-openmp \ + --enable-xspice \ + --enable-cider \ + --with-ngshared + make + + cd "${srcdir}/${_realname}-${pkgver}" + [[ -d "${srcdir}/build-static-${CARCH}" ]] && rm -rf "${srcdir}/build-static-${CARCH}" + mkdir -p "${srcdir}/build-static-${CARCH}" && cd "${srcdir}/build-static-${CARCH}" + + ../${_realname}-${pkgver}/configure \ + --prefix=${MINGW_PREFIX} \ + --build=${MINGW_CHOST} \ + --host=${MINGW_CHOST} \ + --enable-xspice \ + --enable-cider \ + --enable-openmp + make +} + +package() { + cd "${srcdir}/build-static-${CARCH}" + make install DESTDIR="${pkgdir}" + install -D -m644 "${srcdir}/${_realname}-${pkgver}/COPYING" "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE" + install -D -m644 "${srcdir}/${_realname}-doc-${pkgver}/manual.pdf" "${pkgdir}${MINGW_PREFIX}/share/doc/${_realname}/manual.pdf" + + cd "${srcdir}/build-shared-${CARCH}" + install -D -m755 "src/.libs/libngspice-0.dll" "${pkgdir}${MINGW_PREFIX}/bin" + +} diff --git a/mingw-w64-pngcrush/PKGBUILD b/mingw-w64-pngcrush/PKGBUILD index d89ab9d85e..b65e27331f 100644 --- a/mingw-w64-pngcrush/PKGBUILD +++ b/mingw-w64-pngcrush/PKGBUILD @@ -3,7 +3,7 @@ _realname=pngcrush pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=1.8.1 +pkgver=1.8.2 pkgrel=1 pkgdesc="A tool for optimizing the compression of PNG files (mingw-w64)" arch=('any') @@ -13,7 +13,7 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-gcc") depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs" "${MINGW_PACKAGE_PREFIX}-libpng" "${MINGW_PACKAGE_PREFIX}-zlib") source=("https://downloads.sourceforge.net/pmt/${_realname}-${pkgver}-nolib.tar.gz" LICENSE) -sha256sums=('5d55f89a3a596f4916c42a1819bdcf4e3bae77db7ce42716eb5c2ad69a6a2e36' +sha256sums=('eb742ba39cd8cbeb87ccbd7849b0084da45f3701254ebd5f6db98ab7ebcaa236' '5628338f1b1c711b2b2e82d14124bc3001b37216a66f00b18d0b3b9c7e016720') prepare() {