summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-visualization/spyview')
-rw-r--r--sci-visualization/spyview/Manifest1
-rw-r--r--sci-visualization/spyview/files/spyview-20150124-gcc6cxx14-9.patch1249
-rw-r--r--sci-visualization/spyview/files/spyview-20150124-gnuplot_interface_fix.patch10
-rw-r--r--sci-visualization/spyview/spyview-20150124-r1.ebuild7
4 files changed, 5 insertions, 1262 deletions
diff --git a/sci-visualization/spyview/Manifest b/sci-visualization/spyview/Manifest
index 1ef9bbc835bb..4c8bca76ba0e 100644
--- a/sci-visualization/spyview/Manifest
+++ b/sci-visualization/spyview/Manifest
@@ -1 +1,2 @@
+DIST spyview-20150124-patchset.tar.bz2 8268 BLAKE2B db7a710e2d61ad4f68e9dd31834f855b122b57fa532eb047a5efd7dd02423974f47652e4770144d02a317bf5a50c0ff852fd752ab331bad0c9efe237905916e0 SHA512 615465056df3786e18d5916dea0ad8ebd31c37ddf6531b85c080f53e0d9776c4f7519bd160ca8a0f29343b2f9fad40abef8d6b7194c4e54d6e2e14557562cc49
DIST spyview-20150124.tgz 14772947 BLAKE2B 18d3298e0498c4be91065c8651d379428541f3156ec7f2f0a6970ce5caafaa81da2ff6fbfcca42d77cfffedd293484aad19c7240ab9500e0cf7764cdb5e6ee4c SHA512 63c58c7729ceab9e1bfbb14b5d257a1d4ca51e43f7b014caffc8adf66767c17b47794b34cfc2f754c2905ff926302d66d438a582fe359a6c8d3e04b072993f5b
diff --git a/sci-visualization/spyview/files/spyview-20150124-gcc6cxx14-9.patch b/sci-visualization/spyview/files/spyview-20150124-gcc6cxx14-9.patch
deleted file mode 100644
index 0c19851d4459..000000000000
--- a/sci-visualization/spyview/files/spyview-20150124-gcc6cxx14-9.patch
+++ /dev/null
@@ -1,1249 +0,0 @@
-diff --git a/configure.ac b/configure.ac
-index 5e1cfff..f1d777f 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -6,6 +6,9 @@ AC_CONFIG_SRCDIR([spyview/ImageWindow.C])
- AC_CONFIG_HEADER([config.h])
- USER_DIRS
-
-+# For local macros
-+AC_CONFIG_MACRO_DIR([m4])
-+
- #
- # Work out our target
- #
-@@ -27,6 +30,10 @@ AM_CONDITIONAL(WINDOWS,test $windows_target = yes)
- AC_PROG_CXX
- AC_PROG_CC
- AM_PROG_CC_C_O
-+
-+# Check for C++11 language standard
-+AX_CXX_COMPILE_STDCXX([11], [noext], [mandatory])
-+
- # Check for fluid
- AC_PATH_PROG(FLUID,fluid,none)
- AC_ARG_VAR(FLUID,[path to executable to compile .fl files])
-diff --git a/m4/ax_cxx_compile_stdcxx.m4 b/m4/ax_cxx_compile_stdcxx.m4
-new file mode 100644
-index 0000000..5032bba
---- /dev/null
-+++ b/m4/ax_cxx_compile_stdcxx.m4
-@@ -0,0 +1,982 @@
-+# ===========================================================================
-+# https://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx.html
-+# ===========================================================================
-+#
-+# SYNOPSIS
-+#
-+# AX_CXX_COMPILE_STDCXX(VERSION, [ext|noext], [mandatory|optional])
-+#
-+# DESCRIPTION
-+#
-+# Check for baseline language coverage in the compiler for the specified
-+# version of the C++ standard. If necessary, add switches to CXX and
-+# CXXCPP to enable support. VERSION may be '11' (for the C++11 standard)
-+# or '14' (for the C++14 standard).
-+#
-+# The second argument, if specified, indicates whether you insist on an
-+# extended mode (e.g. -std=gnu++11) or a strict conformance mode (e.g.
-+# -std=c++11). If neither is specified, you get whatever works, with
-+# preference for an extended mode.
-+#
-+# The third argument, if specified 'mandatory' or if left unspecified,
-+# indicates that baseline support for the specified C++ standard is
-+# required and that the macro should error out if no mode with that
-+# support is found. If specified 'optional', then configuration proceeds
-+# regardless, after defining HAVE_CXX${VERSION} if and only if a
-+# supporting mode is found.
-+#
-+# LICENSE
-+#
-+# Copyright (c) 2008 Benjamin Kosnik <bkoz@redhat.com>
-+# Copyright (c) 2012 Zack Weinberg <zackw@panix.com>
-+# Copyright (c) 2013 Roy Stogner <roystgnr@ices.utexas.edu>
-+# Copyright (c) 2014, 2015 Google Inc.; contributed by Alexey Sokolov <sokolov@google.com>
-+# Copyright (c) 2015 Paul Norman <penorman@mac.com>
-+# Copyright (c) 2015 Moritz Klammler <moritz@klammler.eu>
-+# Copyright (c) 2016 Krzesimir Nowak <qdlacz@gmail.com>
-+#
-+# Copying and distribution of this file, with or without modification, are
-+# permitted in any medium without royalty provided the copyright notice
-+# and this notice are preserved. This file is offered as-is, without any
-+# warranty.
-+
-+#serial 7
-+
-+dnl This macro is based on the code from the AX_CXX_COMPILE_STDCXX_11 macro
-+dnl (serial version number 13).
-+
-+AX_REQUIRE_DEFINED([AC_MSG_WARN])
-+AC_DEFUN([AX_CXX_COMPILE_STDCXX], [dnl
-+ m4_if([$1], [11], [ax_cxx_compile_alternatives="11 0x"],
-+ [$1], [14], [ax_cxx_compile_alternatives="14 1y"],
-+ [$1], [17], [ax_cxx_compile_alternatives="17 1z"],
-+ [m4_fatal([invalid first argument `$1' to AX_CXX_COMPILE_STDCXX])])dnl
-+ m4_if([$2], [], [],
-+ [$2], [ext], [],
-+ [$2], [noext], [],
-+ [m4_fatal([invalid second argument `$2' to AX_CXX_COMPILE_STDCXX])])dnl
-+ m4_if([$3], [], [ax_cxx_compile_cxx$1_required=true],
-+ [$3], [mandatory], [ax_cxx_compile_cxx$1_required=true],
-+ [$3], [optional], [ax_cxx_compile_cxx$1_required=false],
-+ [m4_fatal([invalid third argument `$3' to AX_CXX_COMPILE_STDCXX])])
-+ AC_LANG_PUSH([C++])dnl
-+ ac_success=no
-+ AC_CACHE_CHECK(whether $CXX supports C++$1 features by default,
-+ ax_cv_cxx_compile_cxx$1,
-+ [AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])],
-+ [ax_cv_cxx_compile_cxx$1=yes],
-+ [ax_cv_cxx_compile_cxx$1=no])])
-+ if test x$ax_cv_cxx_compile_cxx$1 = xyes; then
-+ ac_success=yes
-+ fi
-+
-+ m4_if([$2], [noext], [], [dnl
-+ if test x$ac_success = xno; then
-+ for alternative in ${ax_cxx_compile_alternatives}; do
-+ switch="-std=gnu++${alternative}"
-+ cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_$switch])
-+ AC_CACHE_CHECK(whether $CXX supports C++$1 features with $switch,
-+ $cachevar,
-+ [ac_save_CXX="$CXX"
-+ CXX="$CXX $switch"
-+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])],
-+ [eval $cachevar=yes],
-+ [eval $cachevar=no])
-+ CXX="$ac_save_CXX"])
-+ if eval test x\$$cachevar = xyes; then
-+ CXX="$CXX $switch"
-+ if test -n "$CXXCPP" ; then
-+ CXXCPP="$CXXCPP $switch"
-+ fi
-+ ac_success=yes
-+ break
-+ fi
-+ done
-+ fi])
-+
-+ m4_if([$2], [ext], [], [dnl
-+ if test x$ac_success = xno; then
-+ dnl HP's aCC needs +std=c++11 according to:
-+ dnl http://h21007.www2.hp.com/portal/download/files/unprot/aCxx/PDF_Release_Notes/769149-001.pdf
-+ dnl Cray's crayCC needs "-h std=c++11"
-+ for alternative in ${ax_cxx_compile_alternatives}; do
-+ for switch in -std=c++${alternative} +std=c++${alternative} "-h std=c++${alternative}"; do
-+ cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_$switch])
-+ AC_CACHE_CHECK(whether $CXX supports C++$1 features with $switch,
-+ $cachevar,
-+ [ac_save_CXX="$CXX"
-+ CXX="$CXX $switch"
-+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])],
-+ [eval $cachevar=yes],
-+ [eval $cachevar=no])
-+ CXX="$ac_save_CXX"])
-+ if eval test x\$$cachevar = xyes; then
-+ CXX="$CXX $switch"
-+ if test -n "$CXXCPP" ; then
-+ CXXCPP="$CXXCPP $switch"
-+ fi
-+ ac_success=yes
-+ break
-+ fi
-+ done
-+ if test x$ac_success = xyes; then
-+ break
-+ fi
-+ done
-+ fi])
-+ AC_LANG_POP([C++])
-+ if test x$ax_cxx_compile_cxx$1_required = xtrue; then
-+ if test x$ac_success = xno; then
-+ AC_MSG_ERROR([*** A compiler with support for C++$1 language features is required.])
-+ fi
-+ fi
-+ if test x$ac_success = xno; then
-+ HAVE_CXX$1=0
-+ AC_MSG_NOTICE([No compiler with C++$1 support was found])
-+ else
-+ HAVE_CXX$1=1
-+ AC_DEFINE(HAVE_CXX$1,1,
-+ [define if the compiler supports basic C++$1 syntax])
-+ fi
-+ AC_SUBST(HAVE_CXX$1)
-+ m4_if([$1], [17], [AC_MSG_WARN([C++17 is not yet standardized, so the checks may change in incompatible ways anytime])])
-+])
-+
-+
-+dnl Test body for checking C++11 support
-+
-+m4_define([_AX_CXX_COMPILE_STDCXX_testbody_11],
-+ _AX_CXX_COMPILE_STDCXX_testbody_new_in_11
-+)
-+
-+
-+dnl Test body for checking C++14 support
-+
-+m4_define([_AX_CXX_COMPILE_STDCXX_testbody_14],
-+ _AX_CXX_COMPILE_STDCXX_testbody_new_in_11
-+ _AX_CXX_COMPILE_STDCXX_testbody_new_in_14
-+)
-+
-+m4_define([_AX_CXX_COMPILE_STDCXX_testbody_17],
-+ _AX_CXX_COMPILE_STDCXX_testbody_new_in_11
-+ _AX_CXX_COMPILE_STDCXX_testbody_new_in_14
-+ _AX_CXX_COMPILE_STDCXX_testbody_new_in_17
-+)
-+
-+dnl Tests for new features in C++11
-+
-+m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_11], [[
-+
-+// If the compiler admits that it is not ready for C++11, why torture it?
-+// Hopefully, this will speed up the test.
-+
-+#ifndef __cplusplus
-+
-+#error "This is not a C++ compiler"
-+
-+#elif __cplusplus < 201103L
-+
-+#error "This is not a C++11 compiler"
-+
-+#else
-+
-+namespace cxx11
-+{
-+
-+ namespace test_static_assert
-+ {
-+
-+ template <typename T>
-+ struct check
-+ {
-+ static_assert(sizeof(int) <= sizeof(T), "not big enough");
-+ };
-+
-+ }
-+
-+ namespace test_final_override
-+ {
-+
-+ struct Base
-+ {
-+ virtual void f() {}
-+ };
-+
-+ struct Derived : public Base
-+ {
-+ virtual void f() override {}
-+ };
-+
-+ }
-+
-+ namespace test_double_right_angle_brackets
-+ {
-+
-+ template < typename T >
-+ struct check {};
-+
-+ typedef check<void> single_type;
-+ typedef check<check<void>> double_type;
-+ typedef check<check<check<void>>> triple_type;
-+ typedef check<check<check<check<void>>>> quadruple_type;
-+
-+ }
-+
-+ namespace test_decltype
-+ {
-+
-+ int
-+ f()
-+ {
-+ int a = 1;
-+ decltype(a) b = 2;
-+ return a + b;
-+ }
-+
-+ }
-+
-+ namespace test_type_deduction
-+ {
-+
-+ template < typename T1, typename T2 >
-+ struct is_same
-+ {
-+ static const bool value = false;
-+ };
-+
-+ template < typename T >
-+ struct is_same<T, T>
-+ {
-+ static const bool value = true;
-+ };
-+
-+ template < typename T1, typename T2 >
-+ auto
-+ add(T1 a1, T2 a2) -> decltype(a1 + a2)
-+ {
-+ return a1 + a2;
-+ }
-+
-+ int
-+ test(const int c, volatile int v)
-+ {
-+ static_assert(is_same<int, decltype(0)>::value == true, "");
-+ static_assert(is_same<int, decltype(c)>::value == false, "");
-+ static_assert(is_same<int, decltype(v)>::value == false, "");
-+ auto ac = c;
-+ auto av = v;
-+ auto sumi = ac + av + 'x';
-+ auto sumf = ac + av + 1.0;
-+ static_assert(is_same<int, decltype(ac)>::value == true, "");
-+ static_assert(is_same<int, decltype(av)>::value == true, "");
-+ static_assert(is_same<int, decltype(sumi)>::value == true, "");
-+ static_assert(is_same<int, decltype(sumf)>::value == false, "");
-+ static_assert(is_same<int, decltype(add(c, v))>::value == true, "");
-+ return (sumf > 0.0) ? sumi : add(c, v);
-+ }
-+
-+ }
-+
-+ namespace test_noexcept
-+ {
-+
-+ int f() { return 0; }
-+ int g() noexcept { return 0; }
-+
-+ static_assert(noexcept(f()) == false, "");
-+ static_assert(noexcept(g()) == true, "");
-+
-+ }
-+
-+ namespace test_constexpr
-+ {
-+
-+ template < typename CharT >
-+ unsigned long constexpr
-+ strlen_c_r(const CharT *const s, const unsigned long acc) noexcept
-+ {
-+ return *s ? strlen_c_r(s + 1, acc + 1) : acc;
-+ }
-+
-+ template < typename CharT >
-+ unsigned long constexpr
-+ strlen_c(const CharT *const s) noexcept
-+ {
-+ return strlen_c_r(s, 0UL);
-+ }
-+
-+ static_assert(strlen_c("") == 0UL, "");
-+ static_assert(strlen_c("1") == 1UL, "");
-+ static_assert(strlen_c("example") == 7UL, "");
-+ static_assert(strlen_c("another\0example") == 7UL, "");
-+
-+ }
-+
-+ namespace test_rvalue_references
-+ {
-+
-+ template < int N >
-+ struct answer
-+ {
-+ static constexpr int value = N;
-+ };
-+
-+ answer<1> f(int&) { return answer<1>(); }
-+ answer<2> f(const int&) { return answer<2>(); }
-+ answer<3> f(int&&) { return answer<3>(); }
-+
-+ void
-+ test()
-+ {
-+ int i = 0;
-+ const int c = 0;
-+ static_assert(decltype(f(i))::value == 1, "");
-+ static_assert(decltype(f(c))::value == 2, "");
-+ static_assert(decltype(f(0))::value == 3, "");
-+ }
-+
-+ }
-+
-+ namespace test_uniform_initialization
-+ {
-+
-+ struct test
-+ {
-+ static const int zero {};
-+ static const int one {1};
-+ };
-+
-+ static_assert(test::zero == 0, "");
-+ static_assert(test::one == 1, "");
-+
-+ }
-+
-+ namespace test_lambdas
-+ {
-+
-+ void
-+ test1()
-+ {
-+ auto lambda1 = [](){};
-+ auto lambda2 = lambda1;
-+ lambda1();
-+ lambda2();
-+ }
-+
-+ int
-+ test2()
-+ {
-+ auto a = [](int i, int j){ return i + j; }(1, 2);
-+ auto b = []() -> int { return '0'; }();
-+ auto c = [=](){ return a + b; }();
-+ auto d = [&](){ return c; }();
-+ auto e = [a, &b](int x) mutable {
-+ const auto identity = [](int y){ return y; };
-+ for (auto i = 0; i < a; ++i)
-+ a += b--;
-+ return x + identity(a + b);
-+ }(0);
-+ return a + b + c + d + e;
-+ }
-+
-+ int
-+ test3()
-+ {
-+ const auto nullary = [](){ return 0; };
-+ const auto unary = [](int x){ return x; };
-+ using nullary_t = decltype(nullary);
-+ using unary_t = decltype(unary);
-+ const auto higher1st = [](nullary_t f){ return f(); };
-+ const auto higher2nd = [unary](nullary_t f1){
-+ return [unary, f1](unary_t f2){ return f2(unary(f1())); };
-+ };
-+ return higher1st(nullary) + higher2nd(nullary)(unary);
-+ }
-+
-+ }
-+
-+ namespace test_variadic_templates
-+ {
-+
-+ template <int...>
-+ struct sum;
-+
-+ template <int N0, int... N1toN>
-+ struct sum<N0, N1toN...>
-+ {
-+ static constexpr auto value = N0 + sum<N1toN...>::value;
-+ };
-+
-+ template <>
-+ struct sum<>
-+ {
-+ static constexpr auto value = 0;
-+ };
-+
-+ static_assert(sum<>::value == 0, "");
-+ static_assert(sum<1>::value == 1, "");
-+ static_assert(sum<23>::value == 23, "");
-+ static_assert(sum<1, 2>::value == 3, "");
-+ static_assert(sum<5, 5, 11>::value == 21, "");
-+ static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, "");
-+
-+ }
-+
-+ // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae
-+ // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function
-+ // because of this.
-+ namespace test_template_alias_sfinae
-+ {
-+
-+ struct foo {};
-+
-+ template<typename T>
-+ using member = typename T::member_type;
-+
-+ template<typename T>
-+ void func(...) {}
-+
-+ template<typename T>
-+ void func(member<T>*) {}
-+
-+ void test();
-+
-+ void test() { func<foo>(0); }
-+
-+ }
-+
-+} // namespace cxx11
-+
-+#endif // __cplusplus >= 201103L
-+
-+]])
-+
-+
-+dnl Tests for new features in C++14
-+
-+m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_14], [[
-+
-+// If the compiler admits that it is not ready for C++14, why torture it?
-+// Hopefully, this will speed up the test.
-+
-+#ifndef __cplusplus
-+
-+#error "This is not a C++ compiler"
-+
-+#elif __cplusplus < 201402L
-+
-+#error "This is not a C++14 compiler"
-+
-+#else
-+
-+namespace cxx14
-+{
-+
-+ namespace test_polymorphic_lambdas
-+ {
-+
-+ int
-+ test()
-+ {
-+ const auto lambda = [](auto&&... args){
-+ const auto istiny = [](auto x){
-+ return (sizeof(x) == 1UL) ? 1 : 0;
-+ };
-+ const int aretiny[] = { istiny(args)... };
-+ return aretiny[0];
-+ };
-+ return lambda(1, 1L, 1.0f, '1');
-+ }
-+
-+ }
-+
-+ namespace test_binary_literals
-+ {
-+
-+ constexpr auto ivii = 0b0000000000101010;
-+ static_assert(ivii == 42, "wrong value");
-+
-+ }
-+
-+ namespace test_generalized_constexpr
-+ {
-+
-+ template < typename CharT >
-+ constexpr unsigned long
-+ strlen_c(const CharT *const s) noexcept
-+ {
-+ auto length = 0UL;
-+ for (auto p = s; *p; ++p)
-+ ++length;
-+ return length;
-+ }
-+
-+ static_assert(strlen_c("") == 0UL, "");
-+ static_assert(strlen_c("x") == 1UL, "");
-+ static_assert(strlen_c("test") == 4UL, "");
-+ static_assert(strlen_c("another\0test") == 7UL, "");
-+
-+ }
-+
-+ namespace test_lambda_init_capture
-+ {
-+
-+ int
-+ test()
-+ {
-+ auto x = 0;
-+ const auto lambda1 = [a = x](int b){ return a + b; };
-+ const auto lambda2 = [a = lambda1(x)](){ return a; };
-+ return lambda2();
-+ }
-+
-+ }
-+
-+ namespace test_digit_separators
-+ {
-+
-+ constexpr auto ten_million = 100'000'000;
-+ static_assert(ten_million == 100000000, "");
-+
-+ }
-+
-+ namespace test_return_type_deduction
-+ {
-+
-+ auto f(int& x) { return x; }
-+ decltype(auto) g(int& x) { return x; }
-+
-+ template < typename T1, typename T2 >
-+ struct is_same
-+ {
-+ static constexpr auto value = false;
-+ };
-+
-+ template < typename T >
-+ struct is_same<T, T>
-+ {
-+ static constexpr auto value = true;
-+ };
-+
-+ int
-+ test()
-+ {
-+ auto x = 0;
-+ static_assert(is_same<int, decltype(f(x))>::value, "");
-+ static_assert(is_same<int&, decltype(g(x))>::value, "");
-+ return x;
-+ }
-+
-+ }
-+
-+} // namespace cxx14
-+
-+#endif // __cplusplus >= 201402L
-+
-+]])
-+
-+
-+dnl Tests for new features in C++17
-+
-+m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_17], [[
-+
-+// If the compiler admits that it is not ready for C++17, why torture it?
-+// Hopefully, this will speed up the test.
-+
-+#ifndef __cplusplus
-+
-+#error "This is not a C++ compiler"
-+
-+#elif __cplusplus <= 201402L
-+
-+#error "This is not a C++17 compiler"
-+
-+#else
-+
-+#if defined(__clang__)
-+ #define REALLY_CLANG
-+#else
-+ #if defined(__GNUC__)
-+ #define REALLY_GCC
-+ #endif
-+#endif
-+
-+#include <initializer_list>
-+#include <utility>
-+#include <type_traits>
-+
-+namespace cxx17
-+{
-+
-+#if !defined(REALLY_CLANG)
-+ namespace test_constexpr_lambdas
-+ {
-+
-+ // TODO: test it with clang++ from git
-+
-+ constexpr int foo = [](){return 42;}();
-+
-+ }
-+#endif // !defined(REALLY_CLANG)
-+
-+ namespace test::nested_namespace::definitions
-+ {
-+
-+ }
-+
-+ namespace test_fold_expression
-+ {
-+
-+ template<typename... Args>
-+ int multiply(Args... args)
-+ {
-+ return (args * ... * 1);
-+ }
-+
-+ template<typename... Args>
-+ bool all(Args... args)
-+ {
-+ return (args && ...);
-+ }
-+
-+ }
-+
-+ namespace test_extended_static_assert
-+ {
-+
-+ static_assert (true);
-+
-+ }
-+
-+ namespace test_auto_brace_init_list
-+ {
-+
-+ auto foo = {5};
-+ auto bar {5};
-+
-+ static_assert(std::is_same<std::initializer_list<int>, decltype(foo)>::value);
-+ static_assert(std::is_same<int, decltype(bar)>::value);
-+ }
-+
-+ namespace test_typename_in_template_template_parameter
-+ {
-+
-+ template<template<typename> typename X> struct D;
-+
-+ }
-+
-+ namespace test_fallthrough_nodiscard_maybe_unused_attributes
-+ {
-+
-+ int f1()
-+ {
-+ return 42;
-+ }
-+
-+ [[nodiscard]] int f2()
-+ {
-+ [[maybe_unused]] auto unused = f1();
-+
-+ switch (f1())
-+ {
-+ case 17:
-+ f1();
-+ [[fallthrough]];
-+ case 42:
-+ f1();
-+ }
-+ return f1();
-+ }
-+
-+ }
-+
-+ namespace test_extended_aggregate_initialization
-+ {
-+
-+ struct base1
-+ {
-+ int b1, b2 = 42;
-+ };
-+
-+ struct base2
-+ {
-+ base2() {
-+ b3 = 42;
-+ }
-+ int b3;
-+ };
-+
-+ struct derived : base1, base2
-+ {
-+ int d;
-+ };
-+
-+ derived d1 {{1, 2}, {}, 4}; // full initialization
-+ derived d2 {{}, {}, 4}; // value-initialized bases
-+
-+ }
-+
-+ namespace test_general_range_based_for_loop
-+ {
-+
-+ struct iter
-+ {
-+ int i;
-+
-+ int& operator* ()
-+ {
-+ return i;
-+ }
-+
-+ const int& operator* () const
-+ {
-+ return i;
-+ }
-+
-+ iter& operator++()
-+ {
-+ ++i;
-+ return *this;
-+ }
-+ };
-+
-+ struct sentinel
-+ {
-+ int i;
-+ };
-+
-+ bool operator== (const iter& i, const sentinel& s)
-+ {
-+ return i.i == s.i;
-+ }
-+
-+ bool operator!= (const iter& i, const sentinel& s)
-+ {
-+ return !(i == s);
-+ }
-+
-+ struct range
-+ {
-+ iter begin() const
-+ {
-+ return {0};
-+ }
-+
-+ sentinel end() const
-+ {
-+ return {5};
-+ }
-+ };
-+
-+ void f()
-+ {
-+ range r {};
-+
-+ for (auto i : r)
-+ {
-+ [[maybe_unused]] auto v = i;
-+ }
-+ }
-+
-+ }
-+
-+ namespace test_lambda_capture_asterisk_this_by_value
-+ {
-+
-+ struct t
-+ {
-+ int i;
-+ int foo()
-+ {
-+ return [*this]()
-+ {
-+ return i;
-+ }();
-+ }
-+ };
-+
-+ }
-+
-+ namespace test_enum_class_construction
-+ {
-+
-+ enum class byte : unsigned char
-+ {};
-+
-+ byte foo {42};
-+
-+ }
-+
-+ namespace test_constexpr_if
-+ {
-+
-+ template <bool cond>
-+ int f ()
-+ {
-+ if constexpr(cond)
-+ {
-+ return 13;
-+ }
-+ else
-+ {
-+ return 42;
-+ }
-+ }
-+
-+ }
-+
-+ namespace test_selection_statement_with_initializer
-+ {
-+
-+ int f()
-+ {
-+ return 13;
-+ }
-+
-+ int f2()
-+ {
-+ if (auto i = f(); i > 0)
-+ {
-+ return 3;
-+ }
-+
-+ switch (auto i = f(); i + 4)
-+ {
-+ case 17:
-+ return 2;
-+
-+ default:
-+ return 1;
-+ }
-+ }
-+
-+ }
-+
-+#if !defined(REALLY_CLANG)
-+ namespace test_template_argument_deduction_for_class_templates
-+ {
-+
-+ // TODO: test it with clang++ from git
-+
-+ template <typename T1, typename T2>
-+ struct pair
-+ {
-+ pair (T1 p1, T2 p2)
-+ : m1 {p1},
-+ m2 {p2}
-+ {}
-+
-+ T1 m1;
-+ T2 m2;
-+ };
-+
-+ void f()
-+ {
-+ [[maybe_unused]] auto p = pair{13, 42u};
-+ }
-+
-+ }
-+#endif // !defined(REALLY_CLANG)
-+
-+ namespace test_non_type_auto_template_parameters
-+ {
-+
-+ template <auto n>
-+ struct B
-+ {};
-+
-+ B<5> b1;
-+ B<'a'> b2;
-+
-+ }
-+
-+#if !defined(REALLY_CLANG)
-+ namespace test_structured_bindings
-+ {
-+
-+ // TODO: test it with clang++ from git
-+
-+ int arr[2] = { 1, 2 };
-+ std::pair<int, int> pr = { 1, 2 };
-+
-+ auto f1() -> int(&)[2]
-+ {
-+ return arr;
-+ }
-+
-+ auto f2() -> std::pair<int, int>&
-+ {
-+ return pr;
-+ }
-+
-+ struct S
-+ {
-+ int x1 : 2;
-+ volatile double y1;
-+ };
-+
-+ S f3()
-+ {
-+ return {};
-+ }
-+
-+ auto [ x1, y1 ] = f1();
-+ auto& [ xr1, yr1 ] = f1();
-+ auto [ x2, y2 ] = f2();
-+ auto& [ xr2, yr2 ] = f2();
-+ const auto [ x3, y3 ] = f3();
-+
-+ }
-+#endif // !defined(REALLY_CLANG)
-+
-+#if !defined(REALLY_CLANG)
-+ namespace test_exception_spec_type_system
-+ {
-+
-+ // TODO: test it with clang++ from git
-+
-+ struct Good {};
-+ struct Bad {};
-+
-+ void g1() noexcept;
-+ void g2();
-+
-+ template<typename T>
-+ Bad
-+ f(T*, T*);
-+
-+ template<typename T1, typename T2>
-+ Good
-+ f(T1*, T2*);
-+
-+ static_assert (std::is_same_v<Good, decltype(f(g1, g2))>);
-+
-+ }
-+#endif // !defined(REALLY_CLANG)
-+
-+ namespace test_inline_variables
-+ {
-+
-+ template<class T> void f(T)
-+ {}
-+
-+ template<class T> inline T g(T)
-+ {
-+ return T{};
-+ }
-+
-+ template<> inline void f<>(int)
-+ {}
-+
-+ template<> int g<>(int)
-+ {
-+ return 5;
-+ }
-+
-+ }
-+
-+} // namespace cxx17
-+
-+#endif // __cplusplus <= 201402L
-+
-+]])
-diff --git a/spyview/Fl_Listbox.H b/spyview/Fl_Listbox.H
-index 35803fc..832792b 100644
---- a/spyview/Fl_Listbox.H
-+++ b/spyview/Fl_Listbox.H
-@@ -5,7 +5,8 @@
- #include <string>
- #include <vector>
-
--using namespace std;
-+using std::string;
-+using std::vector;
-
- class Fl_Listbox : public Fl_Table
- {
-diff --git a/spyview/ImageData.C b/spyview/ImageData.C
-index 7ee936a..eaac7a6 100644
---- a/spyview/ImageData.C
-+++ b/spyview/ImageData.C
-@@ -9,6 +9,9 @@
- #include "mypam.h"
- #include "../config.h"
-
-+#include <cmath>
-+using std::isnan;
-+
- #include <algorithm>
- // From http://www.redhat.com/docs/manuals/enterprise/RHEL-3-Manual/gcc/variadic-macros.html
-
-@@ -2007,7 +2010,7 @@ void ImageData::grad_mag(double axis_bias)
- xderv();
- width = w;
- height = h;
-- swap(tmpx,raw_data);
-+ std::swap(tmpx,raw_data);
- yderv();
- width = w;
- height = h;
-@@ -2083,7 +2086,7 @@ void ImageData::dderv(double theta) // theta in degrees!
- xderv();
- width = w;
- height = h;
-- swap(tmpx,raw_data);
-+ std::swap(tmpx,raw_data);
- yderv();
- width = w;
- height = h;
-diff --git a/spyview/ImageData.H b/spyview/ImageData.H
-index b68cb73..4cdecb1 100644
---- a/spyview/ImageData.H
-+++ b/spyview/ImageData.H
-@@ -22,7 +22,8 @@
-
- #define CHECK_ARRAY_LIMITS 0
-
--using namespace std;
-+using std::string;
-+using std::vector;
-
- typedef enum { YZ = 0, XY = 2, XZ = 1 } mtxcut_t;
- typedef enum { COLUMNS = 0, INDEX = 1} gpload_t;
-diff --git a/spyview/ImagePrinter.H b/spyview/ImagePrinter.H
-index d85b440..f34ee67 100644
---- a/spyview/ImagePrinter.H
-+++ b/spyview/ImagePrinter.H
-@@ -11,7 +11,7 @@
-
- #include "ImagePrinter_Control.h"
-
--using namespace std;
-+using std::string;
-
- class ImageWindow;
- class Image_Printer_Control;
-diff --git a/spyview/ImageWindow.C b/spyview/ImageWindow.C
-index b8bd0f9..eeae649 100644
---- a/spyview/ImageWindow.C
-+++ b/spyview/ImageWindow.C
-@@ -12,6 +12,11 @@
- #include "ImageWindow_Module.H"
- #include <ctype.h>
-
-+#include <cmath>
-+using std::isnan;
-+
-+#include "mypam.h"
-+
- #ifdef WIN32
-
- #include <windows.h>
-@@ -36,8 +41,6 @@
- #define alt(state) (!(state & FL_CTRL) && !(state & FL_SHIFT) && (state & FL_ALT))
- #define none(state) (!(state & FL_CTRL) && !(state & FL_SHIFT) && !(state & FL_ALT))
-
--using namespace std;
--
- FILE *fopenwarn(const char *name, const char *mode)
- {
- FILE *fp = fopen(name, mode);
-@@ -482,7 +485,7 @@ double current_time()
- stop.tv_usec = (long)(tmpres % 1000000UL);
- #endif
- double time = (((double)(stop.tv_sec)) + ((double)(stop.tv_usec) * 1e-6));
-- if (!isnormal(time))
-+ if (!std::isnormal(time))
- info("time %e sec %d usec %d\n", time, stop.tv_sec, stop.tv_usec);
- return time;
- }
-@@ -1609,7 +1612,7 @@ void ImageWindow::runQueue()
- for (int n=0; n<op->num_parameters; n++)
- {
- operations_string += "-";
-- ostringstream os;
-+ std::ostringstream os;
- os << op->parameters[n].value;
- operations_string += os.str();
- }
-diff --git a/spyview/ImageWindow.H b/spyview/ImageWindow.H
-index 30e94ba..5d1a1e1 100644
---- a/spyview/ImageWindow.H
-+++ b/spyview/ImageWindow.H
-@@ -32,7 +32,7 @@
- #define VERTLINE 4
- #define OTHERLINE 8
-
--#include "mypam.h"
-+using std::string;
-
- typedef enum { XAXIS, YAXIS, DISTANCE } lc_axis_t;
- typedef enum { KEEPZOOM, KEEPSIZE, RESETZOOM } window_size_action_t;
-diff --git a/spyview/ImageWindow3d.C b/spyview/ImageWindow3d.C
-index 40b93e6..24fa8f4 100644
---- a/spyview/ImageWindow3d.C
-+++ b/spyview/ImageWindow3d.C
-@@ -5,6 +5,8 @@
- #define LINEMESH 2
- #define POLYGONS 3
-
-+#include "mypam.h"
-+
- ImageWindow3d::ImageWindow3d(int x,int y,int w,int h,const char *l) : Fl_Gl_Window(x,y,w,h,l)
- {
- data_matrix = NULL;
-diff --git a/spyview/ImageWindow3d.H b/spyview/ImageWindow3d.H
-index 683015b..e6f296f 100644
---- a/spyview/ImageWindow3d.H
-+++ b/spyview/ImageWindow3d.H
-@@ -25,9 +25,7 @@
- #define POINTSOURCE 1
- #define DIRECTIONAL 2
-
--#include "mypam.h"
-
--using namespace std;
-
- #define LMAX USHRT_MAX
-
-diff --git a/spyview/bisector.H b/spyview/bisector.H
-index b22fb8f..c7e64a6 100644
---- a/spyview/bisector.H
-+++ b/spyview/bisector.H
-@@ -2,7 +2,9 @@
- #define __bisector_h__
- #include <assert.h>
- #include <math.h>
--using namespace std;
-+
-+#include <cmath>
-+using std::isnan;
-
- class bisector
- {
-diff --git a/spyview/misc.h b/spyview/misc.h
-index 9ed7dfc..8ed8ba8 100644
---- a/spyview/misc.h
-+++ b/spyview/misc.h
-@@ -3,7 +3,7 @@
-
- #include <string>
-
--using namespace std;
-+using std::string;
-
- //Some useful functions
-
-diff --git a/spyview/spypal_gradient.C b/spyview/spypal_gradient.C
-index e522b42..4997fbd 100644
---- a/spyview/spypal_gradient.C
-+++ b/spyview/spypal_gradient.C
-@@ -22,7 +22,7 @@ void Spypal_Slider_Dragger::start_dragging(Fl_Spypal_GSlider *todrag, bool can_d
- assert(dragging == NULL);
- can_delete = can_delete_p;
- dragging = todrag;
-- colored = false;
-+ colored = NULL;
- shown = find(g->sliders.begin(),g->sliders.end(), dragging) != g->sliders.end();
- if(!shown && (Fl::event_inside(g) || !can_delete))
- show_dragged();
-diff --git a/spyview/spyview.C b/spyview/spyview.C
-index cd99eeb..5e5c1f6 100644
---- a/spyview/spyview.C
-+++ b/spyview/spyview.C
-@@ -27,8 +27,6 @@
- #include "spypal_import.H"
- #include <libgen.h>
-
--using namespace std;
--
- //How's this for lazy...?
- char **arg_values;
- int arg_count;
-diff --git a/spyview/spyview.H b/spyview/spyview.H
-index 3536354..0411e87 100644
---- a/spyview/spyview.H
-+++ b/spyview/spyview.H
-@@ -10,6 +10,8 @@
- #include <vector>
- #include "spyview_ui.h"
-
-+using std::string;
-+
- /*void minl_cb(Fl_Widget *, void *);
- void maxl_cb(Fl_Widget *, void *);
- void dminl_cb(Fl_Widget *, void *);
-diff --git a/spyview/spyview3d.C b/spyview/spyview3d.C
-index b9398d5..068d4a1 100644
---- a/spyview/spyview3d.C
-+++ b/spyview/spyview3d.C
-@@ -18,8 +18,6 @@
-
- #include "mypam.h"
-
--using namespace std;
--
- int *data;
- int *databuf;
- int w,h;
diff --git a/sci-visualization/spyview/files/spyview-20150124-gnuplot_interface_fix.patch b/sci-visualization/spyview/files/spyview-20150124-gnuplot_interface_fix.patch
deleted file mode 100644
index 6f15296012f2..000000000000
--- a/sci-visualization/spyview/files/spyview-20150124-gnuplot_interface_fix.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/spyview/Gnuplot_Interface.C
-+++ b/spyview/Gnuplot_Interface.C
-@@ -13,6 +13,7 @@
- #else
- #include <sys/stat.h>
- #include <sys/types.h>
-+#include <sys/wait.h>
- #endif
- using namespace boost;
-
diff --git a/sci-visualization/spyview/spyview-20150124-r1.ebuild b/sci-visualization/spyview/spyview-20150124-r1.ebuild
index d873c7d008cc..e031660d4b12 100644
--- a/sci-visualization/spyview/spyview-20150124-r1.ebuild
+++ b/sci-visualization/spyview/spyview-20150124-r1.ebuild
@@ -7,7 +7,8 @@ inherit autotools flag-o-matic
DESCRIPTION="2D and 3D data visualization and analysis program"
HOMEPAGE="http://nsweb.tn.tudelft.nl/~gsteele/spyview/"
-SRC_URI="https://github.com/gsteele13/spyview/archive/966012afae2fbb77262bd96a7e530e81b0ed3b90.tar.gz -> $P.tgz"
+SRC_URI="https://github.com/gsteele13/spyview/archive/966012afae2fbb77262bd96a7e530e81b0ed3b90.tar.gz -> $P.tgz
+ https://dev.gentoo.org/~mgorny/dist/${P}-patchset.tar.bz2"
LICENSE="GPL-3"
SLOT="0"
@@ -29,8 +30,8 @@ RDEPEND="${COMMON_DEPEND}
sci-visualization/gnuplot"
PATCHES=(
- "${FILESDIR}/${P}"-gnuplot_interface_fix.patch
- "${FILESDIR}/${P}"-gcc6cxx14-9.patch
+ "${WORKDIR}/${P}-patchset/${P}"-gnuplot_interface_fix.patch
+ "${WORKDIR}/${P}-patchset/${P}"-gcc6cxx14-9.patch
)
src_unpack() {