Architecture specific change in rpms/mozjs91.git
by githook-noreply@fedoraproject.org
The package rpms/mozjs91.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/mozjs91.git/commit/?id=95774b82b8....
Change:
+%ifarch s390 s390x
Thanks.
Full change:
============
commit 95774b82b84ae801a3132ecb21c1bae73c6bd2ab
Author: František Zatloukal <fzatlouk(a)redhat.com>
Date: Tue Aug 24 16:00:21 2021 +0200
Package Init
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..8fe14d6
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/firefox-91.0esr.source.tar.xz
diff --git a/0001-Skip-failing-tests-on-ppc64-and-s390x.patch b/0001-Skip-failing-tests-on-ppc64-and-s390x.patch
new file mode 100644
index 0000000..5c28664
--- /dev/null
+++ b/0001-Skip-failing-tests-on-ppc64-and-s390x.patch
@@ -0,0 +1,36 @@
+From db3a0a25b97377b388532b23e73a10d246f66496 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= <fzatlouk(a)redhat.com>
+Date: Mon, 3 Aug 2020 10:27:00 +0200
+Subject: [PATCH] Skip failing tests on ppc64 and s390x
+
+ppc64 and s390x: non262/extensions/clone-errors.js
+s390x: test262/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-same-buffer-other-type.js
+s390x, ppc64 and aarch64: test262/built-ins/Date/UTC/fp-evaluation-order.js
+---
+ js/src/tests/jstests.list | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/js/src/tests/jstests.list b/js/src/tests/jstests.list
+index 73ce42f..1797646 100644
+--- a/js/src/tests/jstests.list
++++ b/js/src/tests/jstests.list
+@@ -53,6 +53,15 @@ skip-if(!this.hasOwnProperty("Intl")) include test262/intl402/jstests.list
+ skip-if(!this.hasOwnProperty("Atomics")) include test262/built-ins/Atomics/jstests.list
+ skip-if(!this.hasOwnProperty("SharedArrayBuffer")) include test262/built-ins/SharedArrayBuffer/jstests.list
+
++# Crashes on s390x and ppc64, avoid it
++skip-if(xulRuntime.XPCOMABI.match(/s390x|ppc64-/)) script non262/extensions/clone-errors.js
++
++# Crashes on s390x, ppc64, aarch64
++skip-if(xulRuntime.XPCOMABI.match(/s390x|aarch64|ppc64-/)) script test262/built-ins/Date/UTC/fp-evaluation-order.js
++
++# Crashes on s390x, avoid it
++skip-if(xulRuntime.XPCOMABI.match(/s390x/)) script test262/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-same-buffer-other-type.js
++
+ #####################################
+ # Test262 tests disabled on browser #
+ #####################################
+--
+2.31.1
+
+
diff --git a/copy-headers.patch b/copy-headers.patch
new file mode 100644
index 0000000..aafe1aa
--- /dev/null
+++ b/copy-headers.patch
@@ -0,0 +1,38 @@
+From 3b3c8e37cca418e07bdeceaf3a601805df28d925 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= <fzatlouk(a)redhat.com>
+Date: Wed, 15 Jul 2020 08:27:39 +0200
+Subject: [PATCH] build: Copy headers on install instead of symlinking
+
+Patch by Philip Chimento ported forward to mozjs78
+---
+ python/mozbuild/mozbuild/backend/recursivemake.py | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/python/mozbuild/mozbuild/backend/recursivemake.py b/python/mozbuild/mozbuild/backend/recursivemake.py
+index d964466..0285ad9 100644
+--- a/python/mozbuild/mozbuild/backend/recursivemake.py
++++ b/python/mozbuild/mozbuild/backend/recursivemake.py
+@@ -1568,9 +1568,9 @@ class RecursiveMakeBackend(MakeBackend):
+ " of srcdir-relative or absolute paths."
+ )
+
+- install_manifest.add_pattern_link(basepath, wild, dest_dir)
++ install_manifest.add_pattern_copy(basepath, wild, dest_dir)
+ else:
+- install_manifest.add_pattern_link(f.srcdir, f, dest_dir)
++ install_manifest.add_pattern_copy(f.srcdir, f, dest_dir)
+ elif isinstance(f, AbsolutePath):
+ if not f.full_path.lower().endswith((".dll", ".pdb", ".so")):
+ raise Exception(
+@@ -1581,7 +1581,7 @@ class RecursiveMakeBackend(MakeBackend):
+ install_manifest.add_optional_exists(dest_file)
+ absolute_files.append(f.full_path)
+ else:
+- install_manifest.add_link(f.full_path, dest_file)
++ install_manifest.add_copy(f.full_path, dest_file)
+ else:
+ install_manifest.add_optional_exists(dest_file)
+ objdir_files.append(self._pretty_path(f, backend_file))
+--
+2.31.1
+
diff --git a/definitions_for_user_vfp.patch b/definitions_for_user_vfp.patch
new file mode 100644
index 0000000..066ed57
--- /dev/null
+++ b/definitions_for_user_vfp.patch
@@ -0,0 +1,35 @@
+From fd6847c9416f9eebde636e21d794d25d1be8791d Mon Sep 17 00:00:00 2001
+From: Mike Hommey <mh(a)glandium.org>
+Date: Sat, 1 Jun 2019 09:06:01 +0900
+Subject: [PATCH] Bug 1526653 - Include struct definitions for user_vfp and
+ user_vfp_exc.
+
+---
+ js/src/wasm/WasmSignalHandlers.cpp | 11 ++++++++++-
+ 1 file changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/js/src/wasm/WasmSignalHandlers.cpp b/js/src/wasm/WasmSignalHandlers.cpp
+index 37bc5a9..67b43ad 100644
+--- a/js/src/wasm/WasmSignalHandlers.cpp
++++ b/js/src/wasm/WasmSignalHandlers.cpp
+@@ -252,7 +252,16 @@ using mozilla::DebugOnly;
+ #endif
+
+ #ifdef WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS
+-# include <sys/user.h>
++struct user_vfp {
++ unsigned long long fpregs[32];
++ unsigned long fpscr;
++};
++
++struct user_vfp_exc {
++ unsigned long fpexc;
++ unsigned long fpinst;
++ unsigned long fpinst2;
++};
+ #endif
+
+ #if defined(ANDROID)
+--
+2.31.1
+
diff --git a/emitter.patch b/emitter.patch
new file mode 100644
index 0000000..556bebd
--- /dev/null
+++ b/emitter.patch
@@ -0,0 +1,67 @@
+From d1d785c169345b81c76213f6dd9be32b4db60294 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= <fzatlouk(a)redhat.com>
+Date: Wed, 15 Jul 2020 08:39:47 +0200
+Subject: [PATCH] Build: allow LOCAL_INCLUDES paths with topsrcdir or topobjdir
+
+---
+ python/mozbuild/mozbuild/frontend/emitter.py | 10 ---------
+ .../mozbuild/test/frontend/test_emitter.py | 22 -------------------
+ 2 files changed, 32 deletions(-)
+
+diff --git a/python/mozbuild/mozbuild/frontend/emitter.py b/python/mozbuild/mozbuild/frontend/emitter.py
+index 44b916e..f2e821d 100644
+--- a/python/mozbuild/mozbuild/frontend/emitter.py
++++ b/python/mozbuild/mozbuild/frontend/emitter.py
+@@ -1367,16 +1367,6 @@ class TreeMetadataEmitter(LoggingMixin):
+ "(resolved to %s)" % (local_include, full_path),
+ context,
+ )
+- if (
+- full_path == context.config.topsrcdir
+- or full_path == context.config.topobjdir
+- ):
+- raise SandboxValidationError(
+- "Path specified in LOCAL_INCLUDES "
+- "(%s) resolves to the topsrcdir or topobjdir (%s), which is "
+- "not allowed" % (local_include, full_path),
+- context,
+- )
+ include_obj = LocalInclude(context, local_include)
+ local_includes.append(include_obj.path.full_path)
+ yield include_obj
+diff --git a/python/mozbuild/mozbuild/test/frontend/test_emitter.py b/python/mozbuild/mozbuild/test/frontend/test_emitter.py
+index e53bc5e..c1b9d32 100644
+--- a/python/mozbuild/mozbuild/test/frontend/test_emitter.py
++++ b/python/mozbuild/mozbuild/test/frontend/test_emitter.py
+@@ -1098,28 +1098,6 @@ class TestEmitterBasic(unittest.TestCase):
+
+ self.assertEqual(local_includes, expected)
+
+- def test_local_includes_invalid(self):
+- """Test that invalid LOCAL_INCLUDES are properly detected."""
+- reader = self.reader("local_includes-invalid/srcdir")
+-
+- with six.assertRaisesRegex(
+- self,
+- SandboxValidationError,
+- "Path specified in LOCAL_INCLUDES.*resolves to the "
+- "topsrcdir or topobjdir",
+- ):
+- self.read_topsrcdir(reader)
+-
+- reader = self.reader("local_includes-invalid/objdir")
+-
+- with six.assertRaisesRegex(
+- self,
+- SandboxValidationError,
+- "Path specified in LOCAL_INCLUDES.*resolves to the "
+- "topsrcdir or topobjdir",
+- ):
+- self.read_topsrcdir(reader)
+-
+ def test_local_includes_file(self):
+ """Test that a filename can't be used in LOCAL_INCLUDES."""
+ reader = self.reader("local_includes-filename")
+--
+2.31.1
+
diff --git a/fix-soname.patch b/fix-soname.patch
new file mode 100644
index 0000000..a319d9e
--- /dev/null
+++ b/fix-soname.patch
@@ -0,0 +1,26 @@
+From d21c7cb9343d8c495d987e71be0f35887574c820 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= <fzatlouk(a)redhat.com>
+Date: Wed, 15 Jul 2020 08:21:47 +0200
+Subject: [PATCH] Add soname switch to linker, regardless of Operating System
+
+Fix backported from Debian: http://bugs.debian.org/746705
+---
+ config/rules.mk | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/config/rules.mk b/config/rules.mk
+index 0f9b2ac..f6b4efe 100644
+--- a/config/rules.mk
++++ b/config/rules.mk
+@@ -285,6 +285,8 @@ ifeq ($(OS_ARCH),GNU)
+ OS_CPPFLAGS += -DPATH_MAX=1024 -DMAXPATHLEN=1024
+ endif
+
++EXTRA_DSO_LDOPTS += -Wl,-soname,lib$(JS_LIBRARY_NAME).so.0
++
+ #
+ # MINGW32
+ #
+--
+2.31.1
+
diff --git a/icu_sources_data-Write-command-output-to-our-stderr.patch b/icu_sources_data-Write-command-output-to-our-stderr.patch
new file mode 100644
index 0000000..8468425
--- /dev/null
+++ b/icu_sources_data-Write-command-output-to-our-stderr.patch
@@ -0,0 +1,44 @@
+From: Simon McVittie <smcv(a)debian.org>
+Date: Mon, 9 Oct 2017 09:23:14 +0100
+Subject: icu_sources_data: Write command output to our stderr
+
+Saying "See output in /tmp/foobar" is all very well for a developer
+build, but on a buildd our /tmp is going to get thrown away after
+the build. Just log the usual way instead.
+---
+ intl/icu_sources_data.py | 16 ++++------------
+ 1 file changed, 4 insertions(+), 12 deletions(-)
+
+diff --git a/intl/icu_sources_data.py b/intl/icu_sources_data.py
+index 4db52af..d62960d 100644
+--- a/intl/icu_sources_data.py
++++ b/intl/icu_sources_data.py
+@@ -188,21 +188,13 @@ def update_sources(topsrcdir):
+
+ def try_run(name, command, cwd=None, **kwargs):
+ try:
+- with tempfile.NamedTemporaryFile(prefix=name, delete=False) as f:
+- subprocess.check_call(
+- command, cwd=cwd, stdout=f, stderr=subprocess.STDOUT, **kwargs
+- )
+- except subprocess.CalledProcessError:
+- print(
+- """Error running "{}" in directory {}
+- See output in {}""".format(
+- " ".join(command), cwd, f.name
+- ),
+- file=sys.stderr,
++ subprocess.check_call(
++ command, cwd=cwd, stdout=sys.stderr, stderr=subprocess.STDOUT, **kwargs
+ )
++ except subprocess.CalledProcessError:
++ print('''Error running "{}" in directory {}'''.format(' '.join(command), cwd), file=sys.stderr)
+ return False
+ else:
+- os.unlink(f.name)
+ return True
+
+
+--
+2.31.1
+
diff --git a/icu_sources_data.py-Decouple-from-Mozilla-build-system.patch b/icu_sources_data.py-Decouple-from-Mozilla-build-system.patch
new file mode 100644
index 0000000..8572c21
--- /dev/null
+++ b/icu_sources_data.py-Decouple-from-Mozilla-build-system.patch
@@ -0,0 +1,29 @@
+From: Simon McVittie <smcv(a)debian.org>
+Date: Mon, 9 Oct 2017 09:22:12 +0100
+Subject: icu_sources_data.py: Decouple from Mozilla build system
+
+mozpack.path is a wrapper around os.path that normalizes path
+separators on Windows, but on Unix we only have one path separator
+so there's nothing to normalize. Avoid needing to import all of it.
+---
+ intl/icu_sources_data.py | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/intl/icu_sources_data.py b/intl/icu_sources_data.py
+index 2936df9..4db52af 100644
+--- a/intl/icu_sources_data.py
++++ b/intl/icu_sources_data.py
+@@ -21,7 +21,9 @@ import subprocess
+ import sys
+ import tempfile
+
+-from mozpack import path as mozpath
++# Close enough
++import os.path as mozpath
++mozpath.normsep = lambda p: p
+
+ # The following files have been determined to be dead/unused by a
+ # semi-automated analysis. You can just remove any of the files below
+--
+2.31.1
+
diff --git a/init_patch.patch b/init_patch.patch
new file mode 100644
index 0000000..1954a55
--- /dev/null
+++ b/init_patch.patch
@@ -0,0 +1,28 @@
+From 00414eb67ab0591911167155963b5524fbf2b0c0 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= <fzatlouk(a)redhat.com>
+Date: Mon, 9 Aug 2021 14:38:58 +0200
+Subject: [PATCH] Don't throw InvalidOptionError on invalid options
+
+---
+ python/mozbuild/mozbuild/configure/__init__.py | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
+
+diff --git a/python/mozbuild/mozbuild/configure/__init__.py b/python/mozbuild/mozbuild/configure/__init__.py
+index f3167f6..c9e1132 100644
+--- a/python/mozbuild/mozbuild/configure/__init__.py
++++ b/python/mozbuild/mozbuild/configure/__init__.py
+@@ -553,10 +553,7 @@ class ConfigureSandbox(dict):
+ for arg in self._helper:
+ without_value = arg.split("=", 1)[0]
+ msg = "Unknown option: %s" % without_value
+- if self._help:
+- self._logger.warning(msg)
+- else:
+- raise InvalidOptionError(msg)
++ self._logger.warning(msg)
+
+ # Run the execution queue
+ for func, args in self._execution_queue:
+--
+2.31.1
+
diff --git a/mozjs91.spec b/mozjs91.spec
new file mode 100644
index 0000000..140dd6f
--- /dev/null
+++ b/mozjs91.spec
@@ -0,0 +1,250 @@
+%global major 91
+
+# LTO - Enable in Release builds, but consider disabling for development as it increases compile time
+%global build_with_lto 1
+
+# Require tests to pass?
+%global require_tests 1
+
+%if 0%{?build_with_lto}
+# LTO is default since F33 and F32 package is backported as is, so no LTO there
+%else
+%define _lto_cflags %{nil}
+%endif
+
+# Big endian platforms
+%ifarch ppc ppc64 s390 s390x
+%global big_endian 1
+%endif
+
+Name: mozjs%{major}
+Version: 91.0
+Release: 1%{?dist}
+Summary: SpiderMonkey JavaScript library
+
+License: MPLv2.0 and MPLv1.1 and BSD and GPLv2+ and GPLv3+ and LGPLv2+ and AFL and ASL 2.0
+URL: https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey
+Source0: https://ftp.mozilla.org/pub/firefox/releases/%{version}esr/source/firefox...
+
+# Patches from mozjs68, rebased for mozjs78:
+Patch01: fix-soname.patch
+Patch02: copy-headers.patch
+Patch03: tests-increase-timeout.patch
+Patch09: icu_sources_data.py-Decouple-from-Mozilla-build-system.patch
+Patch10: icu_sources_data-Write-command-output-to-our-stderr.patch
+
+# Build fixes - https://hg.mozilla.org/mozilla-central/rev/ca36a6c4f8a4a0ddaa033fdbe20836...
+Patch12: emitter.patch
+Patch13: tests-Use-native-TemporaryDirectory.patch
+
+# Build fixes
+Patch14: init_patch.patch
+Patch15: remove-sloppy-m4-detection-from-bundled-autoconf.patch
+
+# TODO: Check with mozilla for cause of these fails and re-enable spidermonkey compile time checks if needed
+Patch16: spidermonkey_checks_disable.patch
+
+# armv7 fixes
+Patch17: definitions_for_user_vfp.patch
+
+# s390x/ppc64 fixes
+Patch19: 0001-Skip-failing-tests-on-ppc64-and-s390x.patch
+
+BuildRequires: cargo
+BuildRequires: clang-devel
+BuildRequires: gcc
+BuildRequires: gcc-c++
+BuildRequires: m4
+BuildRequires: make
+%if !0%{?rhel}
+BuildRequires: nasm
+%endif
+BuildRequires: llvm
+BuildRequires: rust
+BuildRequires: perl-devel
+BuildRequires: pkgconfig(libffi)
+BuildRequires: pkgconfig(zlib)
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-six
+BuildRequires: readline-devel
+BuildRequires: zip
+
+%description
+SpiderMonkey is the code-name for Mozilla Firefox's C++ implementation of
+JavaScript. It is intended to be embedded in other applications
+that provide host environments for JavaScript.
+
+%package devel
+Summary: Development files for %{name}
+Requires: %{name}%{?_isa} = %{version}-%{release}
+
+%description devel
+The %{name}-devel package contains libraries and header files for
+developing applications that use %{name}.
+
+%prep
+%setup -q -n firefox-%{version}/js/src
+
+pushd ../..
+%patch01 -p1
+%patch02 -p1
+%patch03 -p1
+%patch09 -p1
+%patch10 -p1
+
+%patch12 -p1
+%patch13 -p1
+%patch14 -p1
+%patch15 -p1
+%patch16 -p1
+
+%ifarch armv7hl
+# Include definitions for user vfp on armv7 as it causes the compilation to fail without them
+# https://bugzilla.mozilla.org/show_bug.cgi?id=1526653
+%patch17 -p1
+%endif
+
+# Fixes for ppc64 and s390x, there is no need to keep it in ifarch here since mozilla tests support ifarch conditions
+%patch19 -p1
+
+# Copy out the LICENSE file
+cp LICENSE js/src/
+popd
+
+# Remove zlib directory (to be sure using system version)
+rm -rf ../../modules/zlib
+
+%build
+# Prefer GCC for now
+export CC=gcc
+export CXX=g++
+
+# Workaround
+# error: options `-C embed-bitcode=no` and `-C lto` are incompatible
+# error: could not compile `jsrust`.
+# https://github.com/japaric/cargo-call-stack/issues/25
+export RUSTFLAGS="-C embed-bitcode"
+
+%if 0%{?build_with_lto}
+# https://github.com/ptomato/mozjs/commit/36bb7982b41e0ef9a65f7174252ab996c...
+export CARGO_PROFILE_RELEASE_LTO=true
+%endif
+
+export CFLAGS="%{optflags}"
+export CXXFLAGS="$CFLAGS"
+export LINKFLAGS="%{?build_ldflags}"
+export PYTHON="%{python3}"
+
+# Use bundled autoconf
+export M4=m4
+export AWK=awk
+export AC_MACRODIR=/builddir/build/BUILD/firefox-%{version}/build/autoconf/
+
+sh ../../build/autoconf/autoconf.sh --localdir=/builddir/build/BUILD/firefox-%{version}/js/src configure.in > configure
+chmod +x configure
+
+%configure \
+ --without-system-icu \
+ --with-system-zlib \
+ --disable-tests \
+ --disable-strip \
+ --with-intl-api \
+ --enable-readline \
+ --enable-shared-js \
+ --enable-optimize \
+ --disable-debug \
+ --enable-pie \
+ --disable-jemalloc
+
+%make_build
+
+%install
+%make_install
+
+# Fix permissions
+chmod -x %{buildroot}%{_libdir}/pkgconfig/*.pc
+
+# Avoid multilib conflicts
+case `uname -i` in
+ i386 | ppc | s390 | sparc )
+ wordsize="32"
+ ;;
+ x86_64 | ppc64 | s390x | sparc64 )
+ wordsize="64"
+ ;;
+ *)
+ wordsize=""
+ ;;
+esac
+
+if test -n "$wordsize"
+then
+ mv %{buildroot}%{_includedir}/mozjs-%{major}/js-config.h \
+ %{buildroot}%{_includedir}/mozjs-%{major}/js-config-$wordsize.h
+
+ cat >%{buildroot}%{_includedir}/mozjs-%{major}/js-config.h <<EOF
+#ifndef JS_CONFIG_H_MULTILIB
+#define JS_CONFIG_H_MULTILIB
+
+#include <bits/wordsize.h>
+
+#if __WORDSIZE == 32
+# include "js-config-32.h"
+#elif __WORDSIZE == 64
+# include "js-config-64.h"
+#else
+# error "unexpected value for __WORDSIZE macro"
+#endif
+
+#endif
+EOF
+
+fi
+
+# Remove unneeded files
+rm %{buildroot}%{_bindir}/js%{major}-config
+rm %{buildroot}%{_libdir}/libjs_static.ajs
+
+# Rename library and create symlinks, following fix-soname.patch
+mv %{buildroot}%{_libdir}/libmozjs-%{major}.so \
+ %{buildroot}%{_libdir}/libmozjs-%{major}.so.0.0.0
+ln -s libmozjs-%{major}.so.0.0.0 %{buildroot}%{_libdir}/libmozjs-%{major}.so.0
+ln -s libmozjs-%{major}.so.0 %{buildroot}%{_libdir}/libmozjs-%{major}.so
+
+%check
+# Run SpiderMonkey tests
+%if 0%{?require_tests}
+%{python3} tests/jstests.py -d -s -t 2400 --no-progress --wpt=disabled ../../js/src/dist/bin/js%{major}
+%else
+%{python3} tests/jstests.py -d -s -t 2400 --no-progress --wpt=disabled ../../js/src/dist/bin/js%{major} || :
+%endif
+
+# Run basic JIT tests
+%if 0%{?require_tests}
+
+# large-arraybuffers/basic.js fails on s390x
+%ifarch s390 s390x
+%{python3} jit-test/jit_test.py -s -t 2400 --no-progress -x large-arraybuffers/basic.js ../../js/src/dist/bin/js%{major} basic
+%else
+%{python3} jit-test/jit_test.py -s -t 2400 --no-progress ../../js/src/dist/bin/js%{major} basic
+%endif
+
+%else
+%{python3} jit-test/jit_test.py -s -t 2400 --no-progress ../../js/src/dist/bin/js%{major} basic || :
+%endif
+
+%files
+%doc README.html
+%license LICENSE
+%{_libdir}/libmozjs-%{major}.so.0*
+
+%files devel
+%{_bindir}/js%{major}
+%{_libdir}/libmozjs-%{major}.so
+%{_libdir}/pkgconfig/*.pc
+%{_includedir}/mozjs-%{major}/
+
+%changelog
+* Mon Aug 09 2021 Frantisek Zatloukal <fzatlouk(a)redhat.com> - 91.0-1
+- Initial mozjs91 package based on mozjs78
diff --git a/remove-sloppy-m4-detection-from-bundled-autoconf.patch b/remove-sloppy-m4-detection-from-bundled-autoconf.patch
new file mode 100644
index 0000000..10b8b16
--- /dev/null
+++ b/remove-sloppy-m4-detection-from-bundled-autoconf.patch
@@ -0,0 +1,29 @@
+From 2d99a7b076578a3394fb9d5be6eb44f9cfebc681 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= <fzatlouk(a)redhat.com>
+Date: Mon, 9 Aug 2021 16:15:37 +0200
+Subject: [PATCH] Remove sloppy m4 detection from bundled autoconf
+
+---
+ build/autoconf/autoconf.sh | 6 ------
+ 1 file changed, 6 deletions(-)
+
+diff --git a/build/autoconf/autoconf.sh b/build/autoconf/autoconf.sh
+index ceb8a25..606c74e 100644
+--- a/build/autoconf/autoconf.sh
++++ b/build/autoconf/autoconf.sh
+@@ -114,12 +114,6 @@ fi
+
+ # Use the frozen version of Autoconf if available.
+ r= f=
+-# Some non-GNU m4's don't reject the --help option, so give them /dev/null.
+-case `$M4 --help < /dev/null 2>&1` in
+-*reload-state*) test -r $AC_MACRODIR/autoconf.m4f && { r=--reload f=f; } ;;
+-*traditional*) ;;
+-*) echo Autoconf requires GNU m4 1.1 or later >&2; rm -f $tmpin; exit 1 ;;
+-esac
+
+ $M4 -I$AC_MACRODIR $use_localdir $r autoconf.m4$f $infile > $tmpout ||
+ { rm -f $tmpin $tmpout; exit 2; }
+--
+2.31.1
+
diff --git a/sources b/sources
new file mode 100644
index 0000000..ccbc731
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+SHA512 (firefox-91.0esr.source.tar.xz) = e518e1536094a1da44eb45b3b0f3adc1b5532f17da2dbcc994715419ec4fcec40574fdf633349a8e5de6382942f5706757a35f1b96b11de4754855b9cf7946ae
diff --git a/spidermonkey_checks_disable.patch b/spidermonkey_checks_disable.patch
new file mode 100644
index 0000000..451d3ee
--- /dev/null
+++ b/spidermonkey_checks_disable.patch
@@ -0,0 +1,22 @@
+From 6ebe8ce6a3267c96454de3cd453269b4c4053a3e Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= <fzatlouk(a)redhat.com>
+Date: Mon, 9 Aug 2021 14:41:14 +0200
+Subject: [PATCH] Don't die on SpiderMonkey checks
+
+---
+ config/run_spidermonkey_checks.py | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/config/run_spidermonkey_checks.py b/config/run_spidermonkey_checks.py
+index 0f842d9..b49db52 100644
+--- a/config/run_spidermonkey_checks.py
++++ b/config/run_spidermonkey_checks.py
+@@ -11,5 +11,3 @@ import sys
+ def main(output, lib_file, *scripts):
+ for script in scripts:
+ retcode = subprocess.call([sys.executable, script], cwd=buildconfig.topsrcdir)
+- if retcode != 0:
+- raise Exception(script + " failed")
+--
+2.31.1
+
diff --git a/tests-Use-native-TemporaryDirectory.patch b/tests-Use-native-TemporaryDirectory.patch
new file mode 100644
index 0000000..054685c
--- /dev/null
+++ b/tests-Use-native-TemporaryDirectory.patch
@@ -0,0 +1,66 @@
+From 1af9fdd2124547099eb0cf5a71b513ef5592dbf9 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= <fzatlouk(a)redhat.com>
+Date: Tue, 10 Aug 2021 00:00:50 +0200
+Subject: [PATCH] Tests: Use native TemporaryDirectory
+
+Without ugly wrapper for Py < 3.2 that doesn't work half of the times...
+---
+ js/src/jit-test/jit_test.py | 2 +-
+ js/src/tests/jstests.py | 2 +-
+ js/src/tests/lib/tempfile.py | 17 +----------------
+ 3 files changed, 3 insertions(+), 18 deletions(-)
+
+diff --git a/js/src/jit-test/jit_test.py b/js/src/jit-test/jit_test.py
+index f5d7794..8d443aa 100755
+--- a/js/src/jit-test/jit_test.py
++++ b/js/src/jit-test/jit_test.py
+@@ -38,7 +38,7 @@ from lib.tests import (
+ get_environment_overlay,
+ change_env,
+ )
+-from lib.tempfile import TemporaryDirectory
++from tempfile import TemporaryDirectory
+
+
+ def which(name):
+diff --git a/js/src/tests/jstests.py b/js/src/tests/jstests.py
+index 6fa2f5f..53ceff6 100755
+--- a/js/src/tests/jstests.py
++++ b/js/src/tests/jstests.py
+@@ -37,7 +37,7 @@ from lib.tests import (
+ from lib.results import ResultsSink, TestOutput
+ from lib.progressbar import ProgressBar
+ from lib.adaptor import xdr_annotate
+-from lib.tempfile import TemporaryDirectory
++from tempfile import TemporaryDirectory
+
+ if sys.platform.startswith("linux") or sys.platform.startswith("darwin"):
+ from lib.tasks_unix import run_all_tests
+diff --git a/js/src/tests/lib/tempfile.py b/js/src/tests/lib/tempfile.py
+index ecc21c9..f0a1fa3 100644
+--- a/js/src/tests/lib/tempfile.py
++++ b/js/src/tests/lib/tempfile.py
+@@ -2,19 +2,4 @@
+ # License, v. 2.0. If a copy of the MPL was not distributed with this
+ # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ from __future__ import absolute_import
+-
+-try:
+- # Python 3.2
+- from tempfile import TemporaryDirectory
+-except ImportError:
+- import tempfile
+- import shutil
+- from contextlib import contextmanager
+-
+- @contextmanager
+- def TemporaryDirectory(*args, **kwds):
+- d = tempfile.mkdtemp(*args, **kwds)
+- try:
+- yield d
+- finally:
+- shutil.rmtree(d)
++from tempfile import TemporaryDirectory
+--
+2.31.1
+
diff --git a/tests-increase-timeout.patch b/tests-increase-timeout.patch
new file mode 100644
index 0000000..c86cca4
--- /dev/null
+++ b/tests-increase-timeout.patch
@@ -0,0 +1,26 @@
+From 9be85b155c6df0454c5faef9e850f572c99e3615 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= <fzatlouk(a)redhat.com>
+Date: Wed, 15 Jul 2020 08:32:44 +0200
+Subject: [PATCH] Increase the test timeout for slower buildds
+
+Ported forward from Debian: https://bugs.debian.org/878284
+---
+ js/src/Makefile.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/js/src/Makefile.in b/js/src/Makefile.in
+index b86aeed..d68655a 100644
+--- a/js/src/Makefile.in
++++ b/js/src/Makefile.in
+@@ -53,7 +53,7 @@ check:: check-js-msg
+
+ check-jstests:
+ $(wildcard $(RUN_TEST_PROGRAM)) $(PYTHON3) -u $(srcdir)/tests/jstests.py \
+- --no-progress --format=automation --timeout 300 \
++ --no-progress --format=automation --timeout 600 \
+ $(JSTESTS_EXTRA_ARGS) \
+ $(DIST)/bin/$(JS_SHELL_NAME)$(BIN_SUFFIX)
+
+--
+2.26.2
+
2 years, 8 months
Architecture specific change in rpms/flamerobin.git
by githook-noreply@fedoraproject.org
The package rpms/flamerobin.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/flamerobin.git/commit/?id=8a5ccc3....
Change:
-ExcludeArch: s390x
Thanks.
Full change:
============
commit 8a5ccc3e9157cf2a4a815403993b6c825570a626
Author: Philippe Makowski <philippe.makowski(a)rtech.fr>
Date: Tue Aug 24 15:22:13 2021 +0200
build under s390x (bz 1969393 and 1987475)
diff --git a/flamerobin.spec b/flamerobin.spec
index 84bb503..4730b19 100644
--- a/flamerobin.spec
+++ b/flamerobin.spec
@@ -2,7 +2,7 @@
Summary: Graphical client for Firebird
Name: flamerobin
Version: 0.9.3.1
-Release: 18%{?dist}
+Release: 19%{?dist}
License: BSD
Source0: https://github.com/mariuz/%{name}/archive/%{name}-%{version}.tar.gz
# PATCH-FIX-UPSTREAM flamerobin-desktop-file.patch gh#mariuz/flamerobin#5 badshah400(a)gmail.com -- Unhardcode icon path in GNU/Linux laucher; patch taken from upstream git
@@ -16,8 +16,6 @@ BuildRequires: desktop-file-utils
BuildRequires: boost-devel
BuildRequires: libicns-utils
BuildRequires: make
-# Firebird 4 have build issues (bz 1969393)
-ExcludeArch: s390x
%description
FlameRobin is a database administration tool for Firebird DBMS based on wxgtk
@@ -59,6 +57,9 @@ rm %{buildroot}%{_datadir}/pixmaps/*.png
%changelog
+* Tue Aug 24 2021 Philippe Makowski <makowski(a)fedoraproject.org> - 0.9.3.1-19
+- build under s390x (bz 1969393 and 1987475)
+
* Fri Aug 06 2021 Jonathan Wakely <jwakely(a)redhat.com> - 0.9.3.1-18
- Rebuilt for Boost 1.76
2 years, 8 months
[Report] Packages Restricting Arches
by root
New package excluding arches (3)
============================
- OpenColorIO
ExclusiveArch: x86_64 ppc64le
- rust-aliasable
ExclusiveArch: %{rust_arches}
- rust-pyo3-build-config
ExclusiveArch: %{rust_arches}
List of packages currently excluding arches (2243)
===========================================
- 0ad
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le
- 90-Second-Portraits
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- GoldenCheetah
ExclusiveArch: %{qt5_qtwebengine_arches}
- GtkAda
ExclusiveArch: %{GPRbuild_arches}
- GtkAda3
ExclusiveArch: %{GPRbuild_arches}
- OpenColorIO
ExclusiveArch: x86_64 ppc64le
- OpenImageIO
ExclusiveArch: x86_64 ppc64le
- OpenMolcas
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- PragmARC
ExclusiveArch: %{GPRbuild_arches}
- R-V8
ExclusiveArch: %{nodejs_arches}
- RdRand
ExclusiveArch: %{ix86} x86_64
- RediSearch
ExclusiveArch: x86_64
- SLOF
ExclusiveArch: ppc64le
- YafaRay
ExclusiveArch: %{ix86} x86_64
- aboot
ExclusiveArch: alpha
- accel-config
ExclusiveArch: %{ix86} x86_64
- acpid
ExclusiveArch: ia64 x86_64 %{ix86} %{arm} aarch64
- ahven
ExclusiveArch: %{GPRbuild_arches}
- algobox
ExclusiveArch: %{qt5_qtwebengine_arches}
- alleyoop
ExclusiveArch: %{ix86} x86_64 ppc ppc64 ppc64le s390x %{arm} aarch64
- american-fuzzy-lop
ExclusiveArch: %{ix86} x86_64
- anet
ExclusiveArch: %{GPRbuild_arches}
- anki
ExclusiveArch: %{qt5_qtwebengine_arches} noarch
- apmd
ExclusiveArch: %{ix86}
- appstream-generator
ExclusiveArch: %{ldc_arches}
- arm-trusted-firmware
ExclusiveArch: aarch64
- atomic-queue
ExclusiveArch: x86_64 %{ix86} %{arm32} %{arm64}
- aunit
ExclusiveArch: %GPRbuild_arches
- avgtime
ExclusiveArch: %{ldc_arches}
- aws
ExclusiveArch: %GPRbuild_arches
- bcal
ExclusiveArch: x86_64 aarch64 ia64 ppc64 ppc64le s390x
- bcc
ExclusiveArch: x86_64 %{power64} aarch64 s390x armv7hl
- bcm283x-firmware
ExclusiveArch: %{arm} aarch64
- berusky2
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 %{mips}
- biosdevname
ExclusiveArch: %{ix86} x86_64
- blender
ExclusiveArch: x86_64 aarch64 ppc64le
- bless
ExclusiveArch: %mono_arches
- bpftrace
ExclusiveArch: x86_64 %{power64} aarch64 s390x
- calamares
ExclusiveArch: %{ix86} x86_64 aarch64
- calibre
ExclusiveArch: %{qt5_qtwebengine_arches}
- ccdciel
ExclusiveArch: %{fpc_arches}
- cdcollect
ExclusiveArch: %{mono_arches}
- ceph
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- chromium
ExclusiveArch: x86_64 i686
ExclusiveArch: x86_64 i686 aarch64
- cjdns
ExclusiveArch: %{nodejs_arches}
- clevis-pin-tpm2
ExclusiveArch: %{rust_arches}
- cmospwd
ExclusiveArch: %{ix86} x86_64
- cmrt
ExclusiveArch: %{ix86} x86_64 ia64
- coffee-script
ExclusiveArch: %{nodejs_arches} noarch
- colorful
ExclusiveArch: %{fpc_arches}
- cpu-x
ExclusiveArch: i686 x86_64
- cpufetch
ExclusiveArch: %{arm} aarch64 x86_64 ppc ppc64 ppc64le
- cpuid
ExclusiveArch: %{ix86} x86_64
- cqrlog
ExclusiveArch: %{fpc_arches}
- crash
ExclusiveArch: %{ix86} ia64 x86_64 ppc ppc64 s390 s390x %{arm} aarch64 ppc64le
- crash-gcore-command
ExclusiveArch: aarch64 ppc64le x86_64
- crash-trace-command
ExclusiveArch: aarch64 ppc64le s390x x86_64
- criu
ExclusiveArch: x86_64 %{arm} ppc64le aarch64 s390x
- cryptlib
ExclusiveArch: x86_64 %{ix86} aarch64 ppc64 ppc64le
- cryptobone
ExclusiveArch: x86_64 %{ix86} ppc64 ppc64le aarch64
- daq
ExclusiveArch: x86_64 aarch64
- darktable
ExclusiveArch: x86_64 aarch64
ExclusiveArch: x86_64 ppc64le
- dbus-parsec
ExclusiveArch: %{rust_arches}
- dbus-sharp
ExclusiveArch: %mono_arches
- dbus-sharp-glib
ExclusiveArch: %mono_arches
- dbxtool
ExclusiveArch: i386 x86_64 aarch64
- deepin-daemon
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- deepin-desktop-schemas
ExclusiveArch: %{go_arches}
- dlm
ExclusiveArch: i686 x86_64
- dmidecode
ExclusiveArch: %{ix86} x86_64 ia64 aarch64
- dmtcp
ExclusiveArch: x86_64 aarch64
- docker-distribution
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- dolphin-emu
ExclusiveArch: x86_64 aarch64
- dotnet-build-reference-packages
ExclusiveArch: aarch64 x86_64
ExclusiveArch: x86_64
- dotnet3.1
ExclusiveArch: aarch64 x86_64
ExclusiveArch: x86_64
- dotnet5.0
ExclusiveArch: aarch64 x86_64
ExclusiveArch: x86_64
- dotnet5.0-build-reference-packages
ExclusiveArch: aarch64 x86_64
ExclusiveArch: x86_64
- doublecmd
ExclusiveArch: %{ix86} x86_64
- dpdk
ExclusiveArch: x86_64 i686 aarch64 ppc64le
- dyninst
ExclusiveArch: %{ix86} x86_64 ppc64le aarch64
- e3
ExclusiveArch: %{ix86} x86_64
- edk2
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
ExclusiveArch: x86_64 aarch64
- efibootmgr
ExclusiveArch: %{efi}
- efifs
ExclusiveArch: %{efi}
- efitools
ExclusiveArch: %{efi}
- efivar
ExclusiveArch: %{efi}
- elk
ExclusiveArch: x86_64 %{ix86}
ExclusiveArch: x86_64 %{ix86} aarch64 %{arm} %{power64}
- emacs-slime
ExclusiveArch: %{arm} %{ix86} x86_64 ppc sparcv9 aarch64
- enki
ExclusiveArch: %{qt5_qtwebengine_arches} noarch
- envytools
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- eric
ExclusiveArch: %{qt5_qtwebengine_arches} noarch
- eth-tools
ExclusiveArch: x86_64
- extlinux-bootloader
ExclusiveArch: %{arm} aarch64
- fcitx-libpinyin
ExclusiveArch: %{qt5_qtwebengine_arches}
- fedora-dockerfiles
ExclusiveArch: %{go_arches}
- fes
ExclusiveArch: %{ix86} x86_64
- fkill-cli
ExclusiveArch: %{nodejs_arches} noarch
- florist
ExclusiveArch: %{GPRbuild_arches}
- fpc
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64 ppc64le
- frescobaldi
ExclusiveArch: %{qt5_qtwebengine_arches}
- frysk
ExclusiveArch: %{ix86} x86_64 ppc64
- fwts
ExclusiveArch: x86_64 %{arm} aarch64 s390x riscv64 %{power64}
- fwupd-efi
ExclusiveArch: x86_64 aarch64
- fx
ExclusiveArch: %{nodejs_arches} noarch
- fx-completion
ExclusiveArch: %{nodejs_arches} noarch
- ga
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le
- gbrainy
ExclusiveArch: %mono_arches
- gdata-sharp
ExclusiveArch: %mono_arches
- gdb-exploitable
ExclusiveArch: x86_64 i386
ExclusiveArch: x86_64 noarch
- gearhead1
ExclusiveArch: %{fpc_arches}
- gela-asis
ExclusiveArch: %GPRbuild_arches
- ghdl
ExclusiveArch: %{GNAT_arches}
- ghostwriter
ExclusiveArch: %{qt5_qtwebengine_arches}
- gio-sharp
ExclusiveArch: %mono_arches
- gir-to-d
ExclusiveArch: %{ldc_arches}
- git-octopus
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- gitqlient
ExclusiveArch: %{qt5_qtwebengine_arches}
- giver
ExclusiveArch: %{mono_arches}
- gkeyfile-sharp
ExclusiveArch: %mono_arches
- glibc32
ExclusiveArch: x86_64
- glibd
ExclusiveArch: %{ldc_arches}
- gmqcc
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- gnatcoll
ExclusiveArch: %{GPRbuild_arches}
- gnatcoll-bindings
ExclusiveArch: %{GPRbuild_arches}
- gnatcoll-db
ExclusiveArch: %{GPRbuild_arches}
- gnome-boxes
ExclusiveArch: x86_64
- gnome-desktop-sharp
ExclusiveArch: %mono_arches
- gnome-do
ExclusiveArch: %mono_arches
- gnome-keyring-sharp
ExclusiveArch: %mono_arches
- gnome-rdp
ExclusiveArch: %{mono_arches}
- gnome-sharp
ExclusiveArch: %mono_arches
- gnome-subtitles
ExclusiveArch: %mono_arches
- gnu-efi
ExclusiveArch: %{efi}
- go-bindata
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- go-compilers
ExclusiveArch: %{go_arches}
- go-rpm-macros
ExclusiveArch: %{golang_arches} %{gccgo_arches}
- godep
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang
ExclusiveArch: %{golang_arches}
- gomtree
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- gotun
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
ExclusiveArch: x86_64
- goverlay
ExclusiveArch: %{fpc_arches}
- gprbuild
ExclusiveArch: %{GPRbuild_arches} %{bootstrap_arch}
- gprolog
ExclusiveArch: x86_64 %{ix86} ppc alpha
- grafana
ExclusiveArch: %{grafana_arches}
- grafana-pcp
ExclusiveArch: %{grafanapcp_arches}
- gtk-sharp-beans
ExclusiveArch: %mono_arches
- gtk-sharp2
ExclusiveArch: %mono_arches
- gtk-sharp3
ExclusiveArch: %{mono_arches}
- gtkd
ExclusiveArch: %{ldc_arches}
- gudev-sharp
ExclusiveArch: %mono_arches
- guestfs-tools
ExclusiveArch: %{kernel_arches}
- hedgewars
ExclusiveArch: %{fpc_arches}
- hsakmt
ExclusiveArch: x86_64 aarch64
- hyena
ExclusiveArch: %{mono_arches}
- hyperscan
ExclusiveArch: x86_64
- hyperv-daemons
ExclusiveArch: i686 x86_64
- i3status-rs
ExclusiveArch: %{rust_arches}
- icaro
ExclusiveArch: %{ix86} x86_64 noarch
- imvirt
ExclusiveArch: %{ix86} x86_64 ia64
- indistarter
ExclusiveArch: %{fpc_arches}
- infinipath-psm
ExclusiveArch: x86_64
- intel-cmt-cat
ExclusiveArch: x86_64 i686 i586
ExclusiveArch: x86_64 i686 i586
- intel-gmmlib
ExclusiveArch: x86_64 i686
- intel-ipp-crypto-mb
ExclusiveArch: x86_64
ExclusiveArch: x86_64
- intel-ipsec-mb
ExclusiveArch: x86_64
ExclusiveArch: x86_64
- intel-mediasdk
ExclusiveArch: x86_64
- intel-undervolt
ExclusiveArch: i386 x86_64
- ioport
ExclusiveArch: %{ix86} x86_64
- ipmctl
ExclusiveArch: x86_64
- ipw2100-firmware
ExclusiveArch: noarch i386 x86_64
- ipw2200-firmware
ExclusiveArch: noarch i386 x86_64
- ispc
ExclusiveArch: x86_64 aarch64
- iucode-tool
ExclusiveArch: %{ix86} x86_64
- iyfct
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- java-1.8.0-openjdk-aarch32
ExclusiveArch: %{arm}
- jigawatts
ExclusiveArch: x86_64 %{arm} ppc64le aarch64 s390x
- kchmviewer
ExclusiveArch: %{qt5_qtwebengine_arches}
- keepass
ExclusiveArch: %{mono_arches}
- kernel
ExclusiveArch: x86_64 s390x %{arm} aarch64 ppc64le
ExclusiveArch: noarch i386 i686 x86_64 s390x %{arm} aarch64 ppc64le
- keyring-ima-signer
ExclusiveArch: %{rust_arches}
- kf5-akonadi-search
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-audiocd-kio
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-kalarmcal
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-kblog
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-kcalendarcore
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-kcalendarutils
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-kitinerary
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-ktnef
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-libkdcraw
ExclusiveArch: x86_64 ppc64le %{arm}
- kicad
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le
- kiwix-desktop
ExclusiveArch: %{qt5_qtwebengine_arches}
- knot-resolver
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64
- knotes
ExclusiveArch: x86_64 %{arm}
- kompose
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 s390x
- kubernetes
ExclusiveArch: x86_64 aarch64 ppc64le s390x %{arm}
- lazarus
ExclusiveArch: %{fpc_arches}
- lazpaint
ExclusiveArch: %{fpc_arches}
- ldc
ExclusiveArch: %{ldc_arches}
- libbsr
ExclusiveArch: %{power64}
- libclc
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 %{power64} s390x
- libcxl
ExclusiveArch: %{power64}
- libdfp
ExclusiveArch: ppc ppc64 ppc64le s390 s390x x86_64
- libdispatch
ExclusiveArch: x86_64 aarch64
- libguestfs
ExclusiveArch: %{kernel_arches}
- libica
ExclusiveArch: s390 s390x
- libipt
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{ix86} x86_64
- libnxz
ExclusiveArch: ppc64le
- libocxl
ExclusiveArch: ppc64le
- libpmemobj-cpp
ExclusiveArch: x86_64 ppc64le
- libpsm2
ExclusiveArch: x86_64
- libquentier
ExclusiveArch: %{qt5_qtwebengine_arches}
- libretro-desmume2015
ExclusiveArch: i686 x86_64
- librtas
ExclusiveArch: %{power64}
- libservicelog
ExclusiveArch: ppc %{power64}
- libsmbios
ExclusiveArch: x86_64 %{ix86}
- libunwind
ExclusiveArch: %{arm} aarch64 hppa ia64 mips ppc %{power64} s390x %{ix86} x86_64
- libva-intel-hybrid-driver
ExclusiveArch: %{ix86} x86_64 ia64
- libvma
ExclusiveArch: x86_64 ppc64le ppc64 aarch64
- libvmi
ExclusiveArch: x86_64
- libvpd
ExclusiveArch: %{power64}
- libxsmm
ExclusiveArch: x86_64
- libzfcphbaapi
ExclusiveArch: s390 s390x
- lightdm
ExclusiveArch: x86_64 ppc64le
- log4net
ExclusiveArch: %mono_arches
- lrmi
ExclusiveArch: %{ix86}
- lsvpd
ExclusiveArch: %{power64}
- luajit
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64 s390x ppc64le
- luxcorerender
ExclusiveArch: x86_64
- mactel-boot
ExclusiveArch: x86_64
- manifest-tool
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- marked
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- matreshka
ExclusiveArch: %GPRbuild_arches
- maxima
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc sparcv9
ExclusiveArch: %{ix86} x86_64 ppc sparcv9
- mbpfan
ExclusiveArch: x86_64
- mcelog
ExclusiveArch: i686 x86_64
- mdevctl
ExclusiveArch: %{rust_arches}
- mediaconch
ExclusiveArch: %{qt5_qtwebengine_arches}
- mellowplayer
ExclusiveArch: %{qt5_qtwebengine_arches}
- memkind
ExclusiveArch: x86_64 ppc64 ppc64le s390x aarch64
- memtest86+
ExclusiveArch: %{ix86} x86_64
- mesos
ExclusiveArch: x86_64
- microcode_ctl
ExclusiveArch: %{ix86} x86_64
- micropython
ExclusiveArch: %{arm} %{ix86} x86_64
- mine_detector
ExclusiveArch: %{GPRbuild_arches}
- minetest
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64
- mingw-libidn2
ExclusiveArch: %{ix86} x86_64 %{arm}
- mingw-wine-gecko
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- mirrorlist-server
ExclusiveArch: %{rust_arches}
- mkbootdisk
ExclusiveArch: %{ix86} sparc sparc64 x86_64
- mod_mono
ExclusiveArch: %mono_arches
- module-build-service
ExclusiveArch: %{ix86} x86_64 noarch
- mokutil
ExclusiveArch: %{ix86} x86_64 aarch64 %{arm}
- mono
ExclusiveArch: %mono_arches
- mono-addins
ExclusiveArch: %mono_arches
- mono-basic
ExclusiveArch: %{mono_arches}
- mono-bouncycastle
ExclusiveArch: %mono_arches
- mono-cecil
ExclusiveArch: %mono_arches
- mono-cecil-flowanalysis
ExclusiveArch: %mono_arches
- mono-reflection
ExclusiveArch: %mono_arches
- mono-tools
ExclusiveArch: %mono_arches
- mono-zeroconf
ExclusiveArch: %mono_arches
- monobristol
ExclusiveArch: %{mono_arches}
- monodevelop
ExclusiveArch: %mono_arches
- monodevelop-debugger-gdb
ExclusiveArch: %{mono_arches}
- monosim
ExclusiveArch: %mono_arches
- mrrescue
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- msr-tools
ExclusiveArch: %{ix86} x86_64
- mustache-d
ExclusiveArch: %{ldc_arches}
- mysql-connector-net
ExclusiveArch: %{mono_arches}
- nant
ExclusiveArch: %mono_arches
- nativejit
ExclusiveArch: x86_64
- nbc
ExclusiveArch: %{fpc_arches}
- nbdkit
ExclusiveArch: x86_64
- ndesk-dbus
ExclusiveArch: %{mono_arches}
- ndesk-dbus-glib
ExclusiveArch: %{mono_arches}
- newsflash
ExclusiveArch: %{rust_arches}
- newtonsoft-json
ExclusiveArch: %{mono_arches}
- nispor
ExclusiveArch: %{rust_arches}
- nodejs
ExclusiveArch: %{nodejs_arches}
- nodejs-acorn-object-spread
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-backbone
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bash-language-server
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-buble
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-colors
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-generic-pool
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-linefix
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-nodemon
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-packaging
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-replace-require-self
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-supervisor
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-svgo
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tape
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-typescript
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-underscore
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- notify-sharp
ExclusiveArch: %{mono_arches}
- notify-sharp3
ExclusiveArch: %{mono_arches}
- npm-name-cli
ExclusiveArch: %{nodejs_arches} noarch
- nuget
ExclusiveArch: %{mono_arches}
- numatop
ExclusiveArch: x86_64 ppc64le
- nunit
ExclusiveArch: %{mono_arches}
- nunit2
ExclusiveArch: %{mono_arches}
- nvml
ExclusiveArch: x86_64 ppc64le
- nwchem
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le
- obs-service-rust2rpm
ExclusiveArch: %{rust_arches} noarch
- oci-kvm-hook
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- oci-seccomp-bpf-hook
ExclusiveArch: x86_64 %%{power64} aarch64 s390x armv7hl
- oci-umount
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le s390x %{mips}
- oidn
ExclusiveArch: x86_64
- olpc-kbdshim
ExclusiveArch: %{ix86} %{arm}
- olpc-netutils
ExclusiveArch: %{ix86} %{arm}
- olpc-utils
ExclusiveArch: %{ix86} %{arm}
- onednn
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- onedrive
ExclusiveArch: %{ldc_arches}
- opae
ExclusiveArch: x86_64
- opal-prd
ExclusiveArch: ppc64le
- open-vm-tools
ExclusiveArch: x86_64
ExclusiveArch: %{ix86} x86_64 aarch64
- openblas
ExclusiveArch: %{openblas_arches}
- openjfx
ExclusiveArch: x86_64
- openjfx8
ExclusiveArch: x86_64
- openlibm
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 %{power64}
- openni
ExclusiveArch: %{ix86} x86_64 %{arm}
- openni-primesense
ExclusiveArch: %{ix86} x86_64 %{arm}
- openshadinglanguage
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- openssl-ibmca
ExclusiveArch: s390 s390x
- origin
ExclusiveArch: %{go_arches}
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- orion
ExclusiveArch: %{qt5_qtwebengine_arches}
- orthorobot
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- pacemaker
ExclusiveArch: aarch64 i686 ppc64le s390x x86_64 %{arm}
ExclusiveArch: aarch64 i686 ppc64le s390x x86_64
- paflib
ExclusiveArch: ppc %{power64}
- parsec
ExclusiveArch: %{rust_arches}
- parsec-tool
ExclusiveArch: %{rust_arches}
- pcc
ExclusiveArch: %{ix86} x86_64
- pcm
ExclusiveArch: %{ix86} x86_64
- pcmciautils
ExclusiveArch: %{ix86} x86_64 ia64 ppc ppc64 %{arm}
- pdbg
ExclusiveArch: ppc64le
- pdfmod
ExclusiveArch: %mono_arches
- perl-Dumbbench
ExclusiveArch: %{ix86} x86_64 noarch
- perl-Parse-DMIDecode
ExclusiveArch: %{ix86} x86_64 ia64 aarch64
- pesign
ExclusiveArch: %{ix86} x86_64 ia64 aarch64 %{arm}
- pesign-test-app
ExclusiveArch: x86_64
- pinta
ExclusiveArch: %mono_arches
- pioneer
ExclusiveArch: %{ix86} x86_64
- playonlinux
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64
- pmdk-convert
ExclusiveArch: x86_64
- pmemkv
ExclusiveArch: x86_64
- poppler-sharp
ExclusiveArch: %mono_arches
- popub
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- powerpc-utils
ExclusiveArch: ppc %{power64}
- ppc64-diag
ExclusiveArch: ppc %{power64}
- pveclib
ExclusiveArch: ppc %{power64}
- pvs-sbcl
ExclusiveArch: %{ix86} x86_64 ppc sparcv9
- pyqtwebengine
ExclusiveArch: %{qt5_qtwebengine_arches}
- python-cryptography
ExclusiveArch: %{rust_arches}
- python-etcd
ExclusiveArch: noarch %{ix86} x86_64 %{arm} aarch64 ppc64le s390x
- python-healpy
ExclusiveArch: aarch64 ppc64 ppc64le x86_64 s390x
- python-javabridge
ExclusiveArch: i686 x86_64
- python-openoffice
ExclusiveArch: noarch x86_64
- python-pymoc
ExclusiveArch: aarch64 ppc64 ppc64le x86_64 s390x
- python-rpi-gpio
ExclusiveArch: %{arm} aarch64
- python-setuptools-rust
ExclusiveArch: %{rust_arches}
- q4wine
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- qatzip
ExclusiveArch: x86_64
- qcint
ExclusiveArch: x86_64
- qclib
ExclusiveArch: s390 s390x
- qemu-sanity-check
ExclusiveArch: %{kernel_arches}
- qevercloud
ExclusiveArch: %{qt5_qtwebengine_arches}
- qmapshack
ExclusiveArch: %{qt5_qtwebengine_arches}
- qt4pas
ExclusiveArch: %{fpc_arches}
- qt5-qtwebengine
ExclusiveArch: %{qt5_qtwebengine_arches}
- quantum-espresso
ExclusiveArch: x86_64 %{ix86} aarch64 %{power64}
- quentier
ExclusiveArch: %{qt5_qtwebengine_arches}
- rear
ExclusiveArch: %ix86 x86_64 ppc ppc64 ppc64le ia64
- renderdoc
ExclusiveArch: x86_64
- reptyr
ExclusiveArch: %{ix86} x86_64 %{arm}
- rescene
ExclusiveArch: %{mono_arches}
- restsharp
ExclusiveArch: %{mono_arches}
- rhythmbox-alternative-toolbar
ExclusiveArch: %{ix86} %{arm} x86_64 ppc64 ppc64le
- rocm-runtime
ExclusiveArch: x86_64 aarch64
- rocminfo
ExclusiveArch: x86_64 aarch64
- rpg-cli
ExclusiveArch: %{rust_arches}
- rpm-ostree
ExclusiveArch: %{rust_arches}
- rr
ExclusiveArch: %{ix86} x86_64
- rssguard
ExclusiveArch: %{qt5_qtwebengine_arches}
- rubygem-childprocess
ExclusiveArch: %{ix86} x86_64 noarch
- runc
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le %{mips} s390x
- rust
ExclusiveArch: %{rust_arches}
- rust-Inflector
ExclusiveArch: %{rust_arches}
- rust-ab_glyph
ExclusiveArch: %{rust_arches}
- rust-ab_glyph_rasterizer
ExclusiveArch: %{rust_arches}
- rust-abomonation
ExclusiveArch: %{rust_arches}
- rust-actix
ExclusiveArch: %{rust_arches}
- rust-actix-codec
ExclusiveArch: %{rust_arches}
- rust-actix-connect
ExclusiveArch: %{rust_arches}
- rust-actix-files
ExclusiveArch: %{rust_arches}
- rust-actix-http
ExclusiveArch: %{rust_arches}
- rust-actix-macros
ExclusiveArch: %{rust_arches}
- rust-actix-macros0.1
ExclusiveArch: %{rust_arches}
- rust-actix-router
ExclusiveArch: %{rust_arches}
- rust-actix-rt
ExclusiveArch: %{rust_arches}
- rust-actix-rt1
ExclusiveArch: %{rust_arches}
- rust-actix-server
ExclusiveArch: %{rust_arches}
- rust-actix-server-config
ExclusiveArch: %{rust_arches}
- rust-actix-service
ExclusiveArch: %{rust_arches}
- rust-actix-testing
ExclusiveArch: %{rust_arches}
- rust-actix-threadpool
ExclusiveArch: %{rust_arches}
- rust-actix-tls
ExclusiveArch: %{rust_arches}
- rust-actix-utils
ExclusiveArch: %{rust_arches}
- rust-actix-web
ExclusiveArch: %{rust_arches}
- rust-actix-web-codegen
ExclusiveArch: %{rust_arches}
- rust-actix0.10
ExclusiveArch: %{rust_arches}
- rust-actix_derive
ExclusiveArch: %{rust_arches}
- rust-actix_derive0.5
ExclusiveArch: %{rust_arches}
- rust-addr2line
ExclusiveArch: %{rust_arches}
- rust-adler
ExclusiveArch: %{rust_arches}
- rust-adler32
ExclusiveArch: %{rust_arches}
- rust-aead
ExclusiveArch: %{rust_arches}
- rust-aes
ExclusiveArch: %{rust_arches}
- rust-aes-gcm
ExclusiveArch: %{rust_arches}
- rust-aes-soft
ExclusiveArch: %{rust_arches}
- rust-afterburn
ExclusiveArch: %{rust_arches}
- rust-ahash
ExclusiveArch: %{rust_arches}
- rust-ahash0.4
ExclusiveArch: %{rust_arches}
- rust-aho-corasick
ExclusiveArch: %{rust_arches}
- rust-alacritty
ExclusiveArch: %{rust_arches}
- rust-alacritty_config_derive
ExclusiveArch: %{rust_arches}
- rust-alacritty_terminal
ExclusiveArch: %{rust_arches}
- rust-alga
ExclusiveArch: %{rust_arches}
- rust-alga_derive
ExclusiveArch: %{rust_arches}
- rust-aliasable
ExclusiveArch: %{rust_arches}
- rust-alloc-no-stdlib
ExclusiveArch: %{rust_arches}
- rust-alloc-stdlib
ExclusiveArch: %{rust_arches}
- rust-alphanumeric-sort
ExclusiveArch: %{rust_arches}
- rust-alsa
ExclusiveArch: %{rust_arches}
- rust-alsa-sys
ExclusiveArch: %{rust_arches}
- rust-ambient-authority
ExclusiveArch: %{rust_arches}
- rust-ammonia
ExclusiveArch: %{rust_arches}
- rust-andrew
ExclusiveArch: %{rust_arches}
- rust-ansi_colours
ExclusiveArch: %{rust_arches}
- rust-ansi_term
ExclusiveArch: %{rust_arches}
- rust-ansi_term0.11
ExclusiveArch: %{rust_arches}
- rust-antidote
ExclusiveArch: %{rust_arches}
- rust-anyhow
ExclusiveArch: %{rust_arches}
- rust-anymap
ExclusiveArch: %{rust_arches}
- rust-aom-sys
ExclusiveArch: %{rust_arches}
- rust-app_dirs
ExclusiveArch: %{rust_arches}
- rust-approx
ExclusiveArch: %{rust_arches}
- rust-ar
ExclusiveArch: %{rust_arches}
- rust-arbitrary
ExclusiveArch: %{rust_arches}
- rust-arbitrary0.4
ExclusiveArch: %{rust_arches}
- rust-arc-swap
ExclusiveArch: %{rust_arches}
- rust-arg_enum_proc_macro
ExclusiveArch: %{rust_arches}
- rust-argh
ExclusiveArch: %{rust_arches}
- rust-argh_derive
ExclusiveArch: %{rust_arches}
- rust-argh_shared
ExclusiveArch: %{rust_arches}
- rust-argparse
ExclusiveArch: %{rust_arches}
- rust-array-init
ExclusiveArch: %{rust_arches}
- rust-arraydeque
ExclusiveArch: %{rust_arches}
- rust-arrayref
ExclusiveArch: %{rust_arches}
- rust-arrayvec
ExclusiveArch: %{rust_arches}
- rust-article_scraper
ExclusiveArch: %{rust_arches}
- rust-ascii
ExclusiveArch: %{rust_arches}
- rust-ascii-canvas
ExclusiveArch: %{rust_arches}
- rust-askalono
ExclusiveArch: %{rust_arches}
- rust-askalono-cli
ExclusiveArch: %{rust_arches}
- rust-askama
ExclusiveArch: %{rust_arches}
- rust-askama_derive
ExclusiveArch: %{rust_arches}
- rust-askama_escape
ExclusiveArch: %{rust_arches}
- rust-askama_shared
ExclusiveArch: %{rust_arches}
- rust-asn1
ExclusiveArch: %{rust_arches}
- rust-asn1_derive
ExclusiveArch: %{rust_arches}
- rust-assert-impl
ExclusiveArch: %{rust_arches}
- rust-assert-json-diff
ExclusiveArch: %{rust_arches}
- rust-assert_approx_eq
ExclusiveArch: %{rust_arches}
- rust-assert_cli
ExclusiveArch: %{rust_arches}
- rust-assert_cmd
ExclusiveArch: %{rust_arches}
- rust-assert_fs
ExclusiveArch: %{rust_arches}
- rust-assert_matches
ExclusiveArch: %{rust_arches}
- rust-assign
ExclusiveArch: %{rust_arches}
- rust-async-attributes
ExclusiveArch: %{rust_arches}
- rust-async-channel
ExclusiveArch: %{rust_arches}
- rust-async-compression
ExclusiveArch: %{rust_arches}
- rust-async-executor
ExclusiveArch: %{rust_arches}
- rust-async-global-executor
ExclusiveArch: %{rust_arches}
- rust-async-io
ExclusiveArch: %{rust_arches}
- rust-async-lock
ExclusiveArch: %{rust_arches}
- rust-async-mutex
ExclusiveArch: %{rust_arches}
- rust-async-process
ExclusiveArch: %{rust_arches}
- rust-async-std
ExclusiveArch: %{rust_arches}
- rust-async-stream
ExclusiveArch: %{rust_arches}
- rust-async-stream-impl
ExclusiveArch: %{rust_arches}
- rust-async-task
ExclusiveArch: %{rust_arches}
- rust-async-trait
ExclusiveArch: %{rust_arches}
- rust-asyncgit
ExclusiveArch: %{rust_arches}
- rust-atk
ExclusiveArch: %{rust_arches}
- rust-atk-sys
ExclusiveArch: %{rust_arches}
- rust-atom
ExclusiveArch: %{rust_arches}
- rust-atomic-waker
ExclusiveArch: %{rust_arches}
- rust-atomicwrites
ExclusiveArch: %{rust_arches}
- rust-attohttpc
ExclusiveArch: %{rust_arches}
- rust-atty
ExclusiveArch: %{rust_arches}
- rust-autocfg
ExclusiveArch: %{rust_arches}
- rust-av-metrics
ExclusiveArch: %{rust_arches}
- rust-average
ExclusiveArch: %{rust_arches}
- rust-awc
ExclusiveArch: %{rust_arches}
- rust-az
ExclusiveArch: %{rust_arches}
- rust-backtrace
ExclusiveArch: %{rust_arches}
- rust-backtrace-sys
ExclusiveArch: %{rust_arches}
- rust-base100
ExclusiveArch: %{rust_arches}
- rust-base64
ExclusiveArch: %{rust_arches}
- rust-base64-0.10
ExclusiveArch: %{rust_arches}
- rust-base64-0.11
ExclusiveArch: %{rust_arches}
- rust-base64_0.12
ExclusiveArch: %{rust_arches}
- rust-bat
ExclusiveArch: %{rust_arches}
- rust-battery
ExclusiveArch: %{rust_arches}
- rust-beef
ExclusiveArch: %{rust_arches}
- rust-below
ExclusiveArch: %{rust_arches}
- rust-below-common
ExclusiveArch: %{rust_arches}
- rust-below-config
ExclusiveArch: %{rust_arches}
- rust-below-dump
ExclusiveArch: %{rust_arches}
- rust-below-model
ExclusiveArch: %{rust_arches}
- rust-below-render
ExclusiveArch: %{rust_arches}
- rust-below-store
ExclusiveArch: %{rust_arches}
- rust-below-view
ExclusiveArch: %{rust_arches}
- rust-below_derive
ExclusiveArch: %{rust_arches}
- rust-bencher
ExclusiveArch: %{rust_arches}
- rust-better-panic
ExclusiveArch: %{rust_arches}
- rust-bincode
ExclusiveArch: %{rust_arches}
- rust-bincode0.8
ExclusiveArch: %{rust_arches}
- rust-bindgen
ExclusiveArch: %{rust_arches}
- rust-binfarce
ExclusiveArch: %{rust_arches}
- rust-biscuit
ExclusiveArch: %{rust_arches}
- rust-bit-set
ExclusiveArch: %{rust_arches}
- rust-bit-vec
ExclusiveArch: %{rust_arches}
- rust-bitfield
ExclusiveArch: %{rust_arches}
- rust-bitflags
ExclusiveArch: %{rust_arches}
- rust-bitmaps
ExclusiveArch: %{rust_arches}
- rust-bitreader
ExclusiveArch: %{rust_arches}
- rust-bitstream-io
ExclusiveArch: %{rust_arches}
- rust-bitvec
ExclusiveArch: %{rust_arches}
- rust-blake2
ExclusiveArch: %{rust_arches}
- rust-blobby
ExclusiveArch: %{rust_arches}
- rust-blobby0.1
ExclusiveArch: %{rust_arches}
- rust-block-buffer
ExclusiveArch: %{rust_arches}
- rust-block-buffer0.7
ExclusiveArch: %{rust_arches}
- rust-block-modes
ExclusiveArch: %{rust_arches}
- rust-block-padding
ExclusiveArch: %{rust_arches}
- rust-blocking
ExclusiveArch: %{rust_arches}
- rust-blsctl
ExclusiveArch: %{rust_arches}
- rust-bodhi
ExclusiveArch: %{rust_arches}
- rust-bodhi-cli
ExclusiveArch: %{rust_arches}
- rust-bootupd
ExclusiveArch: x86_64 aarch64
- rust-box_drawing
ExclusiveArch: %{rust_arches}
- rust-boxfnonce
ExclusiveArch: %{rust_arches}
- rust-brev
ExclusiveArch: %{rust_arches}
- rust-brotli
ExclusiveArch: %{rust_arches}
- rust-brotli-decompressor
ExclusiveArch: %{rust_arches}
- rust-brotli-sys
ExclusiveArch: %{rust_arches}
- rust-brotli2
ExclusiveArch: %{rust_arches}
- rust-bstr
ExclusiveArch: %{rust_arches}
- rust-buf-min
ExclusiveArch: %{rust_arches}
- rust-buf_redux
ExclusiveArch: %{rust_arches}
- rust-buffered-reader
ExclusiveArch: %{rust_arches}
- rust-bufsize
ExclusiveArch: %{rust_arches}
- rust-bufstream
ExclusiveArch: %{rust_arches}
- rust-bugreport
ExclusiveArch: %{rust_arches}
- rust-build-env
ExclusiveArch: %{rust_arches}
- rust-build_const
ExclusiveArch: %{rust_arches}
- rust-bumpalo
ExclusiveArch: %{rust_arches}
- rust-byte-tools
ExclusiveArch: %{rust_arches}
- rust-byte-unit
ExclusiveArch: %{rust_arches}
- rust-byte-unit3
ExclusiveArch: %{rust_arches}
- rust-bytecheck
ExclusiveArch: %{rust_arches}
- rust-bytecheck_derive
ExclusiveArch: %{rust_arches}
- rust-bytecount
ExclusiveArch: %{rust_arches}
- rust-bytelines
ExclusiveArch: %{rust_arches}
- rust-bytemuck
ExclusiveArch: %{rust_arches}
- rust-bytemuck_derive
ExclusiveArch: %{rust_arches}
- rust-byteorder
ExclusiveArch: %{rust_arches}
- rust-bytes
ExclusiveArch: %{rust_arches}
- rust-bytes0.4
ExclusiveArch: %{rust_arches}
- rust-bytes0.5
ExclusiveArch: %{rust_arches}
- rust-bytes0.6
ExclusiveArch: %{rust_arches}
- rust-bytesize
ExclusiveArch: %{rust_arches}
- rust-bytestring
ExclusiveArch: %{rust_arches}
- rust-bzip2
ExclusiveArch: %{rust_arches}
- rust-bzip2-sys
ExclusiveArch: %{rust_arches}
- rust-c_vec
ExclusiveArch: %{rust_arches}
- rust-cache-padded
ExclusiveArch: %{rust_arches}
- rust-cairo-rs
ExclusiveArch: %{rust_arches}
- rust-cairo-sys-rs
ExclusiveArch: %{rust_arches}
- rust-calloop
ExclusiveArch: %{rust_arches}
- rust-calloop0.6
ExclusiveArch: %{rust_arches}
- rust-camino
ExclusiveArch: %{rust_arches}
- rust-cap-primitives
ExclusiveArch: %{rust_arches}
- rust-cap-rand
ExclusiveArch: %{rust_arches}
- rust-cap-std
ExclusiveArch: %{rust_arches}
- rust-capnp
ExclusiveArch: %{rust_arches}
- rust-capnp-futures
ExclusiveArch: %{rust_arches}
- rust-capnp-rpc
ExclusiveArch: %{rust_arches}
- rust-caps
ExclusiveArch: %{rust_arches}
- rust-cargo
ExclusiveArch: %{rust_arches}
- rust-cargo-bloat
ExclusiveArch: %{rust_arches}
- rust-cargo-c
ExclusiveArch: %{rust_arches}
- rust-cargo-husky
ExclusiveArch: %{rust_arches}
- rust-cargo-insta
ExclusiveArch: %{rust_arches}
- rust-cargo-platform
ExclusiveArch: %{rust_arches}
- rust-cargo-readme
ExclusiveArch: %{rust_arches}
- rust-cargo_metadata
ExclusiveArch: %{rust_arches}
- rust-case
ExclusiveArch: %{rust_arches}
- rust-cassowary
ExclusiveArch: %{rust_arches}
- rust-cast
ExclusiveArch: %{rust_arches}
- rust-cbindgen
ExclusiveArch: %{rust_arches}
- rust-cc
ExclusiveArch: %{rust_arches}
- rust-cedarwood
ExclusiveArch: %{rust_arches}
- rust-cexpr
ExclusiveArch: %{rust_arches}
- rust-cfg-expr
ExclusiveArch: %{rust_arches}
- rust-cfg-if
ExclusiveArch: %{rust_arches}
- rust-cfg-if0.1
ExclusiveArch: %{rust_arches}
- rust-cgmath
ExclusiveArch: %{rust_arches}
- rust-cgroupfs
ExclusiveArch: %{rust_arches}
- rust-chainerror
ExclusiveArch: %{rust_arches}
- rust-charset
ExclusiveArch: %{rust_arches}
- rust-chbs
ExclusiveArch: %{rust_arches}
- rust-checked_int_cast
ExclusiveArch: %{rust_arches}
- rust-chlorine
ExclusiveArch: %{rust_arches}
- rust-choosier
ExclusiveArch: %{rust_arches}
- rust-chrono
ExclusiveArch: %{rust_arches}
- rust-chrono-humanize
ExclusiveArch: %{rust_arches}
- rust-chrono-tz
ExclusiveArch: %{rust_arches}
- rust-chunked_transfer
ExclusiveArch: %{rust_arches}
- rust-cipher
ExclusiveArch: %{rust_arches}
- rust-clang-ast
ExclusiveArch: %{rust_arches}
- rust-clang-sys
ExclusiveArch: %{rust_arches}
- rust-clap
ExclusiveArch: %{rust_arches}
- rust-clap2
ExclusiveArch: %{rust_arches}
- rust-clap_derive
ExclusiveArch: %{rust_arches}
- rust-claxon
ExclusiveArch: %{rust_arches}
- rust-clicolors-control
ExclusiveArch: %{rust_arches}
- rust-clipboard
ExclusiveArch: %{rust_arches}
- rust-cloudflare-zlib
ExclusiveArch: x86_64 aarch64
- rust-cloudflare-zlib-sys
ExclusiveArch: x86_64 aarch64
- rust-cmake
ExclusiveArch: %{rust_arches}
- rust-codespan-reporting
ExclusiveArch: %{rust_arches}
- rust-codicon
ExclusiveArch: %{rust_arches}
- rust-color-backtrace
ExclusiveArch: %{rust_arches}
- rust-color_quant
ExclusiveArch: %{rust_arches}
- rust-colored
ExclusiveArch: %{rust_arches}
- rust-colored1
ExclusiveArch: %{rust_arches}
- rust-colored_json
ExclusiveArch: %{rust_arches}
- rust-colorful
ExclusiveArch: %{rust_arches}
- rust-compiletest_rs
ExclusiveArch: %{rust_arches}
- rust-comrak
ExclusiveArch: %{rust_arches}
- rust-concurrent-queue
ExclusiveArch: %{rust_arches}
- rust-config
ExclusiveArch: %{rust_arches}
- rust-configparser
ExclusiveArch: %{rust_arches}
- rust-confy
ExclusiveArch: %{rust_arches}
- rust-console
ExclusiveArch: %{rust_arches}
- rust-console0.11
ExclusiveArch: %{rust_arches}
- rust-console0.12
ExclusiveArch: %{rust_arches}
- rust-console0.13
ExclusiveArch: %{rust_arches}
- rust-console0.9
ExclusiveArch: %{rust_arches}
- rust-console_error_panic_hook
ExclusiveArch: %{rust_arches}
- rust-const-cstr
ExclusiveArch: %{rust_arches}
- rust-const-random
ExclusiveArch: %{rust_arches}
- rust-const-random-macro
ExclusiveArch: %{rust_arches}
- rust-const_fn
ExclusiveArch: %{rust_arches}
- rust-constant_time_eq
ExclusiveArch: %{rust_arches}
- rust-content_inspector
ExclusiveArch: %{rust_arches}
- rust-conv
ExclusiveArch: %{rust_arches}
- rust-convert_case
ExclusiveArch: %{rust_arches}
- rust-cookie
ExclusiveArch: %{rust_arches}
- rust-cookie_store
ExclusiveArch: %{rust_arches}
- rust-copydeps
ExclusiveArch: %{rust_arches}
- rust-copyless
ExclusiveArch: %{rust_arches}
- rust-copypasta
ExclusiveArch: %{rust_arches}
- rust-cordic
ExclusiveArch: %{rust_arches}
- rust-coreos-installer
ExclusiveArch: %{rust_arches}
- rust-counted-array
ExclusiveArch: %{rust_arches}
- rust-cpal
ExclusiveArch: %{rust_arches}
- rust-cpio
ExclusiveArch: %{rust_arches}
- rust-cpp_demangle
ExclusiveArch: %{rust_arches}
- rust-cpufeatures
ExclusiveArch: x86_64 aarch64
- rust-cpuid-bool
ExclusiveArch: %{rust_arches}
- rust-cpython
ExclusiveArch: %{rust_arches}
- rust-cranelift-bforest
ExclusiveArch: %{rust_arches}
- rust-cranelift-codegen
ExclusiveArch: %{rust_arches}
- rust-cranelift-codegen-meta
ExclusiveArch: %{rust_arches}
- rust-cranelift-codegen-shared
ExclusiveArch: %{rust_arches}
- rust-cranelift-entity
ExclusiveArch: %{rust_arches}
- rust-cranelift-frontend
ExclusiveArch: %{rust_arches}
- rust-cranelift-native
ExclusiveArch: %{rust_arches}
- rust-cranelift-wasm
ExclusiveArch: %{rust_arches}
- rust-crates-io
ExclusiveArch: %{rust_arches}
- rust-crc
ExclusiveArch: %{rust_arches}
- rust-crc-any
ExclusiveArch: %{rust_arches}
- rust-crc-core
ExclusiveArch: %{rust_arches}
- rust-crc32fast
ExclusiveArch: %{rust_arches}
- rust-criterion
ExclusiveArch: %{rust_arches}
- rust-criterion-plot
ExclusiveArch: %{rust_arches}
- rust-crossbeam
ExclusiveArch: %{rust_arches}
- rust-crossbeam-channel
ExclusiveArch: %{rust_arches}
- rust-crossbeam-channel0.4
ExclusiveArch: %{rust_arches}
- rust-crossbeam-deque
ExclusiveArch: %{rust_arches}
- rust-crossbeam-deque0.7
ExclusiveArch: %{rust_arches}
- rust-crossbeam-epoch
ExclusiveArch: %{rust_arches}
- rust-crossbeam-epoch0.8
ExclusiveArch: %{rust_arches}
- rust-crossbeam-queue
ExclusiveArch: %{rust_arches}
- rust-crossbeam-queue0.2
ExclusiveArch: %{rust_arches}
- rust-crossbeam-utils
ExclusiveArch: %{rust_arches}
- rust-crossbeam-utils0.7
ExclusiveArch: %{rust_arches}
- rust-crossbeam0.7
ExclusiveArch: %{rust_arches}
- rust-crossfont
ExclusiveArch: %{rust_arches}
- rust-crossterm
ExclusiveArch: %{rust_arches}
- rust-crossterm0.17
ExclusiveArch: %{rust_arches}
- rust-crosstermion
ExclusiveArch: %{rust_arches}
- rust-crunchy
ExclusiveArch: %{rust_arches}
- rust-crypto-hash
ExclusiveArch: %{rust_arches}
- rust-crypto-mac
ExclusiveArch: %{rust_arches}
- rust-crypto-mac0.8
ExclusiveArch: %{rust_arches}
- rust-cryptoki
ExclusiveArch: %{rust_arches}
- rust-cryptoki-sys
ExclusiveArch: %{rust_arches}
- rust-cryptovec
ExclusiveArch: %{rust_arches}
- rust-cssparser
ExclusiveArch: %{rust_arches}
- rust-cssparser-macros
ExclusiveArch: %{rust_arches}
- rust-cstr-argument
ExclusiveArch: %{rust_arches}
- rust-csv
ExclusiveArch: %{rust_arches}
- rust-csv-core
ExclusiveArch: %{rust_arches}
- rust-ct-logs
ExclusiveArch: %{rust_arches}
- rust-ctor
ExclusiveArch: %{rust_arches}
- rust-ctr
ExclusiveArch: %{rust_arches}
- rust-ctrlc
ExclusiveArch: %{rust_arches}
- rust-cty
ExclusiveArch: %{rust_arches}
- rust-curl
ExclusiveArch: %{rust_arches}
- rust-curl-sys
ExclusiveArch: %{rust_arches}
- rust-cursive
ExclusiveArch: %{rust_arches}
- rust-cursive_buffered_backend
ExclusiveArch: %{rust_arches}
- rust-cursive_core
ExclusiveArch: %{rust_arches}
- rust-custom_derive
ExclusiveArch: %{rust_arches}
- rust-cxx
ExclusiveArch: %{rust_arches}
- rust-cxx-build
ExclusiveArch: %{rust_arches}
- rust-cxx-gen
ExclusiveArch: %{rust_arches}
- rust-cxxbridge-flags
ExclusiveArch: %{rust_arches}
- rust-cxxbridge-macro
ExclusiveArch: %{rust_arches}
- rust-darling
ExclusiveArch: %{rust_arches}
- rust-darling_core
ExclusiveArch: %{rust_arches}
- rust-darling_macro
ExclusiveArch: %{rust_arches}
- rust-dashmap
ExclusiveArch: %{rust_arches}
- rust-data-encoding
ExclusiveArch: %{rust_arches}
- rust-data-url
ExclusiveArch: %{rust_arches}
- rust-datetime
ExclusiveArch: %{rust_arches}
- rust-dav1d-sys
ExclusiveArch: %{rust_arches}
- rust-dbus
ExclusiveArch: %{rust_arches}
- rust-dbus-codegen
ExclusiveArch: %{rust_arches}
- rust-dbus-crossroads
ExclusiveArch: %{rust_arches}
- rust-dbus-tokio
ExclusiveArch: %{rust_arches}
- rust-dbus-tree
ExclusiveArch: %{rust_arches}
- rust-dbus0.8
ExclusiveArch: %{rust_arches}
- rust-debug-helper
ExclusiveArch: %{rust_arches}
- rust-decimal
ExclusiveArch: %{rust_arches}
- rust-defer-drop
ExclusiveArch: %{rust_arches}
- rust-deflate
ExclusiveArch: %{rust_arches}
- rust-defmac
ExclusiveArch: %{rust_arches}
- rust-delta_e
ExclusiveArch: %{rust_arches}
- rust-derivative
ExclusiveArch: %{rust_arches}
- rust-derive-new
ExclusiveArch: %{rust_arches}
- rust-derive_arbitrary
ExclusiveArch: %{rust_arches}
- rust-derive_arbitrary0.4
ExclusiveArch: %{rust_arches}
- rust-derive_builder
ExclusiveArch: %{rust_arches}
- rust-derive_builder0.9
ExclusiveArch: %{rust_arches}
- rust-derive_builder_core
ExclusiveArch: %{rust_arches}
- rust-derive_builder_core0.9
ExclusiveArch: %{rust_arches}
- rust-derive_builder_macro
ExclusiveArch: %{rust_arches}
- rust-derive_more
ExclusiveArch: %{rust_arches}
- rust-des
ExclusiveArch: %{rust_arches}
- rust-desed
ExclusiveArch: %{rust_arches}
- rust-deunicode
ExclusiveArch: %{rust_arches}
- rust-devicemapper
ExclusiveArch: %{rust_arches}
- rust-dialoguer
ExclusiveArch: %{rust_arches}
- rust-diesel
ExclusiveArch: %{rust_arches}
- rust-diesel_derives
ExclusiveArch: %{rust_arches}
- rust-diesel_migrations
ExclusiveArch: %{rust_arches}
- rust-diff
ExclusiveArch: %{rust_arches}
- rust-difference
ExclusiveArch: %{rust_arches}
- rust-diffus
ExclusiveArch: %{rust_arches}
- rust-diffus-derive
ExclusiveArch: %{rust_arches}
- rust-digest
ExclusiveArch: %{rust_arches}
- rust-digest0.8
ExclusiveArch: %{rust_arches}
- rust-directories
ExclusiveArch: %{rust_arches}
- rust-directories-next
ExclusiveArch: %{rust_arches}
- rust-dirs
ExclusiveArch: %{rust_arches}
- rust-dirs-next
ExclusiveArch: %{rust_arches}
- rust-dirs-sys
ExclusiveArch: %{rust_arches}
- rust-dirs-sys-next
ExclusiveArch: %{rust_arches}
- rust-dirs2
ExclusiveArch: %{rust_arches}
- rust-diskonaut
ExclusiveArch: %{rust_arches}
- rust-dissimilar
ExclusiveArch: %{rust_arches}
- rust-dlib
ExclusiveArch: %{rust_arches}
- rust-dlib0.4
ExclusiveArch: %{rust_arches}
- rust-dlv-list
ExclusiveArch: %{rust_arches}
- rust-dns-lookup
ExclusiveArch: %{rust_arches}
- rust-dns-parser
ExclusiveArch: %{rust_arches}
- rust-doc-comment
ExclusiveArch: %{rust_arches}
- rust-docmatic
ExclusiveArch: %{rust_arches}
- rust-docopt
ExclusiveArch: %{rust_arches}
- rust-dotenv
ExclusiveArch: %{rust_arches}
- rust-downcast-rs
ExclusiveArch: %{rust_arches}
- rust-drg
ExclusiveArch: %{rust_arches}
- rust-dtoa
ExclusiveArch: %{rust_arches}
- rust-dtoa-short
ExclusiveArch: %{rust_arches}
- rust-dua-cli
ExclusiveArch: %{rust_arches}
- rust-duct
ExclusiveArch: %{rust_arches}
- rust-dummy
ExclusiveArch: %{rust_arches}
- rust-dunce
ExclusiveArch: %{rust_arches}
- rust-dutree
ExclusiveArch: %{rust_arches}
- rust-dyn-clone
ExclusiveArch: %{rust_arches}
- rust-easy-cast
ExclusiveArch: %{rust_arches}
- rust-easy-parallel
ExclusiveArch: %{rust_arches}
- rust-edit
ExclusiveArch: %{rust_arches}
- rust-edit-distance
ExclusiveArch: %{rust_arches}
- rust-either
ExclusiveArch: %{rust_arches}
- rust-elasticlunr-rs
ExclusiveArch: %{rust_arches}
- rust-elfcat
ExclusiveArch: %{rust_arches}
- rust-ena
ExclusiveArch: %{rust_arches}
- rust-encode_unicode
ExclusiveArch: %{rust_arches}
- rust-encoding
ExclusiveArch: %{rust_arches}
- rust-encoding-index-japanese
ExclusiveArch: %{rust_arches}
- rust-encoding-index-korean
ExclusiveArch: %{rust_arches}
- rust-encoding-index-simpchinese
ExclusiveArch: %{rust_arches}
- rust-encoding-index-singlebyte
ExclusiveArch: %{rust_arches}
- rust-encoding-index-tradchinese
ExclusiveArch: %{rust_arches}
- rust-encoding_index_tests
ExclusiveArch: %{rust_arches}
- rust-encoding_rs
ExclusiveArch: %{rust_arches}
- rust-encoding_rs_io
ExclusiveArch: %{rust_arches}
- rust-endian-type
ExclusiveArch: %{rust_arches}
- rust-entities
ExclusiveArch: %{rust_arches}
- rust-enum-as-inner
ExclusiveArch: %{rust_arches}
- rust-enum-iterator
ExclusiveArch: %{rust_arches}
- rust-enum-iterator-derive
ExclusiveArch: %{rust_arches}
- rust-enum-map
ExclusiveArch: %{rust_arches}
- rust-enum-map-derive
ExclusiveArch: %{rust_arches}
- rust-enum-repr
ExclusiveArch: %{rust_arches}
- rust-enum_primitive
ExclusiveArch: %{rust_arches}
- rust-enumflags2
ExclusiveArch: %{rust_arches}
- rust-enumflags2_derive
ExclusiveArch: %{rust_arches}
- rust-enumset
ExclusiveArch: %{rust_arches}
- rust-enumset_derive
ExclusiveArch: %{rust_arches}
- rust-env_logger
ExclusiveArch: %{rust_arches}
- rust-env_logger0.4
ExclusiveArch: %{rust_arches}
- rust-env_logger0.5
ExclusiveArch: %{rust_arches}
- rust-env_logger0.6
ExclusiveArch: %{rust_arches}
- rust-env_logger0.7
ExclusiveArch: %{rust_arches}
- rust-environment
ExclusiveArch: %{rust_arches}
- rust-envsubst
ExclusiveArch: %{rust_arches}
- rust-epoll
ExclusiveArch: %{rust_arches}
- rust-erased-serde
ExclusiveArch: %{rust_arches}
- rust-err-derive
ExclusiveArch: %{rust_arches}
- rust-errln
ExclusiveArch: %{rust_arches}
- rust-errno
ExclusiveArch: %{rust_arches}
- rust-error-chain
ExclusiveArch: %{rust_arches}
- rust-escaper
ExclusiveArch: %{rust_arches}
- rust-escargot
ExclusiveArch: %{rust_arches}
- rust-euclid
ExclusiveArch: %{rust_arches}
- rust-event-listener
ExclusiveArch: %{rust_arches}
- rust-exa
ExclusiveArch: %{rust_arches}
- rust-executable-path
ExclusiveArch: %{rust_arches}
- rust-expat-sys
ExclusiveArch: %{rust_arches}
- rust-extend
ExclusiveArch: %{rust_arches}
- rust-extprim
ExclusiveArch: %{rust_arches}
- rust-extprim_literals_macros
ExclusiveArch: %{rust_arches}
- rust-fail
ExclusiveArch: %{rust_arches}
- rust-failure
ExclusiveArch: %{rust_arches}
- rust-failure-tools
ExclusiveArch: %{rust_arches}
- rust-failure_derive
ExclusiveArch: %{rust_arches}
- rust-fake
ExclusiveArch: %{rust_arches}
- rust-fake-simd
ExclusiveArch: %{rust_arches}
- rust-fake_clock
ExclusiveArch: %{rust_arches}
- rust-fallible-iterator
ExclusiveArch: %{rust_arches}
- rust-fallible-streaming-iterator
ExclusiveArch: %{rust_arches}
- rust-fallible_collections
ExclusiveArch: %{rust_arches}
- rust-fancy-regex
ExclusiveArch: %{rust_arches}
- rust-fastrand
ExclusiveArch: %{rust_arches}
- rust-fb_procfs
ExclusiveArch: %{rust_arches}
- rust-fbthrift_codegen_includer_proc_macro
ExclusiveArch: %{rust_arches}
- rust-fd-find
ExclusiveArch: %{rust_arches}
- rust-fd-lock
ExclusiveArch: %{rust_arches}
- rust-fdlimit
ExclusiveArch: %{rust_arches}
- rust-fedora
ExclusiveArch: %{rust_arches}
- rust-fedora-coreos-pinger
ExclusiveArch: %{rust_arches}
- rust-fedora-update-feedback
ExclusiveArch: %{rust_arches}
- rust-feed-rs
ExclusiveArch: %{rust_arches}
- rust-feedbin_api
ExclusiveArch: %{rust_arches}
- rust-feedly_api
ExclusiveArch: %{rust_arches}
- rust-femme
ExclusiveArch: %{rust_arches}
- rust-fern
ExclusiveArch: %{rust_arches}
- rust-fever_api
ExclusiveArch: %{rust_arches}
- rust-ffsend
ExclusiveArch: %{rust_arches}
- rust-ffsend-api
ExclusiveArch: %{rust_arches}
- rust-field-offset
ExclusiveArch: %{rust_arches}
- rust-file-per-thread-logger
ExclusiveArch: %{rust_arches}
- rust-filedescriptor
ExclusiveArch: %{rust_arches}
- rust-filesize
ExclusiveArch: %{rust_arches}
- rust-filetime
ExclusiveArch: %{rust_arches}
- rust-filetreelist
ExclusiveArch: %{rust_arches}
- rust-findshlibs
ExclusiveArch: %{rust_arches}
- rust-fixed
ExclusiveArch: %{rust_arches}
- rust-fixedbitset
ExclusiveArch: %{rust_arches}
- rust-flame
ExclusiveArch: %{rust_arches}
- rust-flate2
ExclusiveArch: %{rust_arches}
- rust-float-cmp
ExclusiveArch: %{rust_arches}
- rust-float-cmp0.6
ExclusiveArch: %{rust_arches}
- rust-float-ord
ExclusiveArch: %{rust_arches}
- rust-flume
ExclusiveArch: %{rust_arches}
- rust-fn-error-context
ExclusiveArch: %{rust_arches}
- rust-fnv
ExclusiveArch: %{rust_arches}
- rust-font-kit
ExclusiveArch: %{rust_arches}
- rust-foreign-types
ExclusiveArch: %{rust_arches}
- rust-foreign-types-macros
ExclusiveArch: %{rust_arches}
- rust-foreign-types-shared
ExclusiveArch: %{rust_arches}
- rust-foreign-types-shared0.1
ExclusiveArch: %{rust_arches}
- rust-foreign-types0.3
ExclusiveArch: %{rust_arches}
- rust-form_urlencoded
ExclusiveArch: %{rust_arches}
- rust-fragile
ExclusiveArch: %{rust_arches}
- rust-freetype
ExclusiveArch: %{rust_arches}
- rust-freetype-rs
ExclusiveArch: %{rust_arches}
- rust-freetype-sys
ExclusiveArch: %{rust_arches}
- rust-fs-set-times
ExclusiveArch: %{rust_arches}
- rust-fs2
ExclusiveArch: %{rust_arches}
- rust-fs_extra
ExclusiveArch: %{rust_arches}
- rust-funty
ExclusiveArch: %{rust_arches}
- rust-fuse
ExclusiveArch: %{rust_arches}
- rust-futf
ExclusiveArch: %{rust_arches}
- rust-futures
ExclusiveArch: %{rust_arches}
- rust-futures-channel
ExclusiveArch: %{rust_arches}
- rust-futures-core
ExclusiveArch: %{rust_arches}
- rust-futures-cpupool
ExclusiveArch: %{rust_arches}
- rust-futures-executor
ExclusiveArch: %{rust_arches}
- rust-futures-io
ExclusiveArch: %{rust_arches}
- rust-futures-lite
ExclusiveArch: %{rust_arches}
- rust-futures-macro
ExclusiveArch: %{rust_arches}
- rust-futures-sink
ExclusiveArch: %{rust_arches}
- rust-futures-task
ExclusiveArch: %{rust_arches}
- rust-futures-test
ExclusiveArch: %{rust_arches}
- rust-futures-timer
ExclusiveArch: %{rust_arches}
- rust-futures-util
ExclusiveArch: %{rust_arches}
- rust-futures0.1
ExclusiveArch: %{rust_arches}
- rust-fuzzy-matcher
ExclusiveArch: %{rust_arches}
- rust-fxhash
ExclusiveArch: %{rust_arches}
- rust-gcsf
ExclusiveArch: %{rust_arches}
- rust-gdk
ExclusiveArch: %{rust_arches}
- rust-gdk-pixbuf
ExclusiveArch: %{rust_arches}
- rust-gdk-pixbuf-sys
ExclusiveArch: %{rust_arches}
- rust-gdk-sys
ExclusiveArch: %{rust_arches}
- rust-gdk4
ExclusiveArch: %{rust_arches}
- rust-gdk4-sys
ExclusiveArch: %{rust_arches}
- rust-generic-array
ExclusiveArch: %{rust_arches}
- rust-generic-array0.12
ExclusiveArch: %{rust_arches}
- rust-genmesh
ExclusiveArch: %{rust_arches}
- rust-getch
ExclusiveArch: %{rust_arches}
- rust-gethostname
ExclusiveArch: %{rust_arches}
- rust-getopts
ExclusiveArch: %{rust_arches}
- rust-getrandom
ExclusiveArch: %{rust_arches}
- rust-getrandom0.1
ExclusiveArch: %{rust_arches}
- rust-getset
ExclusiveArch: %{rust_arches}
- rust-gettext-rs
ExclusiveArch: %{rust_arches}
- rust-gettext-sys
ExclusiveArch: %{rust_arches}
- rust-ghash
ExclusiveArch: %{rust_arches}
- rust-ghost
ExclusiveArch: %{rust_arches}
- rust-gif
ExclusiveArch: %{rust_arches}
- rust-gimli
ExclusiveArch: %{rust_arches}
- rust-gio
ExclusiveArch: %{rust_arches}
- rust-gio-sys
ExclusiveArch: %{rust_arches}
- rust-gir-format-check
ExclusiveArch: %{rust_arches}
- rust-git-delta
ExclusiveArch: %{rust_arches}
- rust-git-version
ExclusiveArch: %{rust_arches}
- rust-git-version-macro
ExclusiveArch: %{rust_arches}
- rust-git2
ExclusiveArch: %{rust_arches}
- rust-git2-curl
ExclusiveArch: %{rust_arches}
- rust-gitui
ExclusiveArch: %{rust_arches}
- rust-gl_generator
ExclusiveArch: %{rust_arches}
- rust-glam
ExclusiveArch: %{rust_arches}
- rust-glib
ExclusiveArch: %{rust_arches}
- rust-glib-macros
ExclusiveArch: %{rust_arches}
- rust-glib-sys
ExclusiveArch: %{rust_arches}
- rust-glob
ExclusiveArch: %{rust_arches}
- rust-globset
ExclusiveArch: %{rust_arches}
- rust-globwalk
ExclusiveArch: %{rust_arches}
- rust-glutin
ExclusiveArch: %{rust_arches}
- rust-glutin_egl_sys
ExclusiveArch: %{rust_arches}
- rust-glutin_glx_sys
ExclusiveArch: %{rust_arches}
- rust-gobject-sys
ExclusiveArch: %{rust_arches}
- rust-goblin
ExclusiveArch: %{rust_arches}
- rust-google-drive3-fork
ExclusiveArch: %{rust_arches}
- rust-gptman
ExclusiveArch: %{rust_arches}
- rust-graphene-rs
ExclusiveArch: %{rust_arches}
- rust-graphene-sys
ExclusiveArch: %{rust_arches}
- rust-grep
ExclusiveArch: %{rust_arches}
- rust-grep-cli
ExclusiveArch: %{rust_arches}
- rust-grep-matcher
ExclusiveArch: %{rust_arches}
- rust-grep-pcre2
ExclusiveArch: %{rust_arches}
- rust-grep-printer
ExclusiveArch: %{rust_arches}
- rust-grep-regex
ExclusiveArch: %{rust_arches}
- rust-grep-searcher
ExclusiveArch: %{rust_arches}
- rust-groupable
ExclusiveArch: %{rust_arches}
- rust-gsk4
ExclusiveArch: %{rust_arches}
- rust-gsk4-sys
ExclusiveArch: %{rust_arches}
- rust-gstreamer
ExclusiveArch: %{rust_arches}
- rust-gstreamer-audio
ExclusiveArch: %{rust_arches}
- rust-gstreamer-audio-sys
ExclusiveArch: %{rust_arches}
- rust-gstreamer-base
ExclusiveArch: %{rust_arches}
- rust-gstreamer-base-sys
ExclusiveArch: %{rust_arches}
- rust-gstreamer-editing-services
ExclusiveArch: %{rust_arches}
- rust-gstreamer-editing-services-sys
ExclusiveArch: %{rust_arches}
- rust-gstreamer-pbutils
ExclusiveArch: %{rust_arches}
- rust-gstreamer-pbutils-sys
ExclusiveArch: %{rust_arches}
- rust-gstreamer-player
ExclusiveArch: %{rust_arches}
- rust-gstreamer-player-sys
ExclusiveArch: %{rust_arches}
- rust-gstreamer-sys
ExclusiveArch: %{rust_arches}
- rust-gstreamer-video
ExclusiveArch: %{rust_arches}
- rust-gstreamer-video-sys
ExclusiveArch: %{rust_arches}
- rust-gtk
ExclusiveArch: %{rust_arches}
- rust-gtk-macros
ExclusiveArch: %{rust_arches}
- rust-gtk-rs-lgpl-docs
ExclusiveArch: %{rust_arches}
- rust-gtk-sys
ExclusiveArch: %{rust_arches}
- rust-gtk3-macros
ExclusiveArch: %{rust_arches}
- rust-gtk4
ExclusiveArch: %{rust_arches}
- rust-gtk4-macros
ExclusiveArch: %{rust_arches}
- rust-gtk4-sys
ExclusiveArch: %{rust_arches}
- rust-gzip-header
ExclusiveArch: %{rust_arches}
- rust-h2
ExclusiveArch: %{rust_arches}
- rust-h2_0.2
ExclusiveArch: %{rust_arches}
- rust-half
ExclusiveArch: %{rust_arches}
- rust-hamcrest
ExclusiveArch: %{rust_arches}
- rust-hamcrest2
ExclusiveArch: %{rust_arches}
- rust-handlebars
ExclusiveArch: %{rust_arches}
- rust-hashbrown
ExclusiveArch: %{rust_arches}
- rust-hashlink
ExclusiveArch: %{rust_arches}
- rust-headers
ExclusiveArch: %{rust_arches}
- rust-headers-core
ExclusiveArch: %{rust_arches}
- rust-headers-derive
ExclusiveArch: %{rust_arches}
- rust-heapsize
ExclusiveArch: %{rust_arches}
- rust-heatseeker
ExclusiveArch: %{rust_arches}
- rust-heck
ExclusiveArch: %{rust_arches}
- rust-hex
ExclusiveArch: %{rust_arches}
- rust-hex-literal
ExclusiveArch: %{rust_arches}
- rust-hex-literal-impl
ExclusiveArch: %{rust_arches}
- rust-hex-literal0.2
ExclusiveArch: %{rust_arches}
- rust-hexyl
ExclusiveArch: %{rust_arches}
- rust-hkdf
ExclusiveArch: %{rust_arches}
- rust-hmac
ExclusiveArch: %{rust_arches}
- rust-home
ExclusiveArch: %{rust_arches}
- rust-horrorshow
ExclusiveArch: %{rust_arches}
- rust-hostname
ExclusiveArch: %{rust_arches}
- rust-hostname-validator
ExclusiveArch: %{rust_arches}
- rust-hound
ExclusiveArch: %{rust_arches}
- rust-html2pango
ExclusiveArch: %{rust_arches}
- rust-html5ever
ExclusiveArch: %{rust_arches}
- rust-http
ExclusiveArch: %{rust_arches}
- rust-http-body
ExclusiveArch: %{rust_arches}
- rust-http-body0.3
ExclusiveArch: %{rust_arches}
- rust-http0.1
ExclusiveArch: %{rust_arches}
- rust-httparse
ExclusiveArch: %{rust_arches}
- rust-httpdate
ExclusiveArch: %{rust_arches}
- rust-human-sort
ExclusiveArch: %{rust_arches}
- rust-humansize
ExclusiveArch: %{rust_arches}
- rust-humantime
ExclusiveArch: %{rust_arches}
- rust-humantime-serde
ExclusiveArch: %{rust_arches}
- rust-humantime1
ExclusiveArch: %{rust_arches}
- rust-hyper
ExclusiveArch: %{rust_arches}
- rust-hyper-native-tls
ExclusiveArch: %{rust_arches}
- rust-hyper-rustls
ExclusiveArch: %{rust_arches}
- rust-hyper-staticfile
ExclusiveArch: %{rust_arches}
- rust-hyper-tls
ExclusiveArch: %{rust_arches}
- rust-hyper-tls0.4
ExclusiveArch: %{rust_arches}
- rust-hyper0.10
ExclusiveArch: %{rust_arches}
- rust-hyper0.13
ExclusiveArch: %{rust_arches}
- rust-hyperfine
ExclusiveArch: %{rust_arches}
- rust-i3ipc
ExclusiveArch: %{rust_arches}
- rust-id_tree
ExclusiveArch: %{rust_arches}
- rust-ident_case
ExclusiveArch: %{rust_arches}
- rust-idna
ExclusiveArch: %{rust_arches}
- rust-idna0.1
ExclusiveArch: %{rust_arches}
- rust-ignore
ExclusiveArch: %{rust_arches}
- rust-im-rc
ExclusiveArch: %{rust_arches}
- rust-image
ExclusiveArch: %{rust_arches}
- rust-image-roll
ExclusiveArch: %{rust_arches}
- rust-imgref
ExclusiveArch: %{rust_arches}
- rust-imgui
ExclusiveArch: %{rust_arches}
- rust-imgui-sys
ExclusiveArch: %{rust_arches}
- rust-imgui-winit-support
ExclusiveArch: %{rust_arches}
- rust-indexmap
ExclusiveArch: %{rust_arches}
- rust-indicatif
ExclusiveArch: %{rust_arches}
- rust-indoc
ExclusiveArch: %{rust_arches}
- rust-inflate
ExclusiveArch: %{rust_arches}
- rust-inotify
ExclusiveArch: %{rust_arches}
- rust-inotify-sys
ExclusiveArch: %{rust_arches}
- rust-input_buffer
ExclusiveArch: %{rust_arches}
- rust-insta
ExclusiveArch: %{rust_arches}
- rust-instant
ExclusiveArch: %{rust_arches}
- rust-interpolate_name
ExclusiveArch: %{rust_arches}
- rust-intervaltree
ExclusiveArch: %{rust_arches}
- rust-invalidstring
ExclusiveArch: %{rust_arches}
- rust-inventory
ExclusiveArch: %{rust_arches}
- rust-inventory-impl
ExclusiveArch: %{rust_arches}
- rust-io-lifetimes
ExclusiveArch: %{rust_arches}
- rust-ioctl-rs
ExclusiveArch: %{rust_arches}
- rust-iocuddle
ExclusiveArch: %{rust_arches}
- rust-iovec
ExclusiveArch: %{rust_arches}
- rust-ipnet
ExclusiveArch: %{rust_arches}
- rust-ipnetwork
ExclusiveArch: %{rust_arches}
- rust-iron
ExclusiveArch: %{rust_arches}
- rust-isahc
ExclusiveArch: %{rust_arches}
- rust-iso8601
ExclusiveArch: %{rust_arches}
- rust-iter-read
ExclusiveArch: %{rust_arches}
- rust-itertools
ExclusiveArch: %{rust_arches}
- rust-itertools-num
ExclusiveArch: %{rust_arches}
- rust-itertools0.8
ExclusiveArch: %{rust_arches}
- rust-itertools0.9
ExclusiveArch: %{rust_arches}
- rust-itoa
ExclusiveArch: %{rust_arches}
- rust-ivf
ExclusiveArch: %{rust_arches}
- rust-javascriptcore-rs
ExclusiveArch: %{rust_arches}
- rust-javascriptcore-rs-sys
ExclusiveArch: %{rust_arches}
- rust-jetscii
ExclusiveArch: %{rust_arches}
- rust-jieba-rs
ExclusiveArch: %{rust_arches}
- rust-jobserver
ExclusiveArch: %{rust_arches}
- rust-jpeg-decoder
ExclusiveArch: %{rust_arches}
- rust-jql
ExclusiveArch: %{rust_arches}
- rust-js-sys
ExclusiveArch: %{rust_arches}
- rust-js_int
ExclusiveArch: %{rust_arches}
- rust-json
ExclusiveArch: %{rust_arches}
- rust-just
ExclusiveArch: %{rust_arches}
- rust-jwalk
ExclusiveArch: %{rust_arches}
- rust-k9
ExclusiveArch: %{rust_arches}
- rust-keccak
ExclusiveArch: %{rust_arches}
- rust-khronos_api
ExclusiveArch: %{rust_arches}
- rust-kstring
ExclusiveArch: %{rust_arches}
- rust-kv-log-macro
ExclusiveArch: %{rust_arches}
- rust-lab
ExclusiveArch: %{rust_arches}
- rust-lalrpop
ExclusiveArch: %{rust_arches}
- rust-lalrpop-util
ExclusiveArch: %{rust_arches}
- rust-language-tags
ExclusiveArch: %{rust_arches}
- rust-lazy-init
ExclusiveArch: %{rust_arches}
- rust-lazy_static
ExclusiveArch: %{rust_arches}
- rust-lazycell
ExclusiveArch: %{rust_arches}
- rust-leb128
ExclusiveArch: %{rust_arches}
- rust-lewton
ExclusiveArch: %{rust_arches}
- rust-lexical-core
ExclusiveArch: %{rust_arches}
- rust-lexiclean
ExclusiveArch: %{rust_arches}
- rust-libbpf-cargo
ExclusiveArch: %{rust_arches}
- rust-libbpf-rs
ExclusiveArch: %{rust_arches}
- rust-libbpf-sys
ExclusiveArch: %{rust_arches}
- rust-libc
ExclusiveArch: %{rust_arches}
- rust-libcryptsetup-rs
ExclusiveArch: %{rust_arches}
- rust-libcryptsetup-rs-sys
ExclusiveArch: %{rust_arches}
- rust-libdbus-sys
ExclusiveArch: %{rust_arches}
- rust-libdeflate-sys
ExclusiveArch: %{rust_arches}
- rust-libdeflater
ExclusiveArch: %{rust_arches}
- rust-libflate
ExclusiveArch: %{rust_arches}
- rust-libflate_lz77
ExclusiveArch: %{rust_arches}
- rust-libgit2-sys
ExclusiveArch: %{rust_arches}
- rust-libhandy
ExclusiveArch: %{rust_arches}
- rust-libhandy-sys
ExclusiveArch: %{rust_arches}
- rust-libloading
ExclusiveArch: %{rust_arches}
- rust-libloading0.6
ExclusiveArch: %{rust_arches}
- rust-libm
ExclusiveArch: %{rust_arches}
- rust-libmount
ExclusiveArch: %{rust_arches}
- rust-libnotcurses-sys
ExclusiveArch: %{rust_arches}
- rust-liboverdrop
ExclusiveArch: %{rust_arches}
- rust-libpulse-binding
ExclusiveArch: %{rust_arches}
- rust-libpulse-sys
ExclusiveArch: %{rust_arches}
- rust-libslirp
ExclusiveArch: %{rust_arches}
- rust-libslirp-sys
ExclusiveArch: %{rust_arches}
- rust-libsqlite3-sys
ExclusiveArch: %{rust_arches}
- rust-libssh2-sys
ExclusiveArch: %{rust_arches}
- rust-libsystemd
ExclusiveArch: %{rust_arches}
- rust-libsystemd-sys
ExclusiveArch: %{rust_arches}
- rust-libudev
ExclusiveArch: %{rust_arches}
- rust-libudev-sys
ExclusiveArch: %{rust_arches}
- rust-libwebp
ExclusiveArch: %{rust_arches}
- rust-libwebp-sys2
ExclusiveArch: %{rust_arches}
- rust-libxml
ExclusiveArch: %{rust_arches}
- rust-libz-sys
ExclusiveArch: %{rust_arches}
- rust-line-wrap
ExclusiveArch: %{rust_arches}
- rust-line_drawing
ExclusiveArch: %{rust_arches}
- rust-link-cplusplus
ExclusiveArch: %{rust_arches}
- rust-linked-hash-map
ExclusiveArch: %{rust_arches}
- rust-linkify
ExclusiveArch: %{rust_arches}
- rust-lipsum
ExclusiveArch: %{rust_arches}
- rust-liquid
ExclusiveArch: %{rust_arches}
- rust-liquid-core
ExclusiveArch: %{rust_arches}
- rust-liquid-derive
ExclusiveArch: %{rust_arches}
- rust-liquid-lib
ExclusiveArch: %{rust_arches}
- rust-listenfd
ExclusiveArch: %{rust_arches}
- rust-lmdb
ExclusiveArch: %{rust_arches}
- rust-lmdb-sys
ExclusiveArch: %{rust_arches}
- rust-locale
ExclusiveArch: %{rust_arches}
- rust-locale_config
ExclusiveArch: %{rust_arches}
- rust-lock_api
ExclusiveArch: %{rust_arches}
- rust-lockfree
ExclusiveArch: %{rust_arches}
- rust-log
ExclusiveArch: %{rust_arches}
- rust-log-mdc
ExclusiveArch: %{rust_arches}
- rust-log-panics
ExclusiveArch: %{rust_arches}
- rust-log0.3
ExclusiveArch: %{rust_arches}
- rust-log4rs
ExclusiveArch: %{rust_arches}
- rust-loggerv
ExclusiveArch: %{rust_arches}
- rust-loopdev
ExclusiveArch: %{rust_arches}
- rust-lru-cache
ExclusiveArch: %{rust_arches}
- rust-lru_time_cache
ExclusiveArch: %{rust_arches}
- rust-lscolors
ExclusiveArch: %{rust_arches}
- rust-lsd
ExclusiveArch: %{rust_arches}
- rust-lzma-sys
ExclusiveArch: %{rust_arches}
- rust-lzw
ExclusiveArch: %{rust_arches}
- rust-mac
ExclusiveArch: %{rust_arches}
- rust-macro-attr
ExclusiveArch: %{rust_arches}
- rust-macroquad_macro
ExclusiveArch: %{rust_arches}
- rust-magic-crypt
ExclusiveArch: %{rust_arches}
- rust-maildir
ExclusiveArch: %{rust_arches}
- rust-mailparse
ExclusiveArch: %{rust_arches}
- rust-man
ExclusiveArch: %{rust_arches}
- rust-maplit
ExclusiveArch: %{rust_arches}
- rust-markup5ever
ExclusiveArch: %{rust_arches}
- rust-markup5ever_rcdom
ExclusiveArch: %{rust_arches}
- rust-match_cfg
ExclusiveArch: %{rust_arches}
- rust-matches
ExclusiveArch: %{rust_arches}
- rust-matrixcompare
ExclusiveArch: %{rust_arches}
- rust-matrixcompare-core
ExclusiveArch: %{rust_arches}
- rust-matrixcompare-mock
ExclusiveArch: %{rust_arches}
- rust-matrixmultiply
ExclusiveArch: %{rust_arches}
- rust-maxminddb
ExclusiveArch: %{rust_arches}
- rust-maybe-owned
ExclusiveArch: %{rust_arches}
- rust-maybe-uninit
ExclusiveArch: %{rust_arches}
- rust-mbox
ExclusiveArch: %{rust_arches}
- rust-mbrman
ExclusiveArch: %{rust_arches}
- rust-md-5
ExclusiveArch: %{rust_arches}
- rust-md5
ExclusiveArch: %{rust_arches}
- rust-mdl
ExclusiveArch: %{rust_arches}
- rust-memchr
ExclusiveArch: %{rust_arches}
- rust-memmap
ExclusiveArch: %{rust_arches}
- rust-memmap2
ExclusiveArch: %{rust_arches}
- rust-memmap2_0.1
ExclusiveArch: %{rust_arches}
- rust-memoffset
ExclusiveArch: %{rust_arches}
- rust-memoffset0.5
ExclusiveArch: %{rust_arches}
- rust-memsec
ExclusiveArch: %{rust_arches}
- rust-metadeps
ExclusiveArch: %{rust_arches}
- rust-migrations_internals
ExclusiveArch: %{rust_arches}
- rust-migrations_macros
ExclusiveArch: %{rust_arches}
- rust-mime
ExclusiveArch: %{rust_arches}
- rust-mime-sniffer
ExclusiveArch: %{rust_arches}
- rust-mime0.2
ExclusiveArch: %{rust_arches}
- rust-mime_guess
ExclusiveArch: %{rust_arches}
- rust-mime_guess1
ExclusiveArch: %{rust_arches}
- rust-miniflux_api
ExclusiveArch: %{rust_arches}
- rust-minify-html
ExclusiveArch: %{rust_arches}
- rust-minimp3
ExclusiveArch: %{rust_arches}
- rust-minimp3-sys
ExclusiveArch: %{rust_arches}
- rust-miniz-sys
ExclusiveArch: %{rust_arches}
- rust-miniz_oxide
ExclusiveArch: %{rust_arches}
- rust-miniz_oxide0.3
ExclusiveArch: %{rust_arches}
- rust-miniz_oxide_c_api
ExclusiveArch: %{rust_arches}
- rust-mint
ExclusiveArch: %{rust_arches}
- rust-mio
ExclusiveArch: %{rust_arches}
- rust-mio-extras
ExclusiveArch: %{rust_arches}
- rust-mio-uds
ExclusiveArch: %{rust_arches}
- rust-mio0.6
ExclusiveArch: %{rust_arches}
- rust-mktemp
ExclusiveArch: %{rust_arches}
- rust-mnt
ExclusiveArch: %{rust_arches}
- rust-mockito
ExclusiveArch: %{rust_arches}
- rust-modifier
ExclusiveArch: %{rust_arches}
- rust-more-asserts
ExclusiveArch: %{rust_arches}
- rust-mp4parse
ExclusiveArch: %{rust_arches}
- rust-msgbox
ExclusiveArch: %{rust_arches}
- rust-muldiv
ExclusiveArch: %{rust_arches}
- rust-multimap
ExclusiveArch: %{rust_arches}
- rust-multipart
ExclusiveArch: %{rust_arches}
- rust-mustache
ExclusiveArch: %{rust_arches}
- rust-nalgebra
ExclusiveArch: %{rust_arches}
- rust-nalgebra-macros
ExclusiveArch: %{rust_arches}
- rust-nasm-rs
ExclusiveArch: %{rust_arches}
- rust-native-tls
ExclusiveArch: %{rust_arches}
- rust-natord
ExclusiveArch: %{rust_arches}
- rust-navi
ExclusiveArch: %{rust_arches}
- rust-nb-connect
ExclusiveArch: %{rust_arches}
- rust-ncurses
ExclusiveArch: %{rust_arches}
- rust-net2
ExclusiveArch: %{rust_arches}
- rust-netlink-packet-core
ExclusiveArch: %{rust_arches}
- rust-netlink-packet-route
ExclusiveArch: %{rust_arches}
- rust-netlink-packet-utils
ExclusiveArch: %{rust_arches}
- rust-netlink-proto
ExclusiveArch: %{rust_arches}
- rust-netlink-sys
ExclusiveArch: %{rust_arches}
- rust-netmap_sys
ExclusiveArch: %{rust_arches}
- rust-nettle
ExclusiveArch: %{rust_arches}
- rust-nettle-sys
ExclusiveArch: %{rust_arches}
- rust-new_debug_unreachable
ExclusiveArch: %{rust_arches}
- rust-news-flash
ExclusiveArch: %{rust_arches}
- rust-newsblur_api
ExclusiveArch: %{rust_arches}
- rust-newtype_derive
ExclusiveArch: %{rust_arches}
- rust-nibble_vec
ExclusiveArch: %{rust_arches}
- rust-nickel
ExclusiveArch: %{rust_arches}
- rust-nix
ExclusiveArch: %{rust_arches}
- rust-nix0.14
ExclusiveArch: %{rust_arches}
- rust-nix0.17
ExclusiveArch: %{rust_arches}
- rust-nix0.18
ExclusiveArch: %{rust_arches}
- rust-nix0.20
ExclusiveArch: %{rust_arches}
- rust-no-panic
ExclusiveArch: %{rust_arches}
- rust-nodrop
ExclusiveArch: %{rust_arches}
- rust-nom
ExclusiveArch: %{rust_arches}
- rust-nom4
ExclusiveArch: %{rust_arches}
- rust-nom5
ExclusiveArch: %{rust_arches}
- rust-noop_proc_macro
ExclusiveArch: %{rust_arches}
- rust-normalize-line-endings
ExclusiveArch: %{rust_arches}
- rust-notify
ExclusiveArch: %{rust_arches}
- rust-notify-rust
ExclusiveArch: %{rust_arches}
- rust-num
ExclusiveArch: %{rust_arches}
- rust-num-bigint
ExclusiveArch: %{rust_arches}
- rust-num-bigint-dig
ExclusiveArch: %{rust_arches}
- rust-num-bigint0.3
ExclusiveArch: %{rust_arches}
- rust-num-complex
ExclusiveArch: %{rust_arches}
- rust-num-complex0.3
ExclusiveArch: %{rust_arches}
- rust-num-derive
ExclusiveArch: %{rust_arches}
- rust-num-integer
ExclusiveArch: %{rust_arches}
- rust-num-iter
ExclusiveArch: %{rust_arches}
- rust-num-rational
ExclusiveArch: %{rust_arches}
- rust-num-rational0.3
ExclusiveArch: %{rust_arches}
- rust-num-traits
ExclusiveArch: %{rust_arches}
- rust-num-traits0.1
ExclusiveArch: %{rust_arches}
- rust-num0.3
ExclusiveArch: %{rust_arches}
- rust-num_cpus
ExclusiveArch: %{rust_arches}
- rust-num_enum
ExclusiveArch: %{rust_arches}
- rust-num_enum_derive
ExclusiveArch: %{rust_arches}
- rust-number_prefix
ExclusiveArch: %{rust_arches}
- rust-numtoa
ExclusiveArch: %{rust_arches}
- rust-oauth2
ExclusiveArch: %{rust_arches}
- rust-obfstr
ExclusiveArch: %{rust_arches}
- rust-obj
ExclusiveArch: %{rust_arches}
- rust-object
ExclusiveArch: %{rust_arches}
- rust-odds
ExclusiveArch: %{rust_arches}
- rust-ogg
ExclusiveArch: %{rust_arches}
- rust-oid
ExclusiveArch: %{rust_arches}
- rust-once_cell
ExclusiveArch: %{rust_arches}
- rust-onig
ExclusiveArch: %{rust_arches}
- rust-onig_sys
ExclusiveArch: %{rust_arches}
- rust-oorandom
ExclusiveArch: %{rust_arches}
- rust-opaque-debug
ExclusiveArch: %{rust_arches}
- rust-open
ExclusiveArch: %{rust_arches}
- rust-openat
ExclusiveArch: %{rust_arches}
- rust-openat-ext
ExclusiveArch: %{rust_arches}
- rust-opener
ExclusiveArch: %{rust_arches}
- rust-openssh-keys
ExclusiveArch: %{rust_arches}
- rust-openssl
ExclusiveArch: %{rust_arches}
- rust-openssl-probe
ExclusiveArch: %{rust_arches}
- rust-openssl-sys
ExclusiveArch: %{rust_arches}
- rust-opml
ExclusiveArch: %{rust_arches}
- rust-ord_subset
ExclusiveArch: %{rust_arches}
- rust-ordered-float
ExclusiveArch: %{rust_arches}
- rust-ordered-multimap
ExclusiveArch: %{rust_arches}
- rust-os_info
ExclusiveArch: %{rust_arches}
- rust-os_pipe
ExclusiveArch: %{rust_arches}
- rust-os_str_bytes
ExclusiveArch: %{rust_arches}
- rust-osmesa-sys
ExclusiveArch: %{rust_arches}
- rust-osstrtools
ExclusiveArch: %{rust_arches}
- rust-ostree
ExclusiveArch: %{rust_arches}
- rust-ostree-sys
ExclusiveArch: %{rust_arches}
- rust-ouroboros
ExclusiveArch: %{rust_arches}
- rust-ouroboros_macro
ExclusiveArch: %{rust_arches}
- rust-owned-alloc
ExclusiveArch: %{rust_arches}
- rust-owned_ttf_parser
ExclusiveArch: %{rust_arches}
- rust-owning_ref
ExclusiveArch: %{rust_arches}
- rust-oxipng
ExclusiveArch: %{rust_arches}
- rust-packaging
ExclusiveArch: %{rust_arches}
- rust-pad
ExclusiveArch: %{rust_arches}
- rust-page_size
ExclusiveArch: %{rust_arches}
- rust-pager
ExclusiveArch: %{rust_arches}
- rust-palette
ExclusiveArch: %{rust_arches}
- rust-palette_derive
ExclusiveArch: %{rust_arches}
- rust-pam
ExclusiveArch: %{rust_arches}
- rust-pam-client
ExclusiveArch: %{rust_arches}
- rust-pam-sys
ExclusiveArch: %{rust_arches}
- rust-pancurses
ExclusiveArch: %{rust_arches}
- rust-pango
ExclusiveArch: %{rust_arches}
- rust-pango-sys
ExclusiveArch: %{rust_arches}
- rust-pangocairo
ExclusiveArch: %{rust_arches}
- rust-pangocairo-sys
ExclusiveArch: %{rust_arches}
- rust-parity-wasm
ExclusiveArch: %{rust_arches}
- rust-parking
ExclusiveArch: %{rust_arches}
- rust-parking_lot
ExclusiveArch: %{rust_arches}
- rust-parking_lot_core
ExclusiveArch: %{rust_arches}
- rust-parse-zoneinfo
ExclusiveArch: %{rust_arches}
- rust-parse_cfg
ExclusiveArch: %{rust_arches}
- rust-parsec-client
ExclusiveArch: %{rust_arches}
- rust-parsec-interface
ExclusiveArch: %{rust_arches}
- rust-partial-io
ExclusiveArch: %{rust_arches}
- rust-partition-identity
ExclusiveArch: %{rust_arches}
- rust-paste
ExclusiveArch: %{rust_arches}
- rust-paste-impl
ExclusiveArch: %{rust_arches}
- rust-path-absolutize
ExclusiveArch: %{rust_arches}
- rust-path-dedot
ExclusiveArch: %{rust_arches}
- rust-path-slash
ExclusiveArch: %{rust_arches}
- rust-pathdiff
ExclusiveArch: %{rust_arches}
- rust-pathfinder_geometry
ExclusiveArch: %{rust_arches}
- rust-pathfinder_simd
ExclusiveArch: %{rust_arches}
- rust-pbr
ExclusiveArch: %{rust_arches}
- rust-pcap
ExclusiveArch: %{rust_arches}
- rust-pcre2
ExclusiveArch: %{rust_arches}
- rust-pcre2-sys
ExclusiveArch: %{rust_arches}
- rust-peeking_take_while
ExclusiveArch: %{rust_arches}
- rust-peg
ExclusiveArch: %{rust_arches}
- rust-peg-macros
ExclusiveArch: %{rust_arches}
- rust-peg-runtime
ExclusiveArch: %{rust_arches}
- rust-peg0.5
ExclusiveArch: %{rust_arches}
- rust-pem
ExclusiveArch: %{rust_arches}
- rust-percent-encoding
ExclusiveArch: %{rust_arches}
- rust-percent-encoding1
ExclusiveArch: %{rust_arches}
- rust-peresil
ExclusiveArch: %{rust_arches}
- rust-permutate
ExclusiveArch: %{rust_arches}
- rust-permutohedron
ExclusiveArch: %{rust_arches}
- rust-pest
ExclusiveArch: %{rust_arches}
- rust-pest_derive
ExclusiveArch: %{rust_arches}
- rust-pest_generator
ExclusiveArch: %{rust_arches}
- rust-pest_meta
ExclusiveArch: %{rust_arches}
- rust-petgraph
ExclusiveArch: %{rust_arches}
- rust-phf
ExclusiveArch: %{rust_arches}
- rust-phf0.7
ExclusiveArch: %{rust_arches}
- rust-phf_codegen
ExclusiveArch: %{rust_arches}
- rust-phf_codegen0.7
ExclusiveArch: %{rust_arches}
- rust-phf_generator
ExclusiveArch: %{rust_arches}
- rust-phf_generator0.7
ExclusiveArch: %{rust_arches}
- rust-phf_macros
ExclusiveArch: %{rust_arches}
- rust-phf_macros0.7
ExclusiveArch: %{rust_arches}
- rust-phf_shared
ExclusiveArch: %{rust_arches}
- rust-phf_shared0.7
ExclusiveArch: %{rust_arches}
- rust-picky-asn1
ExclusiveArch: %{rust_arches}
- rust-picky-asn1-der
ExclusiveArch: %{rust_arches}
- rust-picky-asn1-x509
ExclusiveArch: %{rust_arches}
- rust-pico-args
ExclusiveArch: %{rust_arches}
- rust-pin-project
ExclusiveArch: %{rust_arches}
- rust-pin-project-internal
ExclusiveArch: %{rust_arches}
- rust-pin-project-internal0.4
ExclusiveArch: %{rust_arches}
- rust-pin-project-lite
ExclusiveArch: %{rust_arches}
- rust-pin-project-lite0.1
ExclusiveArch: %{rust_arches}
- rust-pin-project0.4
ExclusiveArch: %{rust_arches}
- rust-pin-utils
ExclusiveArch: %{rust_arches}
- rust-pipe
ExclusiveArch: %{rust_arches}
- rust-piper
ExclusiveArch: %{rust_arches}
- rust-pkcs11
ExclusiveArch: %{rust_arches}
- rust-pkg-config
ExclusiveArch: %{rust_arches}
- rust-plain
ExclusiveArch: %{rust_arches}
- rust-platform-dirs
ExclusiveArch: %{rust_arches}
- rust-platforms
ExclusiveArch: %{rust_arches}
- rust-pleaser
ExclusiveArch: %{rust_arches}
- rust-plist
ExclusiveArch: %{rust_arches}
- rust-plotters
ExclusiveArch: %{rust_arches}
- rust-plotters-backend
ExclusiveArch: %{rust_arches}
- rust-plotters-bitmap
ExclusiveArch: %{rust_arches}
- rust-plotters-svg
ExclusiveArch: %{rust_arches}
- rust-plugin
ExclusiveArch: %{rust_arches}
- rust-pnet_base
ExclusiveArch: %{rust_arches}
- rust-pnet_datalink
ExclusiveArch: %{rust_arches}
- rust-pnet_sys
ExclusiveArch: %{rust_arches}
- rust-png
ExclusiveArch: %{rust_arches}
- rust-podio
ExclusiveArch: %{rust_arches}
- rust-polling
ExclusiveArch: %{rust_arches}
- rust-polyval
ExclusiveArch: %{rust_arches}
- rust-pom
ExclusiveArch: %{rust_arches}
- rust-pommes
ExclusiveArch: %{rust_arches}
- rust-posish
ExclusiveArch: %{rust_arches}
- rust-ppv-lite86
ExclusiveArch: %{rust_arches}
- rust-pq-sys
ExclusiveArch: %{rust_arches}
- rust-precomputed-hash
ExclusiveArch: %{rust_arches}
- rust-predicates
ExclusiveArch: %{rust_arches}
- rust-predicates-core
ExclusiveArch: %{rust_arches}
- rust-predicates-tree
ExclusiveArch: %{rust_arches}
- rust-pretty-git-prompt
ExclusiveArch: %{rust_arches}
- rust-pretty-hex
ExclusiveArch: %{rust_arches}
- rust-pretty_assertions
ExclusiveArch: %{rust_arches}
- rust-pretty_assertions0.6
ExclusiveArch: %{rust_arches}
- rust-pretty_env_logger
ExclusiveArch: %{rust_arches}
- rust-prettytable-rs
ExclusiveArch: %{rust_arches}
- rust-proc-macro-crate
ExclusiveArch: %{rust_arches}
- rust-proc-macro-crate0.1
ExclusiveArch: %{rust_arches}
- rust-proc-macro-error
ExclusiveArch: %{rust_arches}
- rust-proc-macro-error-attr
ExclusiveArch: %{rust_arches}
- rust-proc-macro-hack
ExclusiveArch: %{rust_arches}
- rust-proc-macro-nested
ExclusiveArch: %{rust_arches}
- rust-proc-macro2
ExclusiveArch: %{rust_arches}
- rust-proc-macro2-0.4
ExclusiveArch: %{rust_arches}
- rust-proc-mounts
ExclusiveArch: %{rust_arches}
- rust-proc-quote
ExclusiveArch: %{rust_arches}
- rust-proc-quote-impl
ExclusiveArch: %{rust_arches}
- rust-procedural-masquerade
ExclusiveArch: %{rust_arches}
- rust-process_control
ExclusiveArch: %{rust_arches}
- rust-process_path
ExclusiveArch: %{rust_arches}
- rust-procfs
ExclusiveArch: %{rust_arches}
- rust-procs
ExclusiveArch: %{rust_arches}
- rust-progress-streams
ExclusiveArch: %{rust_arches}
- rust-prometheus
ExclusiveArch: %{rust_arches}
- rust-proptest
ExclusiveArch: %{rust_arches}
- rust-proptest-derive
ExclusiveArch: %{rust_arches}
- rust-proptest0.10
ExclusiveArch: %{rust_arches}
- rust-prost
ExclusiveArch: %{rust_arches}
- rust-prost-build
ExclusiveArch: %{rust_arches}
- rust-prost-derive
ExclusiveArch: %{rust_arches}
- rust-prost-types
ExclusiveArch: %{rust_arches}
- rust-protobuf
ExclusiveArch: %{rust_arches}
- rust-protobuf-codegen
ExclusiveArch: %{rust_arches}
- rust-protobuf-codegen-pure
ExclusiveArch: %{rust_arches}
- rust-protoc
ExclusiveArch: %{rust_arches}
- rust-protoc-rust
ExclusiveArch: %{rust_arches}
- rust-psa-crypto
ExclusiveArch: %{rust_arches}
- rust-psa-crypto-sys
ExclusiveArch: %{rust_arches}
- rust-psd
ExclusiveArch: %{rust_arches}
- rust-psm
ExclusiveArch: %{rust_arches}
- rust-psutil
ExclusiveArch: %{rust_arches}
- rust-ptr_meta
ExclusiveArch: %{rust_arches}
- rust-ptr_meta_derive
ExclusiveArch: %{rust_arches}
- rust-publicsuffix
ExclusiveArch: %{rust_arches}
- rust-pulldown-cmark
ExclusiveArch: %{rust_arches}
- rust-pulse
ExclusiveArch: %{rust_arches}
- rust-pure-rust-locales
ExclusiveArch: %{rust_arches}
- rust-pyo3
ExclusiveArch: %{rust_arches}
- rust-pyo3-build-config
ExclusiveArch: %{rust_arches}
- rust-pyo3-macros
ExclusiveArch: %{rust_arches}
- rust-pyo3-macros-backend
ExclusiveArch: %{rust_arches}
- rust-python3-sys
ExclusiveArch: %{rust_arches}
- rust-qr2term
ExclusiveArch: %{rust_arches}
- rust-qrcode
ExclusiveArch: %{rust_arches}
- rust-qstring
ExclusiveArch: %{rust_arches}
- rust-quad-rand
ExclusiveArch: %{rust_arches}
- rust-quick-error
ExclusiveArch: %{rust_arches}
- rust-quick-error1
ExclusiveArch: %{rust_arches}
- rust-quick-xml
ExclusiveArch: %{rust_arches}
- rust-quick-xml0.20
ExclusiveArch: %{rust_arches}
- rust-quickcheck
ExclusiveArch: %{rust_arches}
- rust-quickcheck0.6
ExclusiveArch: %{rust_arches}
- rust-quickcheck0.9
ExclusiveArch: %{rust_arches}
- rust-quickcheck_macros
ExclusiveArch: %{rust_arches}
- rust-quickersort
ExclusiveArch: %{rust_arches}
- rust-quote
ExclusiveArch: %{rust_arches}
- rust-quote0.3
ExclusiveArch: %{rust_arches}
- rust-quote0.6
ExclusiveArch: %{rust_arches}
- rust-quoted_printable
ExclusiveArch: %{rust_arches}
- rust-r2d2
ExclusiveArch: %{rust_arches}
- rust-radium
ExclusiveArch: %{rust_arches}
- rust-radix64
ExclusiveArch: %{rust_arches}
- rust-radix_trie
ExclusiveArch: %{rust_arches}
- rust-rand
ExclusiveArch: %{rust_arches}
- rust-rand0.4
ExclusiveArch: %{rust_arches}
- rust-rand0.5
ExclusiveArch: %{rust_arches}
- rust-rand0.6
ExclusiveArch: %{rust_arches}
- rust-rand0.7
ExclusiveArch: %{rust_arches}
- rust-rand_chacha
ExclusiveArch: %{rust_arches}
- rust-rand_chacha0.1
ExclusiveArch: %{rust_arches}
- rust-rand_chacha0.2
ExclusiveArch: %{rust_arches}
- rust-rand_core
ExclusiveArch: %{rust_arches}
- rust-rand_core0.3
ExclusiveArch: %{rust_arches}
- rust-rand_core0.4
ExclusiveArch: %{rust_arches}
- rust-rand_core0.5
ExclusiveArch: %{rust_arches}
- rust-rand_distr
ExclusiveArch: %{rust_arches}
- rust-rand_distr0.2
ExclusiveArch: %{rust_arches}
- rust-rand_hc
ExclusiveArch: %{rust_arches}
- rust-rand_hc0.1
ExclusiveArch: %{rust_arches}
- rust-rand_isaac
ExclusiveArch: %{rust_arches}
- rust-rand_isaac0.1
ExclusiveArch: %{rust_arches}
- rust-rand_jitter
ExclusiveArch: %{rust_arches}
- rust-rand_jitter0.1
ExclusiveArch: %{rust_arches}
- rust-rand_os
ExclusiveArch: %{rust_arches}
- rust-rand_os0.1
ExclusiveArch: %{rust_arches}
- rust-rand_pcg
ExclusiveArch: %{rust_arches}
- rust-rand_pcg0.1
ExclusiveArch: %{rust_arches}
- rust-rand_pcg0.2
ExclusiveArch: %{rust_arches}
- rust-rand_xorshift
ExclusiveArch: %{rust_arches}
- rust-rand_xorshift0.1
ExclusiveArch: %{rust_arches}
- rust-rand_xorshift0.2
ExclusiveArch: %{rust_arches}
- rust-rand_xoshiro
ExclusiveArch: %{rust_arches}
- rust-random-fast-rng
ExclusiveArch: %{rust_arches}
- rust-random-trait
ExclusiveArch: %{rust_arches}
- rust-randomize
ExclusiveArch: %{rust_arches}
- rust-rav1e
ExclusiveArch: %{rust_arches}
- rust-raw-window-handle
ExclusiveArch: %{rust_arches}
- rust-rawpointer
ExclusiveArch: %{rust_arches}
- rust-rawslice
ExclusiveArch: %{rust_arches}
- rust-rayon
ExclusiveArch: %{rust_arches}
- rust-rayon-core
ExclusiveArch: %{rust_arches}
- rust-read_input
ExclusiveArch: %{rust_arches}
- rust-readability-fork
ExclusiveArch: %{rust_arches}
- rust-readwrite
ExclusiveArch: %{rust_arches}
- rust-recycler
ExclusiveArch: %{rust_arches}
- rust-ref-cast
ExclusiveArch: %{rust_arches}
- rust-ref-cast-impl
ExclusiveArch: %{rust_arches}
- rust-regalloc
ExclusiveArch: %{rust_arches}
- rust-regex
ExclusiveArch: %{rust_arches}
- rust-regex-automata
ExclusiveArch: %{rust_arches}
- rust-regex-syntax
ExclusiveArch: %{rust_arches}
- rust-region
ExclusiveArch: %{rust_arches}
- rust-relative-path
ExclusiveArch: %{rust_arches}
- rust-relay
ExclusiveArch: %{rust_arches}
- rust-remove_dir_all
ExclusiveArch: %{rust_arches}
- rust-rend
ExclusiveArch: %{rust_arches}
- rust-rental
ExclusiveArch: %{rust_arches}
- rust-rental-impl
ExclusiveArch: %{rust_arches}
- rust-reqwest
ExclusiveArch: %{rust_arches}
- rust-reqwest0.10
ExclusiveArch: %{rust_arches}
- rust-resize
ExclusiveArch: %{rust_arches}
- rust-resolv-conf
ExclusiveArch: %{rust_arches}
- rust-restson
ExclusiveArch: %{rust_arches}
- rust-retry
ExclusiveArch: %{rust_arches}
- rust-rgb
ExclusiveArch: %{rust_arches}
- rust-ring
ExclusiveArch: %{rust_arches}
- rust-ripgrep
ExclusiveArch: %{rust_arches}
- rust-rkyv
ExclusiveArch: %{rust_arches}
- rust-rkyv_derive
ExclusiveArch: %{rust_arches}
- rust-rle-decode-fast
ExclusiveArch: %{rust_arches}
- rust-rmp
ExclusiveArch: %{rust_arches}
- rust-rmp-serde
ExclusiveArch: %{rust_arches}
- rust-rodio
ExclusiveArch: %{rust_arches}
- rust-roff
ExclusiveArch: %{rust_arches}
- rust-ron
ExclusiveArch: %{rust_arches}
- rust-roxmltree
ExclusiveArch: %{rust_arches}
- rust-rpassword
ExclusiveArch: %{rust_arches}
- rust-rpick
ExclusiveArch: %{rust_arches}
- rust-rsa
ExclusiveArch: %{rust_arches}
- rust-rspec
ExclusiveArch: %{rust_arches}
- rust-rtnetlink
ExclusiveArch: %{rust_arches}
- rust-rudo
ExclusiveArch: %{rust_arches}
- rust-ruma
ExclusiveArch: %{rust_arches}
- rust-ruma-api
ExclusiveArch: %{rust_arches}
- rust-ruma-api-macros
ExclusiveArch: %{rust_arches}
- rust-ruma-appservice-api
ExclusiveArch: %{rust_arches}
- rust-ruma-client-api
ExclusiveArch: %{rust_arches}
- rust-ruma-common
ExclusiveArch: %{rust_arches}
- rust-ruma-events
ExclusiveArch: %{rust_arches}
- rust-ruma-events-macros
ExclusiveArch: %{rust_arches}
- rust-ruma-federation-api
ExclusiveArch: %{rust_arches}
- rust-ruma-identifiers
ExclusiveArch: %{rust_arches}
- rust-ruma-identifiers-macros
ExclusiveArch: %{rust_arches}
- rust-ruma-identifiers-validation
ExclusiveArch: %{rust_arches}
- rust-ruma-identity-service-api
ExclusiveArch: %{rust_arches}
- rust-ruma-push-gateway-api
ExclusiveArch: %{rust_arches}
- rust-ruma-serde
ExclusiveArch: %{rust_arches}
- rust-ruma-serde-macros
ExclusiveArch: %{rust_arches}
- rust-ruma-signatures
ExclusiveArch: %{rust_arches}
- rust-rusqlite
ExclusiveArch: %{rust_arches}
- rust-rust-embed
ExclusiveArch: %{rust_arches}
- rust-rust-embed-impl
ExclusiveArch: %{rust_arches}
- rust-rust-embed-utils
ExclusiveArch: %{rust_arches}
- rust-rust-ini
ExclusiveArch: %{rust_arches}
- rust-rust-stemmers
ExclusiveArch: %{rust_arches}
- rust-rust_decimal
ExclusiveArch: %{rust_arches}
- rust-rust_hawktracer
ExclusiveArch: %{rust_arches}
- rust-rust_hawktracer_normal_macro
ExclusiveArch: %{rust_arches}
- rust-rust_hawktracer_proc_macro
ExclusiveArch: %{rust_arches}
- rust-rust_hawktracer_sys
ExclusiveArch: %{rust_arches}
- rust-rustbus
ExclusiveArch: %{rust_arches}
- rust-rustbus_derive
ExclusiveArch: %{rust_arches}
- rust-rustc-demangle
ExclusiveArch: %{rust_arches}
- rust-rustc-hash
ExclusiveArch: %{rust_arches}
- rust-rustc-serialize
ExclusiveArch: %{rust_arches}
- rust-rustc-test
ExclusiveArch: %{rust_arches}
- rust-rustc_tools_util
ExclusiveArch: %{rust_arches}
- rust-rustc_version
ExclusiveArch: %{rust_arches}
- rust-rustc_version0.3
ExclusiveArch: %{rust_arches}
- rust-rustdoc-stripper
ExclusiveArch: %{rust_arches}
- rust-rustfilt
ExclusiveArch: %{rust_arches}
- rust-rustfix
ExclusiveArch: %{rust_arches}
- rust-rustio
ExclusiveArch: %{rust_arches}
- rust-rustls
ExclusiveArch: %{rust_arches}
- rust-rustls-native-certs
ExclusiveArch: %{rust_arches}
- rust-rusttype
ExclusiveArch: %{rust_arches}
- rust-rustversion
ExclusiveArch: %{rust_arches}
- rust-rusty-fork
ExclusiveArch: %{rust_arches}
- rust-rustyline
ExclusiveArch: %{rust_arches}
- rust-rustyline-derive
ExclusiveArch: %{rust_arches}
- rust-ryu
ExclusiveArch: %{rust_arches}
- rust-safe-transmute
ExclusiveArch: %{rust_arches}
- rust-safe_arch
ExclusiveArch: %{rust_arches}
- rust-safemem
ExclusiveArch: %{rust_arches}
- rust-same-file
ExclusiveArch: %{rust_arches}
- rust-sapp-kms
ExclusiveArch: %{rust_arches}
- rust-sapp-linux
ExclusiveArch: %{rust_arches}
- rust-sass-rs
ExclusiveArch: %{rust_arches}
- rust-sass-sys
ExclusiveArch: %{rust_arches}
- rust-scan_fmt
ExclusiveArch: %{rust_arches}
- rust-scheduled-thread-pool
ExclusiveArch: %{rust_arches}
- rust-scoped-tls
ExclusiveArch: %{rust_arches}
- rust-scoped-tls-hkt
ExclusiveArch: %{rust_arches}
- rust-scoped_threadpool
ExclusiveArch: %{rust_arches}
- rust-scopeguard
ExclusiveArch: %{rust_arches}
- rust-scopetime
ExclusiveArch: %{rust_arches}
- rust-scratch
ExclusiveArch: %{rust_arches}
- rust-scroll
ExclusiveArch: %{rust_arches}
- rust-scroll_derive
ExclusiveArch: %{rust_arches}
- rust-sct
ExclusiveArch: %{rust_arches}
- rust-sd
ExclusiveArch: %{rust_arches}
- rust-sd-notify
ExclusiveArch: %{rust_arches}
- rust-seahash
ExclusiveArch: %{rust_arches}
- rust-seahash3
ExclusiveArch: %{rust_arches}
- rust-secrecy
ExclusiveArch: %{rust_arches}
- rust-secret-service
ExclusiveArch: %{rust_arches}
- rust-semver
ExclusiveArch: %{rust_arches}
- rust-semver-parser
ExclusiveArch: %{rust_arches}
- rust-semver-parser0.7
ExclusiveArch: %{rust_arches}
- rust-semver-parser0.9
ExclusiveArch: %{rust_arches}
- rust-semver0.10
ExclusiveArch: %{rust_arches}
- rust-semver0.11
ExclusiveArch: %{rust_arches}
- rust-sequoia-autocrypt
ExclusiveArch: %{rust_arches}
- rust-sequoia-ipc
ExclusiveArch: %{rust_arches}
- rust-sequoia-keyring-linter
ExclusiveArch: %{rust_arches}
- rust-sequoia-net
ExclusiveArch: %{rust_arches}
- rust-sequoia-octopus-librnp
ExclusiveArch: %{rust_arches}
- rust-sequoia-openpgp
ExclusiveArch: %{rust_arches}
- rust-sequoia-sop
ExclusiveArch: %{rust_arches}
- rust-sequoia-sq
ExclusiveArch: %{rust_arches}
- rust-sequoia-sqv
ExclusiveArch: %{rust_arches}
- rust-serde
ExclusiveArch: %{rust_arches}
- rust-serde-big-array
ExclusiveArch: %{rust_arches}
- rust-serde-pickle
ExclusiveArch: %{rust_arches}
- rust-serde-value
ExclusiveArch: %{rust_arches}
- rust-serde-xml-rs
ExclusiveArch: %{rust_arches}
- rust-serde_bser
ExclusiveArch: %{rust_arches}
- rust-serde_bytes
ExclusiveArch: %{rust_arches}
- rust-serde_cbor
ExclusiveArch: %{rust_arches}
- rust-serde_derive
ExclusiveArch: %{rust_arches}
- rust-serde_fmt
ExclusiveArch: %{rust_arches}
- rust-serde_ignored
ExclusiveArch: %{rust_arches}
- rust-serde_json
ExclusiveArch: %{rust_arches}
- rust-serde_repr
ExclusiveArch: %{rust_arches}
- rust-serde_stacker
ExclusiveArch: %{rust_arches}
- rust-serde_test
ExclusiveArch: %{rust_arches}
- rust-serde_url_params
ExclusiveArch: %{rust_arches}
- rust-serde_urlencoded
ExclusiveArch: %{rust_arches}
- rust-serde_urlencoded0.6
ExclusiveArch: %{rust_arches}
- rust-serde_with_macros
ExclusiveArch: %{rust_arches}
- rust-serde_yaml
ExclusiveArch: %{rust_arches}
- rust-serial-core
ExclusiveArch: %{rust_arches}
- rust-serial_test
ExclusiveArch: %{rust_arches}
- rust-serial_test_derive
ExclusiveArch: %{rust_arches}
- rust-servo-fontconfig
ExclusiveArch: %{rust_arches}
- rust-servo-fontconfig-sys
ExclusiveArch: %{rust_arches}
- rust-sev
ExclusiveArch: %{rust_arches}
- rust-sevctl
ExclusiveArch: %{rust_arches}
- rust-sha-1
ExclusiveArch: %{rust_arches}
- rust-sha1
ExclusiveArch: %{rust_arches}
- rust-sha1collisiondetection
ExclusiveArch: %{rust_arches}
- rust-sha2
ExclusiveArch: %{rust_arches}
- rust-sha3
ExclusiveArch: %{rust_arches}
- rust-shadow-rs
ExclusiveArch: %{rust_arches}
- rust-shared_child
ExclusiveArch: %{rust_arches}
- rust-shared_library
ExclusiveArch: %{rust_arches}
- rust-shell-escape
ExclusiveArch: %{rust_arches}
- rust-shell-words
ExclusiveArch: %{rust_arches}
- rust-shellexpand
ExclusiveArch: %{rust_arches}
- rust-shellwords
ExclusiveArch: %{rust_arches}
- rust-shlex
ExclusiveArch: %{rust_arches}
- rust-signal-hook
ExclusiveArch: %{rust_arches}
- rust-signal-hook-registry
ExclusiveArch: %{rust_arches}
- rust-signal-hook0.1
ExclusiveArch: %{rust_arches}
- rust-silver
ExclusiveArch: %{rust_arches}
- rust-simba
ExclusiveArch: %{rust_arches}
- rust-simd_helpers
ExclusiveArch: %{rust_arches}
- rust-simdutf8
ExclusiveArch: %{rust_arches}
- rust-simple_asn1
ExclusiveArch: %{rust_arches}
- rust-simple_logger
ExclusiveArch: %{rust_arches}
- rust-simplelog
ExclusiveArch: %{rust_arches}
- rust-siphasher
ExclusiveArch: %{rust_arches}
- rust-size
ExclusiveArch: %{rust_arches}
- rust-sized-chunks
ExclusiveArch: %{rust_arches}
- rust-skeptic
ExclusiveArch: %{rust_arches}
- rust-skim
ExclusiveArch: %{rust_arches}
- rust-slab
ExclusiveArch: %{rust_arches}
- rust-slash-formatter
ExclusiveArch: %{rust_arches}
- rust-slice-deque
ExclusiveArch: %{rust_arches}
- rust-slog
ExclusiveArch: %{rust_arches}
- rust-slog-async
ExclusiveArch: %{rust_arches}
- rust-slog-scope
ExclusiveArch: %{rust_arches}
- rust-slog-term
ExclusiveArch: %{rust_arches}
- rust-slotmap
ExclusiveArch: %{rust_arches}
- rust-slug
ExclusiveArch: %{rust_arches}
- rust-sluice
ExclusiveArch: %{rust_arches}
- rust-smallstr
ExclusiveArch: %{rust_arches}
- rust-smallvec
ExclusiveArch: %{rust_arches}
- rust-smart-default
ExclusiveArch: %{rust_arches}
- rust-smawk
ExclusiveArch: %{rust_arches}
- rust-smithay-client-toolkit
ExclusiveArch: %{rust_arches}
- rust-smithay-client-toolkit0.12
ExclusiveArch: %{rust_arches}
- rust-smithay-clipboard
ExclusiveArch: %{rust_arches}
- rust-snafu
ExclusiveArch: %{rust_arches}
- rust-snafu-derive
ExclusiveArch: %{rust_arches}
- rust-snake_case
ExclusiveArch: %{rust_arches}
- rust-snowflake
ExclusiveArch: %{rust_arches}
- rust-socket2
ExclusiveArch: %{rust_arches}
- rust-socket2_0.3
ExclusiveArch: %{rust_arches}
- rust-sop
ExclusiveArch: %{rust_arches}
- rust-soup-sys
ExclusiveArch: %{rust_arches}
- rust-spin
ExclusiveArch: %{rust_arches}
- rust-spin_on
ExclusiveArch: %{rust_arches}
- rust-spinning_top
ExclusiveArch: %{rust_arches}
- rust-spmc
ExclusiveArch: %{rust_arches}
- rust-ssh-key-dir
ExclusiveArch: %{rust_arches}
- rust-stable_deref_trait
ExclusiveArch: %{rust_arches}
- rust-stacker
ExclusiveArch: %{rust_arches}
- rust-standback
ExclusiveArch: %{rust_arches}
- rust-starship
ExclusiveArch: %{rust_arches}
- rust-starship_module_config_derive
ExclusiveArch: %{rust_arches}
- rust-static_assertions
ExclusiveArch: %{rust_arches}
- rust-statistical
ExclusiveArch: %{rust_arches}
- rust-stb_truetype
ExclusiveArch: %{rust_arches}
- rust-stderrlog
ExclusiveArch: %{rust_arches}
- rust-streaming-stats
ExclusiveArch: %{rust_arches}
- rust-string
ExclusiveArch: %{rust_arches}
- rust-string_cache
ExclusiveArch: %{rust_arches}
- rust-string_cache_codegen
ExclusiveArch: %{rust_arches}
- rust-string_cache_shared
ExclusiveArch: %{rust_arches}
- rust-strings
ExclusiveArch: %{rust_arches}
- rust-strip-ansi-escapes
ExclusiveArch: %{rust_arches}
- rust-strong-xml
ExclusiveArch: %{rust_arches}
- rust-strong-xml-derive
ExclusiveArch: %{rust_arches}
- rust-strsim
ExclusiveArch: %{rust_arches}
- rust-structopt
ExclusiveArch: %{rust_arches}
- rust-structopt-derive
ExclusiveArch: %{rust_arches}
- rust-structopt-derive0.2
ExclusiveArch: %{rust_arches}
- rust-structopt0.2
ExclusiveArch: %{rust_arches}
- rust-strum
ExclusiveArch: %{rust_arches}
- rust-strum_macros
ExclusiveArch: %{rust_arches}
- rust-subtle
ExclusiveArch: %{rust_arches}
- rust-sudo_plugin
ExclusiveArch: %{rust_arches}
- rust-sudo_plugin-sys
ExclusiveArch: %{rust_arches}
- rust-sval
ExclusiveArch: %{rust_arches}
- rust-sval_derive
ExclusiveArch: %{rust_arches}
- rust-sval_json
ExclusiveArch: %{rust_arches}
- rust-svg_metadata
ExclusiveArch: %{rust_arches}
- rust-svgfilters
ExclusiveArch: %{rust_arches}
- rust-svgtypes
ExclusiveArch: %{rust_arches}
- rust-sxd-document
ExclusiveArch: %{rust_arches}
- rust-syn
ExclusiveArch: %{rust_arches}
- rust-syn-mid
ExclusiveArch: %{rust_arches}
- rust-syn0.15
ExclusiveArch: %{rust_arches}
- rust-synom
ExclusiveArch: %{rust_arches}
- rust-synstructure
ExclusiveArch: %{rust_arches}
- rust-syntect
ExclusiveArch: %{rust_arches}
- rust-sys-info
ExclusiveArch: %{rust_arches}
- rust-sysctl
ExclusiveArch: %{rust_arches}
- rust-sysinfo
ExclusiveArch: %{rust_arches}
- rust-syslog
ExclusiveArch: %{rust_arches}
- rust-system-deps
ExclusiveArch: %{rust_arches}
- rust-systemd
ExclusiveArch: %{rust_arches}
- rust-tabular
ExclusiveArch: %{rust_arches}
- rust-tabwriter
ExclusiveArch: %{rust_arches}
- rust-take
ExclusiveArch: %{rust_arches}
- rust-take_mut
ExclusiveArch: %{rust_arches}
- rust-takeable
ExclusiveArch: %{rust_arches}
- rust-takeable-option
ExclusiveArch: %{rust_arches}
- rust-tap
ExclusiveArch: %{rust_arches}
- rust-tar
ExclusiveArch: %{rust_arches}
- rust-target
ExclusiveArch: %{rust_arches}
- rust-target-lexicon
ExclusiveArch: %{rust_arches}
- rust-tealdeer
ExclusiveArch: %{rust_arches}
- rust-teloxide
ExclusiveArch: %{rust_arches}
- rust-teloxide-macros
ExclusiveArch: %{rust_arches}
- rust-tempdir
ExclusiveArch: %{rust_arches}
- rust-tempfile
ExclusiveArch: %{rust_arches}
- rust-temptree
ExclusiveArch: %{rust_arches}
- rust-tendril
ExclusiveArch: %{rust_arches}
- rust-tera
ExclusiveArch: %{rust_arches}
- rust-term
ExclusiveArch: %{rust_arches}
- rust-term0.6
ExclusiveArch: %{rust_arches}
- rust-term_grid
ExclusiveArch: %{rust_arches}
- rust-term_size
ExclusiveArch: %{rust_arches}
- rust-termcolor
ExclusiveArch: %{rust_arches}
- rust-terminal_size
ExclusiveArch: %{rust_arches}
- rust-terminfo
ExclusiveArch: %{rust_arches}
- rust-termion
ExclusiveArch: %{rust_arches}
- rust-termios
ExclusiveArch: %{rust_arches}
- rust-test-assembler
ExclusiveArch: %{rust_arches}
- rust-tester
ExclusiveArch: %{rust_arches}
- rust-testing_logger
ExclusiveArch: %{rust_arches}
- rust-textwrap
ExclusiveArch: %{rust_arches}
- rust-textwrap0.11
ExclusiveArch: %{rust_arches}
- rust-textwrap0.12
ExclusiveArch: %{rust_arches}
- rust-thiserror
ExclusiveArch: %{rust_arches}
- rust-thiserror-impl
ExclusiveArch: %{rust_arches}
- rust-thread-id
ExclusiveArch: %{rust_arches}
- rust-thread-scoped
ExclusiveArch: %{rust_arches}
- rust-thread_local
ExclusiveArch: %{rust_arches}
- rust-threadpool
ExclusiveArch: %{rust_arches}
- rust-tiff
ExclusiveArch: %{rust_arches}
- rust-tiger-digest
ExclusiveArch: %{rust_arches}
- rust-time
ExclusiveArch: %{rust_arches}
- rust-time-macros
ExclusiveArch: %{rust_arches}
- rust-time-macros-impl
ExclusiveArch: %{rust_arches}
- rust-time0.1
ExclusiveArch: %{rust_arches}
- rust-timebomb
ExclusiveArch: %{rust_arches}
- rust-timer
ExclusiveArch: %{rust_arches}
- rust-timerfd
ExclusiveArch: %{rust_arches}
- rust-tiny-keccak
ExclusiveArch: %{rust_arches}
- rust-tiny_http
ExclusiveArch: %{rust_arches}
- rust-tinyfiledialogs
ExclusiveArch: %{rust_arches}
- rust-tinytemplate
ExclusiveArch: %{rust_arches}
- rust-tinyvec
ExclusiveArch: %{rust_arches}
- rust-tinyvec_macros
ExclusiveArch: %{rust_arches}
- rust-tokei
ExclusiveArch: %{rust_arches}
- rust-tokio
ExclusiveArch: %{rust_arches}
- rust-tokio-codec
ExclusiveArch: %{rust_arches}
- rust-tokio-core
ExclusiveArch: %{rust_arches}
- rust-tokio-current-thread
ExclusiveArch: %{rust_arches}
- rust-tokio-executor
ExclusiveArch: %{rust_arches}
- rust-tokio-fs
ExclusiveArch: %{rust_arches}
- rust-tokio-io
ExclusiveArch: %{rust_arches}
- rust-tokio-io-pool
ExclusiveArch: %{rust_arches}
- rust-tokio-macros
ExclusiveArch: %{rust_arches}
- rust-tokio-macros0.2
ExclusiveArch: %{rust_arches}
- rust-tokio-mock-task
ExclusiveArch: %{rust_arches}
- rust-tokio-native-tls
ExclusiveArch: %{rust_arches}
- rust-tokio-openssl
ExclusiveArch: %{rust_arches}
- rust-tokio-openssl0.4
ExclusiveArch: %{rust_arches}
- rust-tokio-reactor
ExclusiveArch: %{rust_arches}
- rust-tokio-rustls
ExclusiveArch: %{rust_arches}
- rust-tokio-socks
ExclusiveArch: %{rust_arches}
- rust-tokio-socks0.3
ExclusiveArch: %{rust_arches}
- rust-tokio-stream
ExclusiveArch: %{rust_arches}
- rust-tokio-sync
ExclusiveArch: %{rust_arches}
- rust-tokio-tcp
ExclusiveArch: %{rust_arches}
- rust-tokio-test
ExclusiveArch: %{rust_arches}
- rust-tokio-threadpool
ExclusiveArch: %{rust_arches}
- rust-tokio-timer
ExclusiveArch: %{rust_arches}
- rust-tokio-tls
ExclusiveArch: %{rust_arches}
- rust-tokio-tls0.2
ExclusiveArch: %{rust_arches}
- rust-tokio-tungstenite
ExclusiveArch: %{rust_arches}
- rust-tokio-udp
ExclusiveArch: %{rust_arches}
- rust-tokio-uds
ExclusiveArch: %{rust_arches}
- rust-tokio-util
ExclusiveArch: %{rust_arches}
- rust-tokio-util0.3
ExclusiveArch: %{rust_arches}
- rust-tokio0.1
ExclusiveArch: %{rust_arches}
- rust-tokio0.2
ExclusiveArch: %{rust_arches}
- rust-toml
ExclusiveArch: %{rust_arches}
- rust-toml0.4
ExclusiveArch: %{rust_arches}
- rust-tower-layer
ExclusiveArch: %{rust_arches}
- rust-tower-service
ExclusiveArch: %{rust_arches}
- rust-tower-test
ExclusiveArch: %{rust_arches}
- rust-tower-util
ExclusiveArch: %{rust_arches}
- rust-tpm2-policy
ExclusiveArch: %{rust_arches}
- rust-tracing
ExclusiveArch: %{rust_arches}
- rust-tracing-attributes
ExclusiveArch: %{rust_arches}
- rust-tracing-core
ExclusiveArch: %{rust_arches}
- rust-tracing-futures
ExclusiveArch: %{rust_arches}
- rust-traitobject
ExclusiveArch: %{rust_arches}
- rust-treebitmap
ExclusiveArch: %{rust_arches}
- rust-treeline
ExclusiveArch: %{rust_arches}
- rust-trust-dns-https
ExclusiveArch: %{rust_arches}
- rust-trust-dns-native-tls
ExclusiveArch: %{rust_arches}
- rust-trust-dns-native-tls0.19
ExclusiveArch: %{rust_arches}
- rust-trust-dns-openssl
ExclusiveArch: %{rust_arches}
- rust-trust-dns-openssl0.19
ExclusiveArch: %{rust_arches}
- rust-trust-dns-proto
ExclusiveArch: %{rust_arches}
- rust-trust-dns-proto0.19
ExclusiveArch: %{rust_arches}
- rust-trust-dns-resolver
ExclusiveArch: %{rust_arches}
- rust-trust-dns-resolver0.19
ExclusiveArch: %{rust_arches}
- rust-trust-dns-rustls
ExclusiveArch: %{rust_arches}
- rust-try-lock
ExclusiveArch: %{rust_arches}
- rust-try_from
ExclusiveArch: %{rust_arches}
- rust-try_or
ExclusiveArch: %{rust_arches}
- rust-trybuild
ExclusiveArch: %{rust_arches}
- rust-tss-esapi
ExclusiveArch: %{rust_arches}
- rust-tss-esapi-sys
ExclusiveArch: %{rust_arches}
- rust-ttf-parser
ExclusiveArch: %{rust_arches}
- rust-tui
ExclusiveArch: %{rust_arches}
- rust-tui-react
ExclusiveArch: %{rust_arches}
- rust-tui0.11
ExclusiveArch: %{rust_arches}
- rust-tui0.9
ExclusiveArch: %{rust_arches}
- rust-tuikit
ExclusiveArch: %{rust_arches}
- rust-tungstenite
ExclusiveArch: %{rust_arches}
- rust-twoway
ExclusiveArch: %{rust_arches}
- rust-typeable
ExclusiveArch: %{rust_arches}
- rust-typed-arena
ExclusiveArch: %{rust_arches}
- rust-typemap
ExclusiveArch: %{rust_arches}
- rust-typenum
ExclusiveArch: %{rust_arches}
- rust-typetag
ExclusiveArch: %{rust_arches}
- rust-typetag-impl
ExclusiveArch: %{rust_arches}
- rust-tzfile
ExclusiveArch: %{rust_arches}
- rust-ucd-parse
ExclusiveArch: %{rust_arches}
- rust-ucd-trie
ExclusiveArch: %{rust_arches}
- rust-ucd-util
ExclusiveArch: %{rust_arches}
- rust-unchecked-index
ExclusiveArch: %{rust_arches}
- rust-unescape
ExclusiveArch: %{rust_arches}
- rust-unic-char-property
ExclusiveArch: %{rust_arches}
- rust-unic-char-range
ExclusiveArch: %{rust_arches}
- rust-unic-common
ExclusiveArch: %{rust_arches}
- rust-unic-segment
ExclusiveArch: %{rust_arches}
- rust-unic-ucd-category
ExclusiveArch: %{rust_arches}
- rust-unic-ucd-common
ExclusiveArch: %{rust_arches}
- rust-unic-ucd-segment
ExclusiveArch: %{rust_arches}
- rust-unic-ucd-version
ExclusiveArch: %{rust_arches}
- rust-unicase
ExclusiveArch: %{rust_arches}
- rust-unicase1
ExclusiveArch: %{rust_arches}
- rust-unicode-bidi
ExclusiveArch: %{rust_arches}
- rust-unicode-linebreak
ExclusiveArch: %{rust_arches}
- rust-unicode-normalization
ExclusiveArch: %{rust_arches}
- rust-unicode-segmentation
ExclusiveArch: %{rust_arches}
- rust-unicode-truncate
ExclusiveArch: %{rust_arches}
- rust-unicode-width
ExclusiveArch: %{rust_arches}
- rust-unicode-xid
ExclusiveArch: %{rust_arches}
- rust-unicode-xid0.1
ExclusiveArch: %{rust_arches}
- rust-unicode_categories
ExclusiveArch: %{rust_arches}
- rust-unindent
ExclusiveArch: %{rust_arches}
- rust-universal-hash
ExclusiveArch: %{rust_arches}
- rust-unix_socket
ExclusiveArch: %{rust_arches}
- rust-unreachable
ExclusiveArch: %{rust_arches}
- rust-unsafe-any
ExclusiveArch: %{rust_arches}
- rust-unsafe-io
ExclusiveArch: %{rust_arches}
- rust-untrusted
ExclusiveArch: %{rust_arches}
- rust-uom
ExclusiveArch: %{rust_arches}
- rust-url
ExclusiveArch: %{rust_arches}
- rust-url1
ExclusiveArch: %{rust_arches}
- rust-url_serde
ExclusiveArch: %{rust_arches}
- rust-urlencoding
ExclusiveArch: %{rust_arches}
- rust-urlocator
ExclusiveArch: %{rust_arches}
- rust-urlshortener
ExclusiveArch: %{rust_arches}
- rust-users
ExclusiveArch: %{rust_arches}
- rust-users0.10
ExclusiveArch: %{rust_arches}
- rust-utf-8
ExclusiveArch: %{rust_arches}
- rust-utf8-cstr
ExclusiveArch: %{rust_arches}
- rust-utf8-ranges
ExclusiveArch: %{rust_arches}
- rust-utf8-width
ExclusiveArch: %{rust_arches}
- rust-utf8parse
ExclusiveArch: %{rust_arches}
- rust-uuid
ExclusiveArch: %{rust_arches}
- rust-uuid0.7
ExclusiveArch: %{rust_arches}
- rust-v_escape
ExclusiveArch: %{rust_arches}
- rust-v_escape_derive
ExclusiveArch: %{rust_arches}
- rust-v_frame
ExclusiveArch: %{rust_arches}
- rust-v_htmlescape
ExclusiveArch: %{rust_arches}
- rust-value-bag
ExclusiveArch: %{rust_arches}
- rust-varlink
ExclusiveArch: %{rust_arches}
- rust-varlink-cli
ExclusiveArch: %{rust_arches}
- rust-varlink_generator
ExclusiveArch: %{rust_arches}
- rust-varlink_parser
ExclusiveArch: %{rust_arches}
- rust-varlink_stdinterfaces
ExclusiveArch: %{rust_arches}
- rust-vcpkg
ExclusiveArch: %{rust_arches}
- rust-vec-arena
ExclusiveArch: %{rust_arches}
- rust-vec_map
ExclusiveArch: %{rust_arches}
- rust-vergen
ExclusiveArch: %{rust_arches}
- rust-vergen3
ExclusiveArch: %{rust_arches}
- rust-version
ExclusiveArch: %{rust_arches}
- rust-version-compare
ExclusiveArch: %{rust_arches}
- rust-version-sync
ExclusiveArch: %{rust_arches}
- rust-version-sync0.8
ExclusiveArch: %{rust_arches}
- rust-version_check
ExclusiveArch: %{rust_arches}
- rust-versions
ExclusiveArch: %{rust_arches}
- rust-virtio-bindings
ExclusiveArch: x86_64 aarch64 ppc64le
- rust-vm-memory
ExclusiveArch: x86_64 aarch64 ppc64le
- rust-vmm-sys-util
ExclusiveArch: x86_64 aarch64 ppc64le
- rust-vmw_backdoor
ExclusiveArch: %{rust_arches}
- rust-void
ExclusiveArch: %{rust_arches}
- rust-vsprintf
ExclusiveArch: %{rust_arches}
- rust-vte
ExclusiveArch: %{rust_arches}
- rust-vte0.3
ExclusiveArch: %{rust_arches}
- rust-vte_generate_state_changes
ExclusiveArch: %{rust_arches}
- rust-wait-timeout
ExclusiveArch: %{rust_arches}
- rust-waker-fn
ExclusiveArch: %{rust_arches}
- rust-walkdir
ExclusiveArch: %{rust_arches}
- rust-want
ExclusiveArch: %{rust_arches}
- rust-warp
ExclusiveArch: %{rust_arches}
- rust-warp0.2
ExclusiveArch: %{rust_arches}
- rust-wasm-bindgen
ExclusiveArch: %{rust_arches}
- rust-wasm-bindgen-backend
ExclusiveArch: %{rust_arches}
- rust-wasm-bindgen-futures
ExclusiveArch: %{rust_arches}
- rust-wasm-bindgen-macro
ExclusiveArch: %{rust_arches}
- rust-wasm-bindgen-macro-support
ExclusiveArch: %{rust_arches}
- rust-wasm-bindgen-shared
ExclusiveArch: %{rust_arches}
- rust-wasm-bindgen-test
ExclusiveArch: %{rust_arches}
- rust-wasm-bindgen-test-macro
ExclusiveArch: %{rust_arches}
- rust-wasmer_enumset
ExclusiveArch: %{rust_arches}
- rust-wasmer_enumset_derive
ExclusiveArch: %{rust_arches}
- rust-wasmparser
ExclusiveArch: %{rust_arches}
- rust-wasmtime-cache
ExclusiveArch: %{rust_arches}
- rust-wasmtime-environ
ExclusiveArch: %{rust_arches}
- rust-wasmtime-fiber
ExclusiveArch: %{rust_arches}
- rust-wast
ExclusiveArch: %{rust_arches}
- rust-wat
ExclusiveArch: %{rust_arches}
- rust-watchman_client
ExclusiveArch: %{rust_arches}
- rust-wayland-client
ExclusiveArch: %{rust_arches}
- rust-wayland-commons
ExclusiveArch: %{rust_arches}
- rust-wayland-cursor
ExclusiveArch: %{rust_arches}
- rust-wayland-egl
ExclusiveArch: %{rust_arches}
- rust-wayland-protocols
ExclusiveArch: %{rust_arches}
- rust-wayland-scanner
ExclusiveArch: %{rust_arches}
- rust-wayland-server
ExclusiveArch: %{rust_arches}
- rust-wayland-sys
ExclusiveArch: %{rust_arches}
- rust-web-sys
ExclusiveArch: %{rust_arches}
- rust-webbrowser
ExclusiveArch: %{rust_arches}
- rust-webkit2gtk
ExclusiveArch: %{rust_arches}
- rust-webkit2gtk-sys
ExclusiveArch: %{rust_arches}
- rust-webpki
ExclusiveArch: %{rust_arches}
- rust-webpki-roots
ExclusiveArch: %{rust_arches}
- rust-websocket
ExclusiveArch: %{rust_arches}
- rust-websocket-base
ExclusiveArch: %{rust_arches}
- rust-weezl
ExclusiveArch: %{rust_arches}
- rust-which
ExclusiveArch: %{rust_arches}
- rust-wide
ExclusiveArch: %{rust_arches}
- rust-wild
ExclusiveArch: %{rust_arches}
- rust-wildmatch
ExclusiveArch: %{rust_arches}
- rust-winit
ExclusiveArch: %{rust_arches}
- rust-witx
ExclusiveArch: %{rust_arches}
- rust-ws
ExclusiveArch: %{rust_arches}
- rust-wyz
ExclusiveArch: %{rust_arches}
- rust-x11
ExclusiveArch: %{rust_arches}
- rust-x11-clipboard
ExclusiveArch: %{rust_arches}
- rust-x11-dl
ExclusiveArch: %{rust_arches}
- rust-xattr
ExclusiveArch: %{rust_arches}
- rust-xcb
ExclusiveArch: %{rust_arches}
- rust-xcursor
ExclusiveArch: %{rust_arches}
- rust-xdg
ExclusiveArch: %{rust_arches}
- rust-xi-unicode
ExclusiveArch: %{rust_arches}
- rust-xkbcommon
ExclusiveArch: %{rust_arches}
- rust-xml-rs
ExclusiveArch: %{rust_arches}
- rust-xml5ever
ExclusiveArch: %{rust_arches}
- rust-xmlparser
ExclusiveArch: %{rust_arches}
- rust-xmltree
ExclusiveArch: %{rust_arches}
- rust-xmlwriter
ExclusiveArch: %{rust_arches}
- rust-xz2
ExclusiveArch: %{rust_arches}
- rust-y4m
ExclusiveArch: %{rust_arches}
- rust-yaml-rust
ExclusiveArch: %{rust_arches}
- rust-yaml-rust0.3
ExclusiveArch: %{rust_arches}
- rust-ybaas
ExclusiveArch: %{rust_arches}
- rust-ytop
ExclusiveArch: %{rust_arches}
- rust-yubibomb
ExclusiveArch: %{rust_arches}
- rust-yup-oauth2
ExclusiveArch: %{rust_arches}
- rust-zbase32
ExclusiveArch: %{rust_arches}
- rust-zbus
ExclusiveArch: %{rust_arches}
- rust-zbus_macros
ExclusiveArch: %{rust_arches}
- rust-zcomponents
ExclusiveArch: %{rust_arches}
- rust-zeroize
ExclusiveArch: %{rust_arches}
- rust-zeroize_derive
ExclusiveArch: %{rust_arches}
- rust-zincati
ExclusiveArch: %{rust_arches}
- rust-zip
ExclusiveArch: %{rust_arches}
- rust-zoneinfo_compiled
ExclusiveArch: %{rust_arches}
- rust-zopfli
ExclusiveArch: %{rust_arches}
- rust-zoxide
ExclusiveArch: %{rust_arches}
- rust-zram-generator
ExclusiveArch: %{rust_arches}
- rust-zstd
ExclusiveArch: %{rust_arches}
- rust-zstd-safe
ExclusiveArch: %{rust_arches}
- rust-zstd-sys
ExclusiveArch: %{rust_arches}
- rust-zvariant
ExclusiveArch: %{rust_arches}
- rust-zvariant_derive
ExclusiveArch: %{rust_arches}
- s390utils
ExclusiveArch: s390 s390x
- safetyblanket
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- sagemath
ExclusiveArch: aarch64 %{ix86} x86_64 ppc sparcv9
- sbcl
ExclusiveArch: %{arm} %{ix86} x86_64 ppc sparcv9 aarch64
- sbd
ExclusiveArch: i686 x86_64 s390x aarch64 ppc64le
- sbsigntools
ExclusiveArch: x86_64 aarch64 %{arm} %{ix86}
- seabios
ExclusiveArch: x86_64
- seadrive-gui
ExclusiveArch: %{qt5_qtwebengine_arches}
- seafile-client
ExclusiveArch: %{qt5_qtwebengine_arches}
- seamonkey
ExclusiveArch: x86_64
- seqan3
ExclusiveArch: %{power64} x86_64 aarch64
- servicelog
ExclusiveArch: ppc %{power64}
- sgabios
ExclusiveArch: %{ix86} x86_64
- sharpfont
ExclusiveArch: %mono_arches
- sharpziplib
ExclusiveArch: %{mono_arches}
- shim
ExclusiveArch: %{efi}
- shim-unsigned-aarch64
ExclusiveArch: aarch64
- shim-unsigned-x64
ExclusiveArch: x86_64
- sigul
ExclusiveArch: x86_64
- skychart
ExclusiveArch: %{fpc_arches}
- snapd
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le s390x
- soup-sharp
ExclusiveArch: %{mono_arches}
- sparkleshare
ExclusiveArch: %{mono_arches}
- spicctrl
ExclusiveArch: %{ix86} x86_64
- spice
ExclusiveArch: x86_64
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- springlobby
ExclusiveArch: %{ix86} x86_64
- squeekboard
ExclusiveArch: %{rust_arches}
- startdde
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- statsd
ExclusiveArch: %{nodejs_arches} noarch
- stratis-cli
ExclusiveArch: %{rust_arches} noarch
- stratisd
ExclusiveArch: %{rust_arches}
ExclusiveArch: ${rust_arches}
- stripesnoop
ExclusiveArch: %{ix86} x86_64
- supercollider
ExclusiveArch: %{qt5_qtwebengine_arches}
- supermin
ExclusiveArch: %{kernel_arches}
- svt-av1
ExclusiveArch: x86_64
- svt-vp9
ExclusiveArch: x86_64
- swift-lang
ExclusiveArch: x86_64 aarch64
- sysbench
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips}
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64 ppc64le s390x
- syslinux
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{ix86} x86_64
- taglib-sharp
ExclusiveArch: %{mono_arches}
- tarantool
ExclusiveArch: %{ix86} x86_64
- tboot
ExclusiveArch: %{ix86} x86_64
- tdlib
ExclusiveArch: x86_64
- templates_parser
ExclusiveArch: %GPRbuild_arches
- ternimal
ExclusiveArch: %{rust_arches}
- testcloud
ExclusiveArch: %{kernel_arches} noarch
- themonospot-base
ExclusiveArch: %mono_arches
- themonospot-console
ExclusiveArch: %mono_arches
- themonospot-gui-gtk
ExclusiveArch: %mono_arches
- themonospot-plugin-avi
ExclusiveArch: %mono_arches
- themonospot-plugin-mkv
ExclusiveArch: %mono_arches
- thermald
ExclusiveArch: %{ix86} x86_64
- tilix
ExclusiveArch: %{ldc_arches}
- tmux-top
ExclusiveArch: %{go_arches}
- tomboy
ExclusiveArch: %{mono_arches}
- topojson-client
ExclusiveArch: %{nodejs_arches} noarch
- topojson-server
ExclusiveArch: %{nodejs_arches} noarch
- topojson-simplify
ExclusiveArch: %{nodejs_arches} noarch
- torbrowser-launcher
ExclusiveArch: %{ix86} x86_64
- tuned-profiles-nfv-host-bin
ExclusiveArch: %{ix86} x86_64
- uClibc
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips}
- ucx
ExclusiveArch: aarch64 ppc64le x86_64
- ugene
ExclusiveArch: %{ix86} x86_64
- uglify-js
ExclusiveArch: %{nodejs_arches} noarch
- uglify-js1
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- unetbootin
ExclusiveArch: %{ix86} x86_64
- ursa-major
ExclusiveArch: noarch aarch64 ppc64le s390x x86_64
- usd
ExclusiveArch: x86_64
- v8-314
ExclusiveArch: %{ix86} x86_64 %{arm} mips mipsel ppc ppc64
- valgrind
ExclusiveArch: %{ix86} x86_64 ppc ppc64 ppc64le s390x armv7hl aarch64
- vboot-utils
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64
- vim-go
ExclusiveArch: %{?golang_arches}%{!?golang_arches:%{ix86} x86_64 %{arm}}
- virt-p2v
ExclusiveArch: x86_64
- virt-v2v
ExclusiveArch: x86_64
- virtualbox-guest-additions
ExclusiveArch: i686 x86_64
- vkd3d
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- vmaf
ExclusiveArch: x86_64
- vmem
ExclusiveArch: x86_64
- vmemcache
ExclusiveArch: x86_64 ppc64 ppc64le s390x aarch64
- vrq
ExclusiveArch: %{ix86} x86_64
- warsow
ExclusiveArch: %{ix86} x86_64 %{arm}
- warsow-data
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{ix86} x86_64 %{arm}
- webkit2-sharp
ExclusiveArch: %mono_arches
- wine
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
ExclusiveArch: %{ix86} %{arm}
- wine-dxvk
ExclusiveArch: %{ix86} x86_64
- winetricks
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- wxMaxima
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc sparcv9
- x2goclient
ExclusiveArch: x86_64
- xe-guest-utilities-latest
ExclusiveArch: %{ix86} x86_64
- xen
ExclusiveArch: %{ix86} x86_64 armv7hl aarch64
- xmlada
ExclusiveArch: %{GPRbuild_arches}
- xorg-x11-drv-armsoc
ExclusiveArch: %{arm} aarch64
- xorg-x11-drv-intel
ExclusiveArch: %{ix86} x86_64
- xorg-x11-drv-openchrome
ExclusiveArch: %{ix86} x86_64
- xorg-x11-drv-vesa
ExclusiveArch: %{ix86} x86_64
- xorg-x11-drv-vmware
ExclusiveArch: %{ix86} x86_64 ia64
- xsp
ExclusiveArch: %mono_arches
- yarnpkg
ExclusiveArch: %{nodejs_arches} noarch
- zeromq-ada
ExclusiveArch: %{GPRbuild_arches}
- zig
ExclusiveArch: %{zig_arches}
- zlib-ada
ExclusiveArch: %{GPRbuild_arches}
- zlib-ng
ExclusiveArch: aarch64 i686 ppc64le s390x x86_64
- zola
ExclusiveArch: %{rust_arches}
2 years, 8 months
Architecture specific change in rpms/gdl.git
by githook-noreply@fedoraproject.org
The package rpms/gdl.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/gdl.git/commit/?id=4be62182e68833....
Change:
+%ifnarch s390x
Thanks.
Full change:
============
commit 4be62182e688337b2aceb8c9f2c77ef2fb8040cb
Author: Orion Poplawski <orion(a)nwra.com>
Date: Mon Aug 23 19:43:16 2021 -0600
Update to 1.0.0
Drop EL7 support due to plplot 5.11 requirement
diff --git a/.gitignore b/.gitignore
index 88b2b05..175ebcb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -14,3 +14,4 @@ gdl-0.9rc4.tar.gz
/gdl-0.9.9.tar.gz
/gdl-0.9.9-git-2870075.tar.gz
/gdl-1.0.0-git-4892c96.tar.gz
+/gdl-1.0.0.tar.gz
diff --git a/gdl-antlr.patch b/gdl-antlr.patch
index f1b4d10..b877158 100644
--- a/gdl-antlr.patch
+++ b/gdl-antlr.patch
@@ -1,9 +1,9 @@
-diff -up gdl-287007567ba3998b4b70119025c3def86bdef649/src/CMakeLists.txt.antlr gdl-287007567ba3998b4b70119025c3def86bdef649/src/CMakeLists.txt
---- gdl-287007567ba3998b4b70119025c3def86bdef649/src/CMakeLists.txt.antlr 2019-09-16 03:51:53.000000000 -0600
-+++ gdl-287007567ba3998b4b70119025c3def86bdef649/src/CMakeLists.txt 2019-09-16 21:13:52.240535555 -0600
-@@ -291,9 +291,7 @@ sax.cpp
+diff -up gdl-1.0.0/src/CMakeLists.txt.antlr gdl-1.0.0/src/CMakeLists.txt
+--- gdl-1.0.0/src/CMakeLists.txt.antlr 2021-08-19 20:04:43.096095029 -0600
++++ gdl-1.0.0/src/CMakeLists.txt 2021-08-19 20:05:26.844467193 -0600
+@@ -193,9 +193,7 @@ ${WX_RC}
)
- endif(USE_EXPAT)
+ endif(HAVE_LIBWXWIDGETS AND WIN32)
-add_subdirectory(antlr)
-
@@ -12,9 +12,9 @@ diff -up gdl-287007567ba3998b4b70119025c3def86bdef649/src/CMakeLists.txt.antlr g
link_directories(${LINK_DIRECTORIES})
if(PYTHON_MODULE) #GDL.so
-@@ -308,7 +306,6 @@ else(PYTHON_MODULE) #GDL.so
- add_executable(gdl ${SOURCES})
- endif(PYTHON_MODULE)
+@@ -213,7 +211,6 @@ if(USE_OPENMP)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
+ endif(USE_OPENMP)
-add_dependencies(gdl antlr) # be sure that antlr is built before gdl
target_link_libraries(gdl antlr) # link antlr against gdl
diff --git a/gdl-proj.patch b/gdl-proj.patch
deleted file mode 100644
index 7a19d46..0000000
--- a/gdl-proj.patch
+++ /dev/null
@@ -1,1875 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index da7ea329..396d0d5c 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -113,8 +113,8 @@ set(HDF5DIR "" CACHE PATH "GDL: Specifiy the HDF5 directory tree")
- set(FFTW ON CACHE BOOL "GDL: Enable FFTW ?")
- set(FFTWDIR "" CACHE PATH "GDL: Specifiy the FFTW directory tree")
-
--set(LIBPROJ4 ON CACHE BOOL "GDL: Enable LIBPROJ4 ?")
--set(LIBPROJ4DIR "" CACHE PATH "GDL: Specifiy the LIBPROJ4 directory tree")
-+set(LIBPROJ ON CACHE BOOL "GDL: Enable PROJ ?")
-+set(LIBPROJDIR "" CACHE PATH "GDL: Specifiy the PROJ directory tree")
-
- set(MPI OFF CACHE BOOL "GDL: Enable MPI ?")
- set(MPIDIR "" CACHE PATH "GDL: Specify the MPI (experimental) directory tree")
-@@ -717,55 +717,26 @@ if(FFTW)
- endif(FFTW_FOUND)
- endif(FFTW)
-
--# libproj4
--# -DLIBPROJ4=ON|OFF
--# -DLIBPROJ4DIR=DIR
--if(LIBPROJ4)
-- set(CMAKE_PREFIX_PATH ${LIBPROJ4DIR})
-- find_package(Libproj4)
-- if(LIBPROJ4_FOUND)
-- else(LIBPROJ4_FOUND)
-- find_package(Libproj4new)
-- endif(LIBPROJ4_FOUND)
--
-- if(LIBPROJ4_FOUND)
-- set(CMAKE_REQUIRED_LIBRARIES ${LIBPROJ4_LIBRARIES} ${GSL_LIBRARIES} m)
--
-- check_library_exists("${LIBPROJ4_LIBRARIES}" pj_init "" USE_LIBPROJ4_NEW)
-- if(USE_LIBPROJ4_NEW)
--# check_library_exists("${LIBPROJ4_LIBRARIES}" proj_init "" USE_LIBPROJ4)
--# if(USE_LIBPROJ4)
--
-- # define USE_LIB_PROJ4 in any case
-- set(USE_LIBPROJ4 1)
--
-- else(USE_LIBPROJ4_NEW)
-- check_library_exists("${LIBPROJ4_LIBRARIES}" proj_init "" USE_LIBPROJ4)
-- if(NOT USE_LIBPROJ4)
--# else(USE_LIBPROJ4)
--# check_library_exists("${LIBPROJ4_LIBRARIES}" pj_init "" USE_LIBPROJ4_NEW)
--# if(NOT USE_LIBPROJ4_NEW)
--
-- message(FATAL_ERROR "Libproj4 is required but was not found.\n"
-- "Use -DLIBPROJ4DIR=DIR to specify the Libproj4 directory tree.\n"
-- "Use -DLIBPROJ4=OFF to not use it.\n"
-- "(suitable Debian/Ubuntu package: libproj-dev)\n"
-- "(suitable Fedora/CentOS package: proj-devel)")
--
-- endif(NOT USE_LIBPROJ4)
-- endif(USE_LIBPROJ4_NEW)
--# endif(NOT USE_LIBPROJ4_NEW)
--# endif(USE_LIBPROJ4)
--
-- include_directories(${LIBPROJ4_INCLUDE_DIR})
-- set(LIBRARIES ${LIBRARIES} ${LIBPROJ4_LIBRARIES})
-- set(CMAKE_REQUIRED_LIBRARIES)
-- else(LIBPROJ4_FOUND)
-- message(FATAL_ERROR "Libproj4 is required but was not found.\n"
-- "Use -DLIBPROJ4DIR=DIR to specify the Libproj4 directory tree.\n"
-- "Use -DLIBPROJ4=OFF to not use it.")
-- endif(LIBPROJ4_FOUND)
--endif(LIBPROJ4)
-+# PROJ
-+# -DLIBPROJ=ON|OFF
-+# -DLIBPROJDIR=DIR
-+if(LIBPROJ)
-+ set(CMAKE_PREFIX_PATH ${LIBPROJDIR})
-+ find_package(LIBPROJ)
-+ set(USE_LIBPROJ ${LIBPROJ_FOUND})
-+
-+ if(LIBPROJ_FOUND)
-+ set(LIBRARIES ${LIBRARIES} ${LIBPROJ_LIBRARIES})
-+ include_directories(${LIBPROJ_INCLUDE_DIR})
-+ set(LIBPROJ_MAJOR_VERSION ${LIBPROJ_MAJOR_VERSION})
-+ else(LIBPROJ_FOUND)
-+ message(FATAL_ERROR "PROJ is required but was not found.\n"
-+ "Use -DLIBPROJDIR=DIR to specify the PROJ directory tree.\n"
-+ "Use -DLIBPROJ=OFF to not use it.\n"
-+ "(suitable Debian/Ubuntu package: libproj-dev)\n"
-+ "(suitable Fedora/CentOS package: proj-devel)")
-+ endif(LIBPROJ_FOUND)
-+endif(LIBPROJ)
-
- # MPI (experimental)
- # -DMPI=ON|OFF
-@@ -1128,9 +1099,9 @@ module(NETCDF "NetCDF ")
- module(HDF "HDF4 ")
- module(HDF5 "HDF5 ")
- module(FFTW "FFTW ")
--module(LIBPROJ4 "Libproj4 ")
- set(MPI_LIBRARIES ${MPI_LIBRARIES})
- module(MPI "MPI ")
-+module(LIBPROJ "PROJ ")
- module(PYTHON "Python ")
- module(UDUNITS2 "UDUNITS-2 ")
- module(EIGEN3 "EIGEN3 ")
-diff --git a/CMakeModules/FindLIBPROJ.cmake b/CMakeModules/FindLIBPROJ.cmake
-new file mode 100644
-index 00000000..65705a79
---- /dev/null
-+++ b/CMakeModules/FindLIBPROJ.cmake
-@@ -0,0 +1,67 @@
-+find_path(LIBPROJ_INCLUDE_DIR
-+ NAMES proj_api.h proj.h
-+ DOC "libproj include directories")
-+mark_as_advanced(LIBPROJ_INCLUDE_DIR)
-+
-+find_library(LIBPROJ_LIBRARY_RELEASE
-+ NAMES proj
-+ DOC "libproj release library")
-+mark_as_advanced(LIBPROJ_LIBRARY_RELEASE)
-+
-+find_library(LIBPROJ_LIBRARY_DEBUG
-+ NAMES projd
-+ DOC "libproj debug library")
-+mark_as_advanced(LIBPROJ_LIBRARY_DEBUG)
-+
-+include(SelectLibraryConfigurations)
-+select_library_configurations(LIBPROJ)
-+
-+if (LIBPROJ_INCLUDE_DIR)
-+ if (EXISTS "${LIBPROJ_INCLUDE_DIR}/proj.h")
-+ file(STRINGS "${LIBPROJ_INCLUDE_DIR}/proj.h" _libproj_version_lines REGEX "#define[ \t]+PROJ_VERSION_(MAJOR|MINOR|PATCH)")
-+ string(REGEX REPLACE ".*PROJ_VERSION_MAJOR *\([0-9]*\).*" "\\1" _libproj_version_major "${_libproj_version_lines}")
-+ string(REGEX REPLACE ".*PROJ_VERSION_MINOR *\([0-9]*\).*" "\\1" _libproj_version_minor "${_libproj_version_lines}")
-+ string(REGEX REPLACE ".*PROJ_VERSION_PATCH *\([0-9]*\).*" "\\1" _libproj_version_patch "${_libproj_version_lines}")
-+ else ()
-+ file(STRINGS "${LIBPROJ_INCLUDE_DIR}/proj_api.h" _libproj_version_lines REGEX "#define[ \t]+PJ_VERSION")
-+ string(REGEX REPLACE ".*PJ_VERSION *\([0-9]*\).*" "\\1" _libproj_version "${_libproj_version_lines}")
-+ math(EXPR _libproj_version_major "${_libproj_version} / 100")
-+ math(EXPR _libproj_version_minor "(${_libproj_version} % 100) / 10")
-+ math(EXPR _libproj_version_patch "${_libproj_version} % 10")
-+ endif ()
-+ set(LIBPROJ_VERSION "${_libproj_version_major}.${_libproj_version_minor}.${_libproj_version_patch}")
-+ set(LIBPROJ_MAJOR_VERSION "${_libproj_version_major}")
-+ unset(_libproj_version_major)
-+ unset(_libproj_version_minor)
-+ unset(_libproj_version_patch)
-+ unset(_libproj_version)
-+ unset(_libproj_version_lines)
-+endif ()
-+
-+include(FindPackageHandleStandardArgs)
-+find_package_handle_standard_args(LIBPROJ
-+ REQUIRED_VARS LIBPROJ_LIBRARY LIBPROJ_INCLUDE_DIR
-+ VERSION_VAR LIBPROJ_VERSION)
-+
-+if (LIBPROJ_FOUND)
-+ set(LIBPROJ_INCLUDE_DIRS "${LIBPROJ_INCLUDE_DIR}")
-+ set(LIBPROJ_LIBRARIES "${LIBPROJ_LIBRARY}")
-+
-+ if (NOT TARGET LIBPROJ::LIBPROJ)
-+ add_library(LIBPROJ::LIBPROJ UNKNOWN IMPORTED)
-+ set_target_properties(LIBPROJ::LIBPROJ PROPERTIES
-+ INTERFACE_INCLUDE_DIRECTORIES "${LIBPROJ_INCLUDE_DIR}")
-+ if (LIBPROJ_LIBRARY_RELEASE)
-+ set_property(TARGET LIBPROJ::LIBPROJ APPEND PROPERTY
-+ IMPORTED_CONFIGURATIONS RELEASE)
-+ set_target_properties(LIBPROJ::LIBPROJ PROPERTIES
-+ IMPORTED_LOCATION_RELEASE "${LIBPROJ_LIBRARY_RELEASE}")
-+ endif ()
-+ if (LIBPROJ_LIBRARY_DEBUG)
-+ set_property(TARGET LIBPROJ::LIBPROJ APPEND PROPERTY
-+ IMPORTED_CONFIGURATIONS DEBUG)
-+ set_target_properties(LIBPROJ::LIBPROJ PROPERTIES
-+ IMPORTED_LOCATION_DEBUG "${LIBPROJ_LIBRARY_DEBUG}")
-+ endif ()
-+ endif ()
-+endif ()
-diff --git a/CMakeModules/FindLibproj4.cmake b/CMakeModules/FindLibproj4.cmake
-deleted file mode 100644
-index 4cb0edb1..00000000
---- a/CMakeModules/FindLibproj4.cmake
-+++ /dev/null
-@@ -1,21 +0,0 @@
--#
--# copyright : (c) 2010 Maxime Lenoir, Alain Coulais,
--# Sylwester Arabas and Orion Poplawski
--#
--# This program is free software; you can redistribute it and/or modify
--# it under the terms of the GNU General Public License as published by
--# the Free Software Foundation; either version 2 of the License, or
--# (at your option) any later version.
--#
--# for use of version from:
--# http://home.comcast.net/~gevenden56/proj/
--
--find_library(LIBPROJ4_LIBRARIES NAMES proj4)
--find_path(LIBPROJ4_INCLUDE_DIR NAMES lib_proj.h)
--include(FindPackageHandleStandardArgs)
--find_package_handle_standard_args(LIBPROJ4 DEFAULT_MSG LIBPROJ4_LIBRARIES LIBPROJ4_INCLUDE_DIR)
--
--mark_as_advanced(
--LIBPROJ4_LIBRARIES
--LIBPROJ4_INCLUDE_DIR
--)
-diff --git a/CMakeModules/FindLibproj4new.cmake b/CMakeModules/FindLibproj4new.cmake
-deleted file mode 100644
-index d8082763..00000000
---- a/CMakeModules/FindLibproj4new.cmake
-+++ /dev/null
-@@ -1,21 +0,0 @@
--#
--# copyright : (c) 2010 Maxime Lenoir, Alain Coulais,
--# Sylwester Arabas and Orion Poplawski
--#
--# This program is free software; you can redistribute it and/or modify
--# it under the terms of the GNU General Public License as published by
--# the Free Software Foundation; either version 2 of the License, or
--# (at your option) any later version.
--#
--# for use of version from:
--# http://trac.osgeo.org/proj/
--
--find_library(LIBPROJ4_LIBRARIES NAMES proj)
--find_path(LIBPROJ4_INCLUDE_DIR NAMES proj_api.h)
--include(FindPackageHandleStandardArgs)
--find_package_handle_standard_args(LIBPROJ4 DEFAULT_MSG LIBPROJ4_LIBRARIES LIBPROJ4_INCLUDE_DIR)
--
--mark_as_advanced(
--LIBPROJ4_LIBRARIES
--LIBPROJ4_INCLUDE_DIR
--)
-diff --git a/INSTALL.CMake b/INSTALL.CMake
-index 2b3e9fb0..ab02c9fb 100644
---- a/INSTALL.CMake
-+++ b/INSTALL.CMake
-@@ -70,14 +70,14 @@ of targets and `make edit_cache' to edit cache results
- examples:
- mkdir gdl-clang
- cd gdl-clang
--cmake -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_BUILD_TYPE=Release -DPYTHON=NO -DCMAKE_CXX_FLAGS_RELEASE=" -Wno-return-type -Wno-switch -Wno-format -O3 " -DPLPLOTDIR="somewhere" -DLIBPROJ4=YES -DHDF=YES -DUDUNITS=YES -DUDUNITSDIR=/usr/include/udunits2 -DGLPK=OFF ../gdl-lastversionfromcvs
-+cmake -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_BUILD_TYPE=Release -DPYTHON=NO -DCMAKE_CXX_FLAGS_RELEASE=" -Wno-return-type -Wno-switch -Wno-format -O3 " -DPLPLOTDIR="somewhere" -DLIBPROJ=YES -DHDF=YES -DUDUNITS=YES -DUDUNITSDIR=/usr/include/udunits2 -DGLPK=OFF ../gdl-lastversionfromcvs
- make -j 4
- sudo make install
-
- or
- mkdir gdl-gcc
- cd gdl-gcc
--cmake -DCMAKE_BUILD_TYPE=Release -DPYTHON=YES -DCMAKE_CXX_FLAGS_RELEASE=" -Wno-return-type -Wno-switch -Wno-format " -DPLPLOTDIR="somewhere" -DLIBPROJ4=YES -DHDF=YES -DUDUNITS=YES -DUDUNITSDIR=/usr/include/udunits2 -DGLPK=OFF ../gdl-lastversionfromcvs
-+cmake -DCMAKE_BUILD_TYPE=Release -DPYTHON=YES -DCMAKE_CXX_FLAGS_RELEASE=" -Wno-return-type -Wno-switch -Wno-format " -DPLPLOTDIR="somewhere" -DLIBPROJ=YES -DHDF=YES -DUDUNITS=YES -DUDUNITSDIR=/usr/include/udunits2 -DGLPK=OFF ../gdl-lastversionfromcvs
- make -j 4
- sudo make install
-
-diff --git a/MAP_INSTALL b/MAP_INSTALL
-index ee5341d8..e2df4570 100644
---- a/MAP_INSTALL
-+++ b/MAP_INSTALL
-@@ -9,8 +9,8 @@ To provide map projections support your first need to make sure the
- proj library available at https://proj.org (formerly proj4.org)
- It is probably already installed on your computer.
-
--If GDL does not find (lib)proj4 files automatically, use
--"-DLIBPROJ4=YES" "-DLIBPROJ4DIR=DIR" as arguments for cmake.
-+If GDL does not find (lib)PROJ files automatically, use
-+"-DLIBPROJ=YES" "-DLIBPROJDIR=DIR" as arguments for cmake.
- (were 'DIR' is the location of the compiled library.
-
- ==============================MAP_* COMMANDS in GDL=======================
-@@ -18,13 +18,13 @@ If GDL does not find (lib)proj4 files automatically, use
- The complete suite of projection-related commands is available with GDL
- (map_set, map_proj_init, map_horizon, map_continents...). The main difference
- with IDL is that GDL provides the same interface, but for all of the 150 or so projections
--of the proj library!
-+of the PROJ library!
-
- This is done, at a cost: projections are internally represented in a compact(!)
- form in IDL via the !MAP structure. We maintain a minimum compatibility with
- the original IDL structure, that is, a !MAP structure made with IDL that would
- be passed 'as is' in GDL using, e.g., a save file, would still "work". The contrary
--is impossible, as the GDL structure encodes more projections. Proj4 aficionados will quickly
-+is impossible, as the GDL structure encodes more projections. PROJ aficionados will quickly
- realize that they can define projections in GDL as easily as with the 'proj' program.
-
- MAP_CONTINENTS is now implemented in GDL as a procedure using maintly the Natural Earth
-@@ -51,15 +51,15 @@ see "test_map.pro" in the testsuite/
-
- ============================TWEAKING NEW PROJECTIONS==========================
-
--The file resource/map/projections.ods is made to keep all the info about proj's projections needed by
-+The file resource/map/projections.ods is made to keep all the info about PROJ's projections needed by
- GDL, however GDL procedures use a digested version of this file, "projDefinitions.sav" also present in
- resource/map/.
-
--projections.ods is the file to update to add more projections when they are available in proj.
--the format is very simple: proj4 little name, commonly accepted name, one possible alias,
-+projections.ods is the file to update to add more projections when they are available in PROJ.
-+the format is very simple: PROJ little name, commonly accepted name, one possible alias,
- hints about projection type, required parameters, accepted parameters.
- Pay attention to the hints. the general projection type (conic, cylindric ...) is used to guess the horizons.
--noRot is crucial to avoid problems with the rare projections that crashes when used with proj4's general oblique
-+noRot is crucial to avoid problems with the rare projections that crashes when used with PROJ's general oblique
- transformation (the way GDL copes with non-null center latitude when the projection does not accept lat_0 keyword. aitoff is an example).
-
- Once projections.ods has been updated, make a copy as a CSV file (projections.csv) and use the following commands:
-@@ -71,5 +71,5 @@ done using the "map_proj_auxiliary_read_csv" procedure hidden in the map_proj_in
- The procedure produces a new "projDefinitions.sav" that must be installed in resource/map/.
- The new projections.ods should be reported here (GitHub). the csv files can be deleted.
-
--Incidentally, this projections.ods file is apparently also the one and only place on the Net where all the proj4 projections
-+Incidentally, this projections.ods file is apparently also the one and only place on the Net where all the PROJ projections
- and their associated parameters happens to be available at a glance...
-diff --git a/README b/README
-index 259c209c..fc5e0cfa 100644
---- a/README
-+++ b/README
-@@ -91,7 +91,7 @@ HDF4 *) ftp://ftp.ncsa.uiuc.edu/HDF/HDF/HDF_Current
- HDF5 ftp://ftp.ncsa.uiuc.edu/HDF/HDF5/current
- FFTW http://www.fftw.org/download.html
- python http://www.python.org
--libproj4 (consult the MAP_INSTALL file)
-+PROJ (consult the MAP_INSTALL file)
- UDUNITS2 http://www.unidata.ucar.edu/software/udunits/
- GRIB API http://www.ecmwf.int/products/data/software/grib_api.html
- shapelib http://shapelib.maptools.org/ (consult the MAP_INSTALL file)
-@@ -256,7 +256,7 @@ DATA FORMATS:
- MAP PROJECTIONS and GEOPHYSICS:
- ----------------
- GDL contains now a complete support to MAP projection,
-- using the proj library (www.proj.org). Please see MAP_INSTALL file.
-+ using the PROJ library (www.proj.org). Please see MAP_INSTALL file.
- Note that GDL gives access to all proj.org projections instead of the 20 or so of IDL.
-
- GDL uses libshp (shapelib) to implement MAP_CONTINENTS - see MAP_INSTALL.
-diff --git a/README.md b/README.md
-index 2ae9e6e0..08d274b3 100644
---- a/README.md
-+++ b/README.md
-@@ -68,7 +68,7 @@ GDL has numerous dependencies, most of the optional (buth highly recommended):
- - [HDF4](https://support.hdfgroup.org/products/hdf4/)
- - [HDF5](https://support.hdfgroup.org/HDF5/)
- - [FFTW](http://www.fftw.org/)
--- [PROJ.4](http://proj4.org/)
-+- [PROJ](https://proj.org/)
- - [Shapelib](http://shapelib.maptools.org/)
- - [Expat](https://libexpat.github.io/)
- - [MPI](https://en.wikipedia.org/wiki/Message_Passing_Interface)
-diff --git a/config.h.cmake b/config.h.cmake
-index f71c34b1..38a9ee1b 100644
---- a/config.h.cmake
-+++ b/config.h.cmake
-@@ -68,8 +68,8 @@
- #cmakedefine USE_EXPAT 1
- #cmakedefine USE_HDF 1
- #cmakedefine USE_HDF5 1
--#cmakedefine USE_LIBPROJ4 1
--#cmakedefine USE_LIBPROJ4_NEW 1
-+#cmakedefine USE_LIBPROJ 1
-+#define LIBPROJ_MAJOR_VERSION @LIBPROJ_MAJOR_VERSION@
- #cmakedefine USE_MAGICK 1
- #cmakedefine USE_MPI 1
- #cmakedefine USE_NETCDF 1
-diff --git a/doc/gdl.1 b/doc/gdl.1
-index cb734882..52968e98 100644
---- a/doc/gdl.1
-+++ b/doc/gdl.1
-@@ -58,7 +58,7 @@ http://idlastro.gsfc.nasa.gov/idl_html_help/home.html
-
- A vast part of GDL library routines is implemented using open\-source
- libraries including GSL, plPlot, and optionally: readline, FFTW, Eigen3,
--ImageMagick, netCDF, HDF4, HDF5, libproj4, UDUNITS\-2, libps and
-+ImageMagick, netCDF, HDF4, HDF5, PROJ, UDUNITS\-2, libps and
- others.
- .SH OPTIONS
- .TP
-diff --git a/obsolete/ChangeLog-till-0.9.6 b/obsolete/ChangeLog-till-0.9.6
-index f396ad1b..a72fbca2 100644
---- a/obsolete/ChangeLog-till-0.9.6
-+++ b/obsolete/ChangeLog-till-0.9.6
-@@ -8503,7 +8503,7 @@ GDL 0.9:
-
- * src/libinit.cpp, src/libinit_jmg.cpp:
- moving new SA declarations from "libinit.cpp" to "libinit_jmg.cpp" to keep map_* together and protected by
-- the optionnal block for LIBPROJ4 #if defined(USE_LIBPROJ4)
-+ the optionnal block for LIBPROJ4 #if defined(USE_LIBPROJ)
-
- * src/pro/ludc.pro:
- LUDC.pro: initial import of a fake one to be able to run the full time_test3 suite
-diff --git a/obsolete/config.h.in b/obsolete/config.h.in
-index 2ba68b46..026ebb2f 100644
---- a/obsolete/config.h.in
-+++ b/obsolete/config.h.in
-@@ -164,10 +164,10 @@
- #undef USE_HDF5
-
- /* Define if you want to use LIBPROJ4 */
--#undef USE_LIBPROJ4
-+#undef USE_LIBPROJ
-
- /* Define if you want to use new LIBPROJ4 */
--#undef USE_LIBPROJ4_NEW
-+#undef USE_LIBPROJ_NEW
-
- /* Define if you want to use GraphicsMagick */
- #undef USE_MAGICK
-diff --git a/obsolete/configure.in b/obsolete/configure.in
-index 15014c1f..487bda07 100644
---- a/obsolete/configure.in
-+++ b/obsolete/configure.in
-@@ -778,13 +778,13 @@ if test "x$with_libproj4" != "xno"; then
- LIBS="$LIBS -lproj4"
- fi
-
-- AC_CHECK_LIB(proj4, proj_init, [AC_DEFINE([USE_LIBPROJ4], [1],
-+ AC_CHECK_LIB(proj4, proj_init, [AC_DEFINE([USE_LIBPROJ], [1],
- [Define if you want to use LIBPROJ4])], [])
-
-- AC_CHECK_LIB(proj4, proj_init, [AC_DEFINE([USE_LIBPROJ4_NEW], [1],
-+ AC_CHECK_LIB(proj4, proj_init, [AC_DEFINE([USE_LIBPROJ_NEW], [1],
- [Define if you want to use new LIBPROJ4])], [
-
-- AC_CHECK_LIB(proj4, pj_init, [AC_DEFINE([USE_LIBPROJ4], [1],
-+ AC_CHECK_LIB(proj4, pj_init, [AC_DEFINE([USE_LIBPROJ], [1],
- [Define if you want to use LIBPROJ4])], [
- echo ""
- echo "Error! LIBPROJ4 is required but was not found"
-diff --git a/obsolete/gshhs.cpp b/obsolete/gshhs.cpp
-index ce31cc91..478575c8 100644
---- a/obsolete/gshhs.cpp
-+++ b/obsolete/gshhs.cpp
-@@ -24,7 +24,7 @@
- #define USE_GSHHG 1
- #endif
-
--#if defined(USE_LIBPROJ4)||defined(USE_LIBPROJ4_NEW)
-+#if defined(USE_LIBPROJ)||defined(USE_LIBPROJ_NEW)
-
- #include "includefirst.hpp"
- #include "plotting.hpp"
-@@ -81,7 +81,7 @@ namespace lib {
- if ( ref == NULL ) {
- e->Throw( "Projection initialization failed." );
- }
--#ifdef USE_LIBPROJ4
-+#ifdef USE_LIBPROJ
- LPTYPE idata;
- XYTYPE odata;
- #endif
-@@ -344,7 +344,7 @@ namespace lib {
- }; // class definition
-
- void map_continents( EnvT* e ) {
--#if defined(USE_LIBPROJ4) || defined(USE_LIBPROJ4_NEW)
-+#if defined(USE_LIBPROJ) || defined(USE_LIBPROJ_NEW)
- map_continents_call map_continents;
- map_continents.call( e, 0 );
- #else
-diff --git a/resource/maps/README b/resource/maps/README
-index 52e88af2..e0c40fbb 100644
---- a/resource/maps/README
-+++ b/resource/maps/README
-@@ -1,7 +1,7 @@
- This folder contains projections.ods and projDefinitions.sav
- low/ and high/ subfolders contain Shapefiles used by, e.g., MAP_CONTINENTS.
-
--projection.ods describes the projections currently known by proj4 (https://proj4.org/operations/projections) with their short name, full name, peculiarities, required parameters, optional parameters, projection scale.
-+projection.ods describes the projections currently known by PROJ (https://proj.org/operations/projections) with their short name, full name, peculiarities, required parameters, optional parameters, projection scale.
-
- One can update projections.ods each time a new projection comes available, and submit a PR for GDL at Github.
-
-@@ -20,7 +20,7 @@ the csv.sav file is then converted to adequate structures with 'map_proj_auxili
-
- At that moment, projDefintions.sav has been updated and all the projection related procedures (map_set, etc) are aware of the new projection(s). Of course, these files should be installed properly (by a "make install"), in gnudatalanguage/resource/maps.
-
--It is important to note in the "hints" column the type of projection (for correct clips or horizon) and also if they support rotation of coordinates (some do not and that would probably result in a crash of the proj4 library.)
-+It is important to note in the "hints" column the type of projection (for correct clips or horizon) and also if they support rotation of coordinates (some do not and that would probably result in a crash of the PROJ library.)
-
- Specifics for interrupted projections (where are the splits) must be added in map_proj_init.pro and map_horizon.pro (nothing is ever easy).
-
-diff --git a/src/exists_fun.cpp b/src/exists_fun.cpp
-index 0dbc8eaa..54c5368b 100644
---- a/src/exists_fun.cpp
-+++ b/src/exists_fun.cpp
-@@ -160,24 +160,15 @@ namespace lib {
- #endif
- }
-
-- BaseGDL* proj4_exists( EnvT* e )
-+ BaseGDL* proj_exists( EnvT* e )
- {
--#if defined(USE_LIBPROJ4)
-+#if defined(USE_LIBPROJ)
- return new DIntGDL(1);
- #else
- return new DIntGDL(0);
- #endif
- }
-
-- BaseGDL* proj4new_exists( EnvT* e )
-- {
--#if defined(USE_LIBPROJ4_NEW)
-- return new DIntGDL(1);
--#else
-- return new DIntGDL(0);
--#endif
-- }
--
- BaseGDL* python_exists( EnvT* e )
- {
- #if defined(USE_PYTHON)
-diff --git a/src/exists_fun.hpp b/src/exists_fun.hpp
-index c927bb45..8f811b48 100644
---- a/src/exists_fun.hpp
-+++ b/src/exists_fun.hpp
-@@ -32,8 +32,7 @@ namespace lib {
- BaseGDL* ncdf4_exists(EnvT *e);
- BaseGDL* openmp_exists(EnvT *e);
- BaseGDL* pnglib_exists(EnvT *e);
-- BaseGDL* proj4_exists(EnvT *e);
-- BaseGDL* proj4new_exists(EnvT *e);
-+ BaseGDL* proj_exists(EnvT *e);
- BaseGDL* pslib_exists(EnvT *e);
- BaseGDL* python_exists(EnvT *e);
- BaseGDL* tiff_exists(EnvT *e);
-diff --git a/src/libinit_exists.cpp b/src/libinit_exists.cpp
-index 15d23edd..24f6bdd7 100644
---- a/src/libinit_exists.cpp
-+++ b/src/libinit_exists.cpp
-@@ -62,8 +62,7 @@ void LibInit_exists()
- new DLibFunRetNew(lib::ncdf4_exists,string("NCDF4_EXISTS"));
- new DLibFunRetNew(lib::openmp_exists,string("OPENMP_EXISTS"));
- new DLibFunRetNew(lib::pnglib_exists,string("PNGLIB_EXISTS"));
-- new DLibFunRetNew(lib::proj4_exists,string("PROJ4_EXISTS"));
-- new DLibFunRetNew(lib::proj4new_exists,string("PROJ4NEW_EXISTS"));
-+ new DLibFunRetNew(lib::proj_exists,string("PROJ_EXISTS"));
- new DLibFunRetNew(lib::python_exists,string("PYTHON_EXISTS"));
- new DLibFunRetNew(lib::tiff_exists,string("TIFF_EXISTS"));
- new DLibFunRetNew(lib::geotiff_exists,string("GEOTIFF_EXISTS"));
-diff --git a/src/libinit_jmg.cpp b/src/libinit_jmg.cpp
-index 7375915e..70044fd1 100644
---- a/src/libinit_jmg.cpp
-+++ b/src/libinit_jmg.cpp
-@@ -143,7 +143,7 @@ void LibInit_jmg()
- const string macharKey[]={"DOUBLE",KLISTEND};
- new DLibFunRetNew(lib::machar_fun,string("MACHAR"),0,macharKey);
-
--#if defined(USE_LIBPROJ4)||defined(USE_LIBPROJ4_NEW)
-+#if defined(USE_LIBPROJ)
- const string map_proj_forwardKey[]={"MAP_STRUCTURE","RADIANS","POLYGONS","POLYLINES","CONNECTIVITY","FILL",KLISTEND}; //WARNING FIXED ORDER for GetMapAsMapStructureKeyword()
- new DLibFunRetNew(lib::map_proj_forward_fun,
- string("MAP_PROJ_FORWARD"),2,map_proj_forwardKey,NULL);
-diff --git a/src/plotting.cpp b/src/plotting.cpp
-index a984ca61..895ea8a7 100644
---- a/src/plotting.cpp
-+++ b/src/plotting.cpp
-@@ -1620,7 +1620,7 @@ namespace lib
- }
- SetUsym(n, do_fill, x, y, do_color, thecolor, do_thick, thethick);
- }
--#ifdef USE_LIBPROJ4
-+#ifdef USE_LIBPROJ
- void GDLgrProjectedPolygonPlot( GDLGStream * a, PROJTYPE ref, DStructGDL* map,
- DDoubleGDL *lons_donottouch, DDoubleGDL *lats_donottouch, bool isRadians, bool const doFill, DLongGDL *conn ) {
- DDoubleGDL *lons,*lats;
-diff --git a/src/plotting.hpp b/src/plotting.hpp
-index f723fe83..8863fe86 100644
---- a/src/plotting.hpp
-+++ b/src/plotting.hpp
-@@ -61,7 +61,7 @@
- #include "graphicsdevice.hpp"
- #include "initsysvar.hpp"
-
--#ifdef USE_LIBPROJ4
-+#ifdef USE_LIBPROJ
- #include "projections.hpp"
- #endif
-
-@@ -207,7 +207,7 @@ namespace lib {
- // Map stuff
- void get_mapset(bool &mapset);
- void set_mapset(bool mapset);
--#ifdef USE_LIBPROJ4
-+#ifdef USE_LIBPROJ
- void GDLgrProjectedPolygonPlot(GDLGStream * a, PROJTYPE ref, DStructGDL* map,
- DDoubleGDL *lons, DDoubleGDL *lats, bool isRadians,
- bool const doFill, DLongGDL *conn=NULL);
-diff --git a/src/plotting_axis.cpp b/src/plotting_axis.cpp
-index 35bd92aa..8ad7e701 100644
---- a/src/plotting_axis.cpp
-+++ b/src/plotting_axis.cpp
-@@ -229,7 +229,7 @@ namespace lib {
- else //DATA
- {
-
--#ifdef USE_LIBPROJ4
-+#ifdef USE_LIBPROJ
- // Map Stuff (xtype = 3)
- LPTYPE idata;
- XYTYPE odata;
-@@ -243,11 +243,19 @@ namespace lib {
- {
- e->Throw("Projection initialization failed.");
- }
-+#if PROJ_VERSION_MAJOR >= 5
-+ idata.lam=xVal * DEG_TO_RAD;
-+ idata.phi=yVal * DEG_TO_RAD;
-+ odata=protect_proj_fwd_lp(idata, ref);
-+ xVal=odata.x;
-+ yVal=odata.y;
-+#else
- idata.u=xVal * DEG_TO_RAD;
- idata.v=yVal * DEG_TO_RAD;
- odata=PJ_FWD(idata, ref);
- xVal=odata.u;
- yVal=odata.v;
-+#endif
- DDouble *sx, *sy;
- GetSFromPlotStructs( &sx, &sy );
-
-diff --git a/src/plotting_contour.cpp b/src/plotting_contour.cpp
-index c5cf328b..616e4128 100644
---- a/src/plotting_contour.cpp
-+++ b/src/plotting_contour.cpp
-@@ -340,7 +340,7 @@ namespace lib
-
- //projection: would work only with 2D X and Y.
- bool mapSet=false;
--#ifdef USE_LIBPROJ4
-+#ifdef USE_LIBPROJ
- static LPTYPE idata;
- static XYTYPE odata;
- get_mapset ( mapSet );
-@@ -672,18 +672,26 @@ namespace lib
- //This is going to work in a very restricted case.
- //One MUST instead plot the contours as for map_continents, i.e., using gdlPolygonPlot.
- //this will be feasible as soon as we use our own contour-making algorithm, not plplot's.
--#ifdef USE_LIBPROJ4
-+#ifdef USE_LIBPROJ
- if ( mapSet )
- {
- for ( SizeT i=0; i<xEl; i++ )
- {
- for ( SizeT j=0; j<yEl; j++ )
- {
-+#if LIBPROJ_MAJOR_VERSION >= 5
-+ idata.lam= cgrid2.xg[i][j] * DEG_TO_RAD;
-+ idata.phi= cgrid2.yg[i][j] * DEG_TO_RAD;
-+ odata=protect_proj_fwd_lp( idata, ref );
-+ cgrid2.xg[i][j]=odata.x;
-+ cgrid2.yg[i][j]=odata.y;
-+#else
- idata.u= cgrid2.xg[i][j] * DEG_TO_RAD;
- idata.v= cgrid2.yg[i][j] * DEG_TO_RAD;
- odata=PJ_FWD ( idata, ref );
- cgrid2.xg[i][j]=odata.u;
- cgrid2.yg[i][j]=odata.v;
-+#endif
- }
- }
- }
-diff --git a/src/plotting_convert_coord.cpp b/src/plotting_convert_coord.cpp
-index e7f91818..a62aca2e 100644
---- a/src/plotting_convert_coord.cpp
-+++ b/src/plotting_convert_coord.cpp
-@@ -106,7 +106,7 @@ namespace lib {
-
- //projection?
- bool mapSet=false;
--#ifdef USE_LIBPROJ4
-+#ifdef USE_LIBPROJ
- static LPTYPE idata;
- static XYTYPE odata;
- get_mapset ( mapSet );
-@@ -122,7 +122,7 @@ namespace lib {
- {
- case DATA:
- // to u,v
--#ifdef USE_LIBPROJ4
-+#ifdef USE_LIBPROJ
- if ( mapSet )
- {
- #ifdef PROJ_IS_THREADSAFE
-@@ -131,11 +131,19 @@ namespace lib {
- #pragma omp for private(idata,odata)
- #endif
- for (SizeT i = 0; i < nrows; i++) {
-+#if LIBPROJ_MAJOR_VERSION >= 5
-+ idata.lam = (*xVal)[i] * DEG_TO_RAD;
-+ idata.phi = (*yVal)[i] * DEG_TO_RAD;
-+ odata = protect_proj_fwd_lp(idata, ref);
-+ (*xVal)[i] = odata.x;
-+ (*yVal)[i] = odata.y;
-+#else
- idata.u = (*xVal)[i] * DEG_TO_RAD;
- idata.v = (*yVal)[i] * DEG_TO_RAD;
- odata = PJ_FWD(idata, ref);
- (*xVal)[i] = odata.u;
- (*yVal)[i] = odata.v;
-+#endif
- }
- #ifdef PROJ_IS_THREADSAFE
- }
-@@ -183,7 +191,7 @@ namespace lib {
- }
-
- // from u,v
--#ifdef USE_LIBPROJ4
-+#ifdef USE_LIBPROJ
- if ( mapSet )
- {
- #ifdef PROJ_IS_THREADSAFE
-@@ -192,11 +200,19 @@ namespace lib {
- #pragma omp for private(idata,odata)
- #endif
- for (SizeT i = 0; i < nrows; i++) {
-+#if LIBPROJ_MAJOR_VERSION >= 5
-+ odata.x = (*xVal)[i];
-+ odata.y = (*yVal)[i];
-+ idata = protect_proj_inv_xy(odata, ref);
-+ (*xVal)[i] = idata.lam * RAD_TO_DEG;
-+ (*yVal)[i] = idata.phi * RAD_TO_DEG;
-+#else
- odata.u = (*xVal)[i];
- odata.v = (*yVal)[i];
- idata = PJ_INV(odata, ref);
- (*xVal)[i] = idata.u * RAD_TO_DEG;
- (*yVal)[i] = idata.v * RAD_TO_DEG;
-+#endif
- }
- #ifdef PROJ_IS_THREADSAFE
- }
-diff --git a/src/plotting_cursor.cpp b/src/plotting_cursor.cpp
-index 5a1b418b..61d0f0e0 100644
---- a/src/plotting_cursor.cpp
-+++ b/src/plotting_cursor.cpp
-@@ -82,17 +82,28 @@ void tvcrs( EnvT* e)
- get_mapset(mapSet);
- if (mapSet)
- {
--#ifdef USE_LIBPROJ4
-+#ifdef USE_LIBPROJ
- if (ref == NULL) e->Throw("Projection initialization failed.");
- LPTYPE idataN;
-+#if LIBPROJ_MAJOR_VERSION >= 5
-+ idataN.lam = tempx* DEG_TO_RAD;
-+ idataN.phi = tempy* DEG_TO_RAD;
-+ XYTYPE odata = protect_proj_fwd_lp(idataN, ref);
-+#else
- idataN.u = tempx* DEG_TO_RAD;
- idataN.v = tempy* DEG_TO_RAD;
- XYTYPE odata = PJ_FWD(idataN, ref);
-+#endif
- // norm to world invalid since projection. use !x.s and !y.s directly
- DDouble *sx, *sy;
- GetSFromPlotStructs( &sx, &sy );
-+#if LIBPROJ_MAJOR_VERSION >= 5
-+ tempx= sx[0] +odata.x * sx[1];
-+ tempy= sy[0] +odata.y * sy[1]; //normed values
-+#else
- tempx= sx[0] +odata.u * sx[1];
- tempy= sy[0] +odata.v * sy[1]; //normed values
-+#endif
- actStream->NormedDeviceToDevice(tempx,tempy,ix,iy);
- DLong iix=ix;
- DLong iiy=iy;
-@@ -217,31 +228,44 @@ void cursor(EnvT* e){
- else
- { // default (/data)
- DDouble tempx,tempy;
--#ifdef USE_LIBPROJ4
-+#ifdef USE_LIBPROJ
- bool mapSet = false;
- get_mapset(mapSet);
- if (!mapSet)
- {
- #endif
- actStream->NormToWorld((DDouble)gin.dX, (DDouble)gin.dY, tempx, tempy);
--#ifdef USE_LIBPROJ4
-+#ifdef USE_LIBPROJ
- }
- else
- {
- ref = map_init();
- if (ref == NULL) e->Throw("Projection initialization failed.");
- XYTYPE idata, idataN;
-+#if LIBPROJ_MAJOR_VERSION >= 5
-+ idataN.x = gin.dX;
-+ idataN.y = gin.dY;
-+#else
- idataN.u = gin.dX;
- idataN.v = gin.dY;
-+#endif
- DDouble *sx, *sy;
- // norm to world invalid since projection. use !x.s and !y.s directly
- // was: actStream->NormToWorld(idataN.u, idataN.v, idata.u, idata.v);
- GetSFromPlotStructs( &sx, &sy );
-+#if LIBPROJ_MAJOR_VERSION >= 5
-+ idata.x = (idataN.x - sx[0])/sx[1];
-+ idata.y = (idataN.y - sy[0])/sy[1];
-+ LPTYPE odata = protect_proj_inv_xy(idata, ref);
-+ tempx = odata.lam * RAD_TO_DEG;
-+ tempy = odata.phi * RAD_TO_DEG;
-+#else
- idata.u = (idataN.u - sx[0])/sx[1];
- idata.v = (idataN.v - sy[0])/sy[1];
- LPTYPE odata = PJ_INV(idata, ref);
- tempx = odata.u * RAD_TO_DEG;
- tempy = odata.v * RAD_TO_DEG;
-+#endif
- }
- #endif
- bool xLog, yLog;
-diff --git a/src/plotting_image.cpp b/src/plotting_image.cpp
-index 6d709966..92eca9ba 100644
---- a/src/plotting_image.cpp
-+++ b/src/plotting_image.cpp
-@@ -167,7 +167,7 @@ namespace lib {
-
- bool mapSet = false;
-
--#ifdef USE_LIBPROJ4
-+#ifdef USE_LIBPROJ
- // Map Stuff (xtype = 3)
-
- get_mapset(mapSet);
-diff --git a/src/plotting_oplot.cpp b/src/plotting_oplot.cpp
-index 06282e84..f305fa5f 100644
---- a/src/plotting_oplot.cpp
-+++ b/src/plotting_oplot.cpp
-@@ -203,7 +203,7 @@ private:
- actStream->setSymbolSizeConversionFactors();
-
- bool mapSet=false;
--#ifdef USE_LIBPROJ4
-+#ifdef USE_LIBPROJ
- get_mapset(mapSet);
- if ( mapSet )
- {
-@@ -272,7 +272,7 @@ private:
- }
- actStream->stransform(gdl3dTo2dTransform, &Data3d);
- }
--#ifdef USE_LIBPROJ4
-+#ifdef USE_LIBPROJ
- if ( mapSet && psym < 1) {
- GDLgrProjectedPolygonPlot(actStream, ref, NULL, xVal, yVal, false, false, NULL);
- psym=-psym;
-diff --git a/src/plotting_plots.cpp b/src/plotting_plots.cpp
-index bf09f15b..0cf961b7 100644
---- a/src/plotting_plots.cpp
-+++ b/src/plotting_plots.cpp
-@@ -240,7 +240,7 @@ namespace lib
- restorelayout=true;
-
- mapSet=false;
--#ifdef USE_LIBPROJ4
-+#ifdef USE_LIBPROJ
- get_mapset(mapSet);
- mapSet=(mapSet && coordinateSystem==DATA);
- if ( mapSet )
-@@ -400,7 +400,7 @@ namespace lib
-
- ///TODO: Get proper USerSymSize in 3D.
-
--#ifdef USE_LIBPROJ4
-+#ifdef USE_LIBPROJ
- if ( mapSet && psym < 1) {
- GDLgrProjectedPolygonPlot(actStream, ref, NULL, xValou, yValou, false, false, NULL);
- psym=-psym;
-diff --git a/src/plotting_polyfill.cpp b/src/plotting_polyfill.cpp
-index efd685fc..c01a16ce 100644
---- a/src/plotting_polyfill.cpp
-+++ b/src/plotting_polyfill.cpp
-@@ -206,7 +206,7 @@ namespace lib
- restorelayout=true;
-
- mapSet=false;
--#ifdef USE_LIBPROJ4
-+#ifdef USE_LIBPROJ
- get_mapset(mapSet);
- mapSet=(mapSet && coordinateSystem==DATA);
- if ( mapSet )
-@@ -380,7 +380,7 @@ namespace lib
-
- ///TODO: Get proper USerSymSize in 3D.
-
--#ifdef USE_LIBPROJ4
-+#ifdef USE_LIBPROJ
- if (mapSet)
- GDLgrProjectedPolygonPlot(actStream, ref, NULL, xVal, yVal, false, true, NULL);
- else actStream->fill(xEl, static_cast<PLFLT*>(&(*xValou)[0]), static_cast<PLFLT*>(&(*yValou)[0]));
-diff --git a/src/plotting_xyouts.cpp b/src/plotting_xyouts.cpp
-index 3198147e..41142b42 100644
---- a/src/plotting_xyouts.cpp
-+++ b/src/plotting_xyouts.cpp
-@@ -206,7 +206,7 @@ namespace lib
- restorelayout=true;
-
- bool mapSet=false;
--#ifdef USE_LIBPROJ4
-+#ifdef USE_LIBPROJ
- get_mapset(mapSet);
- mapSet=(mapSet && coordinateSystem==DATA);
- if ( mapSet )
-@@ -371,16 +371,24 @@ namespace lib
- x=static_cast<PLFLT>((*xVal)[i%xVal->N_Elements ( )]); //insure even 1 parameter, string array
- y=static_cast<PLFLT>((*yVal)[i%xVal->N_Elements ( )]);
-
--#ifdef USE_LIBPROJ4
-+#ifdef USE_LIBPROJ
- if ( mapSet )
- {
- LPTYPE idata;
- XYTYPE odata;
-+#if LIBPROJ_MAJOR_VERSION >= 5
-+ idata.lam=x * DEG_TO_RAD;
-+ idata.phi=y * DEG_TO_RAD;
-+ odata=protect_proj_fwd_lp(idata, ref);
-+ x=odata.x;
-+ y=odata.y;
-+#else
- idata.u=x * DEG_TO_RAD;
- idata.v=y * DEG_TO_RAD;
- odata=PJ_FWD(idata, ref);
- x=odata.u;
- y=odata.v;
-+#endif
- }
- #endif
-
-diff --git a/src/pro/map/gdl_map_proj_init_common.pro b/src/pro/map/gdl_map_proj_init_common.pro
-index a0fb3546..845d8218 100644
---- a/src/pro/map/gdl_map_proj_init_common.pro
-+++ b/src/pro/map/gdl_map_proj_init_common.pro
-@@ -1,10 +1,10 @@
- ; the purpose of all this is to translate IDL-like commands to define
--; a specific projection to the osgeo/proj4 equivalent commandline,
-+; a specific projection to the osgeo/PROJ equivalent commandline,
- ; e.g., translate
- ; proj=map_proj_init(127,CENTER_LON=28.1336,FALSE_EASTING=-70,FALSE_NORTHING=12,SPHERE_RADIUS=1)
- ; into
- ; "+proj=hammer +R=1 +lon_0=28.1336 +x_0=-70 +y_0=12"
--; passing this expression to proj4 will set up all the projections
-+; passing this expression to PROJ will set up all the projections
- ; parameters and thus the coordinates transformation.
- ; This is not finished however. One has to define ancillary values
- ; such as the limits in lat,lon and u,v of the projection and the
-@@ -28,8 +28,8 @@ doInitMapProjectionCommon=1b;
- ; find either system or (eventually) current file. impotant to keep
- ; this as is for easy use of program updating the file projection definition.
- if file_test("projDefinitions.sav") then restore,"projDefinitions.sav" else begin
--proj4definitionFile=FILEPATH("projDefinitions.sav", ROOT_DIR=!GDL_MAPS_DIR)
--restore,proj4definitionFile
-+projdefinitionFile=FILEPATH("projDefinitions.sav", ROOT_DIR=!GDL_MAPS_DIR)
-+restore,projdefinitionFile
- endelse
-
- ; create compressed uppercase namestring for easy comparison:
-@@ -46,7 +46,7 @@ ellipsoid_proj=['clrk66','clrk80','bessel','new_intl','intl','WGS72','evrst30','
- ; the options that need to be translated
- ;; IS_ZONES= +n=4 +m= zone num see https://modis-land.gsfc.nasa.gov/MODLAND_grid.html
- ;; IS_JUSTIFY=i++ ;see above
--;; SOM_INCLINATION=i++ ; unknown with proj4
-+;; SOM_INCLINATION=i++ ; unknown with PROJ
- ;; SOM_LONGITUDE=i++ ;
- ;; SOM_PERIOD=i++ ;
- ;; SOM_RATIO=i++ ;
-@@ -78,7 +78,7 @@ dictionary=hash($
- "SOM_LANDSAT_PATH","+path=",$
- "OEA_SHAPEM","+m=",$
- "OEA_SHAPEN","+n=",$
--"OEA_ANGLE","+theta=",$ ; and all the proj4 equivalent keywords:
-+"OEA_ANGLE","+theta=",$ ; and all the PROJ equivalent keywords:
- "LAT_1","+lat_1=",$
- "LON_1","+lon_1=",$
- "LAT_2","+lat_2=",$
-diff --git a/src/pro/map/gdl_set_map_limits.pro b/src/pro/map/gdl_set_map_limits.pro
-index 42a569a1..500ef671 100644
---- a/src/pro/map/gdl_set_map_limits.pro
-+++ b/src/pro/map/gdl_set_map_limits.pro
-@@ -28,8 +28,8 @@ pro gdl_set_map_limits, myMap, limits
- ; range of values
- lonrange = lonmax - lonmin
- latrange = latmax - latmin
--; is there another way (proj4) to get ranges except brute force on a grid of possible points?
--; epsilon useful as projections are not precise (see #define EPS in proj4 c files: apparently < 1e-6)
-+; is there another way (PROJ) to get ranges except brute force on a grid of possible points?
-+; epsilon useful as projections are not precise (see #define EPS in PROJ c files: apparently < 1e-6)
- epsx = 1d-6*ABS(lonrange)
- epsy = 1d-6*ABS(latrange)
-
-diff --git a/src/pro/map/map_adjlon.pro b/src/pro/map/map_adjlon.pro
-index f680278f..42ae6e3f 100644
---- a/src/pro/map/map_adjlon.pro
-+++ b/src/pro/map/map_adjlon.pro
-@@ -1,6 +1,6 @@
- ; ancillary procedure for MAP_* .
- ; insures lon is always btw -180 and 180
--; based on proj4 source file of same name.
-+; based on PROJ source file of same name.
- pro map_adjlon,lon
- TWOPI=360d
- ONEPI=180d
-diff --git a/src/pro/map/map_proj_info.pro b/src/pro/map/map_proj_info.pro
-index 0aeda6de..79db1ba9 100644
---- a/src/pro/map/map_proj_info.pro
-+++ b/src/pro/map/map_proj_info.pro
-@@ -32,8 +32,8 @@ p4name=p4n ; special for GDL
- if rindex lt 1 or rindex gt nproj then message, 'Projection number must be within range of 1 to'+ strtrim(nproj-1,2)
-
- name = proj[index].fullname
-- p4n=proj[index].proj4name
-- ; need to keep ony the real proj4 name if perchance there was additional commands already set in the name
-+ p4n=proj[index].projname
-+ ; need to keep ony the real PROJ name if perchance there was additional commands already set in the name
- p4n=(strsplit(strtrim(p4n,2),' ',/extract))[0]
- property=proj_properties[index]
- conic=(property.CONIC eq 1 and property.ELL eq 0 and property.SPH eq 0) ; only true conics (ex: not Bonne)
-diff --git a/src/pro/map/map_proj_init.pro b/src/pro/map/map_proj_init.pro
-index 566f2d88..2bb75851 100644
---- a/src/pro/map/map_proj_init.pro
-+++ b/src/pro/map/map_proj_init.pro
-@@ -1,7 +1,7 @@
- ; MAP_PROJ_INIT
- ; Documentation in progress
- ; equivalent to the original procedure, except that instead of 40 or
--; so projections here we give access to all the proj4 projections (120+)
-+; so projections here we give access to all the PROJ projections (120+)
- ; Note: the structure of the resulting mapstruct is not compatible with
- ; IDL, i.e., one cannot use a GDL-defined mapstruct in IDL (if passed
- ; within a save file), (but one can use an IDL-defined mapstruct in GDL).
-@@ -53,8 +53,8 @@ pro gdl_compute_map_limits, myMap
- lonmin=-180.0d & lonmax=180.0d & latmin=-90.0d & latmax=90.0d
- lonrange = lonmax - lonmin
- latrange = latmax - latmin
--; is there another way (proj4) to get ranges except brute force on a grid of possible points?
--; epsilon useful as projections are not precise (see #define EPS in proj4 c files: apparently < 1e-6)
-+; is there another way (PROJ) to get ranges except brute force on a grid of possible points?
-+; epsilon useful as projections are not precise (see #define EPS in PROJ c files: apparently < 1e-6)
- epsx = 1d-6*ABS(lonrange)
- epsy = 1d-6*ABS(latrange)
-
-@@ -103,7 +103,7 @@ function map_proj_init, pindex, p4number=p4number, relaxed=relaxed, rotation=rot
- ON_ERROR, 2 ; return to caller
-
- ; NOTE: We are always "relaxed".
--; p4num bool indicates pindex is a number and refers to the internal proj4 table of proj4 properties line and not an IDL number for which an equivalent must be found
-+; p4num bool indicates pindex is a number and refers to the internal PROJ table of PROJ properties line and not an IDL number for which an equivalent must be found
-
- ; define limit
- if n_elements(passed_limit) lt 4 then limit=dblarr(4) else limit=double(passed_limit)
-@@ -121,7 +121,7 @@ nproj=n_elements(proj)
- sindex=pindex
- ; find projection index, by index:
- if (N_ELEMENTS(pindex) le 0) then begin
-- index=where(proj.proj4name eq 'stere') ; stereo is default
-+ index=where(proj.projname eq 'stere') ; stereo is default
- ; this is a drawback: projection number is always an IDL number
- endif else if (SIZE(pindex, /TYPE) ne 7) then begin
- if keyword_set(p4number) then sindex=proj[pindex].fullname else sindex=idl_ids[pindex]
-@@ -135,9 +135,9 @@ w = strcmp(idl_ids,shortname,strlen(shortname)) & count=total(w)
- if count gt 1 then message, /noname, 'Ambiguous Projection abbreviation: ' + sindex
- if count eq 1 then begin
- name4=idl_equiv[(where(w eq 1))[0]]
-- index=where(proj.proj4name eq name4, count) & if count eq 0 then message, 'Projection ' + sindex + ' apparently does not exist in Proj4 library, fixme.'
-+ index=where(proj.projname eq name4, count) & if count eq 0 then message, 'Projection ' + sindex + ' apparently does not exist in PROJ library, fixme.'
- endif else begin
-- ; next, proj4 projections
-+ ; next, PROJ projections
- w = strcmp(compressed_ids1,shortname,strlen(shortname)) & count=total(w)
- if count eq 0 then begin w = strcmp(compressed_ids2,shortname,strlen(shortname)) & count=total(w) & end ; alternative
- if count eq 0 then message, /noname, 'Invalid Projection name: ' + sindex
-@@ -158,9 +158,9 @@ endelse
- if index ge nproj then message, /noname, 'Invalid Projection number: ' + strtrim(sindex)
-
- ; useful strings:
--; get base proj4 name!
--p4n=proj[index].proj4name
--; need to keep ony the real proj4 name if perchance there was additional commands already set in the name
-+; get base PROJ name!
-+p4n=proj[index].projname
-+; need to keep ony the real PROJ name if perchance there was additional commands already set in the name
- p4n=(strsplit(strtrim(p4n,2),' ',/extract))[0]
-
- ; required parameters, filled.
-@@ -226,8 +226,8 @@ if n_elements(extra) gt 0 then begin
- w = strcmp(possible_params,passed_params[i],strlen(passed_params[i])) & count=total(w) & j=(where(w eq 1))[0]
- if count eq 1 then begin
- passed_params[i]=possible_params[j] ; make passed_params normalized.
-- proj4kw=dictionary[possible_params[j]]
-- list_of_passed_params= (n_elements(list_of_passed_params) eq 0)? proj4kw : [list_of_passed_params,proj4kw]
-+ projkw=dictionary[possible_params[j]]
-+ list_of_passed_params= (n_elements(list_of_passed_params) eq 0)? projkw : [list_of_passed_params,projkw]
- passed_values= (n_elements(passed_values) eq 0)? strtrim(extra.(i),2) : [passed_values,strtrim(extra.(i),2)]
- endif else if count gt 1 then message,"Ambiguous keyword abbreviation: "+passed_params[i]
- endfor
-@@ -237,7 +237,7 @@ endif
- if n_passed gt 0 and n_passed ge n_required then begin
- ; do we have required values for projection?
- if n_required gt 0 then begin
--; needed params: get individual proj4 keywords, find if equivalent is
-+; needed params: get individual PROJ keywords, find if equivalent is
- ; existing in passed_params. Based on equivalence list above.
-
- ; sort in alphabetic order
-@@ -295,17 +295,17 @@ if n_passed gt 0 and n_passed ge n_required then begin
- endif
- endif
- endif else begin ; or not...
-- if strlen(required_opt) gt 0 then message, "Absent (proj4) parameter(s): "+required_opt
-+ if strlen(required_opt) gt 0 then message, "Absent (PROJ) parameter(s): "+required_opt
- endelse
-
- ; main string (will need special treatment for rotation etc.)
--proj4command="+proj="+proj[index].proj4name+" "
-+projcommand="+proj="+proj[index].projname+" "
-
--proj4options=filled_required_parameter_string+filled_optional_parameter_string
-+projoptions=filled_required_parameter_string+filled_optional_parameter_string
-
--; ok, proj4options contains all relevant AND permitted parameters. Try to assemble
-+; ok, projoptions contains all relevant AND permitted parameters. Try to assemble
- ; all these into valid elements of !map. Up to now we have only
--; translated from idl to proj4. now is time to interpret things a bit.
-+; translated from idl to PROJ. now is time to interpret things a bit.
-
- ; define useful defaults values
- p0lon = 0d ; center longitude
-@@ -317,9 +317,9 @@ satheight=0
- alpha=90 ;
- lonc=0 ; see f.e. oblique mercator in proj.org
-
--if strlen(proj4options) gt 0 then begin
--; convert proj4options to hash
-- s=strsplit(strtrim(proj4options,2),"= ",/extract)
-+if strlen(projoptions) gt 0 then begin
-+; convert projoptions to hash
-+ s=strsplit(strtrim(projoptions,2),"= ",/extract)
- x=where(strpos(s,'+') eq 0, comp=y)
- a=hash(s[x],s[y])
- ; if a contains "+lon_0" this is p0lon, etc.
-@@ -350,14 +350,14 @@ if (rotPossible) then begin
- if count gt 0 then begin ; try general oblique
- p0lat=extra.(w[0])
- if p0lat ne 0 then begin
-- if p0lat gt 89.9 then p0lat = 89.9 ;take some precautions as PROJ.4 is not protected!!!
-+ if p0lat gt 89.9 then p0lat = 89.9 ;take some precautions as PROJ is not protected!!!
- if p0lat lt -89.9 then p0lat = -89.9 ;
- ; compute pole of transformed projection
-- proj4command="+proj=ob_tran +o_proj="+proj[index].proj4name
-- ; remove '+lat_0=xxx +lon_0=xxx' from proj4options
-- a=strsplit(proj4options,"\+lat_0=[0-9.]*",/regex,/extract)
-- a=strsplit(proj4options,"\+lon_0=[0-9.]*",/regex,/extract)
-- proj4options=strjoin(a)
-+ projcommand="+proj=ob_tran +o_proj="+proj[index].projname
-+ ; remove '+lat_0=xxx +lon_0=xxx' from projoptions
-+ a=strsplit(projoptions,"\+lat_0=[0-9.]*",/regex,/extract)
-+ a=strsplit(projoptions,"\+lon_0=[0-9.]*",/regex,/extract)
-+ projoptions=strjoin(a)
- endif else rotPossible=0B
- endif
- endif else rotPossible=0B
-@@ -372,7 +372,7 @@ if noRot eq 1 then p0lat=0 else begin
- if count gt 0 then begin
- val=passed_values[w[0]]
- p0lat=double(val)
-- proj4options+=" +lat_0="+val
-+ projoptions+=" +lat_0="+val
- endif
- endif
- endelse
-@@ -433,8 +433,8 @@ myMap.pole=[pole_lon*deg2rad,pole_lat*deg2rad,psinlat,pcoslat,xyzpole] ; need to
- ; now that pole is computed correctly, add pole position to
- ; generalized oblique
- if rotPossible then begin
-- proj4command+=" +o_alpha=90 +o_lat_c="+strtrim(p0lat,2)+" +o_lon_c=180"
-- if (p0lat gt 0) then proj4command+=" +lon_0="+strtrim(p0lon,2) else proj4command+=" +lon_0="+strtrim(180+p0lon,2)
-+ projcommand+=" +o_alpha=90 +o_lat_c="+strtrim(p0lat,2)+" +o_lon_c=180"
-+ if (p0lat gt 0) then projcommand+=" +lon_0="+strtrim(p0lon,2) else projcommand+=" +lon_0="+strtrim(180+p0lon,2)
- endif
-
-
-@@ -513,7 +513,7 @@ if (interrupted or p4n eq 'bipc' or p4n eq "bertin1953" or p4n eq "qsc" ) then b
- theta = deg2rad * splits[i]
- MAP_CLIP_SET, map=myMap, SPLIT=[splits[i], 0, -sin(theta), cos(theta), 0., 0.]
- endfor
-- myMap.up_flags=1000 ; redefine "epsilon" due to precision problems in proj4!!!!
-+ myMap.up_flags=1000 ; redefine "epsilon" due to precision problems in PROJ!!!!
-
- END
-
-@@ -537,7 +537,7 @@ if (interrupted or p4n eq 'bipc' or p4n eq "bertin1953" or p4n eq "qsc" ) then b
- endfor
- map_clip_set, map=myMap, SPLIT=[0,90,0,0,1d,-2d/3d]
- map_clip_set, map=myMap, SPLIT=[0,-90,0,0,-1d,-2d/3d]
-- myMap.up_flags=10000 ; redefine "epsilon" due to precision problems in proj4!!!!
-+ myMap.up_flags=10000 ; redefine "epsilon" due to precision problems in PROJ!!!!
- END
-
- "healpix": BEGIN
-@@ -547,7 +547,7 @@ if (interrupted or p4n eq 'bipc' or p4n eq "bertin1953" or p4n eq "qsc" ) then b
- theta = deg2rad * splits[i]
- MAP_CLIP_SET, map=myMap, SPLIT=[splits[i], 0, -sin(theta), cos(theta), 0., 0.]
- endfor
-- myMap.up_flags=10000 ; redefine "epsilon" due to precision problems in proj4!!!!
-+ myMap.up_flags=10000 ; redefine "epsilon" due to precision problems in PROJ!!!!
- END
- ELSE: print,"Interrupted projection "+p4n+" is not yet properly taken into account in map_proj_init, please FIXME!"
- endcase
-@@ -597,10 +597,10 @@ endif else begin ; not interrupted
- endelse ; end azim projs
- endelse ; not interrupted
-
--if ellipticalusagerequired then proj4Options+=' +ellps=GRS80 '
--if south then proj4Options+=' +south'
-+if ellipticalusagerequired then projOptions+=' +ellps=GRS80 '
-+if south then projOptions+=' +south'
- ; finalize projection to be used in finding limits:
--myMap.up_name=proj4command+" "+proj4Options
-+myMap.up_name=projcommand+" "+projOptions
-
- if (hasDefinedEll) then begin
- myMap.up_name+=" +a="+strtrim(SEMIMAJOR_AXIS[0],2)+" +b="+strtrim(SEMIMINOR_AXIS[0],2)
-@@ -628,7 +628,7 @@ pro map_proj_auxiliary_read_csv
- ON_ERROR, 2 ; return to caller
- restore,"csv.sav"
- nproj=n_elements(csv_proj.field1)
-- names={PROJ4NAME:"",FULLNAME:"",OTHERNAME:""}
-+ names={PROJNAME:"",FULLNAME:"",OTHERNAME:""}
- proj_property={EXIST:1B,SPH:0B,CONIC:0B,AZI:0B,ELL:0B,CYL:0B,MISC:0B,NOINV:0B,NOROT:0B,INTER:0b} ; note uppercase
- ; fill the sorted, uniq, list of REQUIRED values
- t=strtrim(csv_proj.field5,2) & s=strjoin(t) & t=strsplit(s,"= ",/extract)
-@@ -636,7 +636,7 @@ pro map_proj_auxiliary_read_csv
- for i=0,n_elements(required_template_list)-1 do map_struct_append, required_template, required_template_list[i], 0b
-
- proj=replicate(names,nproj)
-- proj.PROJ4NAME=csv_proj.FIELD1
-+ proj.PROJNAME=csv_proj.FIELD1
- proj.FULLNAME=csv_proj.FIELD2
- proj.OTHERNAME=csv_proj.FIELD3
-
-@@ -679,7 +679,7 @@ save,filen="projDefinitions.sav",proj,proj_properties,required,optional,proj_sca
- for i=0,nproj-1 do begin
- catch,absent
- if absent ne 0 then begin
-- print,'i was',i,' projection was ',proj[i].PROJ4NAME
-+ print,'i was',i,' projection was ',proj[i].PROJNAME
- proj_properties[i].exist=0b
- continue
- endif
-@@ -690,7 +690,7 @@ endfor
- for i=0,nproj-1 do begin
- catch,absent
- if absent ne 0 then begin
-- print,'(known?) problem with projection '+proj[i].PROJ4NAME
-+ print,'(known?) problem with projection '+proj[i].PROJNAME
- continue
- endif
-
-diff --git a/src/pro/map/map_set.pro b/src/pro/map/map_set.pro
-index ba7c3160..d658877f 100644
---- a/src/pro/map/map_set.pro
-+++ b/src/pro/map/map_set.pro
-@@ -2,7 +2,7 @@
- ; Documentation in progress
- ; One major difference with IDL's one is that, using
- ; name="xxxx", one can use any of the ~120 currently defined
--; projections in proj.4 library
-+; projections in PROJ library
- ; The structure of the !MAP system variable is not compatible with
- ; IDL, i.e., one cannot use a GDL-defined !MAP in IDL, but one can use
- ; and IDL-defined !MAP (or mapstruct) in GDL.
-diff --git a/src/pro/utilities/gdl_status.pro b/src/pro/utilities/gdl_status.pro
-index 024dbc47..461c281f 100644
---- a/src/pro/utilities/gdl_status.pro
-+++ b/src/pro/utilities/gdl_status.pro
-@@ -41,7 +41,7 @@ pro GDL_STATUS, missing=missing, only_off=only_off, $
- FORWARD_FUNCTION DSFMT_EXISTS, EIGEN_EXISTS, FFTW_EXISTS, GEOTIFF_EXISTS, $
- GLPK_EXISTS, GRIB_EXISTS, GSHHG_EXISTS, HDF5_EXISTS, HDF_EXISTS, $
- MAGICK_EXISTS, NCDF4_EXISTS, NCDF_EXISTS, OPENMP_EXISTS, PNGLIB_EXISTS, $
-- PROJ4NEW_EXISTS, PROJ4_EXISTS, PYTHON_EXISTS, $
-+ PROJ_EXISTS, PYTHON_EXISTS, $
- TIFF_EXISTS, UDUNITS_EXISTS, WXWIDGETS_EXISTS, X11_EXISTS
- ;
- ON_ERROR, 2
-@@ -75,8 +75,7 @@ IPRINT, i, 'NetCDF ? : ', NCDF_EXISTS(), skip
- IPRINT, i, 'NetCDF4 ?: ', NCDF4_EXISTS(), skip
- IPRINT, i, 'OpenMP ? : ', OPENMP_EXISTS(), skip
- IPRINT, i, 'PNGLIB ? : ', PNGLIB_EXISTS(), skip
--IPRINT, i, 'Proj4 ? : ', PROJ4_EXISTS(), skip
--IPRINT, i, 'Proj4 new: ', PROJ4NEW_EXISTS(), skip
-+IPRINT, i, 'PROJ ? : ', PROJ_EXISTS(), skip
- IPRINT, i, 'Python ? : ', PYTHON_EXISTS(), skip
- IPRINT, i, 'ShapeLib : ', SHAPELIB_EXISTS(), skip
- IPRINT, i, 'TIFF ? : ', TIFF_EXISTS(), skip
-diff --git a/src/projections.cpp b/src/projections.cpp
-index 23be1d47..4ed9c9b8 100644
---- a/src/projections.cpp
-+++ b/src/projections.cpp
-@@ -49,7 +49,7 @@ namespace lib {
-
- BaseGDL* map_proj_forward_fun(EnvT* e)
- {
--#ifdef USE_LIBPROJ4
-+#ifdef USE_LIBPROJ
- BaseGDL* p0;
- BaseGDL* p1;
-
-@@ -155,7 +155,7 @@ namespace lib {
-
- BaseGDL* map_proj_inverse_fun(EnvT* e)
- {
--#ifdef USE_LIBPROJ4
-+#ifdef USE_LIBPROJ
- // xy -> lonlat
- SizeT nParam = e->NParam();
- if (nParam < 1 || nParam > 2)
-@@ -201,12 +201,12 @@ namespace lib {
- res = new DDoubleGDL(dim, BaseGDL::NOZERO);
- }
-
-- //protect against projections that have no inverse in proj.4 (and inverse in libproj) (silly, is'nt it?) (I guess I'll copy all
-+ //protect against projections that have no inverse in PROJ (and inverse in libproj) (silly, is'nt it?) (I guess I'll copy all
- //this code one day and make our own certified version!
- if (noInv) {
- //return Nans --- hoping it is sufficient
- for (OMPInt i = 0; i < p0->N_Elements() ; ++i) (*res)[i]=std::numeric_limits<double>::quiet_NaN();
-- return res; //e->Throw("The proj4 library version you use unfortunately defines no inverse for this projection!");
-+ return res; //e->Throw("The PROJ library version you use unfortunately defines no inverse for this projection!");
- }
-
- SizeT nEl = p0->N_Elements() / 2;
-@@ -216,11 +216,19 @@ namespace lib {
- #pragma omp for
- #endif
- for (OMPInt i = 0; i < nEl; ++i) {
-+#if LIBPROJ_MAJOR_VERSION >= 5
-+ idata.x = (*xy)[2 * i];
-+ idata.y = (*xy)[2 * i + 1];
-+ odata = protect_proj_inv_xy(idata, ref);
-+ (*res)[2 * i] = odata.lam * ((radians) ? 1.0 : RAD_TO_DEG);
-+ (*res)[2 * i + 1] = odata.phi * ((radians) ? 1.0 : RAD_TO_DEG);
-+#else
- idata.u = (*xy)[2 * i];
- idata.v = (*xy)[2 * i + 1];
- odata = PJ_INV(idata, ref);
- (*res)[2 * i] = odata.u * ((radians) ? 1.0 : RAD_TO_DEG);
- (*res)[2 * i + 1] = odata.v * ((radians) ? 1.0 : RAD_TO_DEG);
-+#endif
- }
- #ifdef PROJ_IS_THREADSAFE
- }
-@@ -242,12 +250,12 @@ namespace lib {
- dims[1] = nEl;
- dimension dim((DLong *) dims, 2);
- res = new DDoubleGDL(dim, BaseGDL::NOZERO);
-- //protect against projections that have no inverse in proj.4 (and inverse in libproj) (silly, is'nt it?) (I guess I'll copy all
-+ //protect against projections that have no inverse in PROJ (and inverse in libproj) (silly, is'nt it?) (I guess I'll copy all
- //this code one day and make our own certified version!
- if (noInv) {
- //return Nans --- hoping it is sufficient
- for (OMPInt i = 0; i < p0->N_Elements() ; ++i) (*res)[i]=std::numeric_limits<double>::quiet_NaN();
-- return res; //e->Throw("The proj4 library version you use unfortunately defines no inverse for this projection!");
-+ return res; //e->Throw("The PROJ library version you use unfortunately defines no inverse for this projection!");
- }
- #ifdef PROJ_IS_THREADSAFE
- #pragma omp parallel if (nEl >= CpuTPOOL_MIN_ELTS && (CpuTPOOL_MAX_ELTS == 0 || CpuTPOOL_MAX_ELTS <= nEl))
-@@ -255,11 +263,19 @@ namespace lib {
- #pragma omp for
- #endif
- for (OMPInt i = 0; i < nEl; ++i) {
-+#if LIBPROJ_MAJOR_VERSION >= 5
-+ idata.x = (*x)[i];
-+ idata.y = (*y)[i];
-+ odata = protect_proj_inv_xy(idata, ref);
-+ (*res)[2 * i] = odata.lam * ((radians) ? 1.0 : RAD_TO_DEG);
-+ (*res)[2 * i + 1] = odata.phi * ((radians) ? 1.0 : RAD_TO_DEG);
-+#else
- idata.u = (*x)[i];
- idata.v = (*y)[i];
- odata = PJ_INV(idata, ref);
- (*res)[2 * i] = odata.u * ((radians) ? 1.0 : RAD_TO_DEG);
- (*res)[2 * i + 1] = odata.v * ((radians) ? 1.0 : RAD_TO_DEG);
-+#endif
- }
- #ifdef PROJ_IS_THREADSAFE
- }
-@@ -275,7 +291,7 @@ namespace lib {
- #endif
- }
-
--#ifdef USE_LIBPROJ4
-+#ifdef USE_LIBPROJ
- //enum all the projections
-
- enum {
-@@ -365,7 +381,7 @@ namespace lib {
- HOM_LATITUDE1, //+lat_1
- HOM_LATITUDE2, //+lat_2
- OEA_ANGLE, //+theta
--// SOM_INCLINATION, // unknown with proj4
-+// SOM_INCLINATION, // unknown with PROJ
- // SOM_LONGITUDE, //
- // SOM_PERIOD, //
- // SOM_RATIO, //
-@@ -399,8 +415,8 @@ namespace lib {
- } projCoding;
-
- static projCoding projectionOptions[] = {
-- // pidx, proj. Number as in doc, Name, Proj.4 litle name, number of projElements to read,
-- // Values as index in projElements (options for proj.4), idem for variant.
-+ // pidx, proj. Number as in doc, Name, PROJ litle name, number of projElements to read,
-+ // Values as index in projElements (options for PROJ), idem for variant.
- //pidx|pnum|ptyp|pnam |p4nam |nopt| code |vcode
- { 0, 0, 0, "Invalid Projection", "none", 0,
- {0},
-@@ -460,11 +476,7 @@ namespace lib {
- {SEMIMAJOR_AXIS, SEMIMINOR_AXIS, STANDARD_PAR1, STANDARD_PAR2, CENTER_LONGITUDE, CENTER_LATITUDE, 0},
- {0}},
- { 19, 19, 4, "GoodesHomolosine",
--#ifdef USE_LIBPROJ4_NEW
- "igh"
--#else
-- "goode"
--#endif
- , 5,
- {SPHERE_RADIUS, 0, 0, 0, CENTER_LONGITUDE, 0, 0},
- {0}},
-@@ -534,7 +546,7 @@ namespace lib {
- {41, 121, 4, "GCTP_Robinson", "robin", 9,
- {SPHERE_RADIUS, 0, 0, 0, CENTER_LONGITUDE, 0, FALSE_EASTING, FALSE_NORTHING,0},
- {0}},
-- {42, 122, 2, "GCTP_SpaceObliqueMercator", "lsat", 13, //only variant implemented in proj4.
-+ {42, 122, 2, "GCTP_SpaceObliqueMercator", "lsat", 13, //only variant implemented in PROJ.
- //{SEMIMAJOR_AXIS, SEMIMINOR_AXIS, 0, SOM_INCLINATION, SOM_LONGITUDE, 0, FALSE_EASTING, FALSE_NORTHING, SOM_PERIOD, SOM_RATIO, SOM_FLAG},
- {SEMIMAJOR_AXIS, SEMIMINOR_AXIS, SOM_LANDSAT_NUMBER, SOM_LANDSAT_PATH, 0, 0, FALSE_EASTING, FALSE_NORTHING, 0, 0, 0, 0, 0},
- {SEMIMAJOR_AXIS, SEMIMINOR_AXIS, SOM_LANDSAT_NUMBER, SOM_LANDSAT_PATH, 0, 0, FALSE_EASTING, FALSE_NORTHING, 0, 0, 0, 0, 1}},
-@@ -620,19 +632,20 @@ static double epsilon = std::numeric_limits<float>::epsilon(); //say, 5e-7
- unsigned epsilonTag = map->Desc()->TagIndex("UP_FLAGS");
- DLong epsilonvalue = (*static_cast<DLongGDL*> (map->GetTag(epsilonTag, 0)))[0];
- if (epsilonvalue != 0) epsilon=1.0/double(epsilonvalue); else epsilon=std::numeric_limits<float>::epsilon();
-- //Trick for using ALL the libproj.4 projections.
-+ //Trick for using ALL the PROJ projections.
- if (map_projection == 999) { //our special code
--#ifdef USE_LIBPROJ4_NEW
-+#if LIBPROJ_MAJOR_VERSION >= 5
-+ prev_ref = proj_create(PJ_DEFAULT_CTX, projName.c_str());
-+#else
- prev_ref = pj_init_plus(projName.c_str());
-+#endif
- if (!prev_ref) {
-- ThrowGDLException("LIBPROJ.4 returned error message: "+std::string(pj_strerrno(pj_errno)));
-- }
-+#if LIBPROJ_MAJOR_VERSION >= 5
-+ ThrowGDLException("PROJ returned error message: "+std::string(proj_errno_string(proj_context_errno(PJ_DEFAULT_CTX))));
- #else
-- prev_ref = proj_initstr((char*) projName.c_str());
-- if (!prev_ref) {
-- ThrowGDLException("LIBPROJ.4 returned error message: "+std::string(proj_strerrno(proj_errno)));
-- }
-+ ThrowGDLException("PROJ returned error message: "+std::string(pj_strerrno(pj_errno)));
- #endif
-+ }
- noInv=false ; //((void*)(static_cast<PJ*>(prev_ref)->inv) == NULL);
- return prev_ref;
- }
-@@ -750,24 +763,25 @@ static double epsilon = std::numeric_limits<float>::epsilon(); //say, 5e-7
- break;
- }
- cout<<projCommand<<endl;
--#ifdef USE_LIBPROJ4_NEW
-+#if LIBPROJ_MAJOR_VERSION >= 5
-+ prev_ref = proj_create(PJ_DEFAULT_CTX, projCommand.c_str());
-+#else
- prev_ref = pj_init_plus(projCommand.c_str());
-+#endif
- if (!prev_ref) {
-- ThrowGDLException("LIBPROJ.4 returned error message: " + std::string(pj_strerrno(pj_errno)));
-- }
-+#if LIBPROJ_MAJOR_VERSION >= 5
-+ ThrowGDLException("PROJ returned error message: " + std::string(proj_errno_string(proj_context_errno(PJ_DEFAULT_CTX))));
- #else
-- prev_ref = proj_initstr((char*) projCommand.c_str());
-- if (!prev_ref) {
-- ThrowGDLException("LIBPROJ.4 returned error message: "+std::string(proj_strerrno(proj_errno)));
-- }
-+ ThrowGDLException("PROJ returned error message: " + std::string(pj_strerrno(pj_errno)));
- #endif
-+ }
- return prev_ref;
- }
-
- //for classical projections here [1..19] we still use an older way to call pj_init (and not projcommand). This is probably bad...
- if (trans) { //use rotation variant, a killer with some projections
- // if (map_p0lon==180.0) map_p0lon=179.999992;
-- if (map_p0lat > 89.999) map_p0lat = 89.999; //take some precautions as PROJ.4 is not proetected!!!
-+ if (map_p0lat > 89.999) map_p0lat = 89.999; //take some precautions as PROJ is not proetected!!!
- if (map_p0lat < -89.999) map_p0lat = -89.999;
- sprintf(ob_lon, "o_lon_p=%lf", proj_p0lon);
- proj_p0lat = 90.0 - map_p0lat; //ADD CENTRAL_AZIMUTH!!
-@@ -792,13 +806,11 @@ static double epsilon = std::numeric_limits<float>::epsilon(); //say, 5e-7
-
- if (trans //CHECK THIS FOR GCTP projections!
- // && map_projection != Satellite
-- && map_projection != GCTP_WagnerVII //no invert in old and new libproj4.
--#ifdef USE_LIBPROJ4_NEW
-+ && map_projection != GCTP_WagnerVII //no invert in old and new PROJ.
- // && map_projection != Mercator //crashes with map_grid!!!
- && map_projection != TransverseMercator //idem!!
- // && map_projection != Orthographic //idem!!
- // && map_projection != Aitoff //idem!!
--#endif
- ) {
- strcpy(ob_proj, "proj=ob_tran");
- parms[nparms++] = &ob_proj[0];
-@@ -848,63 +860,83 @@ static double epsilon = std::numeric_limits<float>::epsilon(); //say, 5e-7
- // fprintf(stderr, "nparms=%d:", nparms);
- // for (SizeT i = 0; i < nparms; ++i) fprintf(stderr, "+%s ", parms[i]);
- // fprintf(stderr, "\n");
--#ifdef USE_LIBPROJ4_NEW
-- prev_ref = PJ_INIT(nparms, parms);
-- if (!prev_ref) {
-- ThrowGDLException("LIBPROJ.4 returned error message: " + std::string(pj_strerrno(pj_errno)));
-- }
-+#if PROJ_VERSION_MAJOR >= 5
-+ prev_ref = proj_create_argv(PJ_DEFAULT_CTX, nparms, parms);
- #else
-- prev_ref = PJ_INIT(nparms, parms);
-+ prev_ref = pj_init(nparms, parms);
-+#endif
- if (!prev_ref) {
-- ThrowGDLException("LIBPROJ.4 returned error message: "+std::string(proj_strerrno(proj_errno)));
-+#if LIBPROJ_MAJOR_VERSION >= 5
-+ ThrowGDLException("PROJ returned error message: " + std::string(proj_errno_string(proj_context_errno(PJ_DEFAULT_CTX))));
-+#else
-+ ThrowGDLException("PROJ returned error message: " + std::string(pj_strerrno(pj_errno)));
-+#endif
- }
--#endif
- }
- return prev_ref;
- }
-
--#ifdef USE_LIBPROJ4_NEW
-+#if LIBPROJ_MAJOR_VERSION >= 5
-+ PJ_XY protect_proj_fwd_lp(PJ_LP idata, PJ *proj)
-+ {
-+ PJ_COORD c, c_out;
-+ DDouble x, y;
-+ if (isfinite((idata.lam)*(idata.phi))) {
-+ c.lp = idata;
-+ c_out = proj_trans(proj, PJ_FWD, c);
-+ if (isfinite(c_out.xy.x) && c_out.xy.y != HUGE_VAL) {
-+ if (isRot) {
-+ x = c_out.xy.x;
-+ y = c_out.xy.y;
-+ c_out.xy.x = x * cRot + y*sRot;
-+ c_out.xy.y = -x * sRot + y*cRot;
-+ }
-+ return c_out.xy;
-+ }
-+ }
-+ return badProjXY;
-+ }
-
-- PROJDATA protect_proj_fwd(PROJDATA idata, PROJTYPE proj)
-+ PJ_XY protect_proj_fwd_xy(PJ_XY idata, PJ *proj)
- {
-- XYTYPE odata;
-- DDouble u, v;
-- if (isfinite((idata.u)*(idata.v))) {
-- odata = LIB_PJ_FWD(idata, proj);
-- if (isfinite(odata.u) && odata.u != HUGE_VAL) {
-+ PJ_COORD c, c_out;
-+ DDouble x, y;
-+ if (isfinite((idata.x)*(idata.y))) {
-+ c.xy = idata;
-+ c_out = proj_trans(proj, PJ_FWD, c);
-+ if (isfinite(c_out.xy.x) && c_out.xy.x != HUGE_VAL) {
- if (isRot) {
-- u = odata.u;
-- v = odata.v;
-- odata.u = u * cRot + v*sRot;
-- odata.v = -u * sRot + v*cRot;
-+ x = c_out.xy.x;
-+ y = c_out.xy.y;
-+ c_out.xy.x = x * cRot + y*sRot;
-+ c_out.xy.y = -x * sRot + y*cRot;
- }
-- return odata;
-+ return c_out.xy;
- }
- }
-- return badProj;
-+ return badProjXY;
- }
-
-- PROJDATA protect_proj_inv(PROJDATA idata, PROJTYPE proj)
-+ PJ_LP protect_proj_inv_xy(PJ_XY idata, PJ *proj)
- {
-- if (noInv) return badProj;
-- // throw GDLException("The proj4 library version you use unfortunately defines no inverse for this projection!");
-- LPTYPE odata;
-- DDouble u, v;
-+ if (noInv) return badProjLP;
-+ // throw GDLException("The PROJ library version you use unfortunately defines no inverse for this projection!");
-+ PJ_COORD c, c_out;
-+ DDouble x, y;
- if (isRot) {
-- u = idata.u;
-- v = idata.v;
-- idata.u = u * cRot - v*sRot;
-- idata.v = u * sRot + v*cRot;
-+ x = idata.x;
-+ y = idata.y;
-+ c.xy.x = x * cRot - y*sRot;
-+ c.xy.y = x * sRot + y*cRot;
- }
-- if (isfinite((idata.u)*(idata.v))) {
-- odata = LIB_PJ_INV(idata, proj);
-- return odata;
-+ if (isfinite((c.xy.x)*(c.xy.y))) {
-+ c_out = proj_trans(proj, PJ_INV, c);
-+ return c_out.lp;
- }
-- return badProj;
-+ return badProjLP;
- }
- #else
--
--PROJDATA protect_proj_fwd(PROJDATA idata, PROJTYPE proj)
-+ PROJDATA protect_proj_fwd(PROJDATA idata, PROJTYPE proj)
- {
- XYTYPE odata;
- DDouble u, v;
-@@ -926,19 +958,18 @@ PROJDATA protect_proj_fwd(PROJDATA idata, PROJTYPE proj)
- PROJDATA protect_proj_inv(PROJDATA idata, PROJTYPE proj)
- {
- if (noInv) return badProj;
-- XYTYPE odata;
-+ // throw GDLException("The PROJ library version you use unfortunately defines no inverse for this projection!");
-+ LPTYPE odata;
- DDouble u, v;
-+ if (isRot) {
-+ u = idata.u;
-+ v = idata.v;
-+ idata.u = u * cRot - v*sRot;
-+ idata.v = u * sRot + v*cRot;
-+ }
- if (isfinite((idata.u)*(idata.v))) {
- odata = LIB_PJ_INV(idata, proj);
-- if (isfinite(odata.u) && odata.u != HUGE_VAL) {
-- if (isRot) {
-- u = odata.u;
-- v = odata.v;
-- odata.u = u * cRot - v*sRot;
-- odata.v = u * sRot + v*cRot;
-- }
-- return odata;
-- }
-+ return odata;
- }
- return badProj;
- }
-@@ -1440,11 +1471,19 @@ bool isInvalid (const Polygon& pol) { return (!pol.valid); }
- #pragma omp for
- #endif
- for (OMPInt i = 0; i < nEl; ++i) {
-+#if LIBPROJ_MAJOR_VERSION >= 5
-+ idata.lam = lons[i];
-+ idata.phi = lats[i];
-+ odata = protect_proj_fwd_lp(idata, ref);
-+ (*res)[2 * i] = odata.x;
-+ (*res)[2 * i + 1] = odata.y;
-+#else
- idata.u = lons[i];
- idata.v = lats[i];
- odata = PJ_FWD(idata, ref);
- (*res)[2 * i] = odata.u;
- (*res)[2 * i + 1] = odata.v;
-+#endif
- }
- #ifdef PROJ_IS_THREADSAFE
- }
-@@ -1563,11 +1602,19 @@ bool isInvalid (const Polygon& pol) { return (!pol.valid); }
- case TRANSFORM:
- for (OMPInt i = 0; i < nEl; ++i) {
- if (isfinite(lons[i])) {
-+#if LIBPROJ_MAJOR_VERSION >= 5
-+ idata.lam = lons[i];
-+ idata.phi = lats[i];
-+ odata = protect_proj_fwd_lp(idata, ref);
-+ lons[i] = odata.x;
-+ lats[i] = odata.y;
-+#else
- idata.u = lons[i];
- idata.v = lats[i];
- odata = PJ_FWD(idata, ref);
- lons[i] = odata.u;
- lats[i] = odata.v;
-+#endif
- }
- }
- }
-@@ -1588,7 +1635,7 @@ bool isInvalid (const Polygon& pol) { return (!pol.valid); }
- {
-
- //DATA MUST BE IN RADIANS
--#ifdef USE_LIBPROJ4
-+#ifdef USE_LIBPROJ
- LPTYPE idata;
- XYTYPE odata;
- #endif
-@@ -1958,17 +2005,25 @@ done: aliasList->remove_if(isInvalid);
- case TRANSFORM:
- if (PolygonList.empty()) break;
-
--#ifdef USE_LIBPROJ4
-+#ifdef USE_LIBPROJ
- for (std::list<Polygon>::iterator p = PolygonList.begin(); p != PolygonList.end(); ++p) {
- for (std::list<Vertex>::iterator v = p->VertexList.begin(); v != p->VertexList.end(); ++v) {
-+#if LIBPROJ_MAJOR_VERSION >= 5
-+ idata.lam = v->lon;
-+ idata.phi = v->lat;
-+ odata = protect_proj_fwd_lp(idata, ref);
-+ v->lon = odata.x;
-+ v->lat = odata.y;
-+#else
- idata.u = v->lon;
- idata.v = v->lat;
- odata = PJ_FWD(idata, ref);
- v->lon = odata.u;
- v->lat = odata.v;
-+#endif
- }
- }
--#endif //USE_LIBPROJ4
-+#endif //USE_LIBPROJ
- break;
- case CLIP_UV:
- //TO BE DONE (really useful?)
-diff --git a/src/projections.hpp b/src/projections.hpp
-index 5d506d13..e417a6ff 100644
---- a/src/projections.hpp
-+++ b/src/projections.hpp
-@@ -31,7 +31,7 @@ namespace lib {
- BaseGDL* map_proj_forward_fun( EnvT* e);
- BaseGDL* map_proj_inverse_fun( EnvT* e);
-
--#if defined(USE_LIBPROJ4) || defined(USE_LIBPROJ4_NEW)
-+#if defined(USE_LIBPROJ)
-
- //dummy functions for compatibility support of GCTP projections
- void map_proj_gctp_forinit (EnvT* e);
-@@ -39,56 +39,48 @@ namespace lib {
-
- #define GDL_COMPLEX COMPLEX2
-
--#ifdef USE_LIBPROJ4_NEW
- extern "C" {
-- //#include "projects.h"
-- #define ACCEPT_USE_OF_DEPRECATED_PROJ_API_H 1
-+#if LIBPROJ_MAJOR_VERSION >= 5
-+#include "proj.h"
-+#else
- #include "proj_api.h"
-+#endif
- }
-+#if LIBPROJ_MAJOR_VERSION >= 5
-+#define LPTYPE PJ_LP
-+#define XYTYPE PJ_XY
-+#define PROJTYPE PJ*
-+#define PROJDATA PJ_UV
-+
-+ PJ_XY protect_proj_fwd_lp (PJ_LP idata, PJ *proj);
-+ PJ_XY protect_proj_fwd_xy (PJ_XY idata, PJ *proj);
-+ PJ_LP protect_proj_inv_xy (XYTYPE idata, PJ *proj);
-+ static PJ_XY badProjXY={sqrt(-1),sqrt(-1)};
-+ static PJ_LP badProjLP={sqrt(-1),sqrt(-1)};
-+
-+ static PJ *ref;
-+ static PJ *prev_ref;
-+
-+#define DEG_TO_RAD .017453292519943296
-+#define RAD_TO_DEG 57.295779513082321
-+#else
- #define LPTYPE projLP
- #define XYTYPE projXY
--
- #define PROJTYPE projPJ
- #define PROJDATA projUV
--#define PJ_INIT pj_init
-
- PROJDATA protect_proj_fwd (PROJDATA idata, PROJTYPE proj);
- PROJDATA protect_proj_inv (PROJDATA idata, PROJTYPE proj);
-+ static PROJDATA badProj={sqrt(-1),sqrt(-1)};
-
- #define PJ_FWD protect_proj_fwd
- #define LIB_PJ_FWD pj_fwd
- #define PJ_INV protect_proj_inv
- #define LIB_PJ_INV pj_inv
-- PROJTYPE map_init(DStructGDL *map=SysVar::Map());
- static volatile PROJTYPE ref;
- static volatile PROJTYPE prev_ref;
-- static PROJDATA badProj={sqrt(-1),sqrt(-1)};
--#else
-- extern "C" {
-- //adding this removes the problem with lam,phi vs. x,y and make no diffs between old an new lib proj.4
--#define PROJ_UV_TYPE 1
--#include "lib_proj.h"
-- }
--#define LPTYPE PROJ_LP
--#define XYTYPE PROJ_XY
--
--#define PROJTYPE PROJ*
--#define PROJDATA PROJ_UV
--#define PJ_INIT proj_init
--
-- PROJDATA protect_proj_fwd (PROJDATA idata, PROJTYPE proj);
-- PROJDATA protect_proj_inv (PROJDATA idata, PROJTYPE proj);
--
--#define PJ_FWD protect_proj_fwd
--#define LIB_PJ_FWD proj_fwd
--#define PJ_INV protect_proj_inv
--#define LIB_PJ_INV proj_inv
-- PROJTYPE map_init(DStructGDL *map=SysVar::Map());
-- static PROJTYPE ref;
-- static PROJTYPE prev_ref;
-- static PROJDATA badProj={sqrt(-1),sqrt(-1)};
-- //general reprojecting function
- #endif
-+ PROJTYPE map_init(DStructGDL *map=SysVar::Map());
-
- //general reprojecting functions
- DDoubleGDL* gdlApplyFullProjection(PROJTYPE ref, DStructGDL* map,
-@@ -102,10 +94,10 @@ namespace lib {
- DStructGDL *GetMapAsMapStructureKeyword(EnvT *e, bool &externalMap); //not static since KW is at same place for all uses.
-
- #define COMPLEX2 GDL_COMPLEX
--#else //NOT USE_LIBPROJ4 : define some more or less dummy values:
-+#else //NOT USE_LIBPROJ : define some more or less dummy values:
- #define PROJTYPE void*
- #define DEG_TO_RAD 0.017453292
--#endif //USE_LIBPROJ4
-+#endif //USE_LIBPROJ
-
- } // namespace
-
-diff --git a/testsuite/interactive_tests/test_map.pro b/testsuite/interactive_tests/test_map.pro
-index 92c230ab..bf1352e3 100644
---- a/testsuite/interactive_tests/test_map.pro
-+++ b/testsuite/interactive_tests/test_map.pro
-@@ -32,14 +32,14 @@
- ;
- function INTERNAL_GDL_MAP_LIBS
- ;
--FORWARD_FUNCTION PROJ4_EXISTS, PROJ4NEW_EXISTS
-+FORWARD_FUNCTION PROJ_EXISTS
- ;
- status=0
- ;
- ;
--if PROJ4_EXISTS() or PROJ4NEW_EXISTS() then return, 10
-+if PROJ_EXISTS() then return, 10
-
--print, 'Unfortunalty, GDL was compiled without LibProj4 or libProj4New support !'
-+print, 'Unfortunalty, GDL was compiled without PROJ support !'
- return,0
-
- end
-@@ -125,7 +125,7 @@ MAP_SET, 40,-105, /satellite, /grid, /cont,limit=[20,-130,70,-70], $
- sat_p=[2.22, 0, 0], title='Satellite Projection, North America'
- if DoWeBreak(tictac=tictac, fill=fill) then goto, go_to_end
- ;
--print, 'Exemple 6: Should plot World centered on Crozon peninsula using (GDL ONY) eckert1 projection -- Checking proj4 equivalent command used in the background'
-+print, 'Exemple 6: Should plot World centered on Crozon peninsula using (GDL ONY) eckert1 projection -- Checking PROJ equivalent command used in the background'
- map_set,name="eckert1",48.3,-4.5,/iso,e_cont={cont:1,fill:1,color:'33e469'x,hires:1},/hor,e_hor={nvert:200,fill:1,color:'F06A10'x},e_grid={box_axes:1,color:'1260E2'x,glinethick:1,glinestyle:0,latdel:10,londel:15},/check
- if DoWeBreak(tictac=tictac, fill=fill) then goto, go_to_end
- ;
diff --git a/gdl.spec b/gdl.spec
index f591149..d12f157 100644
--- a/gdl.spec
+++ b/gdl.spec
@@ -4,37 +4,28 @@
Name: gdl
Version: 1.0.0
-Release: 0.6.20210123git%{shortcommit}%{?dist}
+Release: 1%{?dist}
Summary: GNU Data Language
License: GPLv2+
URL: http://gnudatalanguage.sourceforge.net/
-#Source0: https://github.com/gnudatalanguage/gdl/archive/v%{version}-rc.3/gdl-%{ver...
-Source0: https://github.com/gnudatalanguage/gdl/archive/%{commit}/gdl-%{version}-g...
+Source0: https://github.com/gnudatalanguage/gdl/archive/v%{version}/gdl-%{version}...
+#Source0: https://github.com/gnudatalanguage/gdl/archive/%{commit}/gdl-%{version}-g...
Source1: gdl.csh
Source2: gdl.sh
Source4: xorg.conf
# Build with system antlr library. Request for upstream change here:
# https://sourceforge.net/tracker/index.php?func=detail&aid=2685215&group_i...
Patch1: gdl-antlr.patch
-# Support for PROJ 8
-# https://github.com/gnudatalanguage/gdl/pull/898
-Patch2: gdl-proj.patch
# Build fails on armv7hl
# https://bugzilla.redhat.com/show_bug.cgi?id=1919680
ExcludeArch: armv7hl
-%if 0%{?fedora} || 0%{?rhel} >= 7
BuildRequires: gcc-c++
BuildRequires: antlr-C++
BuildRequires: antlr-tool
BuildRequires: java-devel
-%endif
-%if 0%{?rhel} == 6
-BuildRequires: antlr
-BuildRequires: java
-%endif
BuildRequires: eigen3-static
BuildRequires: expat-devel
BuildRequires: fftw-devel
@@ -49,7 +40,7 @@ BuildRequires: libtiff-devel
BuildRequires: libtirpc-devel
BuildRequires: ncurses-devel
BuildRequires: netcdf-devel
-BuildRequires: plplot-devel
+BuildRequires: plplot-wxGTK-devel >= 5.11
BuildRequires: proj-devel
BuildRequires: pslib-devel
BuildRequires: python%{python3_pkgversion}-devel
@@ -60,45 +51,29 @@ BuildRequires: readline-devel
#BuildRequires: dSFMT-devel
Provides: bundled(dSFMT)
BuildRequires: shapelib-devel
-%if 0%{?fedora} || 0%{?rhel} >= 8
# eccodes not available on these arches
-%ifnarch i686 ppc64 s390x armv7hl aarch64
+%ifnarch i686 s390x armv7hl
BuildRequires: eccodes-devel
%else
BuildRequires: grib_api-devel
%endif
-%else
-# eccodes not available on these arches
-%ifnarch i686 ppc64 s390x armv7hl aarch64
-BuildRequires: eccodes-devel
-%else
-BuildRequires: grib_api-static
-%endif
-%endif
#TODO - Build with mpi support
#BuildRequires: mpich2-devel
-# qhull too old on Fedora 24 and EPEL7
-%if 0%{?fedora} || 0%{?rhel} >= 8
BuildRequires: qhull-devel
-%endif
BuildRequires: udunits2-devel
BuildRequires: wxGTK3-devel
BuildRequires: cmake3
# For tests
# EL8 s390x missing xorg-x11-drv-dummy
-%ifnarch s390x
+%if ! ( 0%{?rhel} >= 8 && "%{_arch}" == "s390x" )
BuildRequires: xorg-x11-drv-dummy
BuildRequires: metacity
%endif
BuildRequires: make
# Needed to pull in drivers
Requires: plplot
-%if 0%{?fedora} || 0%{?rhel} >= 8
# Widgets use wx
Recommends: plplot-wxGTK
-%else
-Requires: plplot-wxGTK
-%endif
Requires: %{name}-common = %{version}-%{release}
Provides: %{name}-runtime = %{version}-%{release}
# Need to match hdf5 compile time version
@@ -137,12 +112,14 @@ Provides: %{name}-runtime = %{version}-%{release}
%prep
-%setup -q -n gdl-%{commit}
+%setup -q -n gdl-%{version}
rm -rf src/antlr
# Not yet possible to build with external dSFMT
#rm -r src/dSFMT
%patch1 -p1 -b .antlr
-%patch2 -p1 -b .PROJ
+
+# Find grib_api on architectures where needed
+sed -i -e '/find_library(GRIB_LIBRARIES/s/eccodes/eccodes grib_api/' CMakeModules/FindGrib.cmake
pushd src
for f in *.g
@@ -188,15 +165,10 @@ pushd build-python
%make_install
# Install the python module in the right location
install -d -m 0755 $RPM_BUILD_ROOT/%{python_sitearch}
-%if 0%{?fedora} || 0%{?rhel} >= 8
%if "%{_lib}" != "lib"
mv $RPM_BUILD_ROOT%{_prefix}/lib/python*/site-packages/GDL.so \
$RPM_BUILD_ROOT%{python_sitearch}/GDL.so
%endif
-%else
-mv $RPM_BUILD_ROOT%{_prefix}/lib/site-python/GDL.so \
- $RPM_BUILD_ROOT%{python_sitearch}/GDL.so
-%endif
popd
# Install the profile file to set GDL_PATH
@@ -205,7 +177,8 @@ install -m 0644 %SOURCE1 $RPM_BUILD_ROOT/%{_sysconfdir}/profile.d
install -m 0644 %SOURCE2 $RPM_BUILD_ROOT/%{_sysconfdir}/profile.d
-%ifnarch s390x
+# EL8 s390x missing xorg-x11-drv-dummy
+%if ! ( 0%{?rhel} >= 8 && "%{_arch}" == "s390x" )
%check
cd build
cp %SOURCE4 .
@@ -223,47 +196,27 @@ export DISPLAY=:99
metacity &
sleep 2
-# device - Failed on EL7
-# fft_leak - https://github.com/gnudatalanguage/gdl/issues/147
-# file_delete - EL7 only ? https://github.com/gnudatalanguage/gdl/issues/148
-# file_test - https://github.com/gnudatalanguage/gdl/issues/534
-# formats - EL7 only ? https://github.com/gnudatalanguage/gdl/issues/144
-# get_screen_size - Failed on EL7
-# idlneturl - Requires network
-# make_dll - Windows specific
-failing_tests='test_(fft_leak|file_(delete|test)|formats|get_screen_size|idlneturl|make_dll)'
-%ifarch aarch64 %{power64}
-# test_fix fails currently on arm
-# https://sourceforge.net/p/gnudatalanguage/bugs/622/
-# https://bugzilla.redhat.com/show_bug.cgi?id=990749
-failing_tests="$failing_tests|test_(fix|hdf5)"
-%endif
%ifarch aarch64
-failing_tests="$failing_tests|test_(bug_(3104209|3104326|3147733)|byte_conversion|bytscl|fix|step)"
+failing_tests="test_(byte_conversion|bytscl)"
%endif
%ifarch %{arm}
# These fail on 32-bit: test_formats test_xdr
-failing_tests="$failing_tests|test_(file_lines|fix|formats|hdf5|xdr)"
+failing_tests="test_(file_lines|fix|formats|hdf5)"
%endif
%ifarch %{ix86}
-# binfmt - https://github.com/gnudatalanguage/gdl/issues/332
-# These fail on 32-bit: test_formats test_xdr
-failing_tests="$failing_tests|test_(formats|l64|sem|xdr)"
-%endif
-%ifarch ppc64
-failing_tests="$failing_tests|test_(bug_(635|3104209|3147733)|file_lines|save_restore|window_background)"
+# test_l64 https://github.com/gnudatalanguage/gdl/issues/1075
+failing_tests="test_l64"
%endif
%ifarch ppc64le
-# ppc64le - test_file_lines https://github.com/gnudatalanguage/gdl/issues/373
-failing_tests="$failing_tests|test_(bug_(3104209|3104326)|byte_conversion|bytscl|container|file_lines|finite|fix|random|rounding)"
+failing_tests="test_(byte_conversion|bytscl|finite)"
%endif
%ifarch s390x
-failing_tests="$failing_tests|test_(bug_635|byte_conversion|bytsc|deriv|file_lines|hdf5|image_statistics|save_restore|sort|tic_toc|window_background)"
+failing_tests="test_(bug_635|byte_conversion|bytsc|deriv|file_lines|hdf5|image_statistics|save_restore|sort|tic_toc|window_background)"
%endif
-make check VERBOSE=1 ARGS="-V -E '$failing_tests'"
-%ifnarch ppc64 s390x
-# test_save_restore hangs on ppc64 s390x
-make check VERBOSE=1 ARGS="-V -R '$failing_tests' --timeout 600" || :
+make test VERBOSE=1 ARGS="-V -E '$failing_tests'"
+%ifnarch s390x
+# test_save_restore hangs on s390x
+make test VERBOSE=1 ARGS="-V -R '$failing_tests' --timeout 600" || :
%endif
kill %1 || :
cat xorg.log
@@ -285,6 +238,10 @@ cat xorg.log
%changelog
+* Sun Aug 22 2021 Orion Poplawski <orion(a)nwra.com> - 1.0.0-1
+- Update to 1.0.0
+- Drop EL7 support due to plplot 5.11 requirement
+
* Tue Aug 10 2021 Orion Poplawski <orion(a)nwra.com> - 1.0.0-0.6.20210123git4892c96
- Rebuild for hdf5 1.10.7/netcdf 4.8.0
diff --git a/sources b/sources
index bc2aae3..0a237b6 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (gdl-1.0.0-git-4892c96.tar.gz) = 3649802bcf35e338bc92ae9cc8fc2bff49e2e5775f702db76809d5506fba3c11fb0440f7371131d940cc079c828bdb92d76dc76b3a2c0ed549412a343e40510b
+SHA512 (gdl-1.0.0.tar.gz) = 05de98725b63e553ad103d24e36994c5be948c9a05bfb092325d7fb049a852f10381445992ff4c158e98c07ace31e38ee78ba23b70f3b4e38f13e497dac330ce
2 years, 8 months
Architecture specific change in rpms/rust-aliasable.git
by githook-noreply@fedoraproject.org
The package rpms/rust-aliasable.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/rust-aliasable.git/commit/?id=344....
Change:
+ExclusiveArch: %{rust_arches}
Thanks.
Full change:
============
commit 34408703a8d462ca37bd69d28411a7ed78a2e610
Author: Christian Heimes <cheimes(a)redhat.com>
Date: Mon Aug 23 15:57:39 2021 +0200
Initial import (#1994912).
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..1e911d0
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/aliasable-0.1.3.crate
diff --git a/rust-aliasable.spec b/rust-aliasable.spec
new file mode 100644
index 0000000..1247995
--- /dev/null
+++ b/rust-aliasable.spec
@@ -0,0 +1,87 @@
+# Generated by rust2rpm 18
+%bcond_without check
+%global debug_package %{nil}
+
+%global crate aliasable
+
+Name: rust-%{crate}
+Version: 0.1.3
+Release: 1%{?dist}
+Summary: Basic aliasable (non unique pointer) types
+
+# Upstream license specification: MIT
+License: MIT
+URL: https://crates.io/crates/aliasable
+Source: %{crates_source}
+
+ExclusiveArch: %{rust_arches}
+%if %{__cargo_skip_build}
+BuildArch: noarch
+%endif
+
+BuildRequires: rust-packaging
+
+%global _description %{expand:
+Basic aliasable (non unique pointer) types.}
+
+%description %{_description}
+
+%package devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description devel %{_description}
+
+This package contains library source intended for building other packages
+which use "%{crate}" crate.
+
+%files devel
+%license LICENSE
+%doc README.md CHANGELOG.md
+%{cargo_registry}/%{crate}-%{version_no_tilde}/
+
+%package -n %{name}+default-devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description -n %{name}+default-devel %{_description}
+
+This package contains library source intended for building other packages
+which use "default" feature of "%{crate}" crate.
+
+%files -n %{name}+default-devel
+%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
+
+%package -n %{name}+alloc-devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description -n %{name}+alloc-devel %{_description}
+
+This package contains library source intended for building other packages
+which use "alloc" feature of "%{crate}" crate.
+
+%files -n %{name}+alloc-devel
+%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
+
+%prep
+%autosetup -n %{crate}-%{version_no_tilde} -p1
+%cargo_prep
+
+%generate_buildrequires
+%cargo_generate_buildrequires
+
+%build
+%cargo_build
+
+%install
+%cargo_install
+
+%if %{with check}
+%check
+%cargo_test
+%endif
+
+%changelog
+* Mon Aug 23 2021 Christian Heimes <cheimes(a)redhat.com> - 0.1.3-1
+- Initial package
diff --git a/sources b/sources
new file mode 100644
index 0000000..6eec32f
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+SHA512 (aliasable-0.1.3.crate) = a60e4280335638b36a72e51514843229fdd0cc89cb670fcf159f882a687c04ecbddcc52a1dcc3cbe8647e5308af3939037934a157facdddcc4834dcd3cb16dc8
2 years, 8 months
Architecture specific change in rpms/rust-pyo3-build-config.git
by githook-noreply@fedoraproject.org
The package rpms/rust-pyo3-build-config.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/rust-pyo3-build-config.git/commit....
Change:
+ExclusiveArch: %{rust_arches}
Thanks.
Full change:
============
commit 95277be8726448a244030ebd10e5fa30eea4fb68
Author: Christian Heimes <cheimes(a)redhat.com>
Date: Mon Aug 23 16:01:30 2021 +0200
Upstream release 0.14.3 (rhbz#1994946)
diff --git a/.gitignore b/.gitignore
index ac5ac0d..4198a32 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
/pyo3-build-config-0.14.2.crate
+/pyo3-build-config-0.14.3.crate
diff --git a/rust-pyo3-build-config.spec b/rust-pyo3-build-config.spec
index 8b67fdf..019ac24 100644
--- a/rust-pyo3-build-config.spec
+++ b/rust-pyo3-build-config.spec
@@ -5,7 +5,7 @@
%global crate pyo3-build-config
Name: rust-%{crate}
-Version: 0.14.2
+Version: 0.14.3
Release: 1%{?dist}
Summary: Build configuration for the PyO3 ecosystem
@@ -130,5 +130,8 @@ which use "abi3-py39" feature of "%{crate}" crate.
%endif
%changelog
+* Mon Aug 23 2021 Christian Heimes <cheimes(a)redhat.com> - 0.14.3-1
+- Upstream release 0.14.3 (rhbz#1994946)
+
* Wed Aug 18 2021 Christian Heimes <cheimes(a)redhat.com> - 0.14.2-1
- Initial package
diff --git a/sources b/sources
index 8edf673..f84d240 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (pyo3-build-config-0.14.2.crate) = 514b01524ad1b5304cf2e77ecd9ba6706796b34c3286be76e5730b99c980237af9938c6a48287da1d7b83c263231083e6eb425f158f33a40c6b2138cb3bef887
+SHA512 (pyo3-build-config-0.14.3.crate) = 3016aeee882e829013ce7ca9ad9eaca8310d7db3c948338822af127e916ccbcbbb00f798125e41214f1cab41355e81e0a0edb3dda6ae6492ef13b128ea9ddd50
commit 38785e3ac7164b379298f1e8211ba25b258346dd
Author: Christian Heimes <cheimes(a)redhat.com>
Date: Mon Aug 23 15:59:52 2021 +0200
Initial import (#1994946).
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..ac5ac0d
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/pyo3-build-config-0.14.2.crate
diff --git a/rust-pyo3-build-config.spec b/rust-pyo3-build-config.spec
new file mode 100644
index 0000000..8b67fdf
--- /dev/null
+++ b/rust-pyo3-build-config.spec
@@ -0,0 +1,134 @@
+# Generated by rust2rpm 18
+%bcond_without check
+%global debug_package %{nil}
+
+%global crate pyo3-build-config
+
+Name: rust-%{crate}
+Version: 0.14.2
+Release: 1%{?dist}
+Summary: Build configuration for the PyO3 ecosystem
+
+# Upstream license specification: Apache-2.0
+License: ASL 2.0
+URL: https://crates.io/crates/pyo3-build-config
+Source: %{crates_source}
+
+ExclusiveArch: %{rust_arches}
+%if %{__cargo_skip_build}
+BuildArch: noarch
+%endif
+
+BuildRequires: rust-packaging
+
+%global _description %{expand:
+Build configuration for the PyO3 ecosystem.}
+
+%description %{_description}
+
+%package devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description devel %{_description}
+
+This package contains library source intended for building other packages
+which use "%{crate}" crate.
+
+%files devel
+%license LICENSE
+%{cargo_registry}/%{crate}-%{version_no_tilde}/
+
+%package -n %{name}+default-devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description -n %{name}+default-devel %{_description}
+
+This package contains library source intended for building other packages
+which use "default" feature of "%{crate}" crate.
+
+%files -n %{name}+default-devel
+%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
+
+%package -n %{name}+abi3-devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description -n %{name}+abi3-devel %{_description}
+
+This package contains library source intended for building other packages
+which use "abi3" feature of "%{crate}" crate.
+
+%files -n %{name}+abi3-devel
+%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
+
+%package -n %{name}+abi3-py36-devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description -n %{name}+abi3-py36-devel %{_description}
+
+This package contains library source intended for building other packages
+which use "abi3-py36" feature of "%{crate}" crate.
+
+%files -n %{name}+abi3-py36-devel
+%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
+
+%package -n %{name}+abi3-py37-devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description -n %{name}+abi3-py37-devel %{_description}
+
+This package contains library source intended for building other packages
+which use "abi3-py37" feature of "%{crate}" crate.
+
+%files -n %{name}+abi3-py37-devel
+%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
+
+%package -n %{name}+abi3-py38-devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description -n %{name}+abi3-py38-devel %{_description}
+
+This package contains library source intended for building other packages
+which use "abi3-py38" feature of "%{crate}" crate.
+
+%files -n %{name}+abi3-py38-devel
+%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
+
+%package -n %{name}+abi3-py39-devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description -n %{name}+abi3-py39-devel %{_description}
+
+This package contains library source intended for building other packages
+which use "abi3-py39" feature of "%{crate}" crate.
+
+%files -n %{name}+abi3-py39-devel
+%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
+
+%prep
+%autosetup -n %{crate}-%{version_no_tilde} -p1
+%cargo_prep
+
+%generate_buildrequires
+%cargo_generate_buildrequires
+
+%build
+%cargo_build
+
+%install
+%cargo_install
+
+%if %{with check}
+%check
+%cargo_test
+%endif
+
+%changelog
+* Wed Aug 18 2021 Christian Heimes <cheimes(a)redhat.com> - 0.14.2-1
+- Initial package
diff --git a/sources b/sources
new file mode 100644
index 0000000..8edf673
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+SHA512 (pyo3-build-config-0.14.2.crate) = 514b01524ad1b5304cf2e77ecd9ba6706796b34c3286be76e5730b99c980237af9938c6a48287da1d7b83c263231083e6eb425f158f33a40c6b2138cb3bef887
2 years, 8 months
Architecture specific change in rpms/thunderbird.git
by githook-noreply@fedoraproject.org
The package rpms/thunderbird.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/thunderbird.git/commit/?id=c50dfc....
Change:
-%ifarch %{arm} %{ix86}
Thanks.
Full change:
============
commit bb31bb44f795ac868c549f0a399c890d02450874
Author: Jan Horak <jhorak(a)redhat.com>
Date: Mon Aug 23 13:44:06 2021 +0200
Update to 91.0.2
diff --git a/.gitignore b/.gitignore
index c44b9e4..ba5d6d5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -331,3 +331,5 @@ thunderbird-langpacks-3.1.2-20100803.tar.bz2
/thunderbird-langpacks-78.11.0-20210602.tar.xz
/thunderbird-78.12.0.source.tar.xz
/thunderbird-langpacks-78.12.0-20210721.tar.xz
+/thunderbird-91.0.2.source.tar.xz
+/thunderbird-langpacks-91.0.2-20210823.tar.xz
diff --git a/sources b/sources
index 2ac88d1..d0dcb99 100644
--- a/sources
+++ b/sources
@@ -1,3 +1,3 @@
-SHA512 (thunderbird-78.12.0.source.tar.xz) = 8a9275f6a454b16215e9440d8b68926e56221dbb416f77ea0cd0a42853bdd26f35514e792564879c387271bd43d8ee966577f133f8ae7781f43e8bec9ab78696
-SHA512 (thunderbird-langpacks-78.12.0-20210721.tar.xz) = 3905fee11ad6c5b468d95a55bf3200a4be30b1d87a00b77945962873a9567b2a1a7e9ab78ac902f75cbbcb722c4579044f6699353c1a7e39e175bfc530dbd318
-SHA512 (cbindgen-vendor-0.14.3.tar.xz) = 33c8d28547674121f690eea0d3ebac33926a39caacac787bf8ed8b346478822e74da5a4a1f57ab4df4105fa8376739a2ece888845a85bc5712aaed20e4a508bc
+SHA512 (thunderbird-91.0.2.source.tar.xz) = 468be2f5024fd32eb22a661ed5f30de5d74231ee736e6743a9fb84e747bf45fceaaf286a5cbb20eb41f8ab98e0c56310eab3d2e6077fd81ee0ef52b28c33a3f2
+SHA512 (thunderbird-langpacks-91.0.2-20210823.tar.xz) = 23f9b1087ef11d79dbee4c906e1c70c1a16abc4f83278f0f30da8b2fdda55d699c98199a0ecccf3298239b68f93e2b8ce4fcbb34f7babfd0c73da63478d16d7c
+SHA512 (cbindgen-vendor.tar.xz) = cb6a75b50e598aa686c42ca3927a15f4a6595c074a0dc2ac3c5768658666b55f7f42f3fb8cadabaabe509537bca62102c71017ffa1526c4daa0e7732ee476724
diff --git a/thunderbird.spec b/thunderbird.spec
index dd41faf..34f2070 100644
--- a/thunderbird.spec
+++ b/thunderbird.spec
@@ -89,16 +89,16 @@ ExcludeArch: s390x
Summary: Mozilla Thunderbird mail/newsgroup client
Name: thunderbird
-Version: 91.0
+Version: 91.0.2
Release: 1%{?dist}
URL: http://www.mozilla.org/projects/thunderbird/
License: MPLv1.1 or GPLv2+ or LGPLv2+
Source0: https://archive.mozilla.org/pub/thunderbird/releases/%{version}%{?pre_ver...
%if %{build_langpacks}
-Source1: thunderbird-langpacks-%{version}-20210816.tar.xz
+Source1: thunderbird-langpacks-%{version}-20210823.tar.xz
%endif
Source3: get-calendar-langpacks.sh
-Source4: cbindgen-vendor-0.14.3.tar.xz
+Source4: cbindgen-vendor.tar.xz
Source10: thunderbird-mozconfig
Source11: thunderbird-mozconfig-branded
@@ -766,6 +766,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
#===============================================================================
%changelog
+* Mon Aug 23 2021 Jan Horak <jhorak(a)redhat.com> - 91.0.2-1
+- Update to 91.0.2 build1
+
* Mon Aug 16 2021 Jan Horak <jhorak(a)redhat.com> - 91.0-1
- Update to 91.0 build1
commit c50dfcd979af6ba045a7c9892bb9cbd704c1b0f3
Author: Jan Horak <jhorak(a)redhat.com>
Date: Mon Aug 23 13:33:18 2021 +0200
Update to 91.0
diff --git a/build-disable-elfhack.patch b/build-disable-elfhack.patch
deleted file mode 100644
index 0856e5c..0000000
--- a/build-disable-elfhack.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up thunderbird-68.0/toolkit/moz.configure.elfhack thunderbird-68.0/toolkit/moz.configure
---- thunderbird-68.0/toolkit/moz.configure.elfhack 2019-08-29 16:33:28.491708653 +0200
-+++ thunderbird-68.0/toolkit/moz.configure 2019-08-29 16:33:58.019805525 +0200
-@@ -1130,7 +1130,7 @@ with only_when('--enable-compile-environ
- help='{Enable|Disable} elf hacks')
-
- set_config('USE_ELF_HACK',
-- depends_if('--enable-elf-hack')(lambda _: True))
-+ depends_if('--enable-elf-hack')(lambda _: False))
-
-
- @depends(check_build_environment)
diff --git a/build-python3.10.patch b/build-python3.10.patch
deleted file mode 100644
index 40766b3..0000000
--- a/build-python3.10.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up thunderbird-78.12.0/python/mach/mach/main.py.python3.10 thunderbird-78.12.0/python/mach/mach/main.py
---- thunderbird-78.12.0/python/mach/mach/main.py.python3.10 2021-07-27 08:10:52.680466611 +0200
-+++ thunderbird-78.12.0/python/mach/mach/main.py 2021-07-27 08:11:17.377561233 +0200
-@@ -16,7 +16,7 @@ import os
- import sys
- import traceback
- import uuid
--from collections import Iterable
-+from collections.abc import Iterable
-
- from six import string_types
-
diff --git a/thunderbird-mozconfig b/thunderbird-mozconfig
index 15ae03d..8dd4122 100644
--- a/thunderbird-mozconfig
+++ b/thunderbird-mozconfig
@@ -1,23 +1,39 @@
mk_add_options MOZ_CO_PROJECT=mail
ac_add_options --enable-application=comm/mail
-mk_add_options AUTOCONF=autoconf-2.13
-ac_add_options --enable-default-toolkit=cairo-gtk3-wayland
-
-ac_add_options --prefix="$PREFIX"
-ac_add_options --libdir="$LIBDIR"
-ac_add_options --with-system-jpeg
ac_add_options --with-system-zlib
-ac_add_options --with-system-libvpx
-ac_add_options --disable-tests
ac_add_options --disable-strip
-# temporary disable system cairo, because compilation fails
-ac_add_options --disable-necko-wifi
+#ac_add_options --enable-libnotify
+ac_add_options --enable-necko-wifi
ac_add_options --disable-updater
-ac_add_options --with-system-icu
+ac_add_options --enable-chrome-format=omni
+ac_add_options --enable-pulseaudio
+ac_add_options --enable-av1
+ac_add_options --without-system-icu
+ac_add_options --enable-release
+ac_add_options --update-channel=release
+ac_add_options --allow-addon-sideload
+ac_add_options --enable-js-shell
+ac_add_options --with-unsigned-addon-scopes=app,system
+
+
+
+
+#mk_add_options AUTOCONF=autoconf-2.13
+
+#ac_add_options --enable-default-toolkit=cairo-gtk3-wayland
-# lightning related
-ac_add_options --enable-calendar
+#ac_add_options --prefix="$PREFIX"
+#ac_add_options --libdir="$LIBDIR"
+#ac_add_options --with-system-jpeg
+#ac_add_options --with-system-zlib
+#ac_add_options --with-system-libvpx
+#ac_add_options --disable-tests
+#ac_add_options --disable-strip
+## temporary disable system cairo, because compilation fails
+#ac_add_options --disable-necko-wifi
+#ac_add_options --disable-updater
+#ac_add_options --with-system-icu
export BUILD_OFFICIAL=1
export MOZILLA_OFFICIAL=1
diff --git a/thunderbird.spec b/thunderbird.spec
index e889fa2..dd41faf 100644
--- a/thunderbird.spec
+++ b/thunderbird.spec
@@ -89,13 +89,13 @@ ExcludeArch: s390x
Summary: Mozilla Thunderbird mail/newsgroup client
Name: thunderbird
-Version: 78.12.0
-Release: 2%{?dist}
+Version: 91.0
+Release: 1%{?dist}
URL: http://www.mozilla.org/projects/thunderbird/
License: MPLv1.1 or GPLv2+ or LGPLv2+
Source0: https://archive.mozilla.org/pub/thunderbird/releases/%{version}%{?pre_ver...
%if %{build_langpacks}
-Source1: thunderbird-langpacks-%{version}-20210721.tar.xz
+Source1: thunderbird-langpacks-%{version}-20210816.tar.xz
%endif
Source3: get-calendar-langpacks.sh
Source4: cbindgen-vendor-0.14.3.tar.xz
@@ -119,11 +119,9 @@ Patch417: build-aarch64-user_vfp.patch
Patch418: mozilla-1512162.patch
Patch419: bindgen-d0dfc52706f23db9dc9d74642eeebd89d73cb8d0.patch
Patch103: rhbz-1219542-s390-build.patch
-Patch104: build-python3.10.patch
# PPC fix
Patch304: mozilla-1245783.patch
-Patch307: build-disable-elfhack.patch
# Fedora specific patches
@@ -154,7 +152,7 @@ BuildRequires: libjpeg-devel
BuildRequires: zip
BuildRequires: bzip2-devel
BuildRequires: zlib-devel
-BuildRequires: libIDL-devel
+#BuildRequires: libIDL-devel
BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(gtk+-2.0)
BuildRequires: krb5-devel
@@ -175,7 +173,7 @@ BuildRequires: libffi-devel
%endif
BuildRequires: startup-notification-devel
BuildRequires: alsa-lib-devel
-BuildRequires: autoconf213
+#BuildRequires: autoconf213
BuildRequires: desktop-file-utils
BuildRequires: libcurl-devel
BuildRequires: mesa-libGL-devel
@@ -266,7 +264,6 @@ debug %{name}, you want to install %{name}-debuginfo instead.
%if 0%{?fedora} >= 35
# since python3.10 we need to use `from collections.abc` instead of `from collections`.
-%patch104 -p1 -b .python3.10
%endif
%patch304 -p1 -b .1245783
@@ -281,14 +278,13 @@ debug %{name}, you want to install %{name}-debuginfo instead.
%ifarch %{arm}
%patch415 -p1 -b .mozilla-1238661
%endif
-%patch416 -p1 -b .SIOCGSTAMP
+#FIXME %patch416 -p1 -b .SIOCGSTAMP
%patch417 -p1 -b .aarch64-user_vfp
%patch418 -p1 -b .mozbz-1512162
# most likely fixed
#%patch419 -p1 -b .bindgen
%if 0%{?disable_elfhack}
-%patch307 -p1 -b .elfhack
%endif
#cd ..
@@ -458,8 +454,6 @@ MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -Wformat-security -Wformat -Werror=format-security
# Workaround for mozbz#1531309
MOZ_OPT_FLAGS=$(echo "$MOZ_OPT_FLAGS" | %{__sed} -e 's/-Werror=format-security//')
%endif
-# Disable null pointer gcc6 optimization (rhbz#1311886)
-MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -fno-delete-null-pointer-checks"
# Use hardened build?
%if %{?hardened_build}
MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -fPIC -Wl,-z,relro -Wl,-z,now"
@@ -489,39 +483,38 @@ MOZ_LINK_FLAGS="-Wl,--no-keep-memory"
echo "ac_add_options --enable-linker=gold" >> .mozconfig
%endif
%endif
-
+%if 0%{?flatpak}
+# Make sure the linker can find libraries in /app/lib64 as we don't use
+# __global_ldflags that normally sets this.
+MOZ_LINK_FLAGS="$MOZ_LINK_FLAGS -L%{_libdir}"
+%endif
+%ifarch %{arm} %{ix86} %{s390x}
+export RUSTFLAGS="-Cdebuginfo=0"
+%endif
# We don't want thunderbird to use CK_GCM_PARAMS_V3 in nss
MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -DNSS_PKCS11_3_0_STRICT"
-
-export CFLAGS=`echo $MOZ_OPT_FLAGS |sed -e 's/-fpermissive//g'`
-export CXXFLAGS=$MOZ_OPT_FLAGS
-export LDFLAGS=$MOZ_LINK_FLAGS
-
-export PREFIX='%{_prefix}'
-export LIBDIR='%{_libdir}'
-
-%ifarch %{arm} %{ix86}
-export RUSTFLAGS="-Cdebuginfo=0"
-%endif
+echo "export CFLAGS=\"$MOZ_OPT_FLAGS\"" >> .mozconfig
+echo "export CXXFLAGS=\"$MOZ_OPT_FLAGS\"" >> .mozconfig
+echo "export LDFLAGS=\"$MOZ_LINK_FLAGS\"" >> .mozconfig
%if 0%{?build_with_clang}
-export LLVM_PROFDATA="llvm-profdata"
-export AR="llvm-ar"
-export NM="llvm-nm"
-export RANLIB="llvm-ranlib"
+echo "export LLVM_PROFDATA=\"llvm-profdata\"" >> .mozconfig
+echo "export AR=\"llvm-ar\"" >> .mozconfig
+echo "export NM=\"llvm-nm\"" >> .mozconfig
+echo "export RANLIB=\"llvm-ranlib\"" >> .mozconfig
echo "ac_add_options --enable-linker=lld" >> .mozconfig
%else
-export CC=gcc
-export CXX=g++
-export AR="gcc-ar"
-export NM="gcc-nm"
-export RANLIB="gcc-ranlib"
+echo "export CC=gcc" >> .mozconfig
+echo "export CXX=g++" >> .mozconfig
+echo "export AR=\"gcc-ar\"" >> .mozconfig
+echo "export NM=\"gcc-nm\"" >> .mozconfig
+echo "export RANLIB=\"gcc-ranlib\"" >> .mozconfig
%endif
-
%if 0%{?build_with_pgo}
echo "ac_add_options MOZ_PGO=1" >> .mozconfig
-echo "ac_add_options --enable-lto" >> .mozconfig
+# PGO build doesn't work with ccache
+export CCACHE_DISABLE=1
%endif
MOZ_SMP_FLAGS=-j1
@@ -538,7 +531,7 @@ MOZ_SMP_FLAGS=-j1
export MOZ_MAKE_FLAGS="$MOZ_SMP_FLAGS"
export STRIP=/bin/true
-./mach build
+./mach build -v
# create debuginfo for crash-stats.mozilla.com
%if %{enable_mozilla_crashreporter}
@@ -773,6 +766,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
#===============================================================================
%changelog
+* Mon Aug 16 2021 Jan Horak <jhorak(a)redhat.com> - 91.0-1
+- Update to 91.0 build1
+
* Fri Jul 23 2021 Fedora Release Engineering <releng(a)fedoraproject.org> - 78.12.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
2 years, 8 months
Architecture specific change in rpms/thunderbird.git
by githook-noreply@fedoraproject.org
The package rpms/thunderbird.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/thunderbird.git/commit/?id=c50dfc....
Change:
-%ifarch %{arm} %{ix86}
Thanks.
Full change:
============
commit bb31bb44f795ac868c549f0a399c890d02450874
Author: Jan Horak <jhorak(a)redhat.com>
Date: Mon Aug 23 13:44:06 2021 +0200
Update to 91.0.2
diff --git a/.gitignore b/.gitignore
index c44b9e4..ba5d6d5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -331,3 +331,5 @@ thunderbird-langpacks-3.1.2-20100803.tar.bz2
/thunderbird-langpacks-78.11.0-20210602.tar.xz
/thunderbird-78.12.0.source.tar.xz
/thunderbird-langpacks-78.12.0-20210721.tar.xz
+/thunderbird-91.0.2.source.tar.xz
+/thunderbird-langpacks-91.0.2-20210823.tar.xz
diff --git a/sources b/sources
index 2ac88d1..d0dcb99 100644
--- a/sources
+++ b/sources
@@ -1,3 +1,3 @@
-SHA512 (thunderbird-78.12.0.source.tar.xz) = 8a9275f6a454b16215e9440d8b68926e56221dbb416f77ea0cd0a42853bdd26f35514e792564879c387271bd43d8ee966577f133f8ae7781f43e8bec9ab78696
-SHA512 (thunderbird-langpacks-78.12.0-20210721.tar.xz) = 3905fee11ad6c5b468d95a55bf3200a4be30b1d87a00b77945962873a9567b2a1a7e9ab78ac902f75cbbcb722c4579044f6699353c1a7e39e175bfc530dbd318
-SHA512 (cbindgen-vendor-0.14.3.tar.xz) = 33c8d28547674121f690eea0d3ebac33926a39caacac787bf8ed8b346478822e74da5a4a1f57ab4df4105fa8376739a2ece888845a85bc5712aaed20e4a508bc
+SHA512 (thunderbird-91.0.2.source.tar.xz) = 468be2f5024fd32eb22a661ed5f30de5d74231ee736e6743a9fb84e747bf45fceaaf286a5cbb20eb41f8ab98e0c56310eab3d2e6077fd81ee0ef52b28c33a3f2
+SHA512 (thunderbird-langpacks-91.0.2-20210823.tar.xz) = 23f9b1087ef11d79dbee4c906e1c70c1a16abc4f83278f0f30da8b2fdda55d699c98199a0ecccf3298239b68f93e2b8ce4fcbb34f7babfd0c73da63478d16d7c
+SHA512 (cbindgen-vendor.tar.xz) = cb6a75b50e598aa686c42ca3927a15f4a6595c074a0dc2ac3c5768658666b55f7f42f3fb8cadabaabe509537bca62102c71017ffa1526c4daa0e7732ee476724
diff --git a/thunderbird.spec b/thunderbird.spec
index dd41faf..34f2070 100644
--- a/thunderbird.spec
+++ b/thunderbird.spec
@@ -89,16 +89,16 @@ ExcludeArch: s390x
Summary: Mozilla Thunderbird mail/newsgroup client
Name: thunderbird
-Version: 91.0
+Version: 91.0.2
Release: 1%{?dist}
URL: http://www.mozilla.org/projects/thunderbird/
License: MPLv1.1 or GPLv2+ or LGPLv2+
Source0: https://archive.mozilla.org/pub/thunderbird/releases/%{version}%{?pre_ver...
%if %{build_langpacks}
-Source1: thunderbird-langpacks-%{version}-20210816.tar.xz
+Source1: thunderbird-langpacks-%{version}-20210823.tar.xz
%endif
Source3: get-calendar-langpacks.sh
-Source4: cbindgen-vendor-0.14.3.tar.xz
+Source4: cbindgen-vendor.tar.xz
Source10: thunderbird-mozconfig
Source11: thunderbird-mozconfig-branded
@@ -766,6 +766,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
#===============================================================================
%changelog
+* Mon Aug 23 2021 Jan Horak <jhorak(a)redhat.com> - 91.0.2-1
+- Update to 91.0.2 build1
+
* Mon Aug 16 2021 Jan Horak <jhorak(a)redhat.com> - 91.0-1
- Update to 91.0 build1
commit c50dfcd979af6ba045a7c9892bb9cbd704c1b0f3
Author: Jan Horak <jhorak(a)redhat.com>
Date: Mon Aug 23 13:33:18 2021 +0200
Update to 91.0
diff --git a/build-disable-elfhack.patch b/build-disable-elfhack.patch
deleted file mode 100644
index 0856e5c..0000000
--- a/build-disable-elfhack.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up thunderbird-68.0/toolkit/moz.configure.elfhack thunderbird-68.0/toolkit/moz.configure
---- thunderbird-68.0/toolkit/moz.configure.elfhack 2019-08-29 16:33:28.491708653 +0200
-+++ thunderbird-68.0/toolkit/moz.configure 2019-08-29 16:33:58.019805525 +0200
-@@ -1130,7 +1130,7 @@ with only_when('--enable-compile-environ
- help='{Enable|Disable} elf hacks')
-
- set_config('USE_ELF_HACK',
-- depends_if('--enable-elf-hack')(lambda _: True))
-+ depends_if('--enable-elf-hack')(lambda _: False))
-
-
- @depends(check_build_environment)
diff --git a/build-python3.10.patch b/build-python3.10.patch
deleted file mode 100644
index 40766b3..0000000
--- a/build-python3.10.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up thunderbird-78.12.0/python/mach/mach/main.py.python3.10 thunderbird-78.12.0/python/mach/mach/main.py
---- thunderbird-78.12.0/python/mach/mach/main.py.python3.10 2021-07-27 08:10:52.680466611 +0200
-+++ thunderbird-78.12.0/python/mach/mach/main.py 2021-07-27 08:11:17.377561233 +0200
-@@ -16,7 +16,7 @@ import os
- import sys
- import traceback
- import uuid
--from collections import Iterable
-+from collections.abc import Iterable
-
- from six import string_types
-
diff --git a/thunderbird-mozconfig b/thunderbird-mozconfig
index 15ae03d..8dd4122 100644
--- a/thunderbird-mozconfig
+++ b/thunderbird-mozconfig
@@ -1,23 +1,39 @@
mk_add_options MOZ_CO_PROJECT=mail
ac_add_options --enable-application=comm/mail
-mk_add_options AUTOCONF=autoconf-2.13
-ac_add_options --enable-default-toolkit=cairo-gtk3-wayland
-
-ac_add_options --prefix="$PREFIX"
-ac_add_options --libdir="$LIBDIR"
-ac_add_options --with-system-jpeg
ac_add_options --with-system-zlib
-ac_add_options --with-system-libvpx
-ac_add_options --disable-tests
ac_add_options --disable-strip
-# temporary disable system cairo, because compilation fails
-ac_add_options --disable-necko-wifi
+#ac_add_options --enable-libnotify
+ac_add_options --enable-necko-wifi
ac_add_options --disable-updater
-ac_add_options --with-system-icu
+ac_add_options --enable-chrome-format=omni
+ac_add_options --enable-pulseaudio
+ac_add_options --enable-av1
+ac_add_options --without-system-icu
+ac_add_options --enable-release
+ac_add_options --update-channel=release
+ac_add_options --allow-addon-sideload
+ac_add_options --enable-js-shell
+ac_add_options --with-unsigned-addon-scopes=app,system
+
+
+
+
+#mk_add_options AUTOCONF=autoconf-2.13
+
+#ac_add_options --enable-default-toolkit=cairo-gtk3-wayland
-# lightning related
-ac_add_options --enable-calendar
+#ac_add_options --prefix="$PREFIX"
+#ac_add_options --libdir="$LIBDIR"
+#ac_add_options --with-system-jpeg
+#ac_add_options --with-system-zlib
+#ac_add_options --with-system-libvpx
+#ac_add_options --disable-tests
+#ac_add_options --disable-strip
+## temporary disable system cairo, because compilation fails
+#ac_add_options --disable-necko-wifi
+#ac_add_options --disable-updater
+#ac_add_options --with-system-icu
export BUILD_OFFICIAL=1
export MOZILLA_OFFICIAL=1
diff --git a/thunderbird.spec b/thunderbird.spec
index e889fa2..dd41faf 100644
--- a/thunderbird.spec
+++ b/thunderbird.spec
@@ -89,13 +89,13 @@ ExcludeArch: s390x
Summary: Mozilla Thunderbird mail/newsgroup client
Name: thunderbird
-Version: 78.12.0
-Release: 2%{?dist}
+Version: 91.0
+Release: 1%{?dist}
URL: http://www.mozilla.org/projects/thunderbird/
License: MPLv1.1 or GPLv2+ or LGPLv2+
Source0: https://archive.mozilla.org/pub/thunderbird/releases/%{version}%{?pre_ver...
%if %{build_langpacks}
-Source1: thunderbird-langpacks-%{version}-20210721.tar.xz
+Source1: thunderbird-langpacks-%{version}-20210816.tar.xz
%endif
Source3: get-calendar-langpacks.sh
Source4: cbindgen-vendor-0.14.3.tar.xz
@@ -119,11 +119,9 @@ Patch417: build-aarch64-user_vfp.patch
Patch418: mozilla-1512162.patch
Patch419: bindgen-d0dfc52706f23db9dc9d74642eeebd89d73cb8d0.patch
Patch103: rhbz-1219542-s390-build.patch
-Patch104: build-python3.10.patch
# PPC fix
Patch304: mozilla-1245783.patch
-Patch307: build-disable-elfhack.patch
# Fedora specific patches
@@ -154,7 +152,7 @@ BuildRequires: libjpeg-devel
BuildRequires: zip
BuildRequires: bzip2-devel
BuildRequires: zlib-devel
-BuildRequires: libIDL-devel
+#BuildRequires: libIDL-devel
BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(gtk+-2.0)
BuildRequires: krb5-devel
@@ -175,7 +173,7 @@ BuildRequires: libffi-devel
%endif
BuildRequires: startup-notification-devel
BuildRequires: alsa-lib-devel
-BuildRequires: autoconf213
+#BuildRequires: autoconf213
BuildRequires: desktop-file-utils
BuildRequires: libcurl-devel
BuildRequires: mesa-libGL-devel
@@ -266,7 +264,6 @@ debug %{name}, you want to install %{name}-debuginfo instead.
%if 0%{?fedora} >= 35
# since python3.10 we need to use `from collections.abc` instead of `from collections`.
-%patch104 -p1 -b .python3.10
%endif
%patch304 -p1 -b .1245783
@@ -281,14 +278,13 @@ debug %{name}, you want to install %{name}-debuginfo instead.
%ifarch %{arm}
%patch415 -p1 -b .mozilla-1238661
%endif
-%patch416 -p1 -b .SIOCGSTAMP
+#FIXME %patch416 -p1 -b .SIOCGSTAMP
%patch417 -p1 -b .aarch64-user_vfp
%patch418 -p1 -b .mozbz-1512162
# most likely fixed
#%patch419 -p1 -b .bindgen
%if 0%{?disable_elfhack}
-%patch307 -p1 -b .elfhack
%endif
#cd ..
@@ -458,8 +454,6 @@ MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -Wformat-security -Wformat -Werror=format-security
# Workaround for mozbz#1531309
MOZ_OPT_FLAGS=$(echo "$MOZ_OPT_FLAGS" | %{__sed} -e 's/-Werror=format-security//')
%endif
-# Disable null pointer gcc6 optimization (rhbz#1311886)
-MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -fno-delete-null-pointer-checks"
# Use hardened build?
%if %{?hardened_build}
MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -fPIC -Wl,-z,relro -Wl,-z,now"
@@ -489,39 +483,38 @@ MOZ_LINK_FLAGS="-Wl,--no-keep-memory"
echo "ac_add_options --enable-linker=gold" >> .mozconfig
%endif
%endif
-
+%if 0%{?flatpak}
+# Make sure the linker can find libraries in /app/lib64 as we don't use
+# __global_ldflags that normally sets this.
+MOZ_LINK_FLAGS="$MOZ_LINK_FLAGS -L%{_libdir}"
+%endif
+%ifarch %{arm} %{ix86} %{s390x}
+export RUSTFLAGS="-Cdebuginfo=0"
+%endif
# We don't want thunderbird to use CK_GCM_PARAMS_V3 in nss
MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -DNSS_PKCS11_3_0_STRICT"
-
-export CFLAGS=`echo $MOZ_OPT_FLAGS |sed -e 's/-fpermissive//g'`
-export CXXFLAGS=$MOZ_OPT_FLAGS
-export LDFLAGS=$MOZ_LINK_FLAGS
-
-export PREFIX='%{_prefix}'
-export LIBDIR='%{_libdir}'
-
-%ifarch %{arm} %{ix86}
-export RUSTFLAGS="-Cdebuginfo=0"
-%endif
+echo "export CFLAGS=\"$MOZ_OPT_FLAGS\"" >> .mozconfig
+echo "export CXXFLAGS=\"$MOZ_OPT_FLAGS\"" >> .mozconfig
+echo "export LDFLAGS=\"$MOZ_LINK_FLAGS\"" >> .mozconfig
%if 0%{?build_with_clang}
-export LLVM_PROFDATA="llvm-profdata"
-export AR="llvm-ar"
-export NM="llvm-nm"
-export RANLIB="llvm-ranlib"
+echo "export LLVM_PROFDATA=\"llvm-profdata\"" >> .mozconfig
+echo "export AR=\"llvm-ar\"" >> .mozconfig
+echo "export NM=\"llvm-nm\"" >> .mozconfig
+echo "export RANLIB=\"llvm-ranlib\"" >> .mozconfig
echo "ac_add_options --enable-linker=lld" >> .mozconfig
%else
-export CC=gcc
-export CXX=g++
-export AR="gcc-ar"
-export NM="gcc-nm"
-export RANLIB="gcc-ranlib"
+echo "export CC=gcc" >> .mozconfig
+echo "export CXX=g++" >> .mozconfig
+echo "export AR=\"gcc-ar\"" >> .mozconfig
+echo "export NM=\"gcc-nm\"" >> .mozconfig
+echo "export RANLIB=\"gcc-ranlib\"" >> .mozconfig
%endif
-
%if 0%{?build_with_pgo}
echo "ac_add_options MOZ_PGO=1" >> .mozconfig
-echo "ac_add_options --enable-lto" >> .mozconfig
+# PGO build doesn't work with ccache
+export CCACHE_DISABLE=1
%endif
MOZ_SMP_FLAGS=-j1
@@ -538,7 +531,7 @@ MOZ_SMP_FLAGS=-j1
export MOZ_MAKE_FLAGS="$MOZ_SMP_FLAGS"
export STRIP=/bin/true
-./mach build
+./mach build -v
# create debuginfo for crash-stats.mozilla.com
%if %{enable_mozilla_crashreporter}
@@ -773,6 +766,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
#===============================================================================
%changelog
+* Mon Aug 16 2021 Jan Horak <jhorak(a)redhat.com> - 91.0-1
+- Update to 91.0 build1
+
* Fri Jul 23 2021 Fedora Release Engineering <releng(a)fedoraproject.org> - 78.12.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
2 years, 8 months
Architecture specific change in rpms/HepMC3.git
by githook-noreply@fedoraproject.org
The package rpms/HepMC3.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/HepMC3.git/commit/?id=13b0e062b2a....
Change:
-%ifnarch s390x
Thanks.
Full change:
============
commit 13b0e062b2ab18f268f385bb570d73fd1a7579e7
Author: Mattias Ellert <mattias.ellert(a)physics.uu.se>
Date: Mon Aug 23 10:46:39 2021 +0200
Rebuild for root 6.24.02
Build rootIO module also for s390x
Reenable valgrind tests
diff --git a/HepMC3.spec b/HepMC3.spec
index 7d5bea4..b5a6555 100644
--- a/HepMC3.spec
+++ b/HepMC3.spec
@@ -3,7 +3,7 @@
Name: HepMC3
Version: 3.2.4
-Release: 2%{?dist}
+Release: 3%{?dist}
Summary: C++ Event Record for Monte Carlo Generators
License: GPLv3+
@@ -18,12 +18,10 @@ BuildRequires: cmake >= 3.9
%endif
BuildRequires: make
BuildRequires: gcc-c++
-%ifnarch s390x
BuildRequires: root-core
BuildRequires: root-hist
BuildRequires: root-io
BuildRequires: root-tree
-%endif
BuildRequires: doxygen
BuildRequires: graphviz
%if %{?rhel}%{!?rhel:0} == 7
@@ -73,7 +71,6 @@ Requires: %{name}-devel%{?_isa} = %{version}-%{release}
%description search-devel
This package provides development files for %{name}-search.
-%ifnarch s390x
%package rootIO
Summary: C++ Event Record for Monte Carlo Generators - ROOT IO
Requires: %{name}%{?_isa} = %{version}-%{release}
@@ -88,7 +85,6 @@ Requires: %{name}-devel%{?_isa} = %{version}-%{release}
%description rootIO-devel
This package provides development files for %{name}-rootIO.
-%endif
%package interfaces-devel
Summary: C++ Event Record for Monte Carlo Generators - generator interfaces
@@ -116,7 +112,6 @@ Requires: python2-%{name}%{?_isa} = %{version}-%{release}
%description -n python2-%{name}-search
This package provides the Python 2 bindings for HepMC3 search module.
-%ifnarch s390x
%package -n python2-%{name}-rootIO
Summary: HepMC3 ROOT I/O module Python 2 bindings
%{?python_provide:%python_provide python2-%{name}-rootIO}
@@ -125,7 +120,6 @@ Requires: python2-%{name}%{?_isa} = %{version}-%{release}
%description -n python2-%{name}-rootIO
This package provides the Python 2 bindings for HepMC3 ROOT I/O module.
-%endif
%package -n python%{python3_other_pkgversion}-%{name}
Summary: HepMC3 Python 3 bindings
@@ -144,7 +138,6 @@ Requires: python%{python3_other_pkgversion}-%{name}%{?_isa} = %{version}-%{relea
%description -n python%{python3_other_pkgversion}-%{name}-search
This package provides the Python 3 bindings for HepMC3 search module.
-%ifnarch s390x
%package -n python%{python3_other_pkgversion}-%{name}-rootIO
Summary: HepMC3 ROOT I/O module Python 3 bindings
%{?python_provide:%python_provide python%{?python3_other_pkgversion}-%{name}-rootIO}
@@ -154,7 +147,6 @@ Requires: python%{python3_other_pkgversion}-%{name}%{?_isa} = %{version}-%{relea
%description -n python%{python3_other_pkgversion}-%{name}-rootIO
This package provides the Python 3 bindings for HepMC3 ROOT I/O module.
%endif
-%endif
%package -n python%{python3_pkgversion}-%{name}
Summary: HepMC3 Python 3 bindings
@@ -173,7 +165,6 @@ Requires: python%{python3_pkgversion}-%{name}%{?_isa} = %{version}-%{release}
%description -n python%{python3_pkgversion}-%{name}-search
This package provides the Python 3 bindings for HepMC3 search module.
-%ifnarch s390x
%package -n python%{python3_pkgversion}-%{name}-rootIO
Summary: HepMC3 ROOT I/O module Python 3 bindings
%{?python_provide:%python_provide python%{python3_pkgversion}-%{name}-rootIO}
@@ -182,7 +173,6 @@ Requires: python%{python3_pkgversion}-%{name}%{?_isa} = %{version}-%{release}
%description -n python%{python3_pkgversion}-%{name}-rootIO
This package provides the Python 3 bindings for HepMC3 ROOT I/O module.
-%endif
%package doc
Summary: C++ Event Record for Monte Carlo Generators - documentation
@@ -196,12 +186,8 @@ This package provides HepMC manuals and examples.
%build
%cmake3 \
-%ifnarch s390x
-DHEPMC3_ENABLE_ROOTIO:BOOL=ON \
-DHEPMC3_ROOTIO_INSTALL_LIBDIR:PATH=%{_libdir}/root \
-%else
- -DHEPMC3_ENABLE_ROOTIO:BOOL=OFF \
-%endif
-DHEPMC3_ENABLE_TEST:BOOL=ON \
-DHEPMC3_INSTALL_INTERFACES:BOOL=ON \
-DHEPMC3_INSTALL_EXAMPLES:BOOL=ON \
@@ -212,6 +198,7 @@ This package provides HepMC manuals and examples.
%endif
-DHEPMC3_BUILD_DOCS:BOOL=ON \
-DHEPMC3_BUILD_STATIC_LIBS:BOOL=OFF \
+ -DHEPMC3_TEST_VALGRIND:BOOL=ON \
-DCMAKE_INSTALL_DOCDIR:PATH=%{_pkgdocdir} \
-DCMAKE_SKIP_INSTALL_RPATH:BOOL=ON
%cmake3_build
@@ -224,9 +211,7 @@ This package provides HepMC manuals and examples.
%ldconfig_scriptlets
%ldconfig_scriptlets search
-%ifnarch s390x
%ldconfig_scriptlets rootIO
-%endif
%files
%{_libdir}/libHepMC3.so.3
@@ -295,7 +280,6 @@ This package provides HepMC manuals and examples.
%{_includedir}/%{name}/Relatives.h
%{_includedir}/%{name}/Selector.h
-%ifnarch s390x
%files rootIO
%{_libdir}/root/libHepMC3rootIO.so.3
# unversioned symlink is used at runtime when library is used as a ROOT plugin
@@ -308,7 +292,6 @@ This package provides HepMC manuals and examples.
%{_includedir}/%{name}/ReaderRootTree.h
%{_includedir}/%{name}/WriterRoot.h
%{_includedir}/%{name}/WriterRootTree.h
-%endif
%files interfaces-devel
%{_datadir}/%{name}/interfaces
@@ -326,13 +309,11 @@ This package provides HepMC manuals and examples.
%{python2_sitearch}/pyHepMC3/search/pyHepMC3search.so
%{python2_sitearch}/pyHepMC3.search-*.egg-info
-%ifnarch s390x
%files -n python2-%{name}-rootIO
%dir %{python2_sitearch}/pyHepMC3/rootIO
%{python2_sitearch}/pyHepMC3/rootIO/__init__.py*
%{python2_sitearch}/pyHepMC3/rootIO/pyHepMC3rootIO.so
%{python2_sitearch}/pyHepMC3.rootIO-*.egg-info
-%endif
%files -n python%{python3_other_pkgversion}-%{name}
%dir %{python3_other_sitearch}/pyHepMC3
@@ -348,7 +329,6 @@ This package provides HepMC manuals and examples.
%{python3_other_sitearch}/pyHepMC3/search/pyHepMC3search.so
%{python3_other_sitearch}/pyHepMC3.search-*.egg-info
-%ifnarch s390x
%files -n python%{python3_other_pkgversion}-%{name}-rootIO
%dir %{python3_other_sitearch}/pyHepMC3/rootIO
%{python3_other_sitearch}/pyHepMC3/rootIO/__init__.py
@@ -356,7 +336,6 @@ This package provides HepMC manuals and examples.
%{python3_other_sitearch}/pyHepMC3/rootIO/pyHepMC3rootIO.so
%{python3_other_sitearch}/pyHepMC3.rootIO-*.egg-info
%endif
-%endif
%files -n python%{python3_pkgversion}-%{name}
%dir %{python3_sitearch}/pyHepMC3
@@ -372,14 +351,12 @@ This package provides HepMC manuals and examples.
%{python3_sitearch}/pyHepMC3/search/pyHepMC3search.so
%{python3_sitearch}/pyHepMC3.search-*.egg-info
-%ifnarch s390x
%files -n python%{python3_pkgversion}-%{name}-rootIO
%dir %{python3_sitearch}/pyHepMC3/rootIO
%{python3_sitearch}/pyHepMC3/rootIO/__init__.py
%{python3_sitearch}/pyHepMC3/rootIO/__pycache__
%{python3_sitearch}/pyHepMC3/rootIO/pyHepMC3rootIO.so
%{python3_sitearch}/pyHepMC3.rootIO-*.egg-info
-%endif
%files doc
%dir %{_pkgdocdir}
@@ -388,6 +365,11 @@ This package provides HepMC manuals and examples.
%license COPYING
%changelog
+* Mon Aug 23 2021 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 3.2.4-3
+- Rebuild for root 6.24.02
+- Build rootIO module also for s390x
+- Reenable valgrind tests
+
* Wed Jul 21 2021 Fedora Release Engineering <releng(a)fedoraproject.org> - 3.2.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
2 years, 8 months
Architecture specific change in rpms/HepMC3.git
by githook-noreply@fedoraproject.org
The package rpms/HepMC3.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/HepMC3.git/commit/?id=13b0e062b2a....
Change:
-%ifnarch s390x
Thanks.
Full change:
============
commit 13b0e062b2ab18f268f385bb570d73fd1a7579e7
Author: Mattias Ellert <mattias.ellert(a)physics.uu.se>
Date: Mon Aug 23 10:46:39 2021 +0200
Rebuild for root 6.24.02
Build rootIO module also for s390x
Reenable valgrind tests
diff --git a/HepMC3.spec b/HepMC3.spec
index 7d5bea4..b5a6555 100644
--- a/HepMC3.spec
+++ b/HepMC3.spec
@@ -3,7 +3,7 @@
Name: HepMC3
Version: 3.2.4
-Release: 2%{?dist}
+Release: 3%{?dist}
Summary: C++ Event Record for Monte Carlo Generators
License: GPLv3+
@@ -18,12 +18,10 @@ BuildRequires: cmake >= 3.9
%endif
BuildRequires: make
BuildRequires: gcc-c++
-%ifnarch s390x
BuildRequires: root-core
BuildRequires: root-hist
BuildRequires: root-io
BuildRequires: root-tree
-%endif
BuildRequires: doxygen
BuildRequires: graphviz
%if %{?rhel}%{!?rhel:0} == 7
@@ -73,7 +71,6 @@ Requires: %{name}-devel%{?_isa} = %{version}-%{release}
%description search-devel
This package provides development files for %{name}-search.
-%ifnarch s390x
%package rootIO
Summary: C++ Event Record for Monte Carlo Generators - ROOT IO
Requires: %{name}%{?_isa} = %{version}-%{release}
@@ -88,7 +85,6 @@ Requires: %{name}-devel%{?_isa} = %{version}-%{release}
%description rootIO-devel
This package provides development files for %{name}-rootIO.
-%endif
%package interfaces-devel
Summary: C++ Event Record for Monte Carlo Generators - generator interfaces
@@ -116,7 +112,6 @@ Requires: python2-%{name}%{?_isa} = %{version}-%{release}
%description -n python2-%{name}-search
This package provides the Python 2 bindings for HepMC3 search module.
-%ifnarch s390x
%package -n python2-%{name}-rootIO
Summary: HepMC3 ROOT I/O module Python 2 bindings
%{?python_provide:%python_provide python2-%{name}-rootIO}
@@ -125,7 +120,6 @@ Requires: python2-%{name}%{?_isa} = %{version}-%{release}
%description -n python2-%{name}-rootIO
This package provides the Python 2 bindings for HepMC3 ROOT I/O module.
-%endif
%package -n python%{python3_other_pkgversion}-%{name}
Summary: HepMC3 Python 3 bindings
@@ -144,7 +138,6 @@ Requires: python%{python3_other_pkgversion}-%{name}%{?_isa} = %{version}-%{relea
%description -n python%{python3_other_pkgversion}-%{name}-search
This package provides the Python 3 bindings for HepMC3 search module.
-%ifnarch s390x
%package -n python%{python3_other_pkgversion}-%{name}-rootIO
Summary: HepMC3 ROOT I/O module Python 3 bindings
%{?python_provide:%python_provide python%{?python3_other_pkgversion}-%{name}-rootIO}
@@ -154,7 +147,6 @@ Requires: python%{python3_other_pkgversion}-%{name}%{?_isa} = %{version}-%{relea
%description -n python%{python3_other_pkgversion}-%{name}-rootIO
This package provides the Python 3 bindings for HepMC3 ROOT I/O module.
%endif
-%endif
%package -n python%{python3_pkgversion}-%{name}
Summary: HepMC3 Python 3 bindings
@@ -173,7 +165,6 @@ Requires: python%{python3_pkgversion}-%{name}%{?_isa} = %{version}-%{release}
%description -n python%{python3_pkgversion}-%{name}-search
This package provides the Python 3 bindings for HepMC3 search module.
-%ifnarch s390x
%package -n python%{python3_pkgversion}-%{name}-rootIO
Summary: HepMC3 ROOT I/O module Python 3 bindings
%{?python_provide:%python_provide python%{python3_pkgversion}-%{name}-rootIO}
@@ -182,7 +173,6 @@ Requires: python%{python3_pkgversion}-%{name}%{?_isa} = %{version}-%{release}
%description -n python%{python3_pkgversion}-%{name}-rootIO
This package provides the Python 3 bindings for HepMC3 ROOT I/O module.
-%endif
%package doc
Summary: C++ Event Record for Monte Carlo Generators - documentation
@@ -196,12 +186,8 @@ This package provides HepMC manuals and examples.
%build
%cmake3 \
-%ifnarch s390x
-DHEPMC3_ENABLE_ROOTIO:BOOL=ON \
-DHEPMC3_ROOTIO_INSTALL_LIBDIR:PATH=%{_libdir}/root \
-%else
- -DHEPMC3_ENABLE_ROOTIO:BOOL=OFF \
-%endif
-DHEPMC3_ENABLE_TEST:BOOL=ON \
-DHEPMC3_INSTALL_INTERFACES:BOOL=ON \
-DHEPMC3_INSTALL_EXAMPLES:BOOL=ON \
@@ -212,6 +198,7 @@ This package provides HepMC manuals and examples.
%endif
-DHEPMC3_BUILD_DOCS:BOOL=ON \
-DHEPMC3_BUILD_STATIC_LIBS:BOOL=OFF \
+ -DHEPMC3_TEST_VALGRIND:BOOL=ON \
-DCMAKE_INSTALL_DOCDIR:PATH=%{_pkgdocdir} \
-DCMAKE_SKIP_INSTALL_RPATH:BOOL=ON
%cmake3_build
@@ -224,9 +211,7 @@ This package provides HepMC manuals and examples.
%ldconfig_scriptlets
%ldconfig_scriptlets search
-%ifnarch s390x
%ldconfig_scriptlets rootIO
-%endif
%files
%{_libdir}/libHepMC3.so.3
@@ -295,7 +280,6 @@ This package provides HepMC manuals and examples.
%{_includedir}/%{name}/Relatives.h
%{_includedir}/%{name}/Selector.h
-%ifnarch s390x
%files rootIO
%{_libdir}/root/libHepMC3rootIO.so.3
# unversioned symlink is used at runtime when library is used as a ROOT plugin
@@ -308,7 +292,6 @@ This package provides HepMC manuals and examples.
%{_includedir}/%{name}/ReaderRootTree.h
%{_includedir}/%{name}/WriterRoot.h
%{_includedir}/%{name}/WriterRootTree.h
-%endif
%files interfaces-devel
%{_datadir}/%{name}/interfaces
@@ -326,13 +309,11 @@ This package provides HepMC manuals and examples.
%{python2_sitearch}/pyHepMC3/search/pyHepMC3search.so
%{python2_sitearch}/pyHepMC3.search-*.egg-info
-%ifnarch s390x
%files -n python2-%{name}-rootIO
%dir %{python2_sitearch}/pyHepMC3/rootIO
%{python2_sitearch}/pyHepMC3/rootIO/__init__.py*
%{python2_sitearch}/pyHepMC3/rootIO/pyHepMC3rootIO.so
%{python2_sitearch}/pyHepMC3.rootIO-*.egg-info
-%endif
%files -n python%{python3_other_pkgversion}-%{name}
%dir %{python3_other_sitearch}/pyHepMC3
@@ -348,7 +329,6 @@ This package provides HepMC manuals and examples.
%{python3_other_sitearch}/pyHepMC3/search/pyHepMC3search.so
%{python3_other_sitearch}/pyHepMC3.search-*.egg-info
-%ifnarch s390x
%files -n python%{python3_other_pkgversion}-%{name}-rootIO
%dir %{python3_other_sitearch}/pyHepMC3/rootIO
%{python3_other_sitearch}/pyHepMC3/rootIO/__init__.py
@@ -356,7 +336,6 @@ This package provides HepMC manuals and examples.
%{python3_other_sitearch}/pyHepMC3/rootIO/pyHepMC3rootIO.so
%{python3_other_sitearch}/pyHepMC3.rootIO-*.egg-info
%endif
-%endif
%files -n python%{python3_pkgversion}-%{name}
%dir %{python3_sitearch}/pyHepMC3
@@ -372,14 +351,12 @@ This package provides HepMC manuals and examples.
%{python3_sitearch}/pyHepMC3/search/pyHepMC3search.so
%{python3_sitearch}/pyHepMC3.search-*.egg-info
-%ifnarch s390x
%files -n python%{python3_pkgversion}-%{name}-rootIO
%dir %{python3_sitearch}/pyHepMC3/rootIO
%{python3_sitearch}/pyHepMC3/rootIO/__init__.py
%{python3_sitearch}/pyHepMC3/rootIO/__pycache__
%{python3_sitearch}/pyHepMC3/rootIO/pyHepMC3rootIO.so
%{python3_sitearch}/pyHepMC3.rootIO-*.egg-info
-%endif
%files doc
%dir %{_pkgdocdir}
@@ -388,6 +365,11 @@ This package provides HepMC manuals and examples.
%license COPYING
%changelog
+* Mon Aug 23 2021 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 3.2.4-3
+- Rebuild for root 6.24.02
+- Build rootIO module also for s390x
+- Reenable valgrind tests
+
* Wed Jul 21 2021 Fedora Release Engineering <releng(a)fedoraproject.org> - 3.2.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
commit 01b7b01089e72a44437ac62b0d82a62c9cca7437
Author: Fedora Release Engineering <releng(a)fedoraproject.org>
Date: Wed Jul 21 15:50:44 2021 +0000
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng(a)fedoraproject.org>
diff --git a/HepMC3.spec b/HepMC3.spec
index 0a766b0..7d5bea4 100644
--- a/HepMC3.spec
+++ b/HepMC3.spec
@@ -3,7 +3,7 @@
Name: HepMC3
Version: 3.2.4
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: C++ Event Record for Monte Carlo Generators
License: GPLv3+
@@ -388,6 +388,9 @@ This package provides HepMC manuals and examples.
%license COPYING
%changelog
+* Wed Jul 21 2021 Fedora Release Engineering <releng(a)fedoraproject.org> - 3.2.4-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
+
* Wed Jul 07 2021 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 3.2.4-1
- Update to version 3.2.4
- Drop patches accepted upstream or previously backported
commit 7945a2e1b4b27296a346acc5b8dfc48d88969f0f
Author: Fedora Release Engineering <releng(a)fedoraproject.org>
Date: Wed Jul 21 10:56:06 2021 +0000
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng(a)fedoraproject.org>
2 years, 8 months