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=2fd51707f0e....
Change:
+%ifnarch s390x
Thanks.
Full change:
============
commit 2fd51707f0e66908b209a9ca04663287160c1f35
Author: Mattias Ellert <mattias.ellert(a)physics.uu.se>
Date: Tue Mar 24 15:34:40 2020 +0100
Update to version 3.2.1
Drop patches accepted upstream or previously backported
Fix glitches in the generation of the HepMC3-config script
Add additional Python 3 version package for EPEL 7
(cmake configuration now supports multiple Python 3 versions)
Use new cmake configuration options -DHEPMC3_ROOTIO_INSTALL_LIBDIR and
-DHEPMC3_BUILD_STATIC_LIBS and simplify spec file accordingly
.egg-info filenames are now correct - auto generated provides work
diff --git a/HepMC3-arm-memory.patch b/HepMC3-arm-memory.patch
index 8fb0713..c06fef4 100644
--- a/HepMC3-arm-memory.patch
+++ b/HepMC3-arm-memory.patch
@@ -1,13 +1,14 @@
-diff -ur HepMC3-3.2.0.orig/python/CMakeLists.txt HepMC3-3.2.0/python/CMakeLists.txt
---- HepMC3-3.2.0.orig/python/CMakeLists.txt 2019-11-27 11:20:01.000000000 +0100
-+++ HepMC3-3.2.0/python/CMakeLists.txt 2019-12-02 14:44:49.752598636 +0100
-@@ -141,6 +141,9 @@
+diff -ur HepMC3-3.2.1.orig/python/CMakeLists.txt HepMC3-3.2.1/python/CMakeLists.txt
+--- HepMC3-3.2.1.orig/python/CMakeLists.txt 2020-03-17 11:38:25.000000000 +0100
++++ HepMC3-3.2.1/python/CMakeLists.txt 2020-03-22 15:30:35.572891013 +0100
+@@ -199,6 +199,10 @@
endif()
endif()
+if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm")
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g1")
+endif()
-
++
if ( Python_LIBRARIES AND Python_INCLUDE_DIRS AND Python_EXECUTABLE AND ((${Python_VERSION_MAJOR} STREQUAL ${ver} AND ${verminor} STREQUAL "X") OR "${Python_VERSION_MAJOR}.${Python_VERSION_MINOR}" STREQUAL "${ver}.${verminor}" ))
message(STATUS "HepMC3 python: Python verson ${ver}.${verminor} found in ${Python_EXECUTABLE}. Python bindings generation is possible.")
+
diff --git a/HepMC3-config.patch b/HepMC3-config.patch
new file mode 100644
index 0000000..dba83ed
--- /dev/null
+++ b/HepMC3-config.patch
@@ -0,0 +1,190 @@
+From 4888b9d8a8f60f5a77b9ce102913ac74500af701 Mon Sep 17 00:00:00 2001
+From: Mattias Ellert <mattias.ellert(a)physics.uu.se>
+Date: Sun, 22 Mar 2020 22:44:11 +0100
+Subject: [PATCH] Use configure_package_config_file instead of configure_file
+ to generate HepMC3-config - it handles absolute paths properly.
+
+Use HEPMC3_ROOTIO_INSTALL_LIBDIR when generating HepMC3Config.cmake
+---
+ CMakeLists.txt | 29 +++++++++++++--------
+ HepMC3-config.in | 36 ++++++++++++++-------------
+ cmake/Templates/HepMC3Config.cmake.in | 8 +++---
+ 3 files changed, 41 insertions(+), 32 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index a63b916..2c452b8 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -217,34 +217,41 @@ endif()
+ install(TARGETS HepMC3_static DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libs)
+ endif()
+
+-configure_file(HepMC3-config.in ${PROJECT_BINARY_DIR}/outputs/${CMAKE_INSTALL_BINDIR}/HepMC3-config )
+-
+-
+ install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} COMPONENT devel)
+
+-install(FILES ${PROJECT_BINARY_DIR}/outputs/${CMAKE_INSTALL_BINDIR}/HepMC3-config DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT libs PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
+-
+ # Generate config CMake files to be used by other projects
+ #
+
+ include(CMakePackageConfigHelpers)
+
+-set(INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_INCLUDEDIR})
+-set(LIB_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR})
+ set(INTERFACES_INSTALL_DIR ${CMAKE_INSTALL_DATADIR}/HepMC3/interfaces)
+ set(CONFIG_INSTALL_DIR ${CMAKE_INSTALL_DATADIR}/HepMC3/cmake)
+
+-configure_package_config_file(cmake/Templates/HepMC3Config.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/outputs/share/HepMC3/cmake/HepMC3Config.cmake
+- INSTALL_DESTINATION ${CONFIG_INSTALL_DIR}
+- PATH_VARS INCLUDE_INSTALL_DIR LIB_INSTALL_DIR
+- INTERFACES_INSTALL_DIR)
++configure_package_config_file(cmake/Templates/HepMC3Config.cmake.in
++ ${CMAKE_CURRENT_BINARY_DIR}/outputs/share/HepMC3/cmake/HepMC3Config.cmake
++ INSTALL_DESTINATION ${CONFIG_INSTALL_DIR}
++ PATH_VARS CMAKE_INSTALL_INCLUDEDIR
++ CMAKE_INSTALL_LIBDIR
++ HEPMC3_ROOTIO_INSTALL_LIBDIR
++ INTERFACES_INSTALL_DIR)
+
+ write_basic_package_version_file(${CMAKE_CURRENT_BINARY_DIR}/outputs/share/HepMC3/cmake/HepMC3Config-version.cmake COMPATIBILITY SameMajorVersion)
+
++configure_package_config_file(HepMC3-config.in
++ ${CMAKE_CURRENT_BINARY_DIR}/outputs/bin/HepMC3-config
++ INSTALL_DESTINATION ${CMAKE_INSTALL_BINDIR}
++ PATH_VARS CMAKE_INSTALL_INCLUDEDIR
++ CMAKE_INSTALL_LIBDIR
++ HEPMC3_ROOTIO_INSTALL_LIBDIR)
++
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/outputs/share/HepMC3/cmake/HepMC3Config.cmake
+ ${CMAKE_CURRENT_BINARY_DIR}/outputs/share/HepMC3/cmake/HepMC3Config-version.cmake
+ DESTINATION ${CONFIG_INSTALL_DIR} COMPONENT devel)
+
++install(FILES ${CMAKE_CURRENT_BINARY_DIR}/outputs/bin/HepMC3-config
++ DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT libs
++ PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
++
+ ########################################################################
+ ## Optional packages
+ ########################################################################
+diff --git a/HepMC3-config.in b/HepMC3-config.in
+index 7db10f6..46d5ab6 100755
+--- a/HepMC3-config.in
++++ b/HepMC3-config.in
+@@ -5,13 +5,13 @@
+ ## @configure_input@
+ #The line below assures at least some relocation.
+ if [ "$(uname)" == "Darwin" ]; then
+-prefix=$(dirname $(dirname $(greadlink -f $0)))
++PACKAGE_PREFIX_DIR=$(dirname $(dirname $(greadlink -f $0)))
+ else
+-prefix=$(dirname $(dirname $(readlink -f $0)))
++PACKAGE_PREFIX_DIR=$(dirname $(dirname $(readlink -f $0)))
+ fi
+ tmp=$(echo $* | egrep -- '--\<help\>|-\<h\>')
+ if test $# -eq 0 || test -n "$tmp"; then
+- echo "${PROJECT_NAME}-config: configuration tool for the ${PROJECT_NAME} library"
++ echo "@PROJECT_NAME@-config: configuration tool for the @PROJECT_NAME@ library"
+ echo
+ echo "Usage: $( basename $0 ) [--help|-h] | "
+ echo " [--{prefix,libdir,includedir}] | "
+@@ -21,55 +21,57 @@ if test $# -eq 0 || test -n "$tmp"; then
+ echo " --help | -h : show this help message"
+ echo
+ echo " --prefix : show the installation prefix"
+- echo " --includedir : show the path to the directory containing the ${PROJECT_NAME} headers"
+- echo " --libdir : show the path to the directory containing the ${PROJECT_NAME} libraries"
++ echo " --includedir : show the path to the directory containing the @PROJECT_NAME@ headers"
++ echo " --libdir : show the path to the directory containing the @PROJECT_NAME@ libraries"
+ echo
+ echo " --cflags|--cppflags : returns a '-I' string for insertion into CPPFLAGS or CXXFLAGS"
+- echo " --ldflags|libs : returns a '-L/-l' string for insertion into LIBS or LIBADD"
++ echo " --ldflags|--libs : returns a '-L/-l' string for insertion into LIBS or LIBADD"
+ echo " --rootIO : returns a '-L/-l' string for insertion into LIBS or LIBADD with rootIO support"
+ echo " --search : returns a '-L/-l' string for insertion into LIBS or LIBADD with search support"
+ echo " --static : returns a string for insertion into LIBS or LIBADD"
+ echo
+- echo " --version : returns the ${PROJECT_NAME} release version number"
++ echo " --version : returns the @PROJECT_NAME@ release version number"
+ exit 0
+ fi
+
+ OUT=""
+
+ tmp=$( echo "$*" | egrep -- '--\<prefix\>')
+-test -n "$tmp" && OUT="$OUT $prefix"
++test -n "$tmp" && OUT="$OUT ${PACKAGE_PREFIX_DIR}"
+
+ tmp=$( echo "$*" | egrep -- '--\<includedir\>')
+-test -n "$tmp" && OUT="$OUT $prefix/${CMAKE_INSTALL_INCLUDEDIR}"
++test -n "$tmp" && OUT="$OUT @PACKAGE_CMAKE_INSTALL_INCLUDEDIR@"
+
+ tmp=$( echo "$*" | egrep -- '--\<libdir\>')
+-test -n "$tmp" && OUT="$OUT $prefix/${CMAKE_INSTALL_LIBDIR}"
++test -n "$tmp" && OUT="$OUT @PACKAGE_CMAKE_INSTALL_LIBDIR@"
+
+ tmp=$( echo "$*" | egrep -- '--\<cflags|cppflags|cxxflags\>')
+-test -n "$tmp" && OUT="$OUT -I$prefix/${CMAKE_INSTALL_INCLUDEDIR}"
++test -n "$tmp" && OUT="$OUT -I@PACKAGE_CMAKE_INSTALL_INCLUDEDIR@"
+
+
+ tmp=$( echo "$*" | egrep -- '--\<static\>')
+ if test -n "$tmp"; then
+
+ tmp=$( echo "$*" | egrep -- '--\<ldflags|libs\>')
+-OUT="$OUT $prefix/${CMAKE_INSTALL_LIBDIR}/libHepMC3_static.a -lHepMC3"
++OUT="$OUT @PACKAGE_CMAKE_INSTALL_LIBDIR(a)/libHepMC3_static.a"
+
+ tmp=$( echo "$*" | egrep -- '--\<search\>')
+-test -n "$tmp" && OUT="$OUT -L$prefix/${CMAKE_INSTALL_LIBDIR}/libHepMC3search_static.a -lHepMC3search"
++test -n "$tmp" && OUT="$OUT @PACKAGE_CMAKE_INSTALL_LIBDIR(a)/libHepMC3search_static.a"
+
+ else
++
+ tmp=$( echo "$*" | egrep -- '--\<ldflags|libs\>')
+-test -n "$tmp" && OUT="$OUT -L$prefix/${CMAKE_INSTALL_LIBDIR} -lHepMC3"
++test -n "$tmp" && OUT="$OUT -L@PACKAGE_CMAKE_INSTALL_LIBDIR@ -lHepMC3"
+
+ tmp=$( echo "$*" | egrep -- '--\<search\>')
+-test -n "$tmp" && OUT="$OUT -L$prefix/${CMAKE_INSTALL_LIBDIR} -lHepMC3search"
++test -n "$tmp" && OUT="$OUT -L@PACKAGE_CMAKE_INSTALL_LIBDIR@ -lHepMC3search"
++
+ fi
+
+ tmp=$( echo "$*" | egrep -- '--\<rootIO\>')
+-test -n "$tmp" && OUT="$OUT -L$prefix/${HEPMC3_ROOTIO_INSTALL_LIBDIR} ${HEPMC3_ROOTIO_LIBRARY}"
++test -n "$tmp" && OUT="$OUT -L@PACKAGE_HEPMC3_ROOTIO_INSTALL_LIBDIR@ @HEPMC3_ROOTIO_LIBRARY@"
+
+ tmp=$( echo "$*" | egrep -- '--\<version\>')
+-test -n "$tmp" && echo ${PROJECT_VERSION}&& exit 0
++test -n "$tmp" && echo @PROJECT_VERSION@ && exit 0
+
+ echo $OUT
+diff --git a/cmake/Templates/HepMC3Config.cmake.in b/cmake/Templates/HepMC3Config.cmake.in
+index 9f690fe..df8f440 100644
+--- a/cmake/Templates/HepMC3Config.cmake.in
++++ b/cmake/Templates/HepMC3Config.cmake.in
+@@ -6,15 +6,15 @@ SET(HEPMC3_VERSION_MINOR @HEPMC3_VERSION_MINOR@)
+ SET(HEPMC3_VERSION_PATCH @HEPMC3_VERSION_PATCH@)
+
+
+-set_and_check(HEPMC3_INCLUDE_DIR @PACKAGE_INCLUDE_INSTALL_DIR@)
++set_and_check(HEPMC3_INCLUDE_DIR @PACKAGE_CMAKE_INSTALL_INCLUDEDIR@)
+
+ if(EXISTS @PACKAGE_INTERFACES_INSTALL_DIR@)
+ set(HEPMC3_INTERFACES_DIR @PACKAGE_INTERFACES_INSTALL_DIR@)
+ endif()
+
+-find_library(HEPMC3_LIB NAMES HepMC3 HINTS @PACKAGE_LIB_INSTALL_DIR@)
+-find_library(HEPMC3_SEARCH_LIB NAMES HepMC3search HINTS @PACKAGE_LIB_INSTALL_DIR@)
+-find_library(HEPMC3_ROOTIO_LIB NAMES HepMC3rootIO HINTS @PACKAGE_LIB_INSTALL_DIR@ @PACKAGE_LIB_INSTALL_DIR@/root)
++find_library(HEPMC3_LIB NAMES HepMC3 HINTS @PACKAGE_CMAKE_INSTALL_LIBDIR@)
++find_library(HEPMC3_SEARCH_LIB NAMES HepMC3search HINTS @PACKAGE_CMAKE_INSTALL_LIBDIR@)
++find_library(HEPMC3_ROOTIO_LIB NAMES HepMC3rootIO HINTS @PACKAGE_HEPMC3_ROOTIO_INSTALL_LIBDIR@)
+
+ set(HEPMC3_LIBRARIES ${HEPMC3_LIB})
+ if(EXISTS ${HEPMC3_SEARCH_LIB})
+--
+2.25.1
+
diff --git a/HepMC3-python-3.9.patch b/HepMC3-python-3.9.patch
deleted file mode 100644
index 77766e5..0000000
--- a/HepMC3-python-3.9.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From a68f8af21f79909de1a2e8318070940c197c72ab Mon Sep 17 00:00:00 2001
-From: Andrii Verbytskyi <andrii.verbytskyi(a)cern.ch>
-Date: Mon, 27 Jan 2020 10:32:49 +0000
-Subject: [PATCH] Update Support.cmake To add Python 3.9 to the list of valid
- versions.
-
----
- cmake/Modules/FindPython/Support.cmake | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/cmake/Modules/FindPython/Support.cmake b/cmake/Modules/FindPython/Support.cmake
-index 08f07fd..0191972 100644
---- a/cmake/Modules/FindPython/Support.cmake
-+++ b/cmake/Modules/FindPython/Support.cmake
-@@ -17,7 +17,7 @@ if (NOT DEFINED _${_PYTHON_PREFIX}_REQUIRED_VERSION_MAJOR)
- message (FATAL_ERROR "FindPython: INTERNAL ERROR")
- endif()
- if (_${_PYTHON_PREFIX}_REQUIRED_VERSION_MAJOR EQUAL 3)
-- set(_${_PYTHON_PREFIX}_VERSIONS 3.8 3.7 3.6 3.5 3.4 3.3 3.2 3.1 3.0)
-+ set(_${_PYTHON_PREFIX}_VERSIONS 3.9 3.8 3.7 3.6 3.5 3.4 3.3 3.2 3.1 3.0)
- elseif (_${_PYTHON_PREFIX}_REQUIRED_VERSION_MAJOR EQUAL 2)
- set(_${_PYTHON_PREFIX}_VERSIONS 2.7 2.6 2.5 2.4 2.3 2.2 2.1 2.0)
- else()
---
-2.24.1
-
diff --git a/HepMC3-python-test.patch b/HepMC3-python-test.patch
deleted file mode 100644
index ecb88ff..0000000
--- a/HepMC3-python-test.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From c1f27814cde97869ec2dd1063405a5260e4e1193 Mon Sep 17 00:00:00 2001
-From: Mattias Ellert <mattias.ellert(a)physics.uu.se>
-Date: Mon, 2 Dec 2019 08:57:06 +0100
-Subject: [PATCH] Change import order to avoid Import Error:
-
- Start 45: python3.7.5_test_IO2
-44/46 Test #45: python3.7.5_test_IO2 ........................***Failed 10.20 sec
-Traceback (most recent call last):
- File "test_IO2.py", line 7, in <module>
- import pyHepMC3.rootIO.pyHepMC3rootIO.HepMC3 as hmrootIO
-ImportError: generic_type: type "WriterRootTree" referenced unknown base type "HepMC3::Writer"
----
- python/test/test_IO2.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/python/test/test_IO2.py b/python/test/test_IO2.py
-index 4b71276..2cb0331 100644
---- a/python/test/test_IO2.py
-+++ b/python/test/test_IO2.py
-@@ -4,8 +4,8 @@ sys.path=update_path()
-
-
- from pyHepMC3TestUtils import COMPARE_ASCII_FILES
--import pyHepMC3.rootIO.pyHepMC3rootIO.HepMC3 as hmrootIO
- import pyHepMC3.pyHepMC3.HepMC3 as hm
-+import pyHepMC3.rootIO.pyHepMC3rootIO.HepMC3 as hmrootIO
- print(dir(hmrootIO))
- def test_IO2():
- inputA=hm.ReaderAsciiHepMC2("inputIO2.hepmc")
---
-2.23.0
-
diff --git a/HepMC3.spec b/HepMC3.spec
index 77408bf..c0e67e3 100644
--- a/HepMC3.spec
+++ b/HepMC3.spec
@@ -1,25 +1,22 @@
Name: HepMC3
-Version: 3.2.0
-Release: 3%{?dist}
+Version: 3.2.1
+Release: 1%{?dist}
Summary: C++ Event Record for Monte Carlo Generators
License: GPLv3+
URL: https://hepmc.web.cern.ch/hepmc/
Source0: https://hepmc.web.cern.ch/hepmc/releases/%{name}-%{version}.tar.gz
-# Change import order to avoid Import Error
-# https://gitlab.cern.ch/hepmc/HepMC3/merge_requests/45
-Patch0: %{name}-python-test.patch
+# Improvements to HepMC3-config and HepMC3Config.cmake
+# https://gitlab.cern.ch/hepmc/HepMC3/merge_requests/55
+Patch0: %{name}-config.patch
# Reduce memory usage when building Python bindings on ARM
Patch1: %{name}-arm-memory.patch
-# Add Python 3.9 as a valid Python version
-# Backported from upstream git
-Patch2: %{name}-python-3.9.patch
-# The ROOT cmake file used by this project requires cmake 3.4.3
+# The ROOT cmake file used by this project requires cmake 3.9
%if %{?fedora}%{!?fedora:0} || %{?rhel}%{!?rhel:0} >= 8
-BuildRequires: cmake >= 3.4.3
+BuildRequires: cmake >= 3.9
%else
-BuildRequires: cmake3 >= 3.4.3
+BuildRequires: cmake3 >= 3.9
%endif
BuildRequires: gcc-c++
%ifnarch s390x
@@ -35,6 +32,7 @@ BuildRequires: pythia8-devel
BuildRequires: valgrind
%if %{?rhel}%{!?rhel:0} == 7
BuildRequires: python2-devel
+BuildRequires: python%{python3_other_pkgversion}-devel
%endif
BuildRequires: python%{python3_pkgversion}-devel
@@ -122,6 +120,34 @@ 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
+%{?python_provide:%python_provide python%{python3_other_pkgversion}-%{name}}
+Requires: %{name}%{?_isa} = %{version}-%{release}
+
+%description -n python%{python3_other_pkgversion}-%{name}
+This package provides the Python 3 bindings for HepMC3.
+
+%package -n python%{python3_other_pkgversion}-%{name}-search
+Summary: HepMC3 search module Python 3 bindings
+%{?python_provide:%python_provide python%{python3_other_pkgversion}-%{name}-search}
+Requires: %{name}-search%{?_isa} = %{version}-%{release}
+Requires: python%{python3_other_pkgversion}-%{name}%{?_isa} = %{version}-%{release}
+
+%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}
+Requires: %{name}-rootIO%{?_isa} = %{version}-%{release}
+Requires: python%{python3_other_pkgversion}-%{name}%{?_isa} = %{version}-%{release}
+
+%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}
@@ -163,7 +189,6 @@ This package provides HepMC manuals and examples.
%setup -q
%patch0 -p1
%patch1 -p1
-%patch2 -p1
%build
%if %{?fedora}%{!?fedora:0} || %{?rhel}%{!?rhel:0} >= 8
@@ -173,33 +198,27 @@ This package provides HepMC manuals and examples.
%endif
%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 \
%if %{?rhel}%{!?rhel:0} == 7
- -DHEPMC3_PYTHON_VERSIONS=2,%python3_version \
+ -DHEPMC3_PYTHON_VERSIONS=2,%python3_version,%python3_other_version \
%else
-DHEPMC3_PYTHON_VERSIONS=%python3_version \
%endif
-DHEPMC3_BUILD_DOCS:BOOL=ON \
+ -DHEPMC3_BUILD_STATIC_LIBS:BOOL=OFF \
-DCMAKE_INSTALL_DOCDIR:PATH=%{_pkgdocdir} \
-DCMAKE_SKIP_INSTALL_RPATH:BOOL=ON .
make %{?_smp_mflags}
%install
make install DESTDIR=%{buildroot}
-rm %{buildroot}%{_libdir}/*.a
cp -pr examples %{buildroot}%{_pkgdocdir}
-%ifnarch s390x
-# Move to root directory
-mkdir %{buildroot}%{_libdir}/root
-mv %{buildroot}%{_libdir}/libHepMC3rootIO* %{buildroot}%{_libdir}/root
-sed 's!\s*-lHepMC3rootIO!/root&!' -i %{buildroot}%{_bindir}/HepMC3-config
-%endif
-
%check
%if %{?fedora}%{!?fedora:0} || %{?rhel}%{!?rhel:0} >= 8
ctest %{?_smp_mflags} --output-on-failure
@@ -309,14 +328,37 @@ ctest3 %{?_smp_mflags} --output-on-failure
%dir %{python2_sitearch}/pyHepMC3/search
%{python2_sitearch}/pyHepMC3/search/__init__.py*
%{python2_sitearch}/pyHepMC3/search/pyHepMC3search.so
-%{python2_sitearch}/pyHepMC3-search-*.egg-info
+%{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
+%{python2_sitearch}/pyHepMC3.rootIO-*.egg-info
+%endif
+
+%files -n python%{python3_other_pkgversion}-%{name}
+%dir %{python3_other_sitearch}/pyHepMC3
+%{python3_other_sitearch}/pyHepMC3/__init__.py
+%{python3_other_sitearch}/pyHepMC3/__pycache__
+%{python3_other_sitearch}/pyHepMC3/pyHepMC3.so
+%{python3_other_sitearch}/pyHepMC3-*.egg-info
+
+%files -n python%{python3_other_pkgversion}-%{name}-search
+%dir %{python3_other_sitearch}/pyHepMC3/search
+%{python3_other_sitearch}/pyHepMC3/search/__init__.py
+%{python3_other_sitearch}/pyHepMC3/search/__pycache__
+%{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
+%{python3_other_sitearch}/pyHepMC3/rootIO/__pycache__
+%{python3_other_sitearch}/pyHepMC3/rootIO/pyHepMC3rootIO.so
+%{python3_other_sitearch}/pyHepMC3.rootIO-*.egg-info
%endif
%endif
@@ -332,7 +374,7 @@ ctest3 %{?_smp_mflags} --output-on-failure
%{python3_sitearch}/pyHepMC3/search/__init__.py
%{python3_sitearch}/pyHepMC3/search/__pycache__
%{python3_sitearch}/pyHepMC3/search/pyHepMC3search.so
-%{python3_sitearch}/pyHepMC3-search-*.egg-info
+%{python3_sitearch}/pyHepMC3.search-*.egg-info
%ifnarch s390x
%files -n python%{python3_pkgversion}-%{name}-rootIO
@@ -340,7 +382,7 @@ ctest3 %{?_smp_mflags} --output-on-failure
%{python3_sitearch}/pyHepMC3/rootIO/__init__.py
%{python3_sitearch}/pyHepMC3/rootIO/__pycache__
%{python3_sitearch}/pyHepMC3/rootIO/pyHepMC3rootIO.so
-%{python3_sitearch}/pyHepMC3-rootIO-*.egg-info
+%{python3_sitearch}/pyHepMC3.rootIO-*.egg-info
%endif
%files doc
@@ -350,6 +392,16 @@ ctest3 %{?_smp_mflags} --output-on-failure
%license COPYING
%changelog
+* Sun Mar 22 2020 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 3.2.1-1
+- Update to version 3.2.1
+- Drop patches accepted upstream or previously backported
+- Fix glitches in the generation of the HepMC3-config script
+- Add additional Python 3 version package for EPEL 7
+ (cmake configuration now supports multiple Python 3 versions)
+- Use new cmake configuration options -DHEPMC3_ROOTIO_INSTALL_LIBDIR and
+ -DHEPMC3_BUILD_STATIC_LIBS and simplify spec file accordingly
+- .egg-info filenames are now correct - auto generated provides work
+
* Tue Jan 28 2020 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 3.2.0-3
- Add Python 3.9 as a valid Python version
4 years, 1 month
Architecture specific change in rpms/kitty.git
by githook-noreply@fedoraproject.org
The package rpms/kitty.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/kitty.git/commit/?id=4a1520081499....
Change:
-%ifarch armv7hl i686 86_64
Thanks.
Full change:
============
commit 4a152008149967db6fa3bb2028719aac1da69fed
Author: Artem Polishchuk <ego.cordatus(a)gmail.com>
Date: Tue Mar 24 16:25:53 2020 +0200
Update to 0.17.0
Exclude arch ppc64le
diff --git a/compile-with-debug-fix.patch b/compile-with-debug-fix.patch
deleted file mode 100644
index b0c5304..0000000
--- a/compile-with-debug-fix.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 0547102bdd6ce3b71cf53f2cb75b2f85692789f5 Mon Sep 17 00:00:00 2001
-From: Kovid Goyal <kovid(a)kovidgoyal.net>
-Date: Tue, 24 Mar 2020 18:33:32 +0530
-Subject: [PATCH] Fix #2468
-
----
- setup.py | 7 +++++--
- 1 file changed, 5 insertions(+), 2 deletions(-)
-
-diff --git a/setup.py b/setup.py
-index 917d29e6a..350d5e1fe 100755
---- a/setup.py
-+++ b/setup.py
-@@ -141,9 +141,12 @@ def cc_version() -> Tuple[str, Tuple[int, int]]:
- else:
- cc = 'cc'
- raw = subprocess.check_output([cc, '-dumpversion']).decode('utf-8')
-- ver_ = raw.split('.')[:2]
-+ ver_ = raw.strip().split('.')[:2]
- try:
-- ver = int(ver_[0]), int(ver_[1])
-+ if len(ver_) == 1:
-+ ver = int(ver_[0]), 0
-+ else:
-+ ver = int(ver_[0]), int(ver_[1])
- except Exception:
- ver = (0, 0)
- return cc, ver
diff --git a/kitty-gcc10.patch b/kitty-gcc10.patch
deleted file mode 100644
index a21216f..0000000
--- a/kitty-gcc10.patch
+++ /dev/null
@@ -1,750 +0,0 @@
-From 76a6bba64310024c2780ff26e5bbcd3f8b520b38 Mon Sep 17 00:00:00 2001
-From: Kovid Goyal <kovid(a)kovidgoyal.net>
-Date: Tue, 24 Mar 2020 17:07:37 +0530
-Subject: [PATCH] Fix #2466
-
----
- glfw/glfw.py | 6 +-
- kitty/glfw-wrapper.c | 1 +
- kitty/glfw-wrapper.h | 275 ++++++++++++++++++++++---------------------
- 3 files changed, 145 insertions(+), 137 deletions(-)
-
-diff --git a/glfw/glfw.py b/glfw/glfw.py
-index 77e2dee68..41c36daaa 100755
---- a/glfw/glfw.py
-+++ b/glfw/glfw.py
-@@ -165,7 +165,7 @@ def __init__(self, declaration: str, check_fail: bool = True):
- self.args = [Arg('void v')]
-
- def declaration(self) -> str:
-- return 'typedef {restype} (*{name}_func)({args});\n{name}_func {name}_impl;\n#define {name} {name}_impl'.format(
-+ return 'typedef {restype} (*{name}_func)({args});\nGFW_EXTERN {name}_func {name}_impl;\n#define {name} {name}_impl'.format(
- restype=self.restype,
- name=self.name,
- args=', '.join(a.type for a in self.args)
-@@ -233,6 +233,9 @@ def generate_wrappers(glfw_header: str) -> None:
- #include <stdint.h>
- #include "monotonic.h"
-
-+#ifndef GFW_EXTERN
-+#define GFW_EXTERN extern
-+#endif
- {}
-
- typedef int (* GLFWcocoatextinputfilterfun)(int,int,unsigned int,unsigned long);
-@@ -251,6 +254,7 @@ def generate_wrappers(glfw_header: str) -> None:
- f.write(header)
-
- code = '''
-+#define GFW_EXTERN
- #include "data-types.h"
- #include "glfw-wrapper.h"
- #include <dlfcn.h>
-diff --git a/kitty/glfw-wrapper.c b/kitty/glfw-wrapper.c
-index 1159529bf..3833977ee 100644
---- a/kitty/glfw-wrapper.c
-+++ b/kitty/glfw-wrapper.c
-@@ -1,4 +1,5 @@
-
-+#define GFW_EXTERN
- #include "data-types.h"
- #include "glfw-wrapper.h"
- #include <dlfcn.h>
-diff --git a/kitty/glfw-wrapper.h b/kitty/glfw-wrapper.h
-index ac4629f3a..b7a816761 100644
---- a/kitty/glfw-wrapper.h
-+++ b/kitty/glfw-wrapper.h
-@@ -9,6 +9,9 @@
- #include <stdint.h>
- #include "monotonic.h"
-
-+#ifndef GFW_EXTERN
-+#define GFW_EXTERN extern
-+#endif
-
-
- /*! @name GLFW version macros
-@@ -1587,547 +1590,547 @@ typedef void (*GLFWwaylandframecallbackfunc)(unsigned long long id);
- typedef void (*GLFWDBusnotificationcreatedfun)(unsigned long long, uint32_t, void*);
- typedef void (*GLFWDBusnotificationactivatedfun)(uint32_t, const char*);
- typedef int (*glfwInit_func)(monotonic_t);
--glfwInit_func glfwInit_impl;
-+GFW_EXTERN glfwInit_func glfwInit_impl;
- #define glfwInit glfwInit_impl
-
- typedef void (*glfwRunMainLoop_func)(GLFWtickcallback, void*);
--glfwRunMainLoop_func glfwRunMainLoop_impl;
-+GFW_EXTERN glfwRunMainLoop_func glfwRunMainLoop_impl;
- #define glfwRunMainLoop glfwRunMainLoop_impl
-
- typedef void (*glfwStopMainLoop_func)(void);
--glfwStopMainLoop_func glfwStopMainLoop_impl;
-+GFW_EXTERN glfwStopMainLoop_func glfwStopMainLoop_impl;
- #define glfwStopMainLoop glfwStopMainLoop_impl
-
- typedef unsigned long long (*glfwAddTimer_func)(monotonic_t, bool, GLFWuserdatafun, void *, GLFWuserdatafun);
--glfwAddTimer_func glfwAddTimer_impl;
-+GFW_EXTERN glfwAddTimer_func glfwAddTimer_impl;
- #define glfwAddTimer glfwAddTimer_impl
-
- typedef void (*glfwUpdateTimer_func)(unsigned long long, monotonic_t, bool);
--glfwUpdateTimer_func glfwUpdateTimer_impl;
-+GFW_EXTERN glfwUpdateTimer_func glfwUpdateTimer_impl;
- #define glfwUpdateTimer glfwUpdateTimer_impl
-
- typedef void (*glfwRemoveTimer_func)(unsigned long);
--glfwRemoveTimer_func glfwRemoveTimer_impl;
-+GFW_EXTERN glfwRemoveTimer_func glfwRemoveTimer_impl;
- #define glfwRemoveTimer glfwRemoveTimer_impl
-
- typedef void (*glfwTerminate_func)(void);
--glfwTerminate_func glfwTerminate_impl;
-+GFW_EXTERN glfwTerminate_func glfwTerminate_impl;
- #define glfwTerminate glfwTerminate_impl
-
- typedef void (*glfwInitHint_func)(int, int);
--glfwInitHint_func glfwInitHint_impl;
-+GFW_EXTERN glfwInitHint_func glfwInitHint_impl;
- #define glfwInitHint glfwInitHint_impl
-
- typedef void (*glfwGetVersion_func)(int*, int*, int*);
--glfwGetVersion_func glfwGetVersion_impl;
-+GFW_EXTERN glfwGetVersion_func glfwGetVersion_impl;
- #define glfwGetVersion glfwGetVersion_impl
-
- typedef const char* (*glfwGetVersionString_func)(void);
--glfwGetVersionString_func glfwGetVersionString_impl;
-+GFW_EXTERN glfwGetVersionString_func glfwGetVersionString_impl;
- #define glfwGetVersionString glfwGetVersionString_impl
-
- typedef int (*glfwGetError_func)(const char**);
--glfwGetError_func glfwGetError_impl;
-+GFW_EXTERN glfwGetError_func glfwGetError_impl;
- #define glfwGetError glfwGetError_impl
-
- typedef GLFWerrorfun (*glfwSetErrorCallback_func)(GLFWerrorfun);
--glfwSetErrorCallback_func glfwSetErrorCallback_impl;
-+GFW_EXTERN glfwSetErrorCallback_func glfwSetErrorCallback_impl;
- #define glfwSetErrorCallback glfwSetErrorCallback_impl
-
- typedef GLFWmonitor** (*glfwGetMonitors_func)(int*);
--glfwGetMonitors_func glfwGetMonitors_impl;
-+GFW_EXTERN glfwGetMonitors_func glfwGetMonitors_impl;
- #define glfwGetMonitors glfwGetMonitors_impl
-
- typedef GLFWmonitor* (*glfwGetPrimaryMonitor_func)(void);
--glfwGetPrimaryMonitor_func glfwGetPrimaryMonitor_impl;
-+GFW_EXTERN glfwGetPrimaryMonitor_func glfwGetPrimaryMonitor_impl;
- #define glfwGetPrimaryMonitor glfwGetPrimaryMonitor_impl
-
- typedef void (*glfwGetMonitorPos_func)(GLFWmonitor*, int*, int*);
--glfwGetMonitorPos_func glfwGetMonitorPos_impl;
-+GFW_EXTERN glfwGetMonitorPos_func glfwGetMonitorPos_impl;
- #define glfwGetMonitorPos glfwGetMonitorPos_impl
-
- typedef void (*glfwGetMonitorWorkarea_func)(GLFWmonitor*, int*, int*, int*, int*);
--glfwGetMonitorWorkarea_func glfwGetMonitorWorkarea_impl;
-+GFW_EXTERN glfwGetMonitorWorkarea_func glfwGetMonitorWorkarea_impl;
- #define glfwGetMonitorWorkarea glfwGetMonitorWorkarea_impl
-
- typedef void (*glfwGetMonitorPhysicalSize_func)(GLFWmonitor*, int*, int*);
--glfwGetMonitorPhysicalSize_func glfwGetMonitorPhysicalSize_impl;
-+GFW_EXTERN glfwGetMonitorPhysicalSize_func glfwGetMonitorPhysicalSize_impl;
- #define glfwGetMonitorPhysicalSize glfwGetMonitorPhysicalSize_impl
-
- typedef void (*glfwGetMonitorContentScale_func)(GLFWmonitor*, float*, float*);
--glfwGetMonitorContentScale_func glfwGetMonitorContentScale_impl;
-+GFW_EXTERN glfwGetMonitorContentScale_func glfwGetMonitorContentScale_impl;
- #define glfwGetMonitorContentScale glfwGetMonitorContentScale_impl
-
- typedef const char* (*glfwGetMonitorName_func)(GLFWmonitor*);
--glfwGetMonitorName_func glfwGetMonitorName_impl;
-+GFW_EXTERN glfwGetMonitorName_func glfwGetMonitorName_impl;
- #define glfwGetMonitorName glfwGetMonitorName_impl
-
- typedef void (*glfwSetMonitorUserPointer_func)(GLFWmonitor*, void*);
--glfwSetMonitorUserPointer_func glfwSetMonitorUserPointer_impl;
-+GFW_EXTERN glfwSetMonitorUserPointer_func glfwSetMonitorUserPointer_impl;
- #define glfwSetMonitorUserPointer glfwSetMonitorUserPointer_impl
-
- typedef void* (*glfwGetMonitorUserPointer_func)(GLFWmonitor*);
--glfwGetMonitorUserPointer_func glfwGetMonitorUserPointer_impl;
-+GFW_EXTERN glfwGetMonitorUserPointer_func glfwGetMonitorUserPointer_impl;
- #define glfwGetMonitorUserPointer glfwGetMonitorUserPointer_impl
-
- typedef GLFWmonitorfun (*glfwSetMonitorCallback_func)(GLFWmonitorfun);
--glfwSetMonitorCallback_func glfwSetMonitorCallback_impl;
-+GFW_EXTERN glfwSetMonitorCallback_func glfwSetMonitorCallback_impl;
- #define glfwSetMonitorCallback glfwSetMonitorCallback_impl
-
- typedef const GLFWvidmode* (*glfwGetVideoModes_func)(GLFWmonitor*, int*);
--glfwGetVideoModes_func glfwGetVideoModes_impl;
-+GFW_EXTERN glfwGetVideoModes_func glfwGetVideoModes_impl;
- #define glfwGetVideoModes glfwGetVideoModes_impl
-
- typedef const GLFWvidmode* (*glfwGetVideoMode_func)(GLFWmonitor*);
--glfwGetVideoMode_func glfwGetVideoMode_impl;
-+GFW_EXTERN glfwGetVideoMode_func glfwGetVideoMode_impl;
- #define glfwGetVideoMode glfwGetVideoMode_impl
-
- typedef void (*glfwSetGamma_func)(GLFWmonitor*, float);
--glfwSetGamma_func glfwSetGamma_impl;
-+GFW_EXTERN glfwSetGamma_func glfwSetGamma_impl;
- #define glfwSetGamma glfwSetGamma_impl
-
- typedef const GLFWgammaramp* (*glfwGetGammaRamp_func)(GLFWmonitor*);
--glfwGetGammaRamp_func glfwGetGammaRamp_impl;
-+GFW_EXTERN glfwGetGammaRamp_func glfwGetGammaRamp_impl;
- #define glfwGetGammaRamp glfwGetGammaRamp_impl
-
- typedef void (*glfwSetGammaRamp_func)(GLFWmonitor*, const GLFWgammaramp*);
--glfwSetGammaRamp_func glfwSetGammaRamp_impl;
-+GFW_EXTERN glfwSetGammaRamp_func glfwSetGammaRamp_impl;
- #define glfwSetGammaRamp glfwSetGammaRamp_impl
-
- typedef void (*glfwDefaultWindowHints_func)(void);
--glfwDefaultWindowHints_func glfwDefaultWindowHints_impl;
-+GFW_EXTERN glfwDefaultWindowHints_func glfwDefaultWindowHints_impl;
- #define glfwDefaultWindowHints glfwDefaultWindowHints_impl
-
- typedef void (*glfwWindowHint_func)(int, int);
--glfwWindowHint_func glfwWindowHint_impl;
-+GFW_EXTERN glfwWindowHint_func glfwWindowHint_impl;
- #define glfwWindowHint glfwWindowHint_impl
-
- typedef void (*glfwWindowHintString_func)(int, const char*);
--glfwWindowHintString_func glfwWindowHintString_impl;
-+GFW_EXTERN glfwWindowHintString_func glfwWindowHintString_impl;
- #define glfwWindowHintString glfwWindowHintString_impl
-
- typedef GLFWwindow* (*glfwCreateWindow_func)(int, int, const char*, GLFWmonitor*, GLFWwindow*);
--glfwCreateWindow_func glfwCreateWindow_impl;
-+GFW_EXTERN glfwCreateWindow_func glfwCreateWindow_impl;
- #define glfwCreateWindow glfwCreateWindow_impl
-
- typedef bool (*glfwToggleFullscreen_func)(GLFWwindow*, unsigned int);
--glfwToggleFullscreen_func glfwToggleFullscreen_impl;
-+GFW_EXTERN glfwToggleFullscreen_func glfwToggleFullscreen_impl;
- #define glfwToggleFullscreen glfwToggleFullscreen_impl
-
- typedef void (*glfwDestroyWindow_func)(GLFWwindow*);
--glfwDestroyWindow_func glfwDestroyWindow_impl;
-+GFW_EXTERN glfwDestroyWindow_func glfwDestroyWindow_impl;
- #define glfwDestroyWindow glfwDestroyWindow_impl
-
- typedef int (*glfwWindowShouldClose_func)(GLFWwindow*);
--glfwWindowShouldClose_func glfwWindowShouldClose_impl;
-+GFW_EXTERN glfwWindowShouldClose_func glfwWindowShouldClose_impl;
- #define glfwWindowShouldClose glfwWindowShouldClose_impl
-
- typedef void (*glfwSetWindowShouldClose_func)(GLFWwindow*, int);
--glfwSetWindowShouldClose_func glfwSetWindowShouldClose_impl;
-+GFW_EXTERN glfwSetWindowShouldClose_func glfwSetWindowShouldClose_impl;
- #define glfwSetWindowShouldClose glfwSetWindowShouldClose_impl
-
- typedef void (*glfwSetWindowTitle_func)(GLFWwindow*, const char*);
--glfwSetWindowTitle_func glfwSetWindowTitle_impl;
-+GFW_EXTERN glfwSetWindowTitle_func glfwSetWindowTitle_impl;
- #define glfwSetWindowTitle glfwSetWindowTitle_impl
-
- typedef void (*glfwSetWindowIcon_func)(GLFWwindow*, int, const GLFWimage*);
--glfwSetWindowIcon_func glfwSetWindowIcon_impl;
-+GFW_EXTERN glfwSetWindowIcon_func glfwSetWindowIcon_impl;
- #define glfwSetWindowIcon glfwSetWindowIcon_impl
-
- typedef void (*glfwGetWindowPos_func)(GLFWwindow*, int*, int*);
--glfwGetWindowPos_func glfwGetWindowPos_impl;
-+GFW_EXTERN glfwGetWindowPos_func glfwGetWindowPos_impl;
- #define glfwGetWindowPos glfwGetWindowPos_impl
-
- typedef void (*glfwSetWindowPos_func)(GLFWwindow*, int, int);
--glfwSetWindowPos_func glfwSetWindowPos_impl;
-+GFW_EXTERN glfwSetWindowPos_func glfwSetWindowPos_impl;
- #define glfwSetWindowPos glfwSetWindowPos_impl
-
- typedef void (*glfwGetWindowSize_func)(GLFWwindow*, int*, int*);
--glfwGetWindowSize_func glfwGetWindowSize_impl;
-+GFW_EXTERN glfwGetWindowSize_func glfwGetWindowSize_impl;
- #define glfwGetWindowSize glfwGetWindowSize_impl
-
- typedef void (*glfwSetWindowSizeLimits_func)(GLFWwindow*, int, int, int, int);
--glfwSetWindowSizeLimits_func glfwSetWindowSizeLimits_impl;
-+GFW_EXTERN glfwSetWindowSizeLimits_func glfwSetWindowSizeLimits_impl;
- #define glfwSetWindowSizeLimits glfwSetWindowSizeLimits_impl
-
- typedef void (*glfwSetWindowSizeIncrements_func)(GLFWwindow*, int, int);
--glfwSetWindowSizeIncrements_func glfwSetWindowSizeIncrements_impl;
-+GFW_EXTERN glfwSetWindowSizeIncrements_func glfwSetWindowSizeIncrements_impl;
- #define glfwSetWindowSizeIncrements glfwSetWindowSizeIncrements_impl
-
- typedef void (*glfwSetWindowAspectRatio_func)(GLFWwindow*, int, int);
--glfwSetWindowAspectRatio_func glfwSetWindowAspectRatio_impl;
-+GFW_EXTERN glfwSetWindowAspectRatio_func glfwSetWindowAspectRatio_impl;
- #define glfwSetWindowAspectRatio glfwSetWindowAspectRatio_impl
-
- typedef void (*glfwSetWindowSize_func)(GLFWwindow*, int, int);
--glfwSetWindowSize_func glfwSetWindowSize_impl;
-+GFW_EXTERN glfwSetWindowSize_func glfwSetWindowSize_impl;
- #define glfwSetWindowSize glfwSetWindowSize_impl
-
- typedef void (*glfwGetFramebufferSize_func)(GLFWwindow*, int*, int*);
--glfwGetFramebufferSize_func glfwGetFramebufferSize_impl;
-+GFW_EXTERN glfwGetFramebufferSize_func glfwGetFramebufferSize_impl;
- #define glfwGetFramebufferSize glfwGetFramebufferSize_impl
-
- typedef void (*glfwGetWindowFrameSize_func)(GLFWwindow*, int*, int*, int*, int*);
--glfwGetWindowFrameSize_func glfwGetWindowFrameSize_impl;
-+GFW_EXTERN glfwGetWindowFrameSize_func glfwGetWindowFrameSize_impl;
- #define glfwGetWindowFrameSize glfwGetWindowFrameSize_impl
-
- typedef void (*glfwGetWindowContentScale_func)(GLFWwindow*, float*, float*);
--glfwGetWindowContentScale_func glfwGetWindowContentScale_impl;
-+GFW_EXTERN glfwGetWindowContentScale_func glfwGetWindowContentScale_impl;
- #define glfwGetWindowContentScale glfwGetWindowContentScale_impl
-
- typedef monotonic_t (*glfwGetDoubleClickInterval_func)(GLFWwindow*);
--glfwGetDoubleClickInterval_func glfwGetDoubleClickInterval_impl;
-+GFW_EXTERN glfwGetDoubleClickInterval_func glfwGetDoubleClickInterval_impl;
- #define glfwGetDoubleClickInterval glfwGetDoubleClickInterval_impl
-
- typedef float (*glfwGetWindowOpacity_func)(GLFWwindow*);
--glfwGetWindowOpacity_func glfwGetWindowOpacity_impl;
-+GFW_EXTERN glfwGetWindowOpacity_func glfwGetWindowOpacity_impl;
- #define glfwGetWindowOpacity glfwGetWindowOpacity_impl
-
- typedef void (*glfwSetWindowOpacity_func)(GLFWwindow*, float);
--glfwSetWindowOpacity_func glfwSetWindowOpacity_impl;
-+GFW_EXTERN glfwSetWindowOpacity_func glfwSetWindowOpacity_impl;
- #define glfwSetWindowOpacity glfwSetWindowOpacity_impl
-
- typedef void (*glfwIconifyWindow_func)(GLFWwindow*);
--glfwIconifyWindow_func glfwIconifyWindow_impl;
-+GFW_EXTERN glfwIconifyWindow_func glfwIconifyWindow_impl;
- #define glfwIconifyWindow glfwIconifyWindow_impl
-
- typedef void (*glfwRestoreWindow_func)(GLFWwindow*);
--glfwRestoreWindow_func glfwRestoreWindow_impl;
-+GFW_EXTERN glfwRestoreWindow_func glfwRestoreWindow_impl;
- #define glfwRestoreWindow glfwRestoreWindow_impl
-
- typedef void (*glfwMaximizeWindow_func)(GLFWwindow*);
--glfwMaximizeWindow_func glfwMaximizeWindow_impl;
-+GFW_EXTERN glfwMaximizeWindow_func glfwMaximizeWindow_impl;
- #define glfwMaximizeWindow glfwMaximizeWindow_impl
-
- typedef void (*glfwShowWindow_func)(GLFWwindow*);
--glfwShowWindow_func glfwShowWindow_impl;
-+GFW_EXTERN glfwShowWindow_func glfwShowWindow_impl;
- #define glfwShowWindow glfwShowWindow_impl
-
- typedef void (*glfwHideWindow_func)(GLFWwindow*);
--glfwHideWindow_func glfwHideWindow_impl;
-+GFW_EXTERN glfwHideWindow_func glfwHideWindow_impl;
- #define glfwHideWindow glfwHideWindow_impl
-
- typedef void (*glfwFocusWindow_func)(GLFWwindow*);
--glfwFocusWindow_func glfwFocusWindow_impl;
-+GFW_EXTERN glfwFocusWindow_func glfwFocusWindow_impl;
- #define glfwFocusWindow glfwFocusWindow_impl
-
- typedef void (*glfwRequestWindowAttention_func)(GLFWwindow*);
--glfwRequestWindowAttention_func glfwRequestWindowAttention_impl;
-+GFW_EXTERN glfwRequestWindowAttention_func glfwRequestWindowAttention_impl;
- #define glfwRequestWindowAttention glfwRequestWindowAttention_impl
-
- typedef int (*glfwWindowBell_func)(GLFWwindow*);
--glfwWindowBell_func glfwWindowBell_impl;
-+GFW_EXTERN glfwWindowBell_func glfwWindowBell_impl;
- #define glfwWindowBell glfwWindowBell_impl
-
- typedef GLFWmonitor* (*glfwGetWindowMonitor_func)(GLFWwindow*);
--glfwGetWindowMonitor_func glfwGetWindowMonitor_impl;
-+GFW_EXTERN glfwGetWindowMonitor_func glfwGetWindowMonitor_impl;
- #define glfwGetWindowMonitor glfwGetWindowMonitor_impl
-
- typedef void (*glfwSetWindowMonitor_func)(GLFWwindow*, GLFWmonitor*, int, int, int, int, int);
--glfwSetWindowMonitor_func glfwSetWindowMonitor_impl;
-+GFW_EXTERN glfwSetWindowMonitor_func glfwSetWindowMonitor_impl;
- #define glfwSetWindowMonitor glfwSetWindowMonitor_impl
-
- typedef int (*glfwGetWindowAttrib_func)(GLFWwindow*, int);
--glfwGetWindowAttrib_func glfwGetWindowAttrib_impl;
-+GFW_EXTERN glfwGetWindowAttrib_func glfwGetWindowAttrib_impl;
- #define glfwGetWindowAttrib glfwGetWindowAttrib_impl
-
- typedef void (*glfwSetWindowAttrib_func)(GLFWwindow*, int, int);
--glfwSetWindowAttrib_func glfwSetWindowAttrib_impl;
-+GFW_EXTERN glfwSetWindowAttrib_func glfwSetWindowAttrib_impl;
- #define glfwSetWindowAttrib glfwSetWindowAttrib_impl
-
- typedef void (*glfwSetWindowUserPointer_func)(GLFWwindow*, void*);
--glfwSetWindowUserPointer_func glfwSetWindowUserPointer_impl;
-+GFW_EXTERN glfwSetWindowUserPointer_func glfwSetWindowUserPointer_impl;
- #define glfwSetWindowUserPointer glfwSetWindowUserPointer_impl
-
- typedef void* (*glfwGetWindowUserPointer_func)(GLFWwindow*);
--glfwGetWindowUserPointer_func glfwGetWindowUserPointer_impl;
-+GFW_EXTERN glfwGetWindowUserPointer_func glfwGetWindowUserPointer_impl;
- #define glfwGetWindowUserPointer glfwGetWindowUserPointer_impl
-
- typedef GLFWwindowposfun (*glfwSetWindowPosCallback_func)(GLFWwindow*, GLFWwindowposfun);
--glfwSetWindowPosCallback_func glfwSetWindowPosCallback_impl;
-+GFW_EXTERN glfwSetWindowPosCallback_func glfwSetWindowPosCallback_impl;
- #define glfwSetWindowPosCallback glfwSetWindowPosCallback_impl
-
- typedef GLFWwindowsizefun (*glfwSetWindowSizeCallback_func)(GLFWwindow*, GLFWwindowsizefun);
--glfwSetWindowSizeCallback_func glfwSetWindowSizeCallback_impl;
-+GFW_EXTERN glfwSetWindowSizeCallback_func glfwSetWindowSizeCallback_impl;
- #define glfwSetWindowSizeCallback glfwSetWindowSizeCallback_impl
-
- typedef GLFWwindowclosefun (*glfwSetWindowCloseCallback_func)(GLFWwindow*, GLFWwindowclosefun);
--glfwSetWindowCloseCallback_func glfwSetWindowCloseCallback_impl;
-+GFW_EXTERN glfwSetWindowCloseCallback_func glfwSetWindowCloseCallback_impl;
- #define glfwSetWindowCloseCallback glfwSetWindowCloseCallback_impl
-
- typedef GLFWwindowrefreshfun (*glfwSetWindowRefreshCallback_func)(GLFWwindow*, GLFWwindowrefreshfun);
--glfwSetWindowRefreshCallback_func glfwSetWindowRefreshCallback_impl;
-+GFW_EXTERN glfwSetWindowRefreshCallback_func glfwSetWindowRefreshCallback_impl;
- #define glfwSetWindowRefreshCallback glfwSetWindowRefreshCallback_impl
-
- typedef GLFWwindowfocusfun (*glfwSetWindowFocusCallback_func)(GLFWwindow*, GLFWwindowfocusfun);
--glfwSetWindowFocusCallback_func glfwSetWindowFocusCallback_impl;
-+GFW_EXTERN glfwSetWindowFocusCallback_func glfwSetWindowFocusCallback_impl;
- #define glfwSetWindowFocusCallback glfwSetWindowFocusCallback_impl
-
- typedef GLFWwindowocclusionfun (*glfwSetWindowOcclusionCallback_func)(GLFWwindow*, GLFWwindowocclusionfun);
--glfwSetWindowOcclusionCallback_func glfwSetWindowOcclusionCallback_impl;
-+GFW_EXTERN glfwSetWindowOcclusionCallback_func glfwSetWindowOcclusionCallback_impl;
- #define glfwSetWindowOcclusionCallback glfwSetWindowOcclusionCallback_impl
-
- typedef GLFWwindowiconifyfun (*glfwSetWindowIconifyCallback_func)(GLFWwindow*, GLFWwindowiconifyfun);
--glfwSetWindowIconifyCallback_func glfwSetWindowIconifyCallback_impl;
-+GFW_EXTERN glfwSetWindowIconifyCallback_func glfwSetWindowIconifyCallback_impl;
- #define glfwSetWindowIconifyCallback glfwSetWindowIconifyCallback_impl
-
- typedef GLFWwindowmaximizefun (*glfwSetWindowMaximizeCallback_func)(GLFWwindow*, GLFWwindowmaximizefun);
--glfwSetWindowMaximizeCallback_func glfwSetWindowMaximizeCallback_impl;
-+GFW_EXTERN glfwSetWindowMaximizeCallback_func glfwSetWindowMaximizeCallback_impl;
- #define glfwSetWindowMaximizeCallback glfwSetWindowMaximizeCallback_impl
-
- typedef GLFWframebuffersizefun (*glfwSetFramebufferSizeCallback_func)(GLFWwindow*, GLFWframebuffersizefun);
--glfwSetFramebufferSizeCallback_func glfwSetFramebufferSizeCallback_impl;
-+GFW_EXTERN glfwSetFramebufferSizeCallback_func glfwSetFramebufferSizeCallback_impl;
- #define glfwSetFramebufferSizeCallback glfwSetFramebufferSizeCallback_impl
-
- typedef GLFWwindowcontentscalefun (*glfwSetWindowContentScaleCallback_func)(GLFWwindow*, GLFWwindowcontentscalefun);
--glfwSetWindowContentScaleCallback_func glfwSetWindowContentScaleCallback_impl;
-+GFW_EXTERN glfwSetWindowContentScaleCallback_func glfwSetWindowContentScaleCallback_impl;
- #define glfwSetWindowContentScaleCallback glfwSetWindowContentScaleCallback_impl
-
- typedef void (*glfwPostEmptyEvent_func)(void);
--glfwPostEmptyEvent_func glfwPostEmptyEvent_impl;
-+GFW_EXTERN glfwPostEmptyEvent_func glfwPostEmptyEvent_impl;
- #define glfwPostEmptyEvent glfwPostEmptyEvent_impl
-
- typedef int (*glfwGetInputMode_func)(GLFWwindow*, int);
--glfwGetInputMode_func glfwGetInputMode_impl;
-+GFW_EXTERN glfwGetInputMode_func glfwGetInputMode_impl;
- #define glfwGetInputMode glfwGetInputMode_impl
-
- typedef void (*glfwSetInputMode_func)(GLFWwindow*, int, int);
--glfwSetInputMode_func glfwSetInputMode_impl;
-+GFW_EXTERN glfwSetInputMode_func glfwSetInputMode_impl;
- #define glfwSetInputMode glfwSetInputMode_impl
-
- typedef const char* (*glfwGetKeyName_func)(int, int);
--glfwGetKeyName_func glfwGetKeyName_impl;
-+GFW_EXTERN glfwGetKeyName_func glfwGetKeyName_impl;
- #define glfwGetKeyName glfwGetKeyName_impl
-
- typedef int (*glfwGetNativeKeyForKey_func)(int);
--glfwGetNativeKeyForKey_func glfwGetNativeKeyForKey_impl;
-+GFW_EXTERN glfwGetNativeKeyForKey_func glfwGetNativeKeyForKey_impl;
- #define glfwGetNativeKeyForKey glfwGetNativeKeyForKey_impl
-
- typedef int (*glfwGetKey_func)(GLFWwindow*, int);
--glfwGetKey_func glfwGetKey_impl;
-+GFW_EXTERN glfwGetKey_func glfwGetKey_impl;
- #define glfwGetKey glfwGetKey_impl
-
- typedef int (*glfwGetMouseButton_func)(GLFWwindow*, int);
--glfwGetMouseButton_func glfwGetMouseButton_impl;
-+GFW_EXTERN glfwGetMouseButton_func glfwGetMouseButton_impl;
- #define glfwGetMouseButton glfwGetMouseButton_impl
-
- typedef void (*glfwGetCursorPos_func)(GLFWwindow*, double*, double*);
--glfwGetCursorPos_func glfwGetCursorPos_impl;
-+GFW_EXTERN glfwGetCursorPos_func glfwGetCursorPos_impl;
- #define glfwGetCursorPos glfwGetCursorPos_impl
-
- typedef void (*glfwSetCursorPos_func)(GLFWwindow*, double, double);
--glfwSetCursorPos_func glfwSetCursorPos_impl;
-+GFW_EXTERN glfwSetCursorPos_func glfwSetCursorPos_impl;
- #define glfwSetCursorPos glfwSetCursorPos_impl
-
- typedef GLFWcursor* (*glfwCreateCursor_func)(const GLFWimage*, int, int, int);
--glfwCreateCursor_func glfwCreateCursor_impl;
-+GFW_EXTERN glfwCreateCursor_func glfwCreateCursor_impl;
- #define glfwCreateCursor glfwCreateCursor_impl
-
- typedef GLFWcursor* (*glfwCreateStandardCursor_func)(GLFWCursorShape);
--glfwCreateStandardCursor_func glfwCreateStandardCursor_impl;
-+GFW_EXTERN glfwCreateStandardCursor_func glfwCreateStandardCursor_impl;
- #define glfwCreateStandardCursor glfwCreateStandardCursor_impl
-
- typedef void (*glfwDestroyCursor_func)(GLFWcursor*);
--glfwDestroyCursor_func glfwDestroyCursor_impl;
-+GFW_EXTERN glfwDestroyCursor_func glfwDestroyCursor_impl;
- #define glfwDestroyCursor glfwDestroyCursor_impl
-
- typedef void (*glfwSetCursor_func)(GLFWwindow*, GLFWcursor*);
--glfwSetCursor_func glfwSetCursor_impl;
-+GFW_EXTERN glfwSetCursor_func glfwSetCursor_impl;
- #define glfwSetCursor glfwSetCursor_impl
-
- typedef GLFWkeyboardfun (*glfwSetKeyboardCallback_func)(GLFWwindow*, GLFWkeyboardfun);
--glfwSetKeyboardCallback_func glfwSetKeyboardCallback_impl;
-+GFW_EXTERN glfwSetKeyboardCallback_func glfwSetKeyboardCallback_impl;
- #define glfwSetKeyboardCallback glfwSetKeyboardCallback_impl
-
- typedef void (*glfwUpdateIMEState_func)(GLFWwindow*, int, int, int, int, int);
--glfwUpdateIMEState_func glfwUpdateIMEState_impl;
-+GFW_EXTERN glfwUpdateIMEState_func glfwUpdateIMEState_impl;
- #define glfwUpdateIMEState glfwUpdateIMEState_impl
-
- typedef GLFWmousebuttonfun (*glfwSetMouseButtonCallback_func)(GLFWwindow*, GLFWmousebuttonfun);
--glfwSetMouseButtonCallback_func glfwSetMouseButtonCallback_impl;
-+GFW_EXTERN glfwSetMouseButtonCallback_func glfwSetMouseButtonCallback_impl;
- #define glfwSetMouseButtonCallback glfwSetMouseButtonCallback_impl
-
- typedef GLFWcursorposfun (*glfwSetCursorPosCallback_func)(GLFWwindow*, GLFWcursorposfun);
--glfwSetCursorPosCallback_func glfwSetCursorPosCallback_impl;
-+GFW_EXTERN glfwSetCursorPosCallback_func glfwSetCursorPosCallback_impl;
- #define glfwSetCursorPosCallback glfwSetCursorPosCallback_impl
-
- typedef GLFWcursorenterfun (*glfwSetCursorEnterCallback_func)(GLFWwindow*, GLFWcursorenterfun);
--glfwSetCursorEnterCallback_func glfwSetCursorEnterCallback_impl;
-+GFW_EXTERN glfwSetCursorEnterCallback_func glfwSetCursorEnterCallback_impl;
- #define glfwSetCursorEnterCallback glfwSetCursorEnterCallback_impl
-
- typedef GLFWscrollfun (*glfwSetScrollCallback_func)(GLFWwindow*, GLFWscrollfun);
--glfwSetScrollCallback_func glfwSetScrollCallback_impl;
-+GFW_EXTERN glfwSetScrollCallback_func glfwSetScrollCallback_impl;
- #define glfwSetScrollCallback glfwSetScrollCallback_impl
-
- typedef GLFWdropfun (*glfwSetDropCallback_func)(GLFWwindow*, GLFWdropfun);
--glfwSetDropCallback_func glfwSetDropCallback_impl;
-+GFW_EXTERN glfwSetDropCallback_func glfwSetDropCallback_impl;
- #define glfwSetDropCallback glfwSetDropCallback_impl
-
- typedef GLFWliveresizefun (*glfwSetLiveResizeCallback_func)(GLFWwindow*, GLFWliveresizefun);
--glfwSetLiveResizeCallback_func glfwSetLiveResizeCallback_impl;
-+GFW_EXTERN glfwSetLiveResizeCallback_func glfwSetLiveResizeCallback_impl;
- #define glfwSetLiveResizeCallback glfwSetLiveResizeCallback_impl
-
- typedef int (*glfwJoystickPresent_func)(int);
--glfwJoystickPresent_func glfwJoystickPresent_impl;
-+GFW_EXTERN glfwJoystickPresent_func glfwJoystickPresent_impl;
- #define glfwJoystickPresent glfwJoystickPresent_impl
-
- typedef const float* (*glfwGetJoystickAxes_func)(int, int*);
--glfwGetJoystickAxes_func glfwGetJoystickAxes_impl;
-+GFW_EXTERN glfwGetJoystickAxes_func glfwGetJoystickAxes_impl;
- #define glfwGetJoystickAxes glfwGetJoystickAxes_impl
-
- typedef const unsigned char* (*glfwGetJoystickButtons_func)(int, int*);
--glfwGetJoystickButtons_func glfwGetJoystickButtons_impl;
-+GFW_EXTERN glfwGetJoystickButtons_func glfwGetJoystickButtons_impl;
- #define glfwGetJoystickButtons glfwGetJoystickButtons_impl
-
- typedef const unsigned char* (*glfwGetJoystickHats_func)(int, int*);
--glfwGetJoystickHats_func glfwGetJoystickHats_impl;
-+GFW_EXTERN glfwGetJoystickHats_func glfwGetJoystickHats_impl;
- #define glfwGetJoystickHats glfwGetJoystickHats_impl
-
- typedef const char* (*glfwGetJoystickName_func)(int);
--glfwGetJoystickName_func glfwGetJoystickName_impl;
-+GFW_EXTERN glfwGetJoystickName_func glfwGetJoystickName_impl;
- #define glfwGetJoystickName glfwGetJoystickName_impl
-
- typedef const char* (*glfwGetJoystickGUID_func)(int);
--glfwGetJoystickGUID_func glfwGetJoystickGUID_impl;
-+GFW_EXTERN glfwGetJoystickGUID_func glfwGetJoystickGUID_impl;
- #define glfwGetJoystickGUID glfwGetJoystickGUID_impl
-
- typedef void (*glfwSetJoystickUserPointer_func)(int, void*);
--glfwSetJoystickUserPointer_func glfwSetJoystickUserPointer_impl;
-+GFW_EXTERN glfwSetJoystickUserPointer_func glfwSetJoystickUserPointer_impl;
- #define glfwSetJoystickUserPointer glfwSetJoystickUserPointer_impl
-
- typedef void* (*glfwGetJoystickUserPointer_func)(int);
--glfwGetJoystickUserPointer_func glfwGetJoystickUserPointer_impl;
-+GFW_EXTERN glfwGetJoystickUserPointer_func glfwGetJoystickUserPointer_impl;
- #define glfwGetJoystickUserPointer glfwGetJoystickUserPointer_impl
-
- typedef int (*glfwJoystickIsGamepad_func)(int);
--glfwJoystickIsGamepad_func glfwJoystickIsGamepad_impl;
-+GFW_EXTERN glfwJoystickIsGamepad_func glfwJoystickIsGamepad_impl;
- #define glfwJoystickIsGamepad glfwJoystickIsGamepad_impl
-
- typedef GLFWjoystickfun (*glfwSetJoystickCallback_func)(GLFWjoystickfun);
--glfwSetJoystickCallback_func glfwSetJoystickCallback_impl;
-+GFW_EXTERN glfwSetJoystickCallback_func glfwSetJoystickCallback_impl;
- #define glfwSetJoystickCallback glfwSetJoystickCallback_impl
-
- typedef int (*glfwUpdateGamepadMappings_func)(const char*);
--glfwUpdateGamepadMappings_func glfwUpdateGamepadMappings_impl;
-+GFW_EXTERN glfwUpdateGamepadMappings_func glfwUpdateGamepadMappings_impl;
- #define glfwUpdateGamepadMappings glfwUpdateGamepadMappings_impl
-
- typedef const char* (*glfwGetGamepadName_func)(int);
--glfwGetGamepadName_func glfwGetGamepadName_impl;
-+GFW_EXTERN glfwGetGamepadName_func glfwGetGamepadName_impl;
- #define glfwGetGamepadName glfwGetGamepadName_impl
-
- typedef int (*glfwGetGamepadState_func)(int, GLFWgamepadstate*);
--glfwGetGamepadState_func glfwGetGamepadState_impl;
-+GFW_EXTERN glfwGetGamepadState_func glfwGetGamepadState_impl;
- #define glfwGetGamepadState glfwGetGamepadState_impl
-
- typedef void (*glfwSetClipboardString_func)(GLFWwindow*, const char*);
--glfwSetClipboardString_func glfwSetClipboardString_impl;
-+GFW_EXTERN glfwSetClipboardString_func glfwSetClipboardString_impl;
- #define glfwSetClipboardString glfwSetClipboardString_impl
-
- typedef const char* (*glfwGetClipboardString_func)(GLFWwindow*);
--glfwGetClipboardString_func glfwGetClipboardString_impl;
-+GFW_EXTERN glfwGetClipboardString_func glfwGetClipboardString_impl;
- #define glfwGetClipboardString glfwGetClipboardString_impl
-
- typedef monotonic_t (*glfwGetTime_func)(void);
--glfwGetTime_func glfwGetTime_impl;
-+GFW_EXTERN glfwGetTime_func glfwGetTime_impl;
- #define glfwGetTime glfwGetTime_impl
-
- typedef void (*glfwMakeContextCurrent_func)(GLFWwindow*);
--glfwMakeContextCurrent_func glfwMakeContextCurrent_impl;
-+GFW_EXTERN glfwMakeContextCurrent_func glfwMakeContextCurrent_impl;
- #define glfwMakeContextCurrent glfwMakeContextCurrent_impl
-
- typedef GLFWwindow* (*glfwGetCurrentContext_func)(void);
--glfwGetCurrentContext_func glfwGetCurrentContext_impl;
-+GFW_EXTERN glfwGetCurrentContext_func glfwGetCurrentContext_impl;
- #define glfwGetCurrentContext glfwGetCurrentContext_impl
-
- typedef void (*glfwSwapBuffers_func)(GLFWwindow*);
--glfwSwapBuffers_func glfwSwapBuffers_impl;
-+GFW_EXTERN glfwSwapBuffers_func glfwSwapBuffers_impl;
- #define glfwSwapBuffers glfwSwapBuffers_impl
-
- typedef void (*glfwSwapInterval_func)(int);
--glfwSwapInterval_func glfwSwapInterval_impl;
-+GFW_EXTERN glfwSwapInterval_func glfwSwapInterval_impl;
- #define glfwSwapInterval glfwSwapInterval_impl
-
- typedef int (*glfwExtensionSupported_func)(const char*);
--glfwExtensionSupported_func glfwExtensionSupported_impl;
-+GFW_EXTERN glfwExtensionSupported_func glfwExtensionSupported_impl;
- #define glfwExtensionSupported glfwExtensionSupported_impl
-
- typedef GLFWglproc (*glfwGetProcAddress_func)(const char*);
--glfwGetProcAddress_func glfwGetProcAddress_impl;
-+GFW_EXTERN glfwGetProcAddress_func glfwGetProcAddress_impl;
- #define glfwGetProcAddress glfwGetProcAddress_impl
-
- typedef int (*glfwVulkanSupported_func)(void);
--glfwVulkanSupported_func glfwVulkanSupported_impl;
-+GFW_EXTERN glfwVulkanSupported_func glfwVulkanSupported_impl;
- #define glfwVulkanSupported glfwVulkanSupported_impl
-
- typedef const char** (*glfwGetRequiredInstanceExtensions_func)(uint32_t*);
--glfwGetRequiredInstanceExtensions_func glfwGetRequiredInstanceExtensions_impl;
-+GFW_EXTERN glfwGetRequiredInstanceExtensions_func glfwGetRequiredInstanceExtensions_impl;
- #define glfwGetRequiredInstanceExtensions glfwGetRequiredInstanceExtensions_impl
-
- typedef void* (*glfwGetCocoaWindow_func)(GLFWwindow*);
--glfwGetCocoaWindow_func glfwGetCocoaWindow_impl;
-+GFW_EXTERN glfwGetCocoaWindow_func glfwGetCocoaWindow_impl;
- #define glfwGetCocoaWindow glfwGetCocoaWindow_impl
-
- typedef void* (*glfwGetNSGLContext_func)(GLFWwindow*);
--glfwGetNSGLContext_func glfwGetNSGLContext_impl;
-+GFW_EXTERN glfwGetNSGLContext_func glfwGetNSGLContext_impl;
- #define glfwGetNSGLContext glfwGetNSGLContext_impl
-
- typedef uint32_t (*glfwGetCocoaMonitor_func)(GLFWmonitor*);
--glfwGetCocoaMonitor_func glfwGetCocoaMonitor_impl;
-+GFW_EXTERN glfwGetCocoaMonitor_func glfwGetCocoaMonitor_impl;
- #define glfwGetCocoaMonitor glfwGetCocoaMonitor_impl
-
- typedef GLFWcocoatextinputfilterfun (*glfwSetCocoaTextInputFilter_func)(GLFWwindow*, GLFWcocoatextinputfilterfun);
--glfwSetCocoaTextInputFilter_func glfwSetCocoaTextInputFilter_impl;
-+GFW_EXTERN glfwSetCocoaTextInputFilter_func glfwSetCocoaTextInputFilter_impl;
- #define glfwSetCocoaTextInputFilter glfwSetCocoaTextInputFilter_impl
-
- typedef GLFWcocoatogglefullscreenfun (*glfwSetCocoaToggleFullscreenIntercept_func)(GLFWwindow*, GLFWcocoatogglefullscreenfun);
--glfwSetCocoaToggleFullscreenIntercept_func glfwSetCocoaToggleFullscreenIntercept_impl;
-+GFW_EXTERN glfwSetCocoaToggleFullscreenIntercept_func glfwSetCocoaToggleFullscreenIntercept_impl;
- #define glfwSetCocoaToggleFullscreenIntercept glfwSetCocoaToggleFullscreenIntercept_impl
-
- typedef GLFWapplicationshouldhandlereopenfun (*glfwSetApplicationShouldHandleReopen_func)(GLFWapplicationshouldhandlereopenfun);
--glfwSetApplicationShouldHandleReopen_func glfwSetApplicationShouldHandleReopen_impl;
-+GFW_EXTERN glfwSetApplicationShouldHandleReopen_func glfwSetApplicationShouldHandleReopen_impl;
- #define glfwSetApplicationShouldHandleReopen glfwSetApplicationShouldHandleReopen_impl
-
- typedef GLFWapplicationwillfinishlaunchingfun (*glfwSetApplicationWillFinishLaunching_func)(GLFWapplicationwillfinishlaunchingfun);
--glfwSetApplicationWillFinishLaunching_func glfwSetApplicationWillFinishLaunching_impl;
-+GFW_EXTERN glfwSetApplicationWillFinishLaunching_func glfwSetApplicationWillFinishLaunching_impl;
- #define glfwSetApplicationWillFinishLaunching glfwSetApplicationWillFinishLaunching_impl
-
- typedef void (*glfwGetCocoaKeyEquivalent_func)(int, int, char*, size_t, int*);
--glfwGetCocoaKeyEquivalent_func glfwGetCocoaKeyEquivalent_impl;
-+GFW_EXTERN glfwGetCocoaKeyEquivalent_func glfwGetCocoaKeyEquivalent_impl;
- #define glfwGetCocoaKeyEquivalent glfwGetCocoaKeyEquivalent_impl
-
- typedef void (*glfwCocoaRequestRenderFrame_func)(GLFWwindow*, GLFWcocoarenderframefun);
--glfwCocoaRequestRenderFrame_func glfwCocoaRequestRenderFrame_impl;
-+GFW_EXTERN glfwCocoaRequestRenderFrame_func glfwCocoaRequestRenderFrame_impl;
- #define glfwCocoaRequestRenderFrame glfwCocoaRequestRenderFrame_impl
-
- typedef void* (*glfwGetX11Display_func)(void);
--glfwGetX11Display_func glfwGetX11Display_impl;
-+GFW_EXTERN glfwGetX11Display_func glfwGetX11Display_impl;
- #define glfwGetX11Display glfwGetX11Display_impl
-
- typedef int32_t (*glfwGetX11Window_func)(GLFWwindow*);
--glfwGetX11Window_func glfwGetX11Window_impl;
-+GFW_EXTERN glfwGetX11Window_func glfwGetX11Window_impl;
- #define glfwGetX11Window glfwGetX11Window_impl
-
- typedef void (*glfwSetPrimarySelectionString_func)(GLFWwindow*, const char*);
--glfwSetPrimarySelectionString_func glfwSetPrimarySelectionString_impl;
-+GFW_EXTERN glfwSetPrimarySelectionString_func glfwSetPrimarySelectionString_impl;
- #define glfwSetPrimarySelectionString glfwSetPrimarySelectionString_impl
-
- typedef const char* (*glfwGetPrimarySelectionString_func)(GLFWwindow*);
--glfwGetPrimarySelectionString_func glfwGetPrimarySelectionString_impl;
-+GFW_EXTERN glfwGetPrimarySelectionString_func glfwGetPrimarySelectionString_impl;
- #define glfwGetPrimarySelectionString glfwGetPrimarySelectionString_impl
-
- typedef int (*glfwGetNativeKeyForName_func)(const char*, int);
--glfwGetNativeKeyForName_func glfwGetNativeKeyForName_impl;
-+GFW_EXTERN glfwGetNativeKeyForName_func glfwGetNativeKeyForName_impl;
- #define glfwGetNativeKeyForName glfwGetNativeKeyForName_impl
-
- typedef void (*glfwRequestWaylandFrameEvent_func)(GLFWwindow*, unsigned long long, GLFWwaylandframecallbackfunc);
--glfwRequestWaylandFrameEvent_func glfwRequestWaylandFrameEvent_impl;
-+GFW_EXTERN glfwRequestWaylandFrameEvent_func glfwRequestWaylandFrameEvent_impl;
- #define glfwRequestWaylandFrameEvent glfwRequestWaylandFrameEvent_impl
-
- typedef unsigned long long (*glfwDBusUserNotify_func)(const char*, const char*, const char*, const char*, const char*, int32_t, GLFWDBusnotificationcreatedfun, void*);
--glfwDBusUserNotify_func glfwDBusUserNotify_impl;
-+GFW_EXTERN glfwDBusUserNotify_func glfwDBusUserNotify_impl;
- #define glfwDBusUserNotify glfwDBusUserNotify_impl
-
- typedef void (*glfwDBusSetUserNotificationHandler_func)(GLFWDBusnotificationactivatedfun);
--glfwDBusSetUserNotificationHandler_func glfwDBusSetUserNotificationHandler_impl;
-+GFW_EXTERN glfwDBusSetUserNotificationHandler_func glfwDBusSetUserNotificationHandler_impl;
- #define glfwDBusSetUserNotificationHandler glfwDBusSetUserNotificationHandler_impl
-
- const char* load_glfw(const char* path);
diff --git a/kitty-make-kitty-build-again.patch b/kitty-make-kitty-build-again.patch
new file mode 100644
index 0000000..a26545e
--- /dev/null
+++ b/kitty-make-kitty-build-again.patch
@@ -0,0 +1,1100 @@
+From 037111715a78a946f9913bbdecb95d3d377d73b0 Mon Sep 17 00:00:00 2001
+From: Kovid Goyal <kovid(a)kovidgoyal.net>
+Date: Tue, 24 Mar 2020 11:34:29 +0530
+Subject: [PATCH 01/11] ...
+
+---
+ docs/layouts.rst | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/docs/layouts.rst b/docs/layouts.rst
+index 933db11ad..c6673b724 100644
+--- a/docs/layouts.rst
++++ b/docs/layouts.rst
+@@ -24,7 +24,7 @@ other in arbitrary arrangements, based on *Layouts*, see below for examples:
+
+ There are many different layouts available. They are all enabled by default,
+ you can switch layouts using :sc:`next_layout`. To control which layouts
+-are available use :opt:`enabled_layouts` the first listed layout becomes
++are available use :opt:`enabled_layouts`, the first listed layout becomes
+ the default. Individual layouts and how to use them are described below.
+
+ .. contents::
+
+From 33a84a609ccc5f21f487214a06b73848ea009551 Mon Sep 17 00:00:00 2001
+From: Kovid Goyal <kovid(a)kovidgoyal.net>
+Date: Tue, 24 Mar 2020 11:35:34 +0530
+Subject: [PATCH 02/11] ...
+
+---
+ docs/changelog.rst | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/docs/changelog.rst b/docs/changelog.rst
+index cb1283211..f89a770aa 100644
+--- a/docs/changelog.rst
++++ b/docs/changelog.rst
+@@ -7,7 +7,7 @@ To update |kitty|, :doc:`follow the instructions <binary>`.
+ 0.17.0 [2020-03-24]
+ --------------------
+
+-- A new :ref:`splits_layout` to arrange windows in arbitrary splits
++- :ref:`splits_layout` to arrange windows in arbitrary splits
+ (:iss:`2308`)
+
+ - Add support for specifying a background image, see :opt:`background_image`
+
+From c4f7c5c1cd337af14ac4a2c49ff5eeccbaec329f Mon Sep 17 00:00:00 2001
+From: Kovid Goyal <kovid(a)kovidgoyal.net>
+Date: Tue, 24 Mar 2020 11:58:30 +0530
+Subject: [PATCH 03/11] More explanation for OSC 52 extension
+
+---
+ docs/protocol-extensions.rst | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/docs/protocol-extensions.rst b/docs/protocol-extensions.rst
+index c91bdfc68..1a9bc0ae6 100644
+--- a/docs/protocol-extensions.rst
++++ b/docs/protocol-extensions.rst
+@@ -219,6 +219,11 @@ first, for example::
+ <ESC>]52;c;!<ESC>\
+
+ Here ``!`` is not valid base64 encoded text, so it clears the clipboard.
++Further, since it is invalid, it should be ignored by terminal emulators
++that do not support this extension, thereby making it safe to use, simply
++always send it before starting a new OSC 52 paste, even if you aren't chunking
++up large pastes, that way kitty wont concatenate your paste, and it will have
++no ill-effects in other terminal emulators.
+
+ In case you're using software that can't be easily adapted to this
+ protocol extension, it can be disabled by specifying ``no-append`` to the
+
+From 5227b1f98b5353a1a0f4e58ae19335ffa89257e3 Mon Sep 17 00:00:00 2001
+From: Kovid Goyal <kovid(a)kovidgoyal.net>
+Date: Tue, 24 Mar 2020 15:53:13 +0530
+Subject: [PATCH 04/11] Fix :opt:`cursor_underline_thickness` not working
+
+Fixes #2465
+---
+ docs/changelog.rst | 7 +++++++
+ kitty/fonts.c | 2 +-
+ 2 files changed, 8 insertions(+), 1 deletion(-)
+
+diff --git a/docs/changelog.rst b/docs/changelog.rst
+index f89a770aa..3bd8e3579 100644
+--- a/docs/changelog.rst
++++ b/docs/changelog.rst
+@@ -4,6 +4,13 @@ Changelog
+ |kitty| is a feature full, cross-platform, *fast*, GPU based terminal emulator.
+ To update |kitty|, :doc:`follow the instructions <binary>`.
+
++0.17.1 [future]
++--------------------
++
++- Fix :opt:`cursor_underline_thickness` not working (:iss:`2465`)
++
++
++- :ref:`splits_layout` to arrange windows in arbitrary splits
+ 0.17.0 [2020-03-24]
+ --------------------
+
+diff --git a/kitty/fonts.c b/kitty/fonts.c
+index 54e697665..b045587f5 100644
+--- a/kitty/fonts.c
++++ b/kitty/fonts.c
+@@ -1243,7 +1243,7 @@ send_prerendered_sprites(FontGroup *fg) {
+ current_send_sprite_to_gpu((FONTS_DATA_HANDLE)fg, x, y, z, fg->canvas);
+ do_increment(fg, &error);
+ if (error != 0) { sprite_map_set_error(error); PyErr_Print(); fatal("Failed"); }
+- PyObject *args = PyObject_CallFunction(prerender_function, "IIIIIffdd", fg->cell_width, fg->cell_height, fg->baseline, fg->underline_position, fg->underline_thickness, OPT(cursor_beam_thickness), fg->logical_dpi_x, fg->logical_dpi_y);
++ PyObject *args = PyObject_CallFunction(prerender_function, "IIIIIffdd", fg->cell_width, fg->cell_height, fg->baseline, fg->underline_position, fg->underline_thickness, OPT(cursor_beam_thickness), OPT(cursor_underline_thickness), fg->logical_dpi_x, fg->logical_dpi_y);
+ if (args == NULL) { PyErr_Print(); fatal("Failed to pre-render cells"); }
+ for (ssize_t i = 0; i < PyTuple_GET_SIZE(args) - 1; i++) {
+ x = fg->sprite_tracker.x; y = fg->sprite_tracker.y; z = fg->sprite_tracker.z;
+
+From 0d87b8fac5168171493cb0d8cef85d60e564c0b0 Mon Sep 17 00:00:00 2001
+From: Kovid Goyal <kovid(a)kovidgoyal.net>
+Date: Tue, 24 Mar 2020 16:05:02 +0530
+Subject: [PATCH 05/11] Fix a regression in 0.17 that caused tab bar background
+ to be rendered after the last tab as well
+
+Fixes #2464
+---
+ docs/changelog.rst | 3 +++
+ kitty/tab_bar.py | 5 ++++-
+ 2 files changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/docs/changelog.rst b/docs/changelog.rst
+index 3bd8e3579..e5f189f2b 100644
+--- a/docs/changelog.rst
++++ b/docs/changelog.rst
+@@ -9,6 +9,9 @@ To update |kitty|, :doc:`follow the instructions <binary>`.
+
+ - Fix :opt:`cursor_underline_thickness` not working (:iss:`2465`)
+
++- Fix a regression in 0.17 that caused tab bar background to be rendered after
++ the last tab as well (:iss:`2464`)
++
+
+ - :ref:`splits_layout` to arrange windows in arbitrary splits
+ 0.17.0 [2020-03-24]
+diff --git a/kitty/tab_bar.py b/kitty/tab_bar.py
+index 1b111eaa0..3d97741b9 100644
+--- a/kitty/tab_bar.py
++++ b/kitty/tab_bar.py
+@@ -66,6 +66,8 @@ def draw_title(draw_data: DrawData, screen: Screen, tab: TabBarData, index: int)
+
+
+ def draw_tab_with_separator(draw_data: DrawData, screen: Screen, tab: TabBarData, before: int, max_title_length: int, index: int, is_last: bool) -> int:
++ tab_bg = draw_data.active_bg if tab.is_active else draw_data.inactive_bg
++ screen.cursor.bg = as_rgb(color_as_int(tab_bg))
+ if draw_data.leading_spaces:
+ screen.draw(' ' * draw_data.leading_spaces)
+ draw_title(draw_data, screen, tab, index)
+@@ -138,6 +140,7 @@ def draw_tab_with_powerline(draw_data: DrawData, screen: Screen, tab: TabBarData
+ screen.draw(' ')
+ start_draw = 1
+
++ screen.cursor.bg = tab_bg
+ if min_title_length >= max_title_length:
+ screen.draw('')
+ else:
+@@ -179,7 +182,7 @@ def __init__(self, os_window_id: int, opts: Options):
+ s.color_profile.update_ansi_color_table(build_ansi_color_table(opts))
+ s.color_profile.set_configured_colors(
+ color_as_int(opts.inactive_tab_foreground),
+- color_as_int(opts.inactive_tab_background)
++ color_as_int(opts.background)
+ )
+ self.blank_rects: Tuple[Rect, ...] = ()
+ sep = opts.tab_separator
+
+From b0b8222a9672bd3865d0b42f9005e797cabd570c Mon Sep 17 00:00:00 2001
+From: Kovid Goyal <kovid(a)kovidgoyal.net>
+Date: Tue, 24 Mar 2020 17:04:17 +0530
+Subject: [PATCH 06/11] ...
+
+---
+ docs/changelog.rst | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/docs/changelog.rst b/docs/changelog.rst
+index e5f189f2b..e9e137b43 100644
+--- a/docs/changelog.rst
++++ b/docs/changelog.rst
+@@ -13,7 +13,6 @@ To update |kitty|, :doc:`follow the instructions <binary>`.
+ the last tab as well (:iss:`2464`)
+
+
+-- :ref:`splits_layout` to arrange windows in arbitrary splits
+ 0.17.0 [2020-03-24]
+ --------------------
+
+
+From 76a6bba64310024c2780ff26e5bbcd3f8b520b38 Mon Sep 17 00:00:00 2001
+From: Kovid Goyal <kovid(a)kovidgoyal.net>
+Date: Tue, 24 Mar 2020 17:07:37 +0530
+Subject: [PATCH 07/11] Fix #2466
+
+---
+ glfw/glfw.py | 6 +-
+ kitty/glfw-wrapper.c | 1 +
+ kitty/glfw-wrapper.h | 275 ++++++++++++++++++++++---------------------
+ 3 files changed, 145 insertions(+), 137 deletions(-)
+
+diff --git a/glfw/glfw.py b/glfw/glfw.py
+index 77e2dee68..41c36daaa 100755
+--- a/glfw/glfw.py
++++ b/glfw/glfw.py
+@@ -165,7 +165,7 @@ def __init__(self, declaration: str, check_fail: bool = True):
+ self.args = [Arg('void v')]
+
+ def declaration(self) -> str:
+- return 'typedef {restype} (*{name}_func)({args});\n{name}_func {name}_impl;\n#define {name} {name}_impl'.format(
++ return 'typedef {restype} (*{name}_func)({args});\nGFW_EXTERN {name}_func {name}_impl;\n#define {name} {name}_impl'.format(
+ restype=self.restype,
+ name=self.name,
+ args=', '.join(a.type for a in self.args)
+@@ -233,6 +233,9 @@ def generate_wrappers(glfw_header: str) -> None:
+ #include <stdint.h>
+ #include "monotonic.h"
+
++#ifndef GFW_EXTERN
++#define GFW_EXTERN extern
++#endif
+ {}
+
+ typedef int (* GLFWcocoatextinputfilterfun)(int,int,unsigned int,unsigned long);
+@@ -251,6 +254,7 @@ def generate_wrappers(glfw_header: str) -> None:
+ f.write(header)
+
+ code = '''
++#define GFW_EXTERN
+ #include "data-types.h"
+ #include "glfw-wrapper.h"
+ #include <dlfcn.h>
+diff --git a/kitty/glfw-wrapper.c b/kitty/glfw-wrapper.c
+index 1159529bf..3833977ee 100644
+--- a/kitty/glfw-wrapper.c
++++ b/kitty/glfw-wrapper.c
+@@ -1,4 +1,5 @@
+
++#define GFW_EXTERN
+ #include "data-types.h"
+ #include "glfw-wrapper.h"
+ #include <dlfcn.h>
+diff --git a/kitty/glfw-wrapper.h b/kitty/glfw-wrapper.h
+index ac4629f3a..b7a816761 100644
+--- a/kitty/glfw-wrapper.h
++++ b/kitty/glfw-wrapper.h
+@@ -9,6 +9,9 @@
+ #include <stdint.h>
+ #include "monotonic.h"
+
++#ifndef GFW_EXTERN
++#define GFW_EXTERN extern
++#endif
+
+
+ /*! @name GLFW version macros
+@@ -1587,547 +1590,547 @@ typedef void (*GLFWwaylandframecallbackfunc)(unsigned long long id);
+ typedef void (*GLFWDBusnotificationcreatedfun)(unsigned long long, uint32_t, void*);
+ typedef void (*GLFWDBusnotificationactivatedfun)(uint32_t, const char*);
+ typedef int (*glfwInit_func)(monotonic_t);
+-glfwInit_func glfwInit_impl;
++GFW_EXTERN glfwInit_func glfwInit_impl;
+ #define glfwInit glfwInit_impl
+
+ typedef void (*glfwRunMainLoop_func)(GLFWtickcallback, void*);
+-glfwRunMainLoop_func glfwRunMainLoop_impl;
++GFW_EXTERN glfwRunMainLoop_func glfwRunMainLoop_impl;
+ #define glfwRunMainLoop glfwRunMainLoop_impl
+
+ typedef void (*glfwStopMainLoop_func)(void);
+-glfwStopMainLoop_func glfwStopMainLoop_impl;
++GFW_EXTERN glfwStopMainLoop_func glfwStopMainLoop_impl;
+ #define glfwStopMainLoop glfwStopMainLoop_impl
+
+ typedef unsigned long long (*glfwAddTimer_func)(monotonic_t, bool, GLFWuserdatafun, void *, GLFWuserdatafun);
+-glfwAddTimer_func glfwAddTimer_impl;
++GFW_EXTERN glfwAddTimer_func glfwAddTimer_impl;
+ #define glfwAddTimer glfwAddTimer_impl
+
+ typedef void (*glfwUpdateTimer_func)(unsigned long long, monotonic_t, bool);
+-glfwUpdateTimer_func glfwUpdateTimer_impl;
++GFW_EXTERN glfwUpdateTimer_func glfwUpdateTimer_impl;
+ #define glfwUpdateTimer glfwUpdateTimer_impl
+
+ typedef void (*glfwRemoveTimer_func)(unsigned long);
+-glfwRemoveTimer_func glfwRemoveTimer_impl;
++GFW_EXTERN glfwRemoveTimer_func glfwRemoveTimer_impl;
+ #define glfwRemoveTimer glfwRemoveTimer_impl
+
+ typedef void (*glfwTerminate_func)(void);
+-glfwTerminate_func glfwTerminate_impl;
++GFW_EXTERN glfwTerminate_func glfwTerminate_impl;
+ #define glfwTerminate glfwTerminate_impl
+
+ typedef void (*glfwInitHint_func)(int, int);
+-glfwInitHint_func glfwInitHint_impl;
++GFW_EXTERN glfwInitHint_func glfwInitHint_impl;
+ #define glfwInitHint glfwInitHint_impl
+
+ typedef void (*glfwGetVersion_func)(int*, int*, int*);
+-glfwGetVersion_func glfwGetVersion_impl;
++GFW_EXTERN glfwGetVersion_func glfwGetVersion_impl;
+ #define glfwGetVersion glfwGetVersion_impl
+
+ typedef const char* (*glfwGetVersionString_func)(void);
+-glfwGetVersionString_func glfwGetVersionString_impl;
++GFW_EXTERN glfwGetVersionString_func glfwGetVersionString_impl;
+ #define glfwGetVersionString glfwGetVersionString_impl
+
+ typedef int (*glfwGetError_func)(const char**);
+-glfwGetError_func glfwGetError_impl;
++GFW_EXTERN glfwGetError_func glfwGetError_impl;
+ #define glfwGetError glfwGetError_impl
+
+ typedef GLFWerrorfun (*glfwSetErrorCallback_func)(GLFWerrorfun);
+-glfwSetErrorCallback_func glfwSetErrorCallback_impl;
++GFW_EXTERN glfwSetErrorCallback_func glfwSetErrorCallback_impl;
+ #define glfwSetErrorCallback glfwSetErrorCallback_impl
+
+ typedef GLFWmonitor** (*glfwGetMonitors_func)(int*);
+-glfwGetMonitors_func glfwGetMonitors_impl;
++GFW_EXTERN glfwGetMonitors_func glfwGetMonitors_impl;
+ #define glfwGetMonitors glfwGetMonitors_impl
+
+ typedef GLFWmonitor* (*glfwGetPrimaryMonitor_func)(void);
+-glfwGetPrimaryMonitor_func glfwGetPrimaryMonitor_impl;
++GFW_EXTERN glfwGetPrimaryMonitor_func glfwGetPrimaryMonitor_impl;
+ #define glfwGetPrimaryMonitor glfwGetPrimaryMonitor_impl
+
+ typedef void (*glfwGetMonitorPos_func)(GLFWmonitor*, int*, int*);
+-glfwGetMonitorPos_func glfwGetMonitorPos_impl;
++GFW_EXTERN glfwGetMonitorPos_func glfwGetMonitorPos_impl;
+ #define glfwGetMonitorPos glfwGetMonitorPos_impl
+
+ typedef void (*glfwGetMonitorWorkarea_func)(GLFWmonitor*, int*, int*, int*, int*);
+-glfwGetMonitorWorkarea_func glfwGetMonitorWorkarea_impl;
++GFW_EXTERN glfwGetMonitorWorkarea_func glfwGetMonitorWorkarea_impl;
+ #define glfwGetMonitorWorkarea glfwGetMonitorWorkarea_impl
+
+ typedef void (*glfwGetMonitorPhysicalSize_func)(GLFWmonitor*, int*, int*);
+-glfwGetMonitorPhysicalSize_func glfwGetMonitorPhysicalSize_impl;
++GFW_EXTERN glfwGetMonitorPhysicalSize_func glfwGetMonitorPhysicalSize_impl;
+ #define glfwGetMonitorPhysicalSize glfwGetMonitorPhysicalSize_impl
+
+ typedef void (*glfwGetMonitorContentScale_func)(GLFWmonitor*, float*, float*);
+-glfwGetMonitorContentScale_func glfwGetMonitorContentScale_impl;
++GFW_EXTERN glfwGetMonitorContentScale_func glfwGetMonitorContentScale_impl;
+ #define glfwGetMonitorContentScale glfwGetMonitorContentScale_impl
+
+ typedef const char* (*glfwGetMonitorName_func)(GLFWmonitor*);
+-glfwGetMonitorName_func glfwGetMonitorName_impl;
++GFW_EXTERN glfwGetMonitorName_func glfwGetMonitorName_impl;
+ #define glfwGetMonitorName glfwGetMonitorName_impl
+
+ typedef void (*glfwSetMonitorUserPointer_func)(GLFWmonitor*, void*);
+-glfwSetMonitorUserPointer_func glfwSetMonitorUserPointer_impl;
++GFW_EXTERN glfwSetMonitorUserPointer_func glfwSetMonitorUserPointer_impl;
+ #define glfwSetMonitorUserPointer glfwSetMonitorUserPointer_impl
+
+ typedef void* (*glfwGetMonitorUserPointer_func)(GLFWmonitor*);
+-glfwGetMonitorUserPointer_func glfwGetMonitorUserPointer_impl;
++GFW_EXTERN glfwGetMonitorUserPointer_func glfwGetMonitorUserPointer_impl;
+ #define glfwGetMonitorUserPointer glfwGetMonitorUserPointer_impl
+
+ typedef GLFWmonitorfun (*glfwSetMonitorCallback_func)(GLFWmonitorfun);
+-glfwSetMonitorCallback_func glfwSetMonitorCallback_impl;
++GFW_EXTERN glfwSetMonitorCallback_func glfwSetMonitorCallback_impl;
+ #define glfwSetMonitorCallback glfwSetMonitorCallback_impl
+
+ typedef const GLFWvidmode* (*glfwGetVideoModes_func)(GLFWmonitor*, int*);
+-glfwGetVideoModes_func glfwGetVideoModes_impl;
++GFW_EXTERN glfwGetVideoModes_func glfwGetVideoModes_impl;
+ #define glfwGetVideoModes glfwGetVideoModes_impl
+
+ typedef const GLFWvidmode* (*glfwGetVideoMode_func)(GLFWmonitor*);
+-glfwGetVideoMode_func glfwGetVideoMode_impl;
++GFW_EXTERN glfwGetVideoMode_func glfwGetVideoMode_impl;
+ #define glfwGetVideoMode glfwGetVideoMode_impl
+
+ typedef void (*glfwSetGamma_func)(GLFWmonitor*, float);
+-glfwSetGamma_func glfwSetGamma_impl;
++GFW_EXTERN glfwSetGamma_func glfwSetGamma_impl;
+ #define glfwSetGamma glfwSetGamma_impl
+
+ typedef const GLFWgammaramp* (*glfwGetGammaRamp_func)(GLFWmonitor*);
+-glfwGetGammaRamp_func glfwGetGammaRamp_impl;
++GFW_EXTERN glfwGetGammaRamp_func glfwGetGammaRamp_impl;
+ #define glfwGetGammaRamp glfwGetGammaRamp_impl
+
+ typedef void (*glfwSetGammaRamp_func)(GLFWmonitor*, const GLFWgammaramp*);
+-glfwSetGammaRamp_func glfwSetGammaRamp_impl;
++GFW_EXTERN glfwSetGammaRamp_func glfwSetGammaRamp_impl;
+ #define glfwSetGammaRamp glfwSetGammaRamp_impl
+
+ typedef void (*glfwDefaultWindowHints_func)(void);
+-glfwDefaultWindowHints_func glfwDefaultWindowHints_impl;
++GFW_EXTERN glfwDefaultWindowHints_func glfwDefaultWindowHints_impl;
+ #define glfwDefaultWindowHints glfwDefaultWindowHints_impl
+
+ typedef void (*glfwWindowHint_func)(int, int);
+-glfwWindowHint_func glfwWindowHint_impl;
++GFW_EXTERN glfwWindowHint_func glfwWindowHint_impl;
+ #define glfwWindowHint glfwWindowHint_impl
+
+ typedef void (*glfwWindowHintString_func)(int, const char*);
+-glfwWindowHintString_func glfwWindowHintString_impl;
++GFW_EXTERN glfwWindowHintString_func glfwWindowHintString_impl;
+ #define glfwWindowHintString glfwWindowHintString_impl
+
+ typedef GLFWwindow* (*glfwCreateWindow_func)(int, int, const char*, GLFWmonitor*, GLFWwindow*);
+-glfwCreateWindow_func glfwCreateWindow_impl;
++GFW_EXTERN glfwCreateWindow_func glfwCreateWindow_impl;
+ #define glfwCreateWindow glfwCreateWindow_impl
+
+ typedef bool (*glfwToggleFullscreen_func)(GLFWwindow*, unsigned int);
+-glfwToggleFullscreen_func glfwToggleFullscreen_impl;
++GFW_EXTERN glfwToggleFullscreen_func glfwToggleFullscreen_impl;
+ #define glfwToggleFullscreen glfwToggleFullscreen_impl
+
+ typedef void (*glfwDestroyWindow_func)(GLFWwindow*);
+-glfwDestroyWindow_func glfwDestroyWindow_impl;
++GFW_EXTERN glfwDestroyWindow_func glfwDestroyWindow_impl;
+ #define glfwDestroyWindow glfwDestroyWindow_impl
+
+ typedef int (*glfwWindowShouldClose_func)(GLFWwindow*);
+-glfwWindowShouldClose_func glfwWindowShouldClose_impl;
++GFW_EXTERN glfwWindowShouldClose_func glfwWindowShouldClose_impl;
+ #define glfwWindowShouldClose glfwWindowShouldClose_impl
+
+ typedef void (*glfwSetWindowShouldClose_func)(GLFWwindow*, int);
+-glfwSetWindowShouldClose_func glfwSetWindowShouldClose_impl;
++GFW_EXTERN glfwSetWindowShouldClose_func glfwSetWindowShouldClose_impl;
+ #define glfwSetWindowShouldClose glfwSetWindowShouldClose_impl
+
+ typedef void (*glfwSetWindowTitle_func)(GLFWwindow*, const char*);
+-glfwSetWindowTitle_func glfwSetWindowTitle_impl;
++GFW_EXTERN glfwSetWindowTitle_func glfwSetWindowTitle_impl;
+ #define glfwSetWindowTitle glfwSetWindowTitle_impl
+
+ typedef void (*glfwSetWindowIcon_func)(GLFWwindow*, int, const GLFWimage*);
+-glfwSetWindowIcon_func glfwSetWindowIcon_impl;
++GFW_EXTERN glfwSetWindowIcon_func glfwSetWindowIcon_impl;
+ #define glfwSetWindowIcon glfwSetWindowIcon_impl
+
+ typedef void (*glfwGetWindowPos_func)(GLFWwindow*, int*, int*);
+-glfwGetWindowPos_func glfwGetWindowPos_impl;
++GFW_EXTERN glfwGetWindowPos_func glfwGetWindowPos_impl;
+ #define glfwGetWindowPos glfwGetWindowPos_impl
+
+ typedef void (*glfwSetWindowPos_func)(GLFWwindow*, int, int);
+-glfwSetWindowPos_func glfwSetWindowPos_impl;
++GFW_EXTERN glfwSetWindowPos_func glfwSetWindowPos_impl;
+ #define glfwSetWindowPos glfwSetWindowPos_impl
+
+ typedef void (*glfwGetWindowSize_func)(GLFWwindow*, int*, int*);
+-glfwGetWindowSize_func glfwGetWindowSize_impl;
++GFW_EXTERN glfwGetWindowSize_func glfwGetWindowSize_impl;
+ #define glfwGetWindowSize glfwGetWindowSize_impl
+
+ typedef void (*glfwSetWindowSizeLimits_func)(GLFWwindow*, int, int, int, int);
+-glfwSetWindowSizeLimits_func glfwSetWindowSizeLimits_impl;
++GFW_EXTERN glfwSetWindowSizeLimits_func glfwSetWindowSizeLimits_impl;
+ #define glfwSetWindowSizeLimits glfwSetWindowSizeLimits_impl
+
+ typedef void (*glfwSetWindowSizeIncrements_func)(GLFWwindow*, int, int);
+-glfwSetWindowSizeIncrements_func glfwSetWindowSizeIncrements_impl;
++GFW_EXTERN glfwSetWindowSizeIncrements_func glfwSetWindowSizeIncrements_impl;
+ #define glfwSetWindowSizeIncrements glfwSetWindowSizeIncrements_impl
+
+ typedef void (*glfwSetWindowAspectRatio_func)(GLFWwindow*, int, int);
+-glfwSetWindowAspectRatio_func glfwSetWindowAspectRatio_impl;
++GFW_EXTERN glfwSetWindowAspectRatio_func glfwSetWindowAspectRatio_impl;
+ #define glfwSetWindowAspectRatio glfwSetWindowAspectRatio_impl
+
+ typedef void (*glfwSetWindowSize_func)(GLFWwindow*, int, int);
+-glfwSetWindowSize_func glfwSetWindowSize_impl;
++GFW_EXTERN glfwSetWindowSize_func glfwSetWindowSize_impl;
+ #define glfwSetWindowSize glfwSetWindowSize_impl
+
+ typedef void (*glfwGetFramebufferSize_func)(GLFWwindow*, int*, int*);
+-glfwGetFramebufferSize_func glfwGetFramebufferSize_impl;
++GFW_EXTERN glfwGetFramebufferSize_func glfwGetFramebufferSize_impl;
+ #define glfwGetFramebufferSize glfwGetFramebufferSize_impl
+
+ typedef void (*glfwGetWindowFrameSize_func)(GLFWwindow*, int*, int*, int*, int*);
+-glfwGetWindowFrameSize_func glfwGetWindowFrameSize_impl;
++GFW_EXTERN glfwGetWindowFrameSize_func glfwGetWindowFrameSize_impl;
+ #define glfwGetWindowFrameSize glfwGetWindowFrameSize_impl
+
+ typedef void (*glfwGetWindowContentScale_func)(GLFWwindow*, float*, float*);
+-glfwGetWindowContentScale_func glfwGetWindowContentScale_impl;
++GFW_EXTERN glfwGetWindowContentScale_func glfwGetWindowContentScale_impl;
+ #define glfwGetWindowContentScale glfwGetWindowContentScale_impl
+
+ typedef monotonic_t (*glfwGetDoubleClickInterval_func)(GLFWwindow*);
+-glfwGetDoubleClickInterval_func glfwGetDoubleClickInterval_impl;
++GFW_EXTERN glfwGetDoubleClickInterval_func glfwGetDoubleClickInterval_impl;
+ #define glfwGetDoubleClickInterval glfwGetDoubleClickInterval_impl
+
+ typedef float (*glfwGetWindowOpacity_func)(GLFWwindow*);
+-glfwGetWindowOpacity_func glfwGetWindowOpacity_impl;
++GFW_EXTERN glfwGetWindowOpacity_func glfwGetWindowOpacity_impl;
+ #define glfwGetWindowOpacity glfwGetWindowOpacity_impl
+
+ typedef void (*glfwSetWindowOpacity_func)(GLFWwindow*, float);
+-glfwSetWindowOpacity_func glfwSetWindowOpacity_impl;
++GFW_EXTERN glfwSetWindowOpacity_func glfwSetWindowOpacity_impl;
+ #define glfwSetWindowOpacity glfwSetWindowOpacity_impl
+
+ typedef void (*glfwIconifyWindow_func)(GLFWwindow*);
+-glfwIconifyWindow_func glfwIconifyWindow_impl;
++GFW_EXTERN glfwIconifyWindow_func glfwIconifyWindow_impl;
+ #define glfwIconifyWindow glfwIconifyWindow_impl
+
+ typedef void (*glfwRestoreWindow_func)(GLFWwindow*);
+-glfwRestoreWindow_func glfwRestoreWindow_impl;
++GFW_EXTERN glfwRestoreWindow_func glfwRestoreWindow_impl;
+ #define glfwRestoreWindow glfwRestoreWindow_impl
+
+ typedef void (*glfwMaximizeWindow_func)(GLFWwindow*);
+-glfwMaximizeWindow_func glfwMaximizeWindow_impl;
++GFW_EXTERN glfwMaximizeWindow_func glfwMaximizeWindow_impl;
+ #define glfwMaximizeWindow glfwMaximizeWindow_impl
+
+ typedef void (*glfwShowWindow_func)(GLFWwindow*);
+-glfwShowWindow_func glfwShowWindow_impl;
++GFW_EXTERN glfwShowWindow_func glfwShowWindow_impl;
+ #define glfwShowWindow glfwShowWindow_impl
+
+ typedef void (*glfwHideWindow_func)(GLFWwindow*);
+-glfwHideWindow_func glfwHideWindow_impl;
++GFW_EXTERN glfwHideWindow_func glfwHideWindow_impl;
+ #define glfwHideWindow glfwHideWindow_impl
+
+ typedef void (*glfwFocusWindow_func)(GLFWwindow*);
+-glfwFocusWindow_func glfwFocusWindow_impl;
++GFW_EXTERN glfwFocusWindow_func glfwFocusWindow_impl;
+ #define glfwFocusWindow glfwFocusWindow_impl
+
+ typedef void (*glfwRequestWindowAttention_func)(GLFWwindow*);
+-glfwRequestWindowAttention_func glfwRequestWindowAttention_impl;
++GFW_EXTERN glfwRequestWindowAttention_func glfwRequestWindowAttention_impl;
+ #define glfwRequestWindowAttention glfwRequestWindowAttention_impl
+
+ typedef int (*glfwWindowBell_func)(GLFWwindow*);
+-glfwWindowBell_func glfwWindowBell_impl;
++GFW_EXTERN glfwWindowBell_func glfwWindowBell_impl;
+ #define glfwWindowBell glfwWindowBell_impl
+
+ typedef GLFWmonitor* (*glfwGetWindowMonitor_func)(GLFWwindow*);
+-glfwGetWindowMonitor_func glfwGetWindowMonitor_impl;
++GFW_EXTERN glfwGetWindowMonitor_func glfwGetWindowMonitor_impl;
+ #define glfwGetWindowMonitor glfwGetWindowMonitor_impl
+
+ typedef void (*glfwSetWindowMonitor_func)(GLFWwindow*, GLFWmonitor*, int, int, int, int, int);
+-glfwSetWindowMonitor_func glfwSetWindowMonitor_impl;
++GFW_EXTERN glfwSetWindowMonitor_func glfwSetWindowMonitor_impl;
+ #define glfwSetWindowMonitor glfwSetWindowMonitor_impl
+
+ typedef int (*glfwGetWindowAttrib_func)(GLFWwindow*, int);
+-glfwGetWindowAttrib_func glfwGetWindowAttrib_impl;
++GFW_EXTERN glfwGetWindowAttrib_func glfwGetWindowAttrib_impl;
+ #define glfwGetWindowAttrib glfwGetWindowAttrib_impl
+
+ typedef void (*glfwSetWindowAttrib_func)(GLFWwindow*, int, int);
+-glfwSetWindowAttrib_func glfwSetWindowAttrib_impl;
++GFW_EXTERN glfwSetWindowAttrib_func glfwSetWindowAttrib_impl;
+ #define glfwSetWindowAttrib glfwSetWindowAttrib_impl
+
+ typedef void (*glfwSetWindowUserPointer_func)(GLFWwindow*, void*);
+-glfwSetWindowUserPointer_func glfwSetWindowUserPointer_impl;
++GFW_EXTERN glfwSetWindowUserPointer_func glfwSetWindowUserPointer_impl;
+ #define glfwSetWindowUserPointer glfwSetWindowUserPointer_impl
+
+ typedef void* (*glfwGetWindowUserPointer_func)(GLFWwindow*);
+-glfwGetWindowUserPointer_func glfwGetWindowUserPointer_impl;
++GFW_EXTERN glfwGetWindowUserPointer_func glfwGetWindowUserPointer_impl;
+ #define glfwGetWindowUserPointer glfwGetWindowUserPointer_impl
+
+ typedef GLFWwindowposfun (*glfwSetWindowPosCallback_func)(GLFWwindow*, GLFWwindowposfun);
+-glfwSetWindowPosCallback_func glfwSetWindowPosCallback_impl;
++GFW_EXTERN glfwSetWindowPosCallback_func glfwSetWindowPosCallback_impl;
+ #define glfwSetWindowPosCallback glfwSetWindowPosCallback_impl
+
+ typedef GLFWwindowsizefun (*glfwSetWindowSizeCallback_func)(GLFWwindow*, GLFWwindowsizefun);
+-glfwSetWindowSizeCallback_func glfwSetWindowSizeCallback_impl;
++GFW_EXTERN glfwSetWindowSizeCallback_func glfwSetWindowSizeCallback_impl;
+ #define glfwSetWindowSizeCallback glfwSetWindowSizeCallback_impl
+
+ typedef GLFWwindowclosefun (*glfwSetWindowCloseCallback_func)(GLFWwindow*, GLFWwindowclosefun);
+-glfwSetWindowCloseCallback_func glfwSetWindowCloseCallback_impl;
++GFW_EXTERN glfwSetWindowCloseCallback_func glfwSetWindowCloseCallback_impl;
+ #define glfwSetWindowCloseCallback glfwSetWindowCloseCallback_impl
+
+ typedef GLFWwindowrefreshfun (*glfwSetWindowRefreshCallback_func)(GLFWwindow*, GLFWwindowrefreshfun);
+-glfwSetWindowRefreshCallback_func glfwSetWindowRefreshCallback_impl;
++GFW_EXTERN glfwSetWindowRefreshCallback_func glfwSetWindowRefreshCallback_impl;
+ #define glfwSetWindowRefreshCallback glfwSetWindowRefreshCallback_impl
+
+ typedef GLFWwindowfocusfun (*glfwSetWindowFocusCallback_func)(GLFWwindow*, GLFWwindowfocusfun);
+-glfwSetWindowFocusCallback_func glfwSetWindowFocusCallback_impl;
++GFW_EXTERN glfwSetWindowFocusCallback_func glfwSetWindowFocusCallback_impl;
+ #define glfwSetWindowFocusCallback glfwSetWindowFocusCallback_impl
+
+ typedef GLFWwindowocclusionfun (*glfwSetWindowOcclusionCallback_func)(GLFWwindow*, GLFWwindowocclusionfun);
+-glfwSetWindowOcclusionCallback_func glfwSetWindowOcclusionCallback_impl;
++GFW_EXTERN glfwSetWindowOcclusionCallback_func glfwSetWindowOcclusionCallback_impl;
+ #define glfwSetWindowOcclusionCallback glfwSetWindowOcclusionCallback_impl
+
+ typedef GLFWwindowiconifyfun (*glfwSetWindowIconifyCallback_func)(GLFWwindow*, GLFWwindowiconifyfun);
+-glfwSetWindowIconifyCallback_func glfwSetWindowIconifyCallback_impl;
++GFW_EXTERN glfwSetWindowIconifyCallback_func glfwSetWindowIconifyCallback_impl;
+ #define glfwSetWindowIconifyCallback glfwSetWindowIconifyCallback_impl
+
+ typedef GLFWwindowmaximizefun (*glfwSetWindowMaximizeCallback_func)(GLFWwindow*, GLFWwindowmaximizefun);
+-glfwSetWindowMaximizeCallback_func glfwSetWindowMaximizeCallback_impl;
++GFW_EXTERN glfwSetWindowMaximizeCallback_func glfwSetWindowMaximizeCallback_impl;
+ #define glfwSetWindowMaximizeCallback glfwSetWindowMaximizeCallback_impl
+
+ typedef GLFWframebuffersizefun (*glfwSetFramebufferSizeCallback_func)(GLFWwindow*, GLFWframebuffersizefun);
+-glfwSetFramebufferSizeCallback_func glfwSetFramebufferSizeCallback_impl;
++GFW_EXTERN glfwSetFramebufferSizeCallback_func glfwSetFramebufferSizeCallback_impl;
+ #define glfwSetFramebufferSizeCallback glfwSetFramebufferSizeCallback_impl
+
+ typedef GLFWwindowcontentscalefun (*glfwSetWindowContentScaleCallback_func)(GLFWwindow*, GLFWwindowcontentscalefun);
+-glfwSetWindowContentScaleCallback_func glfwSetWindowContentScaleCallback_impl;
++GFW_EXTERN glfwSetWindowContentScaleCallback_func glfwSetWindowContentScaleCallback_impl;
+ #define glfwSetWindowContentScaleCallback glfwSetWindowContentScaleCallback_impl
+
+ typedef void (*glfwPostEmptyEvent_func)(void);
+-glfwPostEmptyEvent_func glfwPostEmptyEvent_impl;
++GFW_EXTERN glfwPostEmptyEvent_func glfwPostEmptyEvent_impl;
+ #define glfwPostEmptyEvent glfwPostEmptyEvent_impl
+
+ typedef int (*glfwGetInputMode_func)(GLFWwindow*, int);
+-glfwGetInputMode_func glfwGetInputMode_impl;
++GFW_EXTERN glfwGetInputMode_func glfwGetInputMode_impl;
+ #define glfwGetInputMode glfwGetInputMode_impl
+
+ typedef void (*glfwSetInputMode_func)(GLFWwindow*, int, int);
+-glfwSetInputMode_func glfwSetInputMode_impl;
++GFW_EXTERN glfwSetInputMode_func glfwSetInputMode_impl;
+ #define glfwSetInputMode glfwSetInputMode_impl
+
+ typedef const char* (*glfwGetKeyName_func)(int, int);
+-glfwGetKeyName_func glfwGetKeyName_impl;
++GFW_EXTERN glfwGetKeyName_func glfwGetKeyName_impl;
+ #define glfwGetKeyName glfwGetKeyName_impl
+
+ typedef int (*glfwGetNativeKeyForKey_func)(int);
+-glfwGetNativeKeyForKey_func glfwGetNativeKeyForKey_impl;
++GFW_EXTERN glfwGetNativeKeyForKey_func glfwGetNativeKeyForKey_impl;
+ #define glfwGetNativeKeyForKey glfwGetNativeKeyForKey_impl
+
+ typedef int (*glfwGetKey_func)(GLFWwindow*, int);
+-glfwGetKey_func glfwGetKey_impl;
++GFW_EXTERN glfwGetKey_func glfwGetKey_impl;
+ #define glfwGetKey glfwGetKey_impl
+
+ typedef int (*glfwGetMouseButton_func)(GLFWwindow*, int);
+-glfwGetMouseButton_func glfwGetMouseButton_impl;
++GFW_EXTERN glfwGetMouseButton_func glfwGetMouseButton_impl;
+ #define glfwGetMouseButton glfwGetMouseButton_impl
+
+ typedef void (*glfwGetCursorPos_func)(GLFWwindow*, double*, double*);
+-glfwGetCursorPos_func glfwGetCursorPos_impl;
++GFW_EXTERN glfwGetCursorPos_func glfwGetCursorPos_impl;
+ #define glfwGetCursorPos glfwGetCursorPos_impl
+
+ typedef void (*glfwSetCursorPos_func)(GLFWwindow*, double, double);
+-glfwSetCursorPos_func glfwSetCursorPos_impl;
++GFW_EXTERN glfwSetCursorPos_func glfwSetCursorPos_impl;
+ #define glfwSetCursorPos glfwSetCursorPos_impl
+
+ typedef GLFWcursor* (*glfwCreateCursor_func)(const GLFWimage*, int, int, int);
+-glfwCreateCursor_func glfwCreateCursor_impl;
++GFW_EXTERN glfwCreateCursor_func glfwCreateCursor_impl;
+ #define glfwCreateCursor glfwCreateCursor_impl
+
+ typedef GLFWcursor* (*glfwCreateStandardCursor_func)(GLFWCursorShape);
+-glfwCreateStandardCursor_func glfwCreateStandardCursor_impl;
++GFW_EXTERN glfwCreateStandardCursor_func glfwCreateStandardCursor_impl;
+ #define glfwCreateStandardCursor glfwCreateStandardCursor_impl
+
+ typedef void (*glfwDestroyCursor_func)(GLFWcursor*);
+-glfwDestroyCursor_func glfwDestroyCursor_impl;
++GFW_EXTERN glfwDestroyCursor_func glfwDestroyCursor_impl;
+ #define glfwDestroyCursor glfwDestroyCursor_impl
+
+ typedef void (*glfwSetCursor_func)(GLFWwindow*, GLFWcursor*);
+-glfwSetCursor_func glfwSetCursor_impl;
++GFW_EXTERN glfwSetCursor_func glfwSetCursor_impl;
+ #define glfwSetCursor glfwSetCursor_impl
+
+ typedef GLFWkeyboardfun (*glfwSetKeyboardCallback_func)(GLFWwindow*, GLFWkeyboardfun);
+-glfwSetKeyboardCallback_func glfwSetKeyboardCallback_impl;
++GFW_EXTERN glfwSetKeyboardCallback_func glfwSetKeyboardCallback_impl;
+ #define glfwSetKeyboardCallback glfwSetKeyboardCallback_impl
+
+ typedef void (*glfwUpdateIMEState_func)(GLFWwindow*, int, int, int, int, int);
+-glfwUpdateIMEState_func glfwUpdateIMEState_impl;
++GFW_EXTERN glfwUpdateIMEState_func glfwUpdateIMEState_impl;
+ #define glfwUpdateIMEState glfwUpdateIMEState_impl
+
+ typedef GLFWmousebuttonfun (*glfwSetMouseButtonCallback_func)(GLFWwindow*, GLFWmousebuttonfun);
+-glfwSetMouseButtonCallback_func glfwSetMouseButtonCallback_impl;
++GFW_EXTERN glfwSetMouseButtonCallback_func glfwSetMouseButtonCallback_impl;
+ #define glfwSetMouseButtonCallback glfwSetMouseButtonCallback_impl
+
+ typedef GLFWcursorposfun (*glfwSetCursorPosCallback_func)(GLFWwindow*, GLFWcursorposfun);
+-glfwSetCursorPosCallback_func glfwSetCursorPosCallback_impl;
++GFW_EXTERN glfwSetCursorPosCallback_func glfwSetCursorPosCallback_impl;
+ #define glfwSetCursorPosCallback glfwSetCursorPosCallback_impl
+
+ typedef GLFWcursorenterfun (*glfwSetCursorEnterCallback_func)(GLFWwindow*, GLFWcursorenterfun);
+-glfwSetCursorEnterCallback_func glfwSetCursorEnterCallback_impl;
++GFW_EXTERN glfwSetCursorEnterCallback_func glfwSetCursorEnterCallback_impl;
+ #define glfwSetCursorEnterCallback glfwSetCursorEnterCallback_impl
+
+ typedef GLFWscrollfun (*glfwSetScrollCallback_func)(GLFWwindow*, GLFWscrollfun);
+-glfwSetScrollCallback_func glfwSetScrollCallback_impl;
++GFW_EXTERN glfwSetScrollCallback_func glfwSetScrollCallback_impl;
+ #define glfwSetScrollCallback glfwSetScrollCallback_impl
+
+ typedef GLFWdropfun (*glfwSetDropCallback_func)(GLFWwindow*, GLFWdropfun);
+-glfwSetDropCallback_func glfwSetDropCallback_impl;
++GFW_EXTERN glfwSetDropCallback_func glfwSetDropCallback_impl;
+ #define glfwSetDropCallback glfwSetDropCallback_impl
+
+ typedef GLFWliveresizefun (*glfwSetLiveResizeCallback_func)(GLFWwindow*, GLFWliveresizefun);
+-glfwSetLiveResizeCallback_func glfwSetLiveResizeCallback_impl;
++GFW_EXTERN glfwSetLiveResizeCallback_func glfwSetLiveResizeCallback_impl;
+ #define glfwSetLiveResizeCallback glfwSetLiveResizeCallback_impl
+
+ typedef int (*glfwJoystickPresent_func)(int);
+-glfwJoystickPresent_func glfwJoystickPresent_impl;
++GFW_EXTERN glfwJoystickPresent_func glfwJoystickPresent_impl;
+ #define glfwJoystickPresent glfwJoystickPresent_impl
+
+ typedef const float* (*glfwGetJoystickAxes_func)(int, int*);
+-glfwGetJoystickAxes_func glfwGetJoystickAxes_impl;
++GFW_EXTERN glfwGetJoystickAxes_func glfwGetJoystickAxes_impl;
+ #define glfwGetJoystickAxes glfwGetJoystickAxes_impl
+
+ typedef const unsigned char* (*glfwGetJoystickButtons_func)(int, int*);
+-glfwGetJoystickButtons_func glfwGetJoystickButtons_impl;
++GFW_EXTERN glfwGetJoystickButtons_func glfwGetJoystickButtons_impl;
+ #define glfwGetJoystickButtons glfwGetJoystickButtons_impl
+
+ typedef const unsigned char* (*glfwGetJoystickHats_func)(int, int*);
+-glfwGetJoystickHats_func glfwGetJoystickHats_impl;
++GFW_EXTERN glfwGetJoystickHats_func glfwGetJoystickHats_impl;
+ #define glfwGetJoystickHats glfwGetJoystickHats_impl
+
+ typedef const char* (*glfwGetJoystickName_func)(int);
+-glfwGetJoystickName_func glfwGetJoystickName_impl;
++GFW_EXTERN glfwGetJoystickName_func glfwGetJoystickName_impl;
+ #define glfwGetJoystickName glfwGetJoystickName_impl
+
+ typedef const char* (*glfwGetJoystickGUID_func)(int);
+-glfwGetJoystickGUID_func glfwGetJoystickGUID_impl;
++GFW_EXTERN glfwGetJoystickGUID_func glfwGetJoystickGUID_impl;
+ #define glfwGetJoystickGUID glfwGetJoystickGUID_impl
+
+ typedef void (*glfwSetJoystickUserPointer_func)(int, void*);
+-glfwSetJoystickUserPointer_func glfwSetJoystickUserPointer_impl;
++GFW_EXTERN glfwSetJoystickUserPointer_func glfwSetJoystickUserPointer_impl;
+ #define glfwSetJoystickUserPointer glfwSetJoystickUserPointer_impl
+
+ typedef void* (*glfwGetJoystickUserPointer_func)(int);
+-glfwGetJoystickUserPointer_func glfwGetJoystickUserPointer_impl;
++GFW_EXTERN glfwGetJoystickUserPointer_func glfwGetJoystickUserPointer_impl;
+ #define glfwGetJoystickUserPointer glfwGetJoystickUserPointer_impl
+
+ typedef int (*glfwJoystickIsGamepad_func)(int);
+-glfwJoystickIsGamepad_func glfwJoystickIsGamepad_impl;
++GFW_EXTERN glfwJoystickIsGamepad_func glfwJoystickIsGamepad_impl;
+ #define glfwJoystickIsGamepad glfwJoystickIsGamepad_impl
+
+ typedef GLFWjoystickfun (*glfwSetJoystickCallback_func)(GLFWjoystickfun);
+-glfwSetJoystickCallback_func glfwSetJoystickCallback_impl;
++GFW_EXTERN glfwSetJoystickCallback_func glfwSetJoystickCallback_impl;
+ #define glfwSetJoystickCallback glfwSetJoystickCallback_impl
+
+ typedef int (*glfwUpdateGamepadMappings_func)(const char*);
+-glfwUpdateGamepadMappings_func glfwUpdateGamepadMappings_impl;
++GFW_EXTERN glfwUpdateGamepadMappings_func glfwUpdateGamepadMappings_impl;
+ #define glfwUpdateGamepadMappings glfwUpdateGamepadMappings_impl
+
+ typedef const char* (*glfwGetGamepadName_func)(int);
+-glfwGetGamepadName_func glfwGetGamepadName_impl;
++GFW_EXTERN glfwGetGamepadName_func glfwGetGamepadName_impl;
+ #define glfwGetGamepadName glfwGetGamepadName_impl
+
+ typedef int (*glfwGetGamepadState_func)(int, GLFWgamepadstate*);
+-glfwGetGamepadState_func glfwGetGamepadState_impl;
++GFW_EXTERN glfwGetGamepadState_func glfwGetGamepadState_impl;
+ #define glfwGetGamepadState glfwGetGamepadState_impl
+
+ typedef void (*glfwSetClipboardString_func)(GLFWwindow*, const char*);
+-glfwSetClipboardString_func glfwSetClipboardString_impl;
++GFW_EXTERN glfwSetClipboardString_func glfwSetClipboardString_impl;
+ #define glfwSetClipboardString glfwSetClipboardString_impl
+
+ typedef const char* (*glfwGetClipboardString_func)(GLFWwindow*);
+-glfwGetClipboardString_func glfwGetClipboardString_impl;
++GFW_EXTERN glfwGetClipboardString_func glfwGetClipboardString_impl;
+ #define glfwGetClipboardString glfwGetClipboardString_impl
+
+ typedef monotonic_t (*glfwGetTime_func)(void);
+-glfwGetTime_func glfwGetTime_impl;
++GFW_EXTERN glfwGetTime_func glfwGetTime_impl;
+ #define glfwGetTime glfwGetTime_impl
+
+ typedef void (*glfwMakeContextCurrent_func)(GLFWwindow*);
+-glfwMakeContextCurrent_func glfwMakeContextCurrent_impl;
++GFW_EXTERN glfwMakeContextCurrent_func glfwMakeContextCurrent_impl;
+ #define glfwMakeContextCurrent glfwMakeContextCurrent_impl
+
+ typedef GLFWwindow* (*glfwGetCurrentContext_func)(void);
+-glfwGetCurrentContext_func glfwGetCurrentContext_impl;
++GFW_EXTERN glfwGetCurrentContext_func glfwGetCurrentContext_impl;
+ #define glfwGetCurrentContext glfwGetCurrentContext_impl
+
+ typedef void (*glfwSwapBuffers_func)(GLFWwindow*);
+-glfwSwapBuffers_func glfwSwapBuffers_impl;
++GFW_EXTERN glfwSwapBuffers_func glfwSwapBuffers_impl;
+ #define glfwSwapBuffers glfwSwapBuffers_impl
+
+ typedef void (*glfwSwapInterval_func)(int);
+-glfwSwapInterval_func glfwSwapInterval_impl;
++GFW_EXTERN glfwSwapInterval_func glfwSwapInterval_impl;
+ #define glfwSwapInterval glfwSwapInterval_impl
+
+ typedef int (*glfwExtensionSupported_func)(const char*);
+-glfwExtensionSupported_func glfwExtensionSupported_impl;
++GFW_EXTERN glfwExtensionSupported_func glfwExtensionSupported_impl;
+ #define glfwExtensionSupported glfwExtensionSupported_impl
+
+ typedef GLFWglproc (*glfwGetProcAddress_func)(const char*);
+-glfwGetProcAddress_func glfwGetProcAddress_impl;
++GFW_EXTERN glfwGetProcAddress_func glfwGetProcAddress_impl;
+ #define glfwGetProcAddress glfwGetProcAddress_impl
+
+ typedef int (*glfwVulkanSupported_func)(void);
+-glfwVulkanSupported_func glfwVulkanSupported_impl;
++GFW_EXTERN glfwVulkanSupported_func glfwVulkanSupported_impl;
+ #define glfwVulkanSupported glfwVulkanSupported_impl
+
+ typedef const char** (*glfwGetRequiredInstanceExtensions_func)(uint32_t*);
+-glfwGetRequiredInstanceExtensions_func glfwGetRequiredInstanceExtensions_impl;
++GFW_EXTERN glfwGetRequiredInstanceExtensions_func glfwGetRequiredInstanceExtensions_impl;
+ #define glfwGetRequiredInstanceExtensions glfwGetRequiredInstanceExtensions_impl
+
+ typedef void* (*glfwGetCocoaWindow_func)(GLFWwindow*);
+-glfwGetCocoaWindow_func glfwGetCocoaWindow_impl;
++GFW_EXTERN glfwGetCocoaWindow_func glfwGetCocoaWindow_impl;
+ #define glfwGetCocoaWindow glfwGetCocoaWindow_impl
+
+ typedef void* (*glfwGetNSGLContext_func)(GLFWwindow*);
+-glfwGetNSGLContext_func glfwGetNSGLContext_impl;
++GFW_EXTERN glfwGetNSGLContext_func glfwGetNSGLContext_impl;
+ #define glfwGetNSGLContext glfwGetNSGLContext_impl
+
+ typedef uint32_t (*glfwGetCocoaMonitor_func)(GLFWmonitor*);
+-glfwGetCocoaMonitor_func glfwGetCocoaMonitor_impl;
++GFW_EXTERN glfwGetCocoaMonitor_func glfwGetCocoaMonitor_impl;
+ #define glfwGetCocoaMonitor glfwGetCocoaMonitor_impl
+
+ typedef GLFWcocoatextinputfilterfun (*glfwSetCocoaTextInputFilter_func)(GLFWwindow*, GLFWcocoatextinputfilterfun);
+-glfwSetCocoaTextInputFilter_func glfwSetCocoaTextInputFilter_impl;
++GFW_EXTERN glfwSetCocoaTextInputFilter_func glfwSetCocoaTextInputFilter_impl;
+ #define glfwSetCocoaTextInputFilter glfwSetCocoaTextInputFilter_impl
+
+ typedef GLFWcocoatogglefullscreenfun (*glfwSetCocoaToggleFullscreenIntercept_func)(GLFWwindow*, GLFWcocoatogglefullscreenfun);
+-glfwSetCocoaToggleFullscreenIntercept_func glfwSetCocoaToggleFullscreenIntercept_impl;
++GFW_EXTERN glfwSetCocoaToggleFullscreenIntercept_func glfwSetCocoaToggleFullscreenIntercept_impl;
+ #define glfwSetCocoaToggleFullscreenIntercept glfwSetCocoaToggleFullscreenIntercept_impl
+
+ typedef GLFWapplicationshouldhandlereopenfun (*glfwSetApplicationShouldHandleReopen_func)(GLFWapplicationshouldhandlereopenfun);
+-glfwSetApplicationShouldHandleReopen_func glfwSetApplicationShouldHandleReopen_impl;
++GFW_EXTERN glfwSetApplicationShouldHandleReopen_func glfwSetApplicationShouldHandleReopen_impl;
+ #define glfwSetApplicationShouldHandleReopen glfwSetApplicationShouldHandleReopen_impl
+
+ typedef GLFWapplicationwillfinishlaunchingfun (*glfwSetApplicationWillFinishLaunching_func)(GLFWapplicationwillfinishlaunchingfun);
+-glfwSetApplicationWillFinishLaunching_func glfwSetApplicationWillFinishLaunching_impl;
++GFW_EXTERN glfwSetApplicationWillFinishLaunching_func glfwSetApplicationWillFinishLaunching_impl;
+ #define glfwSetApplicationWillFinishLaunching glfwSetApplicationWillFinishLaunching_impl
+
+ typedef void (*glfwGetCocoaKeyEquivalent_func)(int, int, char*, size_t, int*);
+-glfwGetCocoaKeyEquivalent_func glfwGetCocoaKeyEquivalent_impl;
++GFW_EXTERN glfwGetCocoaKeyEquivalent_func glfwGetCocoaKeyEquivalent_impl;
+ #define glfwGetCocoaKeyEquivalent glfwGetCocoaKeyEquivalent_impl
+
+ typedef void (*glfwCocoaRequestRenderFrame_func)(GLFWwindow*, GLFWcocoarenderframefun);
+-glfwCocoaRequestRenderFrame_func glfwCocoaRequestRenderFrame_impl;
++GFW_EXTERN glfwCocoaRequestRenderFrame_func glfwCocoaRequestRenderFrame_impl;
+ #define glfwCocoaRequestRenderFrame glfwCocoaRequestRenderFrame_impl
+
+ typedef void* (*glfwGetX11Display_func)(void);
+-glfwGetX11Display_func glfwGetX11Display_impl;
++GFW_EXTERN glfwGetX11Display_func glfwGetX11Display_impl;
+ #define glfwGetX11Display glfwGetX11Display_impl
+
+ typedef int32_t (*glfwGetX11Window_func)(GLFWwindow*);
+-glfwGetX11Window_func glfwGetX11Window_impl;
++GFW_EXTERN glfwGetX11Window_func glfwGetX11Window_impl;
+ #define glfwGetX11Window glfwGetX11Window_impl
+
+ typedef void (*glfwSetPrimarySelectionString_func)(GLFWwindow*, const char*);
+-glfwSetPrimarySelectionString_func glfwSetPrimarySelectionString_impl;
++GFW_EXTERN glfwSetPrimarySelectionString_func glfwSetPrimarySelectionString_impl;
+ #define glfwSetPrimarySelectionString glfwSetPrimarySelectionString_impl
+
+ typedef const char* (*glfwGetPrimarySelectionString_func)(GLFWwindow*);
+-glfwGetPrimarySelectionString_func glfwGetPrimarySelectionString_impl;
++GFW_EXTERN glfwGetPrimarySelectionString_func glfwGetPrimarySelectionString_impl;
+ #define glfwGetPrimarySelectionString glfwGetPrimarySelectionString_impl
+
+ typedef int (*glfwGetNativeKeyForName_func)(const char*, int);
+-glfwGetNativeKeyForName_func glfwGetNativeKeyForName_impl;
++GFW_EXTERN glfwGetNativeKeyForName_func glfwGetNativeKeyForName_impl;
+ #define glfwGetNativeKeyForName glfwGetNativeKeyForName_impl
+
+ typedef void (*glfwRequestWaylandFrameEvent_func)(GLFWwindow*, unsigned long long, GLFWwaylandframecallbackfunc);
+-glfwRequestWaylandFrameEvent_func glfwRequestWaylandFrameEvent_impl;
++GFW_EXTERN glfwRequestWaylandFrameEvent_func glfwRequestWaylandFrameEvent_impl;
+ #define glfwRequestWaylandFrameEvent glfwRequestWaylandFrameEvent_impl
+
+ typedef unsigned long long (*glfwDBusUserNotify_func)(const char*, const char*, const char*, const char*, const char*, int32_t, GLFWDBusnotificationcreatedfun, void*);
+-glfwDBusUserNotify_func glfwDBusUserNotify_impl;
++GFW_EXTERN glfwDBusUserNotify_func glfwDBusUserNotify_impl;
+ #define glfwDBusUserNotify glfwDBusUserNotify_impl
+
+ typedef void (*glfwDBusSetUserNotificationHandler_func)(GLFWDBusnotificationactivatedfun);
+-glfwDBusSetUserNotificationHandler_func glfwDBusSetUserNotificationHandler_impl;
++GFW_EXTERN glfwDBusSetUserNotificationHandler_func glfwDBusSetUserNotificationHandler_impl;
+ #define glfwDBusSetUserNotificationHandler glfwDBusSetUserNotificationHandler_impl
+
+ const char* load_glfw(const char* path);
+
+From 6dbdf72f40571e8a1ed1787ada4e08597e45ac75 Mon Sep 17 00:00:00 2001
+From: Kovid Goyal <kovid(a)kovidgoyal.net>
+Date: Tue, 24 Mar 2020 17:55:38 +0530
+Subject: [PATCH 08/11] CoreText: When matching fonts prefer
+ non-expanded/condensed variants
+
+---
+ kitty/core_text.m | 13 ++++++++-----
+ kitty/fast_data_types.pyi | 3 +++
+ kitty/fonts/core_text.py | 5 +++--
+ 3 files changed, 14 insertions(+), 7 deletions(-)
+
+diff --git a/kitty/core_text.m b/kitty/core_text.m
+index 29036ea2f..229e8dc54 100644
+--- a/kitty/core_text.m
++++ b/kitty/core_text.m
+@@ -92,10 +92,10 @@
+ NSString *style = (NSString *) CTFontDescriptorCopyAttribute(descriptor, kCTFontStyleNameAttribute);
+ NSDictionary *traits = (NSDictionary *) CTFontDescriptorCopyAttribute(descriptor, kCTFontTraitsAttribute);
+ unsigned int straits = [traits[(id)kCTFontSymbolicTrait] unsignedIntValue];
+- NSNumber *weightVal = traits[(id)kCTFontWeightTrait];
+- NSNumber *widthVal = traits[(id)kCTFontWidthTrait];
++ float *weightVal = [traits[(id)kCTFontWeightTrait] floatValue];
++ float widthVal = [traits[(id)kCTFontWidthTrait] floatValue];
+
+- PyObject *ans = Py_BuildValue("{ssssssss sOsOsO sfsfsI}",
++ PyObject *ans = Py_BuildValue("{ssssssss sOsOsOsOsOsO sfsfsI}",
+ "path", [[url path] UTF8String],
+ "postscript_name", [psName UTF8String],
+ "family", [family UTF8String],
+@@ -104,9 +104,12 @@
+ "bold", (straits & kCTFontBoldTrait) != 0 ? Py_True : Py_False,
+ "italic", (straits & kCTFontItalicTrait) != 0 ? Py_True : Py_False,
+ "monospace", (straits & kCTFontMonoSpaceTrait) != 0 ? Py_True : Py_False,
++ "expanded", (straits & kCTFontExpandedTrait) != 0 ? Py_True : Py_False,
++ "condensed", (straits & kCTFontCondensedTrait) != 0 ? Py_True : Py_False,
++ "color_glyphs", (straits & kCTFontColorGlyphsTrait) != 0 ? Py_True : Py_False,
+
+- "weight", [weightVal floatValue],
+- "width", [widthVal floatValue],
++ "weight", weightVal,
++ "width", widthVal,
+ "traits", straits
+ );
+ [url release];
+diff --git a/kitty/fast_data_types.pyi b/kitty/fast_data_types.pyi
+index 4749e0c50..9333a8eaa 100644
+--- a/kitty/fast_data_types.pyi
++++ b/kitty/fast_data_types.pyi
+@@ -438,6 +438,9 @@ class CoreTextFont(TypedDict):
+ style: str
+ bold: bool
+ italic: bool
++ expanded: bool
++ condensed: bool
++ color_glyphs: bool
+ monospace: bool
+ weight: float
+ width: float
+diff --git a/kitty/fonts/core_text.py b/kitty/fonts/core_text.py
+index 20567a3a1..5061b0fb2 100644
+--- a/kitty/fonts/core_text.py
++++ b/kitty/fonts/core_text.py
+@@ -54,12 +54,13 @@ def find_best_match(family: str, bold: bool = False, italic: bool = False) -> Co
+ q = re.sub(r'\s+', ' ', family.lower())
+ font_map = all_fonts_map()
+
+- def score(candidate: CoreTextFont) -> Tuple[int, int]:
++ def score(candidate: CoreTextFont) -> Tuple[int, int, int]:
+ style_match = 1 if candidate['bold'] == bold and candidate[
+ 'italic'
+ ] == italic else 0
+ monospace_match = 1 if candidate['monospace'] else 0
+- return style_match, monospace_match
++ is_regular_width = not candidate['expanded'] and not candidate['condensed']
++ return style_match, monospace_match, 1 if is_regular_width else 0
+
+ # First look for an exact match
+ for selector in ('ps_map', 'full_map'):
+
+From 21c561043197f145fe7a478fdf078c4546c25914 Mon Sep 17 00:00:00 2001
+From: Kovid Goyal <kovid(a)kovidgoyal.net>
+Date: Tue, 24 Mar 2020 18:02:44 +0530
+Subject: [PATCH 09/11] ...
+
+---
+ kitty/core_text.m | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/kitty/core_text.m b/kitty/core_text.m
+index 229e8dc54..23d1bcf5b 100644
+--- a/kitty/core_text.m
++++ b/kitty/core_text.m
+@@ -92,7 +92,7 @@
+ NSString *style = (NSString *) CTFontDescriptorCopyAttribute(descriptor, kCTFontStyleNameAttribute);
+ NSDictionary *traits = (NSDictionary *) CTFontDescriptorCopyAttribute(descriptor, kCTFontTraitsAttribute);
+ unsigned int straits = [traits[(id)kCTFontSymbolicTrait] unsignedIntValue];
+- float *weightVal = [traits[(id)kCTFontWeightTrait] floatValue];
++ float weightVal = [traits[(id)kCTFontWeightTrait] floatValue];
+ float widthVal = [traits[(id)kCTFontWidthTrait] floatValue];
+
+ PyObject *ans = Py_BuildValue("{ssssssss sOsOsOsOsOsO sfsfsI}",
+
+From a07369ce69660a940431fc5297940391d23a4803 Mon Sep 17 00:00:00 2001
+From: Kovid Goyal <kovid(a)kovidgoyal.net>
+Date: Tue, 24 Mar 2020 18:14:14 +0530
+Subject: [PATCH 10/11] Update changelog
+
+---
+ docs/changelog.rst | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/docs/changelog.rst b/docs/changelog.rst
+index e9e137b43..c683c99ad 100644
+--- a/docs/changelog.rst
++++ b/docs/changelog.rst
+@@ -12,6 +12,9 @@ To update |kitty|, :doc:`follow the instructions <binary>`.
+ - Fix a regression in 0.17 that caused tab bar background to be rendered after
+ the last tab as well (:iss:`2464`)
+
++- macOS: Fix a regression in 0.17 that caused incorrect variants to be
++ automatically selected for some fonts (:iss:`2462`)
++
+
+ 0.17.0 [2020-03-24]
+ --------------------
+
+From 0547102bdd6ce3b71cf53f2cb75b2f85692789f5 Mon Sep 17 00:00:00 2001
+From: Kovid Goyal <kovid(a)kovidgoyal.net>
+Date: Tue, 24 Mar 2020 18:33:32 +0530
+Subject: [PATCH 11/11] Fix #2468
+
+---
+ setup.py | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index 917d29e6a..350d5e1fe 100755
+--- a/setup.py
++++ b/setup.py
+@@ -141,9 +141,12 @@ def cc_version() -> Tuple[str, Tuple[int, int]]:
+ else:
+ cc = 'cc'
+ raw = subprocess.check_output([cc, '-dumpversion']).decode('utf-8')
+- ver_ = raw.split('.')[:2]
++ ver_ = raw.strip().split('.')[:2]
+ try:
+- ver = int(ver_[0]), int(ver_[1])
++ if len(ver_) == 1:
++ ver = int(ver_[0]), 0
++ else:
++ ver = int(ver_[0]), int(ver_[1])
+ except Exception:
+ ver = (0, 0)
+ return cc, ver
diff --git a/kitty.spec b/kitty.spec
index 0b6373e..6e5d628 100644
--- a/kitty.spec
+++ b/kitty.spec
@@ -6,9 +6,7 @@ Name: kitty
Version: 0.17.0
Release: 1%{?dist}
Summary: Cross-platform, fast, feature full, GPU based terminal emulator
-
-# https://pagure.io/koji/issue/1679
-ExcludeArch: s390x
+ExcludeArch: s390x ppc64le
# BSD: docs/_templates/searchbox.html
# zlib: glfw/
@@ -22,11 +20,13 @@ Source1: https://raw.githubusercontent.com/kovidgoyal/kitty/46c0951751444
# Failed to compile with new GCC 10
# * https://github.com/kovidgoyal/kitty/issues/2466
-Patch0: https://github.com/kovidgoyal/kitty/commit/76a6bba64310024c2780ff26e5bbcd...
-
+#
# Build error if compile with --debug
# * https://github.com/kovidgoyal/kitty/issues/2468
-Patch1: https://github.com/kovidgoyal/kitty/commit/0547102bdd6ce3b71cf53f2cb75b2f...
+#
+# Some tests not passed on aarch64 and ppc64le arches
+# * https://github.com/kovidgoyal/kitty/issues/2469
+Patch0: https://github.com/kovidgoyal/kitty/compare/v0.17.0...master.patch#/kitty...
BuildRequires: desktop-file-utils
BuildRequires: gcc
@@ -160,13 +160,7 @@ rm %{buildroot}%{_datadir}/doc/%{name}/html/.buildinfo \
%check
-
-# Some tests not passed on aarch64 and ppc64le arches
-# * https://github.com/kovidgoyal/kitty/issues/2469
-%ifarch armv7hl i686 86_64
%{__python3} setup.py test --prefix=%{buildroot}%{_prefix}
-%endif
-
appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/*.appdata.xml
desktop-file-validate %{buildroot}/%{_datadir}/applications/*.desktop
@@ -194,6 +188,7 @@ desktop-file-validate %{buildroot}/%{_datadir}/applications/*.desktop
%changelog
* Tue Mar 24 2020 Artem Polishchuk <ego.cordatus(a)gmail.com> - 0.17.0-1
- Update to 0.17.0
+- Exclude arch ppc64le
* Mon Mar 09 2020 Artem Polishchuk <ego.cordatus(a)gmail.com> - 0.16.0-3
- Fix AppData description - #1811657
4 years, 1 month
Architecture specific change in rpms/kitty.git
by githook-noreply@fedoraproject.org
The package rpms/kitty.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/kitty.git/commit/?id=81e78947f3d2....
Change:
+%ifarch armv7hl i686 86_64
Thanks.
Full change:
============
commit 81e78947f3d251e8c9aa4b5f27adcfc0e49cc143
Author: Artem Polishchuk <ego.cordatus(a)gmail.com>
Date: Tue Mar 24 15:38:59 2020 +0200
Skip tests for armv7hl, i686, 86_64
diff --git a/kitty.spec b/kitty.spec
index 7d0eb6c..0b6373e 100644
--- a/kitty.spec
+++ b/kitty.spec
@@ -160,7 +160,13 @@ rm %{buildroot}%{_datadir}/doc/%{name}/html/.buildinfo \
%check
+
+# Some tests not passed on aarch64 and ppc64le arches
+# * https://github.com/kovidgoyal/kitty/issues/2469
+%ifarch armv7hl i686 86_64
%{__python3} setup.py test --prefix=%{buildroot}%{_prefix}
+%endif
+
appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/*.appdata.xml
desktop-file-validate %{buildroot}/%{_datadir}/applications/*.desktop
4 years, 1 month
Architecture specific change in rpms/gd.git
by githook-noreply@fedoraproject.org
The package rpms/gd.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/gd.git/commit/?id=28c4276c701b97f....
Change:
+%ifarch s390x
Thanks.
Full change:
============
commit 7479fbab78d5c0377deee05af337a6d7440410e7
Author: Remi Collet <remi(a)fedoraproject.org>
Date: Tue Mar 24 10:15:12 2020 +0100
add missing BR on perl(FindBin)
diff --git a/gd.spec b/gd.spec
index 5444151..1e6c22d 100644
--- a/gd.spec
+++ b/gd.spec
@@ -39,6 +39,7 @@ BuildRequires: pkgconfig
BuildRequires: libtool
BuildRequires: perl-interpreter
BuildRequires: perl-generators
+BuildRequires: perl(FindBin)
# for fontconfig/basic test
BuildRequires: liberation-sans-fonts
commit 28c4276c701b97f88922c83cf9404e34f9730922
Author: Remi Collet <remi(a)fedoraproject.org>
Date: Tue Mar 24 10:04:07 2020 +0100
update to 2.3.0
add dependency on libraqm
remove gdlib-config
diff --git a/.gitignore b/.gitignore
index c063891..0a16c45 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,3 +9,4 @@ gd-2.0.35.tar.bz2
/libgd-2.2.3.tar.xz
/libgd-2.2.4.tar.xz
/libgd-2.2.5.tar.xz
+/libgd-2.3.0.tar.xz
diff --git a/gd-2.1.0-multilib.patch b/gd-2.1.0-multilib.patch
deleted file mode 100644
index c4fdc63..0000000
--- a/gd-2.1.0-multilib.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-diff -up gd-2.1.0/config/gdlib-config.in.multilib gd-2.1.0/config/gdlib-config.in
---- gd-2.1.0/config/gdlib-config.in.multilib 2013-04-21 16:58:17.820010758 +0200
-+++ gd-2.1.0/config/gdlib-config.in 2013-04-21 16:59:27.896317922 +0200
-@@ -7,9 +7,10 @@
- # installation directories
- prefix=@prefix@
- exec_prefix=@exec_prefix@
--libdir=@libdir@
-+libdir=`pkg-config gdlib --variable=libdir`
- includedir=@includedir@
- bindir=@bindir@
-+ldflags=`pkg-config gdlib --variable=ldflags`
-
- usage()
- {
-@@ -68,7 +69,7 @@ while test $# -gt 0; do
- echo @GDLIB_REVISION@
- ;;
- --ldflags)
-- echo @LDFLAGS@
-+ echo $ldflags
- ;;
- --libs)
- echo -lgd @LIBS@ @LIBICONV@
-@@ -83,7 +84,7 @@ while test $# -gt 0; do
- echo "GD library @VERSION@"
- echo "includedir: $includedir"
- echo "cflags: -I@includedir@"
-- echo "ldflags: @LDFLAGS@"
-+ echo "ldflags: $ldflags"
- echo "libs: @LIBS@ @LIBICONV@"
- echo "libdir: $libdir"
- echo "features: @FEATURES@"
diff --git a/gd-2.2.5-gdImageBmpPtr-double-free.patch b/gd-2.2.5-gdImageBmpPtr-double-free.patch
deleted file mode 100644
index 80f9712..0000000
--- a/gd-2.2.5-gdImageBmpPtr-double-free.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-From ac16bdf2d41724b5a65255d4c28fb0ec46bc42f5 Mon Sep 17 00:00:00 2001
-From: Mike Frysinger <vapier(a)gentoo.org>
-Date: Sat, 14 Jul 2018 13:54:08 -0400
-Subject: [PATCH] bmp: check return value in gdImageBmpPtr
-
-Closes #447.
----
- src/gd_bmp.c | 17 ++++++++++++++---
- 1 file changed, 14 insertions(+), 3 deletions(-)
-
-diff --git a/src/gd_bmp.c b/src/gd_bmp.c
-index bde0b9d3..78f40d9a 100644
---- a/src/gd_bmp.c
-+++ b/src/gd_bmp.c
-@@ -47,6 +47,8 @@ static int bmp_read_4bit(gdImagePtr im, gdIOCtxPtr infile, bmp_info_t *info, bmp
- static int bmp_read_8bit(gdImagePtr im, gdIOCtxPtr infile, bmp_info_t *info, bmp_hdr_t *header);
- static int bmp_read_rle(gdImagePtr im, gdIOCtxPtr infile, bmp_info_t *info);
-
-+static int _gdImageBmpCtx(gdImagePtr im, gdIOCtxPtr out, int compression);
-+
- #define BMP_DEBUG(s)
-
- static int gdBMPPutWord(gdIOCtx *out, int w)
-@@ -87,8 +89,10 @@ BGD_DECLARE(void *) gdImageBmpPtr(gdImagePtr im, int *size, int compression)
- void *rv;
- gdIOCtx *out = gdNewDynamicCtx(2048, NULL);
- if (out == NULL) return NULL;
-- gdImageBmpCtx(im, out, compression);
-- rv = gdDPExtractData(out, size);
-+ if (!_gdImageBmpCtx(im, out, compression))
-+ rv = gdDPExtractData(out, size);
-+ else
-+ rv = NULL;
- out->gd_free(out);
- return rv;
- }
-@@ -141,6 +145,11 @@ BGD_DECLARE(void) gdImageBmp(gdImagePtr im, FILE *outFile, int compression)
- compression - whether to apply RLE or not.
- */
- BGD_DECLARE(void) gdImageBmpCtx(gdImagePtr im, gdIOCtxPtr out, int compression)
-+{
-+ _gdImageBmpCtx(im, out, compression);
-+}
-+
-+static int _gdImageBmpCtx(gdImagePtr im, gdIOCtxPtr out, int compression)
- {
- int bitmap_size = 0, info_size, total_size, padding;
- int i, row, xpos, pixel;
-@@ -148,6 +157,7 @@ BGD_DECLARE(void) gdImageBmpCtx(gdImagePtr im, gdIOCtxPtr out, int compression)
- unsigned char *uncompressed_row = NULL, *uncompressed_row_start = NULL;
- FILE *tmpfile_for_compression = NULL;
- gdIOCtxPtr out_original = NULL;
-+ int ret = 1;
-
- /* No compression if its true colour or we don't support seek */
- if (im->trueColor) {
-@@ -325,6 +335,7 @@ BGD_DECLARE(void) gdImageBmpCtx(gdImagePtr im, gdIOCtxPtr out, int compression)
- out_original = NULL;
- }
-
-+ ret = 0;
- cleanup:
- if (tmpfile_for_compression) {
- #ifdef _WIN32
-@@ -338,7 +349,7 @@ BGD_DECLARE(void) gdImageBmpCtx(gdImagePtr im, gdIOCtxPtr out, int compression)
- if (out_original) {
- out_original->gd_free(out_original);
- }
-- return;
-+ return ret;
- }
-
- static int compress_row(unsigned char *row, int length)
diff --git a/gd-2.2.5-heap-based-buffer-overflow.patch b/gd-2.2.5-heap-based-buffer-overflow.patch
deleted file mode 100644
index ae795d0..0000000
--- a/gd-2.2.5-heap-based-buffer-overflow.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 98b2e94e62d873acbcc6d968f1f97af9749fe021 Mon Sep 17 00:00:00 2001
-From: Ondrej Dubaj <odubaj(a)redhat.com>
-Date: Tue, 4 Jun 2019 10:54:45 +0200
-Subject: [PATCH] heap based buffer overflow in
- gd_color_match.c:gdImageColorMatch() in libgd as used in imagecolormatch()
-
----
- src/gd_color_match.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/gd_color_match.c b/src/gd_color_match.c
-index f0842b6..a94a841 100755
---- a/src/gd_color_match.c
-+++ b/src/gd_color_match.c
-@@ -31,8 +31,8 @@ BGD_DECLARE(int) gdImageColorMatch (gdImagePtr im1, gdImagePtr im2)
- return -4; /* At least 1 color must be allocated */
- }
-
-- buf = (unsigned long *)gdMalloc(sizeof(unsigned long) * 5 * im2->colorsTotal);
-- memset (buf, 0, sizeof(unsigned long) * 5 * im2->colorsTotal );
-+ buf = (unsigned long *)gdMalloc(sizeof(unsigned long) * 5 * gdMaxColors);
-+ memset (buf, 0, sizeof(unsigned long) * 5 * gdMaxColors );
-
- for (x=0; x < im1->sx; x++) {
- for( y=0; y<im1->sy; y++ ) {
---
-2.17.1
-
diff --git a/gd-2.2.5-null-pointer.patch b/gd-2.2.5-null-pointer.patch
deleted file mode 100644
index afa18d9..0000000
--- a/gd-2.2.5-null-pointer.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-From a93eac0e843148dc2d631c3ba80af17e9c8c860f Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?F=C3=A1bio=20Cabral=20Pacheco?= <fcabralpacheco(a)gmail.com>
-Date: Fri, 20 Dec 2019 12:03:33 -0300
-Subject: [PATCH] Fix potential NULL pointer dereference in gdImageClone()
-
----
- src/gd.c | 9 +--------
- tests/gdimageclone/style.c | 30 ++++++++++++++++++++++++++++++
- 5 files changed, 35 insertions(+), 9 deletions(-)
- create mode 100644 tests/gdimageclone/style.c
-
-diff --git a/src/gd.c b/src/gd.c
-index 592a0286..d564d1f9 100644
---- a/src/gd.c
-+++ b/src/gd.c
-@@ -2865,14 +2865,6 @@ BGD_DECLARE(gdImagePtr) gdImageClone (gdImagePtr src) {
- }
- }
-
-- if (src->styleLength > 0) {
-- dst->styleLength = src->styleLength;
-- dst->stylePos = src->stylePos;
-- for (i = 0; i < src->styleLength; i++) {
-- dst->style[i] = src->style[i];
-- }
-- }
--
- dst->interlace = src->interlace;
-
- dst->alphaBlendingFlag = src->alphaBlendingFlag;
-@@ -2907,6 +2899,7 @@ BGD_DECLARE(gdImagePtr) gdImageClone (gdImagePtr src) {
-
- if (src->style) {
- gdImageSetStyle(dst, src->style, src->styleLength);
-+ dst->stylePos = src->stylePos;
- }
-
- for (i = 0; i < gdMaxColors; i++) {
-diff --git a/tests/gdimageclone/style.c b/tests/gdimageclone/style.c
-new file mode 100644
-index 00000000..c2b246ed
---- /dev/null
-+++ b/tests/gdimageclone/style.c
-@@ -0,0 +1,30 @@
-+/**
-+ * Cloning an image should exactly reproduce all style related data
-+ */
-+
-+
-+#include <string.h>
-+#include "gd.h"
-+#include "gdtest.h"
-+
-+
-+int main()
-+{
-+ gdImagePtr im, clone;
-+ int style[] = {0, 0, 0};
-+
-+ im = gdImageCreate(8, 8);
-+ gdImageSetStyle(im, style, sizeof(style)/sizeof(style[0]));
-+
-+ clone = gdImageClone(im);
-+ gdTestAssert(clone != NULL);
-+
-+ gdTestAssert(clone->styleLength == im->styleLength);
-+ gdTestAssert(clone->stylePos == im->stylePos);
-+ gdTestAssert(!memcmp(clone->style, im->style, sizeof(style)/sizeof(style[0])));
-+
-+ gdImageDestroy(clone);
-+ gdImageDestroy(im);
-+
-+ return gdNumFailures();
-+}
diff --git a/gd-2.2.5-potential-double-free.patch b/gd-2.2.5-potential-double-free.patch
deleted file mode 100644
index 788a068..0000000
--- a/gd-2.2.5-potential-double-free.patch
+++ /dev/null
@@ -1,283 +0,0 @@
-From 4d9d8368d08c3a2be3ea4193b9314fffeddace52 Mon Sep 17 00:00:00 2001
-From: Ondrej Dubaj <odubaj(a)redhat.com>
-Date: Tue, 4 Jun 2019 13:38:41 +0200
-Subject: [PATCH] Potential double-free in gdImage*Ptr()
-
-Whenever `gdImage*Ptr()` calls `gdImage*Ctx()` and the latter fails, we
-must not call `gdDPExtractData()`; otherwise a double-free would
-happen. Since `gdImage*Ctx()` are void functions, and we can't change
-that for BC reasons, we're introducing static helpers which are used
-internally.
-
-We're adding a regression test for `gdImageJpegPtr()`, but not for
-`gdImageGifPtr()` and `gdImageWbmpPtr()` since we don't know how to
-trigger failure of the respective `gdImage*Ctx()` calls.
-
-This potential security issue has been reported by Solmaz Salimi (aka.
-Rooney).
----
- src/gd_gif_out.c | 19 +++++++++++++++----
- src/gd_jpeg.c | 20 ++++++++++++++++----
- src/gd_wbmp.c | 21 ++++++++++++++++++---
- tests/jpeg/CMakeLists.txt | 1 +
- tests/jpeg/Makemodule.am | 3 ++-
- tests/jpeg/jpeg_ptr_double_free.c | 31 +++++++++++++++++++++++++++++++
- 6 files changed, 83 insertions(+), 12 deletions(-)
- create mode 100644 tests/jpeg/jpeg_ptr_double_free.c
-
-diff --git a/src/gd_gif_out.c b/src/gd_gif_out.c
-index 6fe707d..4a05c09 100755
---- a/src/gd_gif_out.c
-+++ b/src/gd_gif_out.c
-@@ -99,7 +99,7 @@ static void char_init(GifCtx *ctx);
- static void char_out(int c, GifCtx *ctx);
- static void flush_char(GifCtx *ctx);
-
--
-+static int _gdImageGifCtx(gdImagePtr im, gdIOCtxPtr out);
-
-
- /*
-@@ -131,8 +131,11 @@ BGD_DECLARE(void *) gdImageGifPtr(gdImagePtr im, int *size)
- void *rv;
- gdIOCtx *out = gdNewDynamicCtx(2048, NULL);
- if (out == NULL) return NULL;
-- gdImageGifCtx(im, out);
-- rv = gdDPExtractData(out, size);
-+ if (!_gdImageGifCtx(im, out)) {
-+ rv = gdDPExtractData(out, size);
-+ } else {
-+ rv = NULL;
-+ }
- out->gd_free(out);
- return rv;
- }
-@@ -220,6 +223,12 @@ BGD_DECLARE(void) gdImageGif(gdImagePtr im, FILE *outFile)
-
- */
- BGD_DECLARE(void) gdImageGifCtx(gdImagePtr im, gdIOCtxPtr out)
-+{
-+ _gdImageGifCtx(im, out);
-+}
-+
-+/* returns 0 on success, 1 on failure */
-+static int _gdImageGifCtx(gdImagePtr im, gdIOCtxPtr out)
- {
- gdImagePtr pim = 0, tim = im;
- int interlace, BitsPerPixel;
-@@ -231,7 +240,7 @@ BGD_DECLARE(void) gdImageGifCtx(gdImagePtr im, gdIOCtxPtr out)
- based temporary image. */
- pim = gdImageCreatePaletteFromTrueColor(im, 1, 256);
- if(!pim) {
-- return;
-+ return 1;
- }
- tim = pim;
- }
-@@ -247,6 +256,8 @@ BGD_DECLARE(void) gdImageGifCtx(gdImagePtr im, gdIOCtxPtr out)
- /* Destroy palette based temporary image. */
- gdImageDestroy( pim);
- }
-+
-+ return 0;
- }
-
-
-diff --git a/src/gd_jpeg.c b/src/gd_jpeg.c
-index 271ef46..bd8fc27 100755
---- a/src/gd_jpeg.c
-+++ b/src/gd_jpeg.c
-@@ -123,6 +123,8 @@ static void fatal_jpeg_error(j_common_ptr cinfo)
- exit(99);
- }
-
-+static int _gdImageJpegCtx(gdImagePtr im, gdIOCtx *outfile, int quality);
-+
- /*
- * Write IM to OUTFILE as a JFIF-formatted JPEG image, using quality
- * QUALITY. If QUALITY is in the range 0-100, increasing values
-@@ -237,8 +239,11 @@ BGD_DECLARE(void *) gdImageJpegPtr(gdImagePtr im, int *size, int quality)
- void *rv;
- gdIOCtx *out = gdNewDynamicCtx(2048, NULL);
- if (out == NULL) return NULL;
-- gdImageJpegCtx(im, out, quality);
-- rv = gdDPExtractData(out, size);
-+ if (!_gdImageJpegCtx(im, out, quality)) {
-+ rv = gdDPExtractData(out, size);
-+ } else {
-+ rv = NULL;
-+ }
- out->gd_free(out);
- return rv;
- }
-@@ -259,6 +264,12 @@ void jpeg_gdIOCtx_dest(j_compress_ptr cinfo, gdIOCtx *outfile);
-
- */
- BGD_DECLARE(void) gdImageJpegCtx(gdImagePtr im, gdIOCtx *outfile, int quality)
-+{
-+ _gdImageJpegCtx(im, outfile, quality);
-+}
-+
-+/* returns 0 on success, 1 on failure */
-+static int _gdImageJpegCtx(gdImagePtr im, gdIOCtx *outfile, int quality)
- {
- struct jpeg_compress_struct cinfo;
- struct jpeg_error_mgr jerr;
-@@ -293,7 +304,7 @@ BGD_DECLARE(void) gdImageJpegCtx(gdImagePtr im, gdIOCtx *outfile, int quality)
- if(row) {
- gdFree(row);
- }
-- return;
-+ return 1;
- }
-
- cinfo.err->emit_message = jpeg_emit_message;
-@@ -334,7 +345,7 @@ BGD_DECLARE(void) gdImageJpegCtx(gdImagePtr im, gdIOCtx *outfile, int quality)
- if(row == 0) {
- gd_error("gd-jpeg: error: unable to allocate JPEG row structure: gdCalloc returns NULL\n");
- jpeg_destroy_compress(&cinfo);
-- return;
-+ return 1;
- }
-
- rowptr[0] = row;
-@@ -411,6 +422,7 @@ BGD_DECLARE(void) gdImageJpegCtx(gdImagePtr im, gdIOCtx *outfile, int quality)
- jpeg_finish_compress(&cinfo);
- jpeg_destroy_compress(&cinfo);
- gdFree(row);
-+ return 0;
- }
-
-
-diff --git a/src/gd_wbmp.c b/src/gd_wbmp.c
-index 0028273..341ff6e 100755
---- a/src/gd_wbmp.c
-+++ b/src/gd_wbmp.c
-@@ -88,6 +88,8 @@ int gd_getin(void *in)
- return (gdGetC((gdIOCtx *)in));
- }
-
-+static int _gdImageWBMPCtx(gdImagePtr image, int fg, gdIOCtx *out);
-+
- /*
- Function: gdImageWBMPCtx
-
-@@ -100,6 +102,12 @@ int gd_getin(void *in)
- out - the stream where to write
- */
- BGD_DECLARE(void) gdImageWBMPCtx(gdImagePtr image, int fg, gdIOCtx *out)
-+{
-+ _gdImageWBMPCtx(image, fg, out);
-+}
-+
-+/* returns 0 on success, 1 on failure */
-+static int _gdImageWBMPCtx(gdImagePtr image, int fg, gdIOCtx *out)
- {
- int x, y, pos;
- Wbmp *wbmp;
-@@ -107,7 +115,7 @@ BGD_DECLARE(void) gdImageWBMPCtx(gdImagePtr image, int fg, gdIOCtx *out)
- /* create the WBMP */
- if((wbmp = createwbmp(gdImageSX(image), gdImageSY(image), WBMP_WHITE)) == NULL) {
- gd_error("Could not create WBMP\n");
-- return;
-+ return 1;
- }
-
- /* fill up the WBMP structure */
-@@ -123,11 +131,15 @@ BGD_DECLARE(void) gdImageWBMPCtx(gdImagePtr image, int fg, gdIOCtx *out)
-
- /* write the WBMP to a gd file descriptor */
- if(writewbmp(wbmp, &gd_putout, out)) {
-+ freewbmp(wbmp);
- gd_error("Could not save WBMP\n");
-+ return 1;
- }
-
- /* des submitted this bugfix: gdFree the memory. */
- freewbmp(wbmp);
-+
-+ return 0;
- }
-
- /*
-@@ -271,8 +283,11 @@ BGD_DECLARE(void *) gdImageWBMPPtr(gdImagePtr im, int *size, int fg)
- void *rv;
- gdIOCtx *out = gdNewDynamicCtx(2048, NULL);
- if (out == NULL) return NULL;
-- gdImageWBMPCtx(im, fg, out);
-- rv = gdDPExtractData(out, size);
-+ if (!_gdImageWBMPCtx(im, fg, out)) {
-+ rv = gdDPExtractData(out, size);
-+ } else {
-+ rv = NULL;
-+ }
- out->gd_free(out);
- return rv;
- }
-diff --git a/tests/jpeg/CMakeLists.txt b/tests/jpeg/CMakeLists.txt
-index 19964b0..a8d8162 100755
---- a/tests/jpeg/CMakeLists.txt
-+++ b/tests/jpeg/CMakeLists.txt
-@@ -2,6 +2,7 @@ IF(JPEG_FOUND)
- LIST(APPEND TESTS_FILES
- jpeg_empty_file
- jpeg_im2im
-+ jpeg_ptr_double_free
- jpeg_null
- )
-
-diff --git a/tests/jpeg/Makemodule.am b/tests/jpeg/Makemodule.am
-index 7e5d317..b89e169 100755
---- a/tests/jpeg/Makemodule.am
-+++ b/tests/jpeg/Makemodule.am
-@@ -2,7 +2,8 @@ if HAVE_LIBJPEG
- libgd_test_programs += \
- jpeg/jpeg_empty_file \
- jpeg/jpeg_im2im \
-- jpeg/jpeg_null
-+ jpeg/jpeg_null \
-+ jpeg/jpeg_ptr_double_free
-
- if HAVE_LIBPNG
- libgd_test_programs += \
-diff --git a/tests/jpeg/jpeg_ptr_double_free.c b/tests/jpeg/jpeg_ptr_double_free.c
-new file mode 100644
-index 0000000..c80aeb6
---- /dev/null
-+++ b/tests/jpeg/jpeg_ptr_double_free.c
-@@ -0,0 +1,31 @@
-+/**
-+ * Test that failure to convert to JPEG returns NULL
-+ *
-+ * We are creating an image, set its width to zero, and pass this image to
-+ * `gdImageJpegPtr()` which is supposed to fail, and as such should return NULL.
-+ *
-+ * See also <https://github.com/libgd/libgd/issues/381>
-+ */
-+
-+
-+#include "gd.h"
-+#include "gdtest.h"
-+
-+
-+int main()
-+{
-+ gdImagePtr src, dst;
-+ int size;
-+
-+ src = gdImageCreateTrueColor(1, 10);
-+ gdTestAssert(src != NULL);
-+
-+ src->sx = 0; /* this hack forces gdImageJpegPtr() to fail */
-+
-+ dst = gdImageJpegPtr(src, &size, 0);
-+ gdTestAssert(dst == NULL);
-+
-+ gdImageDestroy(src);
-+
-+ return gdNumFailures();
-+}
-\ No newline at end of file
---
-2.17.1
-
diff --git a/gd-2.2.5-upstream.patch b/gd-2.2.5-upstream.patch
deleted file mode 100644
index 0bc1bcb..0000000
--- a/gd-2.2.5-upstream.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From a11f47475e6443b7f32d21f2271f28f417e2ac04 Mon Sep 17 00:00:00 2001
-From: "Christoph M. Becker" <cmbecker69(a)gmx.de>
-Date: Wed, 29 Nov 2017 19:37:38 +0100
-Subject: [PATCH] Fix #420: Potential infinite loop in gdImageCreateFromGifCtx
-
-Due to a signedness confusion in `GetCode_` a corrupt GIF file can
-trigger an infinite loop. Furthermore we make sure that a GIF without
-any palette entries is treated as invalid *after* open palette entries
-have been removed.
-
-CVE-2018-5711
-
-See also https://bugs.php.net/bug.php?id=75571.
----
- src/gd_gif_in.c | 12 ++++++------
- tests/gif/.gitignore | 1 +
- tests/gif/CMakeLists.txt | 1 +
- tests/gif/Makemodule.am | 2 ++
- tests/gif/php_bug_75571.c | 28 ++++++++++++++++++++++++++++
- tests/gif/php_bug_75571.gif | Bin 0 -> 1731 bytes
- 6 files changed, 38 insertions(+), 6 deletions(-)
- create mode 100644 tests/gif/php_bug_75571.c
- create mode 100644 tests/gif/php_bug_75571.gif
-
-diff --git a/src/gd_gif_in.c b/src/gd_gif_in.c
-index daf26e79..0a8bd717 100644
---- a/src/gd_gif_in.c
-+++ b/src/gd_gif_in.c
-@@ -335,11 +335,6 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFromGifCtx(gdIOCtxPtr fd)
- return 0;
- }
-
-- if(!im->colorsTotal) {
-- gdImageDestroy(im);
-- return 0;
-- }
--
- /* Check for open colors at the end, so
- * we can reduce colorsTotal and ultimately
- * BitsPerPixel */
-@@ -351,6 +346,11 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFromGifCtx(gdIOCtxPtr fd)
- }
- }
-
-+ if(!im->colorsTotal) {
-+ gdImageDestroy(im);
-+ return 0;
-+ }
-+
- return im;
- }
-
-@@ -447,7 +447,7 @@ static int
- GetCode_(gdIOCtx *fd, CODE_STATIC_DATA *scd, int code_size, int flag, int *ZeroDataBlockP)
- {
- int i, j, ret;
-- unsigned char count;
-+ int count;
-
- if(flag) {
- scd->curbit = 0;
-
diff --git a/gd.spec b/gd.spec
index 2db9311..5444151 100644
--- a/gd.spec
+++ b/gd.spec
@@ -1,15 +1,11 @@
-# requested by https://bugzilla.redhat.com/1468338
-# this break gdimagefile/gdnametest:
-# gdimagefile/gdnametest.c:122: 255 pixels different on /tmp/gdtest.CrpdIb/img.gif
-# gdimagefile/gdnametest.c:122: 255 pixels different on /tmp/gdtest.CrpdIb/img.GIF
-# FAIL gdimagefile/gdnametest (exit status: 2)
-%global with_liq 0
+%global with_liq 1
+%global with_raqm 1
Summary: A graphics library for quick creation of PNG or JPEG images
Name: gd
-Version: 2.2.5
-Release: 12%{?prever}%{?short}%{?dist}
+Version: 2.3.0
+Release: 1%{?prever}%{?short}%{?dist}
License: MIT
URL: http://libgd.github.io/
%if 0%{?commit:1}
@@ -19,18 +15,9 @@ Source0: libgd-%{version}-%{commit}.tgz
%else
Source0: https://github.com/libgd/libgd/releases/download/gd-%{version}/libgd-%{ve...
%endif
+# Missing, temporary workaround, fixed upstream for next version
+Source1: https://raw.githubusercontent.com/libgd/libgd/gd-%{version}/config/getlib.sh
-Patch1: gd-2.1.0-multilib.patch
-# CVE-2018-5711 - https://github.com/libgd/libgd/commit/a11f47475e6443b7f32d21f2271f28f417e...
-Patch2: gd-2.2.5-upstream.patch
-# CVE-2018-1000222 - https://github.com/libgd/libgd/commit/ac16bdf2d41724b5a65255d4c28fb0ec46b...
-Patch3: gd-2.2.5-gdImageBmpPtr-double-free.patch
-# CVE-2019-6977
-Patch4: gd-2.2.5-heap-based-buffer-overflow.patch
-# CVE-2019-6978
-Patch5: gd-2.2.5-potential-double-free.patch
-# NULL POINTER REFERENCE - https://github.com/libgd/libgd/commit/a93eac0e843148dc2d631c3ba80af17e9c8...
-Patch6: gd-2.2.5-null-pointer.patch
BuildRequires: freetype-devel
BuildRequires: fontconfig-devel
@@ -42,6 +29,9 @@ BuildRequires: libwebp-devel
%if %{with_liq}
BuildRequires: libimagequant-devel
%endif
+%if %{with_raqm}
+BuildRequires: libraqm-devel
+%endif
BuildRequires: libX11-devel
BuildRequires: libXpm-devel
BuildRequires: zlib-devel
@@ -51,7 +41,6 @@ BuildRequires: perl-interpreter
BuildRequires: perl-generators
# for fontconfig/basic test
BuildRequires: liberation-sans-fonts
-BuildRequires: libimagequant-devel
%description
@@ -84,7 +73,13 @@ Requires: libwebp-devel%{?_isa}
Requires: libX11-devel%{?_isa}
Requires: libXpm-devel%{?_isa}
Requires: zlib-devel%{?_isa}
+%if %{with_liq}
Requires: libimagequant-devel%{?_isa}
+%endif
+%if %{with_raqm}
+Requires: libraqm-devel
+%endif
+
%description devel
The gd-devel package contains the development libraries and header
@@ -93,12 +88,7 @@ files for gd, a graphics library for creating PNG and JPEG graphics.
%prep
%setup -q -n libgd-%{version}%{?prever:-%{prever}}
-%patch1 -p1 -b .mlib
-%patch2 -p1 -b .upstream
-%patch3 -p1 -b .gdImageBmpPtr-free
-%patch4 -p1
-%patch5 -p1
-%patch6 -p1
+install -m 0755 %{SOURCE1} config/
: $(perl config/getver.pl)
@@ -143,6 +133,14 @@ rm -f $RPM_BUILD_ROOT/%{_libdir}/libgd.a
%check
+# minor diff in size
+XFAIL_TESTS="gdimagestringft/gdimagestringft_bbox"
+%ifarch s390x
+XFAIL_TESTS="gdimagestring16/gdimagestring16 gdimagestringup16/gdimagestringup16 $XFAIL_TESTS"
+%endif
+
+export XFAIL_TESTS
+
: Upstream test suite
make check
@@ -160,16 +158,19 @@ grep %{version} $RPM_BUILD_ROOT%{_libdir}/pkgconfig/gdlib.pc
%files progs
%{_bindir}/*
-%exclude %{_bindir}/gdlib-config
%files devel
-%{_bindir}/gdlib-config
%{_includedir}/*
%{_libdir}/*.so
%{_libdir}/pkgconfig/gdlib.pc
%changelog
+* Tue Mar 24 2020 Remi Collet <remi(a)remirepo.net> - 2.3.0-1
+- update to 2.3.0
+- add dependency on libraqm
+- remove gdlib-config
+
* Fri Jan 31 2020 Filip Janu <fjanus(a)redhat.com> - 2.2.5-12
- Add patch(gd-2.2.5-null-pointer.patch) - fix Null pointer reference in gdImageClone (gdImagePtr src)
- Resolves: #1599032
diff --git a/getlib.sh b/getlib.sh
new file mode 100644
index 0000000..4835cf6
--- /dev/null
+++ b/getlib.sh
@@ -0,0 +1,42 @@
+#!/bin/sh
+
+GETVER="${0%/*}/getver.pl"
+GDLIB_MAJOR=$("${GETVER}" MAJOR)
+GDLIB_MINOR=$("${GETVER}" MINOR)
+GDLIB_REVISION=$("${GETVER}" RELEASE)
+
+# Dynamic library version information
+# See http://www.gnu.org/software/libtool/manual/libtool.html#Updating-version-...
+
+GDLIB_LT_CURRENT=3
+# This is the version where the soname (current above) changes. We use it
+# to reset the revision base back to zero. It's a bit of a pain, but some
+# systems restrict the revision range below to [0..255] (like OS X).
+GDLIB_PREV_MAJOR=2
+GDLIB_PREV_MINOR=2
+# This isn't 100% correct, but it tends to be a close enough approximation
+# for how we manage the codebase. It's rare to do a release that doesn't
+# modify the library since this project is centered around the library.
+GDLIB_LT_REVISION=$(( ((GDLIB_MAJOR - GDLIB_PREV_MAJOR) << 6) | ((GDLIB_MINOR - GDLIB_PREV_MINOR) << 3) | GDLIB_REVISION ))
+GDLIB_LT_AGE=0
+
+# The first three fields we feed into libtool and the OS target determines how
+# they get used. The last two fields we feed into cmake. We use the same rules
+# as Linux SONAME versioning in libtool, but cmake should handle it for us.
+case $1 in
+CURRENT)
+ printf '%s' "${GDLIB_LT_CURRENT}"
+ ;;
+REVISION)
+ printf '%s' "${GDLIB_LT_REVISION}"
+ ;;
+AGE)
+ printf '%s' "${GDLIB_LT_AGE}"
+ ;;
+VERSION)
+ printf '%s' "$(( GDLIB_LT_CURRENT - GDLIB_LT_AGE )).${GDLIB_LT_AGE}.${GDLIB_LT_REVISION}"
+ ;;
+SONAME)
+ printf '%s' "$(( GDLIB_LT_CURRENT - GDLIB_LT_AGE ))"
+ ;;
+esac
diff --git a/sources b/sources
index 541711d..7b35316 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (libgd-2.2.5.tar.xz) = 946675b0a9dbecdee3dda927d496a35d6b5b071d3252a82cd649db0d959a82fcc65ce067ec34d07eed0e0497cd92cc0d93803609a4854f42d284e950764044d0
+SHA512 (libgd-2.3.0.tar.xz) = 5b201d22560e147a3d5471010b898ad0268c3a2453b870d1267b6ba92e540cf9f75099336c1ab08217e41827ac86fe04525726bf29ad117e5dcbaef9a8d0622a
4 years, 1 month
Architecture specific change in rpms/gd.git
by githook-noreply@fedoraproject.org
The package rpms/gd.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/gd.git/commit/?id=28c4276c701b97f....
Change:
+%ifarch s390x
Thanks.
Full change:
============
commit 28c4276c701b97f88922c83cf9404e34f9730922
Author: Remi Collet <remi(a)fedoraproject.org>
Date: Tue Mar 24 10:04:07 2020 +0100
update to 2.3.0
add dependency on libraqm
remove gdlib-config
diff --git a/.gitignore b/.gitignore
index c063891..0a16c45 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,3 +9,4 @@ gd-2.0.35.tar.bz2
/libgd-2.2.3.tar.xz
/libgd-2.2.4.tar.xz
/libgd-2.2.5.tar.xz
+/libgd-2.3.0.tar.xz
diff --git a/gd-2.1.0-multilib.patch b/gd-2.1.0-multilib.patch
deleted file mode 100644
index c4fdc63..0000000
--- a/gd-2.1.0-multilib.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-diff -up gd-2.1.0/config/gdlib-config.in.multilib gd-2.1.0/config/gdlib-config.in
---- gd-2.1.0/config/gdlib-config.in.multilib 2013-04-21 16:58:17.820010758 +0200
-+++ gd-2.1.0/config/gdlib-config.in 2013-04-21 16:59:27.896317922 +0200
-@@ -7,9 +7,10 @@
- # installation directories
- prefix=@prefix@
- exec_prefix=@exec_prefix@
--libdir=@libdir@
-+libdir=`pkg-config gdlib --variable=libdir`
- includedir=@includedir@
- bindir=@bindir@
-+ldflags=`pkg-config gdlib --variable=ldflags`
-
- usage()
- {
-@@ -68,7 +69,7 @@ while test $# -gt 0; do
- echo @GDLIB_REVISION@
- ;;
- --ldflags)
-- echo @LDFLAGS@
-+ echo $ldflags
- ;;
- --libs)
- echo -lgd @LIBS@ @LIBICONV@
-@@ -83,7 +84,7 @@ while test $# -gt 0; do
- echo "GD library @VERSION@"
- echo "includedir: $includedir"
- echo "cflags: -I@includedir@"
-- echo "ldflags: @LDFLAGS@"
-+ echo "ldflags: $ldflags"
- echo "libs: @LIBS@ @LIBICONV@"
- echo "libdir: $libdir"
- echo "features: @FEATURES@"
diff --git a/gd-2.2.5-gdImageBmpPtr-double-free.patch b/gd-2.2.5-gdImageBmpPtr-double-free.patch
deleted file mode 100644
index 80f9712..0000000
--- a/gd-2.2.5-gdImageBmpPtr-double-free.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-From ac16bdf2d41724b5a65255d4c28fb0ec46bc42f5 Mon Sep 17 00:00:00 2001
-From: Mike Frysinger <vapier(a)gentoo.org>
-Date: Sat, 14 Jul 2018 13:54:08 -0400
-Subject: [PATCH] bmp: check return value in gdImageBmpPtr
-
-Closes #447.
----
- src/gd_bmp.c | 17 ++++++++++++++---
- 1 file changed, 14 insertions(+), 3 deletions(-)
-
-diff --git a/src/gd_bmp.c b/src/gd_bmp.c
-index bde0b9d3..78f40d9a 100644
---- a/src/gd_bmp.c
-+++ b/src/gd_bmp.c
-@@ -47,6 +47,8 @@ static int bmp_read_4bit(gdImagePtr im, gdIOCtxPtr infile, bmp_info_t *info, bmp
- static int bmp_read_8bit(gdImagePtr im, gdIOCtxPtr infile, bmp_info_t *info, bmp_hdr_t *header);
- static int bmp_read_rle(gdImagePtr im, gdIOCtxPtr infile, bmp_info_t *info);
-
-+static int _gdImageBmpCtx(gdImagePtr im, gdIOCtxPtr out, int compression);
-+
- #define BMP_DEBUG(s)
-
- static int gdBMPPutWord(gdIOCtx *out, int w)
-@@ -87,8 +89,10 @@ BGD_DECLARE(void *) gdImageBmpPtr(gdImagePtr im, int *size, int compression)
- void *rv;
- gdIOCtx *out = gdNewDynamicCtx(2048, NULL);
- if (out == NULL) return NULL;
-- gdImageBmpCtx(im, out, compression);
-- rv = gdDPExtractData(out, size);
-+ if (!_gdImageBmpCtx(im, out, compression))
-+ rv = gdDPExtractData(out, size);
-+ else
-+ rv = NULL;
- out->gd_free(out);
- return rv;
- }
-@@ -141,6 +145,11 @@ BGD_DECLARE(void) gdImageBmp(gdImagePtr im, FILE *outFile, int compression)
- compression - whether to apply RLE or not.
- */
- BGD_DECLARE(void) gdImageBmpCtx(gdImagePtr im, gdIOCtxPtr out, int compression)
-+{
-+ _gdImageBmpCtx(im, out, compression);
-+}
-+
-+static int _gdImageBmpCtx(gdImagePtr im, gdIOCtxPtr out, int compression)
- {
- int bitmap_size = 0, info_size, total_size, padding;
- int i, row, xpos, pixel;
-@@ -148,6 +157,7 @@ BGD_DECLARE(void) gdImageBmpCtx(gdImagePtr im, gdIOCtxPtr out, int compression)
- unsigned char *uncompressed_row = NULL, *uncompressed_row_start = NULL;
- FILE *tmpfile_for_compression = NULL;
- gdIOCtxPtr out_original = NULL;
-+ int ret = 1;
-
- /* No compression if its true colour or we don't support seek */
- if (im->trueColor) {
-@@ -325,6 +335,7 @@ BGD_DECLARE(void) gdImageBmpCtx(gdImagePtr im, gdIOCtxPtr out, int compression)
- out_original = NULL;
- }
-
-+ ret = 0;
- cleanup:
- if (tmpfile_for_compression) {
- #ifdef _WIN32
-@@ -338,7 +349,7 @@ BGD_DECLARE(void) gdImageBmpCtx(gdImagePtr im, gdIOCtxPtr out, int compression)
- if (out_original) {
- out_original->gd_free(out_original);
- }
-- return;
-+ return ret;
- }
-
- static int compress_row(unsigned char *row, int length)
diff --git a/gd-2.2.5-heap-based-buffer-overflow.patch b/gd-2.2.5-heap-based-buffer-overflow.patch
deleted file mode 100644
index ae795d0..0000000
--- a/gd-2.2.5-heap-based-buffer-overflow.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 98b2e94e62d873acbcc6d968f1f97af9749fe021 Mon Sep 17 00:00:00 2001
-From: Ondrej Dubaj <odubaj(a)redhat.com>
-Date: Tue, 4 Jun 2019 10:54:45 +0200
-Subject: [PATCH] heap based buffer overflow in
- gd_color_match.c:gdImageColorMatch() in libgd as used in imagecolormatch()
-
----
- src/gd_color_match.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/gd_color_match.c b/src/gd_color_match.c
-index f0842b6..a94a841 100755
---- a/src/gd_color_match.c
-+++ b/src/gd_color_match.c
-@@ -31,8 +31,8 @@ BGD_DECLARE(int) gdImageColorMatch (gdImagePtr im1, gdImagePtr im2)
- return -4; /* At least 1 color must be allocated */
- }
-
-- buf = (unsigned long *)gdMalloc(sizeof(unsigned long) * 5 * im2->colorsTotal);
-- memset (buf, 0, sizeof(unsigned long) * 5 * im2->colorsTotal );
-+ buf = (unsigned long *)gdMalloc(sizeof(unsigned long) * 5 * gdMaxColors);
-+ memset (buf, 0, sizeof(unsigned long) * 5 * gdMaxColors );
-
- for (x=0; x < im1->sx; x++) {
- for( y=0; y<im1->sy; y++ ) {
---
-2.17.1
-
diff --git a/gd-2.2.5-null-pointer.patch b/gd-2.2.5-null-pointer.patch
deleted file mode 100644
index afa18d9..0000000
--- a/gd-2.2.5-null-pointer.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-From a93eac0e843148dc2d631c3ba80af17e9c8c860f Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?F=C3=A1bio=20Cabral=20Pacheco?= <fcabralpacheco(a)gmail.com>
-Date: Fri, 20 Dec 2019 12:03:33 -0300
-Subject: [PATCH] Fix potential NULL pointer dereference in gdImageClone()
-
----
- src/gd.c | 9 +--------
- tests/gdimageclone/style.c | 30 ++++++++++++++++++++++++++++++
- 5 files changed, 35 insertions(+), 9 deletions(-)
- create mode 100644 tests/gdimageclone/style.c
-
-diff --git a/src/gd.c b/src/gd.c
-index 592a0286..d564d1f9 100644
---- a/src/gd.c
-+++ b/src/gd.c
-@@ -2865,14 +2865,6 @@ BGD_DECLARE(gdImagePtr) gdImageClone (gdImagePtr src) {
- }
- }
-
-- if (src->styleLength > 0) {
-- dst->styleLength = src->styleLength;
-- dst->stylePos = src->stylePos;
-- for (i = 0; i < src->styleLength; i++) {
-- dst->style[i] = src->style[i];
-- }
-- }
--
- dst->interlace = src->interlace;
-
- dst->alphaBlendingFlag = src->alphaBlendingFlag;
-@@ -2907,6 +2899,7 @@ BGD_DECLARE(gdImagePtr) gdImageClone (gdImagePtr src) {
-
- if (src->style) {
- gdImageSetStyle(dst, src->style, src->styleLength);
-+ dst->stylePos = src->stylePos;
- }
-
- for (i = 0; i < gdMaxColors; i++) {
-diff --git a/tests/gdimageclone/style.c b/tests/gdimageclone/style.c
-new file mode 100644
-index 00000000..c2b246ed
---- /dev/null
-+++ b/tests/gdimageclone/style.c
-@@ -0,0 +1,30 @@
-+/**
-+ * Cloning an image should exactly reproduce all style related data
-+ */
-+
-+
-+#include <string.h>
-+#include "gd.h"
-+#include "gdtest.h"
-+
-+
-+int main()
-+{
-+ gdImagePtr im, clone;
-+ int style[] = {0, 0, 0};
-+
-+ im = gdImageCreate(8, 8);
-+ gdImageSetStyle(im, style, sizeof(style)/sizeof(style[0]));
-+
-+ clone = gdImageClone(im);
-+ gdTestAssert(clone != NULL);
-+
-+ gdTestAssert(clone->styleLength == im->styleLength);
-+ gdTestAssert(clone->stylePos == im->stylePos);
-+ gdTestAssert(!memcmp(clone->style, im->style, sizeof(style)/sizeof(style[0])));
-+
-+ gdImageDestroy(clone);
-+ gdImageDestroy(im);
-+
-+ return gdNumFailures();
-+}
diff --git a/gd-2.2.5-potential-double-free.patch b/gd-2.2.5-potential-double-free.patch
deleted file mode 100644
index 788a068..0000000
--- a/gd-2.2.5-potential-double-free.patch
+++ /dev/null
@@ -1,283 +0,0 @@
-From 4d9d8368d08c3a2be3ea4193b9314fffeddace52 Mon Sep 17 00:00:00 2001
-From: Ondrej Dubaj <odubaj(a)redhat.com>
-Date: Tue, 4 Jun 2019 13:38:41 +0200
-Subject: [PATCH] Potential double-free in gdImage*Ptr()
-
-Whenever `gdImage*Ptr()` calls `gdImage*Ctx()` and the latter fails, we
-must not call `gdDPExtractData()`; otherwise a double-free would
-happen. Since `gdImage*Ctx()` are void functions, and we can't change
-that for BC reasons, we're introducing static helpers which are used
-internally.
-
-We're adding a regression test for `gdImageJpegPtr()`, but not for
-`gdImageGifPtr()` and `gdImageWbmpPtr()` since we don't know how to
-trigger failure of the respective `gdImage*Ctx()` calls.
-
-This potential security issue has been reported by Solmaz Salimi (aka.
-Rooney).
----
- src/gd_gif_out.c | 19 +++++++++++++++----
- src/gd_jpeg.c | 20 ++++++++++++++++----
- src/gd_wbmp.c | 21 ++++++++++++++++++---
- tests/jpeg/CMakeLists.txt | 1 +
- tests/jpeg/Makemodule.am | 3 ++-
- tests/jpeg/jpeg_ptr_double_free.c | 31 +++++++++++++++++++++++++++++++
- 6 files changed, 83 insertions(+), 12 deletions(-)
- create mode 100644 tests/jpeg/jpeg_ptr_double_free.c
-
-diff --git a/src/gd_gif_out.c b/src/gd_gif_out.c
-index 6fe707d..4a05c09 100755
---- a/src/gd_gif_out.c
-+++ b/src/gd_gif_out.c
-@@ -99,7 +99,7 @@ static void char_init(GifCtx *ctx);
- static void char_out(int c, GifCtx *ctx);
- static void flush_char(GifCtx *ctx);
-
--
-+static int _gdImageGifCtx(gdImagePtr im, gdIOCtxPtr out);
-
-
- /*
-@@ -131,8 +131,11 @@ BGD_DECLARE(void *) gdImageGifPtr(gdImagePtr im, int *size)
- void *rv;
- gdIOCtx *out = gdNewDynamicCtx(2048, NULL);
- if (out == NULL) return NULL;
-- gdImageGifCtx(im, out);
-- rv = gdDPExtractData(out, size);
-+ if (!_gdImageGifCtx(im, out)) {
-+ rv = gdDPExtractData(out, size);
-+ } else {
-+ rv = NULL;
-+ }
- out->gd_free(out);
- return rv;
- }
-@@ -220,6 +223,12 @@ BGD_DECLARE(void) gdImageGif(gdImagePtr im, FILE *outFile)
-
- */
- BGD_DECLARE(void) gdImageGifCtx(gdImagePtr im, gdIOCtxPtr out)
-+{
-+ _gdImageGifCtx(im, out);
-+}
-+
-+/* returns 0 on success, 1 on failure */
-+static int _gdImageGifCtx(gdImagePtr im, gdIOCtxPtr out)
- {
- gdImagePtr pim = 0, tim = im;
- int interlace, BitsPerPixel;
-@@ -231,7 +240,7 @@ BGD_DECLARE(void) gdImageGifCtx(gdImagePtr im, gdIOCtxPtr out)
- based temporary image. */
- pim = gdImageCreatePaletteFromTrueColor(im, 1, 256);
- if(!pim) {
-- return;
-+ return 1;
- }
- tim = pim;
- }
-@@ -247,6 +256,8 @@ BGD_DECLARE(void) gdImageGifCtx(gdImagePtr im, gdIOCtxPtr out)
- /* Destroy palette based temporary image. */
- gdImageDestroy( pim);
- }
-+
-+ return 0;
- }
-
-
-diff --git a/src/gd_jpeg.c b/src/gd_jpeg.c
-index 271ef46..bd8fc27 100755
---- a/src/gd_jpeg.c
-+++ b/src/gd_jpeg.c
-@@ -123,6 +123,8 @@ static void fatal_jpeg_error(j_common_ptr cinfo)
- exit(99);
- }
-
-+static int _gdImageJpegCtx(gdImagePtr im, gdIOCtx *outfile, int quality);
-+
- /*
- * Write IM to OUTFILE as a JFIF-formatted JPEG image, using quality
- * QUALITY. If QUALITY is in the range 0-100, increasing values
-@@ -237,8 +239,11 @@ BGD_DECLARE(void *) gdImageJpegPtr(gdImagePtr im, int *size, int quality)
- void *rv;
- gdIOCtx *out = gdNewDynamicCtx(2048, NULL);
- if (out == NULL) return NULL;
-- gdImageJpegCtx(im, out, quality);
-- rv = gdDPExtractData(out, size);
-+ if (!_gdImageJpegCtx(im, out, quality)) {
-+ rv = gdDPExtractData(out, size);
-+ } else {
-+ rv = NULL;
-+ }
- out->gd_free(out);
- return rv;
- }
-@@ -259,6 +264,12 @@ void jpeg_gdIOCtx_dest(j_compress_ptr cinfo, gdIOCtx *outfile);
-
- */
- BGD_DECLARE(void) gdImageJpegCtx(gdImagePtr im, gdIOCtx *outfile, int quality)
-+{
-+ _gdImageJpegCtx(im, outfile, quality);
-+}
-+
-+/* returns 0 on success, 1 on failure */
-+static int _gdImageJpegCtx(gdImagePtr im, gdIOCtx *outfile, int quality)
- {
- struct jpeg_compress_struct cinfo;
- struct jpeg_error_mgr jerr;
-@@ -293,7 +304,7 @@ BGD_DECLARE(void) gdImageJpegCtx(gdImagePtr im, gdIOCtx *outfile, int quality)
- if(row) {
- gdFree(row);
- }
-- return;
-+ return 1;
- }
-
- cinfo.err->emit_message = jpeg_emit_message;
-@@ -334,7 +345,7 @@ BGD_DECLARE(void) gdImageJpegCtx(gdImagePtr im, gdIOCtx *outfile, int quality)
- if(row == 0) {
- gd_error("gd-jpeg: error: unable to allocate JPEG row structure: gdCalloc returns NULL\n");
- jpeg_destroy_compress(&cinfo);
-- return;
-+ return 1;
- }
-
- rowptr[0] = row;
-@@ -411,6 +422,7 @@ BGD_DECLARE(void) gdImageJpegCtx(gdImagePtr im, gdIOCtx *outfile, int quality)
- jpeg_finish_compress(&cinfo);
- jpeg_destroy_compress(&cinfo);
- gdFree(row);
-+ return 0;
- }
-
-
-diff --git a/src/gd_wbmp.c b/src/gd_wbmp.c
-index 0028273..341ff6e 100755
---- a/src/gd_wbmp.c
-+++ b/src/gd_wbmp.c
-@@ -88,6 +88,8 @@ int gd_getin(void *in)
- return (gdGetC((gdIOCtx *)in));
- }
-
-+static int _gdImageWBMPCtx(gdImagePtr image, int fg, gdIOCtx *out);
-+
- /*
- Function: gdImageWBMPCtx
-
-@@ -100,6 +102,12 @@ int gd_getin(void *in)
- out - the stream where to write
- */
- BGD_DECLARE(void) gdImageWBMPCtx(gdImagePtr image, int fg, gdIOCtx *out)
-+{
-+ _gdImageWBMPCtx(image, fg, out);
-+}
-+
-+/* returns 0 on success, 1 on failure */
-+static int _gdImageWBMPCtx(gdImagePtr image, int fg, gdIOCtx *out)
- {
- int x, y, pos;
- Wbmp *wbmp;
-@@ -107,7 +115,7 @@ BGD_DECLARE(void) gdImageWBMPCtx(gdImagePtr image, int fg, gdIOCtx *out)
- /* create the WBMP */
- if((wbmp = createwbmp(gdImageSX(image), gdImageSY(image), WBMP_WHITE)) == NULL) {
- gd_error("Could not create WBMP\n");
-- return;
-+ return 1;
- }
-
- /* fill up the WBMP structure */
-@@ -123,11 +131,15 @@ BGD_DECLARE(void) gdImageWBMPCtx(gdImagePtr image, int fg, gdIOCtx *out)
-
- /* write the WBMP to a gd file descriptor */
- if(writewbmp(wbmp, &gd_putout, out)) {
-+ freewbmp(wbmp);
- gd_error("Could not save WBMP\n");
-+ return 1;
- }
-
- /* des submitted this bugfix: gdFree the memory. */
- freewbmp(wbmp);
-+
-+ return 0;
- }
-
- /*
-@@ -271,8 +283,11 @@ BGD_DECLARE(void *) gdImageWBMPPtr(gdImagePtr im, int *size, int fg)
- void *rv;
- gdIOCtx *out = gdNewDynamicCtx(2048, NULL);
- if (out == NULL) return NULL;
-- gdImageWBMPCtx(im, fg, out);
-- rv = gdDPExtractData(out, size);
-+ if (!_gdImageWBMPCtx(im, fg, out)) {
-+ rv = gdDPExtractData(out, size);
-+ } else {
-+ rv = NULL;
-+ }
- out->gd_free(out);
- return rv;
- }
-diff --git a/tests/jpeg/CMakeLists.txt b/tests/jpeg/CMakeLists.txt
-index 19964b0..a8d8162 100755
---- a/tests/jpeg/CMakeLists.txt
-+++ b/tests/jpeg/CMakeLists.txt
-@@ -2,6 +2,7 @@ IF(JPEG_FOUND)
- LIST(APPEND TESTS_FILES
- jpeg_empty_file
- jpeg_im2im
-+ jpeg_ptr_double_free
- jpeg_null
- )
-
-diff --git a/tests/jpeg/Makemodule.am b/tests/jpeg/Makemodule.am
-index 7e5d317..b89e169 100755
---- a/tests/jpeg/Makemodule.am
-+++ b/tests/jpeg/Makemodule.am
-@@ -2,7 +2,8 @@ if HAVE_LIBJPEG
- libgd_test_programs += \
- jpeg/jpeg_empty_file \
- jpeg/jpeg_im2im \
-- jpeg/jpeg_null
-+ jpeg/jpeg_null \
-+ jpeg/jpeg_ptr_double_free
-
- if HAVE_LIBPNG
- libgd_test_programs += \
-diff --git a/tests/jpeg/jpeg_ptr_double_free.c b/tests/jpeg/jpeg_ptr_double_free.c
-new file mode 100644
-index 0000000..c80aeb6
---- /dev/null
-+++ b/tests/jpeg/jpeg_ptr_double_free.c
-@@ -0,0 +1,31 @@
-+/**
-+ * Test that failure to convert to JPEG returns NULL
-+ *
-+ * We are creating an image, set its width to zero, and pass this image to
-+ * `gdImageJpegPtr()` which is supposed to fail, and as such should return NULL.
-+ *
-+ * See also <https://github.com/libgd/libgd/issues/381>
-+ */
-+
-+
-+#include "gd.h"
-+#include "gdtest.h"
-+
-+
-+int main()
-+{
-+ gdImagePtr src, dst;
-+ int size;
-+
-+ src = gdImageCreateTrueColor(1, 10);
-+ gdTestAssert(src != NULL);
-+
-+ src->sx = 0; /* this hack forces gdImageJpegPtr() to fail */
-+
-+ dst = gdImageJpegPtr(src, &size, 0);
-+ gdTestAssert(dst == NULL);
-+
-+ gdImageDestroy(src);
-+
-+ return gdNumFailures();
-+}
-\ No newline at end of file
---
-2.17.1
-
diff --git a/gd-2.2.5-upstream.patch b/gd-2.2.5-upstream.patch
deleted file mode 100644
index 0bc1bcb..0000000
--- a/gd-2.2.5-upstream.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From a11f47475e6443b7f32d21f2271f28f417e2ac04 Mon Sep 17 00:00:00 2001
-From: "Christoph M. Becker" <cmbecker69(a)gmx.de>
-Date: Wed, 29 Nov 2017 19:37:38 +0100
-Subject: [PATCH] Fix #420: Potential infinite loop in gdImageCreateFromGifCtx
-
-Due to a signedness confusion in `GetCode_` a corrupt GIF file can
-trigger an infinite loop. Furthermore we make sure that a GIF without
-any palette entries is treated as invalid *after* open palette entries
-have been removed.
-
-CVE-2018-5711
-
-See also https://bugs.php.net/bug.php?id=75571.
----
- src/gd_gif_in.c | 12 ++++++------
- tests/gif/.gitignore | 1 +
- tests/gif/CMakeLists.txt | 1 +
- tests/gif/Makemodule.am | 2 ++
- tests/gif/php_bug_75571.c | 28 ++++++++++++++++++++++++++++
- tests/gif/php_bug_75571.gif | Bin 0 -> 1731 bytes
- 6 files changed, 38 insertions(+), 6 deletions(-)
- create mode 100644 tests/gif/php_bug_75571.c
- create mode 100644 tests/gif/php_bug_75571.gif
-
-diff --git a/src/gd_gif_in.c b/src/gd_gif_in.c
-index daf26e79..0a8bd717 100644
---- a/src/gd_gif_in.c
-+++ b/src/gd_gif_in.c
-@@ -335,11 +335,6 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFromGifCtx(gdIOCtxPtr fd)
- return 0;
- }
-
-- if(!im->colorsTotal) {
-- gdImageDestroy(im);
-- return 0;
-- }
--
- /* Check for open colors at the end, so
- * we can reduce colorsTotal and ultimately
- * BitsPerPixel */
-@@ -351,6 +346,11 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFromGifCtx(gdIOCtxPtr fd)
- }
- }
-
-+ if(!im->colorsTotal) {
-+ gdImageDestroy(im);
-+ return 0;
-+ }
-+
- return im;
- }
-
-@@ -447,7 +447,7 @@ static int
- GetCode_(gdIOCtx *fd, CODE_STATIC_DATA *scd, int code_size, int flag, int *ZeroDataBlockP)
- {
- int i, j, ret;
-- unsigned char count;
-+ int count;
-
- if(flag) {
- scd->curbit = 0;
-
diff --git a/gd.spec b/gd.spec
index 2db9311..5444151 100644
--- a/gd.spec
+++ b/gd.spec
@@ -1,15 +1,11 @@
-# requested by https://bugzilla.redhat.com/1468338
-# this break gdimagefile/gdnametest:
-# gdimagefile/gdnametest.c:122: 255 pixels different on /tmp/gdtest.CrpdIb/img.gif
-# gdimagefile/gdnametest.c:122: 255 pixels different on /tmp/gdtest.CrpdIb/img.GIF
-# FAIL gdimagefile/gdnametest (exit status: 2)
-%global with_liq 0
+%global with_liq 1
+%global with_raqm 1
Summary: A graphics library for quick creation of PNG or JPEG images
Name: gd
-Version: 2.2.5
-Release: 12%{?prever}%{?short}%{?dist}
+Version: 2.3.0
+Release: 1%{?prever}%{?short}%{?dist}
License: MIT
URL: http://libgd.github.io/
%if 0%{?commit:1}
@@ -19,18 +15,9 @@ Source0: libgd-%{version}-%{commit}.tgz
%else
Source0: https://github.com/libgd/libgd/releases/download/gd-%{version}/libgd-%{ve...
%endif
+# Missing, temporary workaround, fixed upstream for next version
+Source1: https://raw.githubusercontent.com/libgd/libgd/gd-%{version}/config/getlib.sh
-Patch1: gd-2.1.0-multilib.patch
-# CVE-2018-5711 - https://github.com/libgd/libgd/commit/a11f47475e6443b7f32d21f2271f28f417e...
-Patch2: gd-2.2.5-upstream.patch
-# CVE-2018-1000222 - https://github.com/libgd/libgd/commit/ac16bdf2d41724b5a65255d4c28fb0ec46b...
-Patch3: gd-2.2.5-gdImageBmpPtr-double-free.patch
-# CVE-2019-6977
-Patch4: gd-2.2.5-heap-based-buffer-overflow.patch
-# CVE-2019-6978
-Patch5: gd-2.2.5-potential-double-free.patch
-# NULL POINTER REFERENCE - https://github.com/libgd/libgd/commit/a93eac0e843148dc2d631c3ba80af17e9c8...
-Patch6: gd-2.2.5-null-pointer.patch
BuildRequires: freetype-devel
BuildRequires: fontconfig-devel
@@ -42,6 +29,9 @@ BuildRequires: libwebp-devel
%if %{with_liq}
BuildRequires: libimagequant-devel
%endif
+%if %{with_raqm}
+BuildRequires: libraqm-devel
+%endif
BuildRequires: libX11-devel
BuildRequires: libXpm-devel
BuildRequires: zlib-devel
@@ -51,7 +41,6 @@ BuildRequires: perl-interpreter
BuildRequires: perl-generators
# for fontconfig/basic test
BuildRequires: liberation-sans-fonts
-BuildRequires: libimagequant-devel
%description
@@ -84,7 +73,13 @@ Requires: libwebp-devel%{?_isa}
Requires: libX11-devel%{?_isa}
Requires: libXpm-devel%{?_isa}
Requires: zlib-devel%{?_isa}
+%if %{with_liq}
Requires: libimagequant-devel%{?_isa}
+%endif
+%if %{with_raqm}
+Requires: libraqm-devel
+%endif
+
%description devel
The gd-devel package contains the development libraries and header
@@ -93,12 +88,7 @@ files for gd, a graphics library for creating PNG and JPEG graphics.
%prep
%setup -q -n libgd-%{version}%{?prever:-%{prever}}
-%patch1 -p1 -b .mlib
-%patch2 -p1 -b .upstream
-%patch3 -p1 -b .gdImageBmpPtr-free
-%patch4 -p1
-%patch5 -p1
-%patch6 -p1
+install -m 0755 %{SOURCE1} config/
: $(perl config/getver.pl)
@@ -143,6 +133,14 @@ rm -f $RPM_BUILD_ROOT/%{_libdir}/libgd.a
%check
+# minor diff in size
+XFAIL_TESTS="gdimagestringft/gdimagestringft_bbox"
+%ifarch s390x
+XFAIL_TESTS="gdimagestring16/gdimagestring16 gdimagestringup16/gdimagestringup16 $XFAIL_TESTS"
+%endif
+
+export XFAIL_TESTS
+
: Upstream test suite
make check
@@ -160,16 +158,19 @@ grep %{version} $RPM_BUILD_ROOT%{_libdir}/pkgconfig/gdlib.pc
%files progs
%{_bindir}/*
-%exclude %{_bindir}/gdlib-config
%files devel
-%{_bindir}/gdlib-config
%{_includedir}/*
%{_libdir}/*.so
%{_libdir}/pkgconfig/gdlib.pc
%changelog
+* Tue Mar 24 2020 Remi Collet <remi(a)remirepo.net> - 2.3.0-1
+- update to 2.3.0
+- add dependency on libraqm
+- remove gdlib-config
+
* Fri Jan 31 2020 Filip Janu <fjanus(a)redhat.com> - 2.2.5-12
- Add patch(gd-2.2.5-null-pointer.patch) - fix Null pointer reference in gdImageClone (gdImagePtr src)
- Resolves: #1599032
diff --git a/getlib.sh b/getlib.sh
new file mode 100644
index 0000000..4835cf6
--- /dev/null
+++ b/getlib.sh
@@ -0,0 +1,42 @@
+#!/bin/sh
+
+GETVER="${0%/*}/getver.pl"
+GDLIB_MAJOR=$("${GETVER}" MAJOR)
+GDLIB_MINOR=$("${GETVER}" MINOR)
+GDLIB_REVISION=$("${GETVER}" RELEASE)
+
+# Dynamic library version information
+# See http://www.gnu.org/software/libtool/manual/libtool.html#Updating-version-...
+
+GDLIB_LT_CURRENT=3
+# This is the version where the soname (current above) changes. We use it
+# to reset the revision base back to zero. It's a bit of a pain, but some
+# systems restrict the revision range below to [0..255] (like OS X).
+GDLIB_PREV_MAJOR=2
+GDLIB_PREV_MINOR=2
+# This isn't 100% correct, but it tends to be a close enough approximation
+# for how we manage the codebase. It's rare to do a release that doesn't
+# modify the library since this project is centered around the library.
+GDLIB_LT_REVISION=$(( ((GDLIB_MAJOR - GDLIB_PREV_MAJOR) << 6) | ((GDLIB_MINOR - GDLIB_PREV_MINOR) << 3) | GDLIB_REVISION ))
+GDLIB_LT_AGE=0
+
+# The first three fields we feed into libtool and the OS target determines how
+# they get used. The last two fields we feed into cmake. We use the same rules
+# as Linux SONAME versioning in libtool, but cmake should handle it for us.
+case $1 in
+CURRENT)
+ printf '%s' "${GDLIB_LT_CURRENT}"
+ ;;
+REVISION)
+ printf '%s' "${GDLIB_LT_REVISION}"
+ ;;
+AGE)
+ printf '%s' "${GDLIB_LT_AGE}"
+ ;;
+VERSION)
+ printf '%s' "$(( GDLIB_LT_CURRENT - GDLIB_LT_AGE )).${GDLIB_LT_AGE}.${GDLIB_LT_REVISION}"
+ ;;
+SONAME)
+ printf '%s' "$(( GDLIB_LT_CURRENT - GDLIB_LT_AGE ))"
+ ;;
+esac
diff --git a/sources b/sources
index 541711d..7b35316 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (libgd-2.2.5.tar.xz) = 946675b0a9dbecdee3dda927d496a35d6b5b071d3252a82cd649db0d959a82fcc65ce067ec34d07eed0e0497cd92cc0d93803609a4854f42d284e950764044d0
+SHA512 (libgd-2.3.0.tar.xz) = 5b201d22560e147a3d5471010b898ad0268c3a2453b870d1267b6ba92e540cf9f75099336c1ab08217e41827ac86fe04525726bf29ad117e5dcbaef9a8d0622a
4 years, 1 month
[Report] Packages Restricting Arches
by root
New package excluding arches (9)
============================
- rust-assert_fs
ExclusiveArch: %{rust_arches}
- rust-bodhi-cli
ExclusiveArch: %{rust_arches}
- rust-console0.9
ExclusiveArch: %{rust_arches}
- rust-escargot
ExclusiveArch: %{rust_arches}
- rust-fedora-update-feedback
ExclusiveArch: %{rust_arches}
- rust-libslirp-sys
ExclusiveArch: %{rust_arches}
- rust-predicates
ExclusiveArch: %{rust_arches}
- rust-ref-cast
ExclusiveArch: %{rust_arches}
- rust-ref-cast-impl
ExclusiveArch: %{rust_arches}
Package no longer excluding arches (4)
==================================
- rust-hashbrown0.5
- rust-smallvec0.6
- rust-uuid0.6
- rust-which1
List of packages currently excluding arches (2788)
===========================================
- 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}
- PragmARC
ExclusiveArch: %{GPRbuild_arches}
- R-V8
ExclusiveArch: %{nodejs_arches}
- RdRand
ExclusiveArch: %{ix86} x86_64
- SLOF
ExclusiveArch: ppc64le
- YafaRay
ExclusiveArch: %{ix86} x86_64
- aboot
ExclusiveArch: alpha
- acpid
ExclusiveArch: ia64 x86_64 %{ix86} %{arm} aarch64
- ahven
ExclusiveArch: %{GPRbuild_arches}
- alleyoop
ExclusiveArch: %{ix86} x86_64 ppc ppc64 ppc64le s390x %{arm} aarch64
- american-fuzzy-lop
ExclusiveArch: %{ix86} x86_64
- anet
ExclusiveArch: %{GPRbuild_arches}
- apmd
ExclusiveArch: %{ix86}
- appstream-generator
ExclusiveArch: x86_64 %{ix86} %{arm}
- arduino
ExclusiveArch: %{go_arches}
- arduino-builder
ExclusiveArch: %{go_arches}
- arm-trusted-firmware
ExclusiveArch: aarch64
- aunit
ExclusiveArch: %GPRbuild_arches
- avgtime
ExclusiveArch: %{ldc_arches}
- aws
ExclusiveArch: %GPRbuild_arches
- banshee
ExclusiveArch: %{mono_arches}
- banshee-community-extensions
ExclusiveArch: %ix86 x86_64 ppc ppc64 ia64 %{arm} sparcv9 alpha s390x
- bareftp
ExclusiveArch: %{mono_arches}
- bcal
ExclusiveArch: x86_64 aarch64 ia64 ppc64 ppc64le s390x
- bcc
ExclusiveArch: x86_64 %{power64} aarch64 s390x
- bcm283x-firmware
ExclusiveArch: %{arm} aarch64
- berusky2
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 %{mips}
- biosdevname
ExclusiveArch: %{ix86} x86_64
- bless
ExclusiveArch: %mono_arches
- boo
ExclusiveArch: %{mono_arches}
- bpftrace
ExclusiveArch: x86_64 %{power64} aarch64 s390x
- bwa
ExclusiveArch: x86_64
- calamares
ExclusiveArch: %{ix86} x86_64
- calibre
ExclusiveArch: %{qt5_qtwebengine_arches}
- carto
ExclusiveArch: %{nodejs_arches} noarch
- 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}
- cmospwd
ExclusiveArch: %{ix86} x86_64
- cmrt
ExclusiveArch: %{ix86} x86_64 ia64
- coffee-script
ExclusiveArch: %{nodejs_arches} noarch
- colorful
ExclusiveArch: %{fpc_arches}
- containers
ExclusiveArch: %{ldc_arches}
- cpu-x
ExclusiveArch: i686 x86_64
- cpuid
ExclusiveArch: %{ix86} x86_64
- cqrlog
ExclusiveArch: %{fpc_arches}
- crash
ExclusiveArch: %{ix86} ia64 x86_64 ppc ppc64 s390 s390x %{arm} aarch64 ppc64le
- cri-tools
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- 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 ppc64le
- 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}}
- discord-irc
ExclusiveArch: %{nodejs_arches} noarch
- dlm
ExclusiveArch: i686 x86_64
- dmidecode
ExclusiveArch: %{ix86} x86_64 ia64 aarch64
- docco
ExclusiveArch: %{nodejs_arches} noarch
- docker-distribution
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- dolphin-emu
ExclusiveArch: x86_64 aarch64
- dotnet-build-reference-packages
ExclusiveArch: x86_64
- dotnet3.1
ExclusiveArch: x86_64
- doublecmd
ExclusiveArch: %{ix86} x86_64
- dpdk
ExclusiveArch: x86_64 i686 aarch64 ppc64le
- dssi-vst
ExclusiveArch: %{ix86} x86_64
- dyninst
ExclusiveArch: %{ix86} x86_64 ppc64le aarch64
- e3
ExclusiveArch: %{ix86} x86_64
- edac-utils
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 %{power64}
- edb
ExclusiveArch: %{ix86} x86_64
- edk2
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
ExclusiveArch: x86_64 aarch64
- efibootmgr
ExclusiveArch: %{efi}
- efivar
ExclusiveArch: %{efi}
- elasticdump
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{nodejs_arches} noarch
- elk
ExclusiveArch: x86_64 %{ix86}
ExclusiveArch: x86_64 %{ix86} aarch64 %{arm} %{power64}
- embree
ExclusiveArch: x86_64
- enki
ExclusiveArch: %{qt5_qtwebengine_arches} noarch
- envytools
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- eric
ExclusiveArch: %{qt5_qtwebengine_arches} noarch
- extlinux-bootloader
ExclusiveArch: %{arm} aarch64
- fcitx-libpinyin
ExclusiveArch: %{qt5_qtwebengine_arches}
- fedora-dockerfiles
ExclusiveArch: %{go_arches}
- fes
ExclusiveArch: %{ix86} x86_64
- flannel
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le s390x
- florist
ExclusiveArch: %{GPRbuild_arches}
- fluxcapacitor
ExclusiveArch: %{ix86} x86_64 %{arm}
- fpc
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64 ppc64le
- frescobaldi
ExclusiveArch: %{qt5_qtwebengine_arches}
- frysk
ExclusiveArch: %{ix86} x86_64 ppc64
- fst
ExclusiveArch: i686
- fwts
ExclusiveArch: x86_64 %{arm} aarch64 s390x %{power64}
- 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
- 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}}
- 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-guitar
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
- gprbuild
ExclusiveArch: %{GPRbuild_arches} %{bootstrap_arch}
- gprolog
ExclusiveArch: x86_64 %{ix86} ppc alpha
- grafana
ExclusiveArch: %{grafana_arches}
- grafana-pcp
ExclusiveArch: %{nodejs_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
- hcc
ExclusiveArch: x86_64 aarch64
- hedgewars
ExclusiveArch: %{fpc_arches}
- heketi
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- hip
ExclusiveArch: x86_64
- 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
- ikona
ExclusiveArch: %{qt5_qtwebengine_arches}
- imvirt
ExclusiveArch: %{ix86} x86_64 ia64
- indistarter
ExclusiveArch: %{fpc_arches}
- infinipath-psm
ExclusiveArch: x86_64
- insect
ExclusiveArch: %{nodejs_arches} noarch
- intel-cmt-cat
ExclusiveArch: x86_64 i686 i586
ExclusiveArch: x86_64 i686 i586
- intel-gmmlib
ExclusiveArch: x86_64 i686
- 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: %{arm} %{ix86} x86_64
- iucode-tool
ExclusiveArch: %{ix86} x86_64
- iyfct
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- jake
ExclusiveArch: %{nodejs_arches} noarch
- jasmine-node
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- java-1.8.0-openjdk-aarch32
ExclusiveArch: %{arm}
- josm
ExclusiveArch: %{ix86} x86_64
- keepass
ExclusiveArch: %{mono_arches}
- kernel
ExclusiveArch: x86_64 s390x %{arm} aarch64 ppc64le
ExclusiveArch: noarch i386 i686 x86_64 s390x %{arm} aarch64 ppc64le
- kf5-akonadi-calendar
ExclusiveArch: x86_64 %{arm}
- kf5-akonadi-search
ExclusiveArch: x86_64 ppc64le %{arm}
- kf5-kalarmcal
ExclusiveArch: x86_64 ppc64le %{arm}
- kf5-kblog
ExclusiveArch: x86_64 ppc64le %{arm}
- kf5-kcalendarcore
ExclusiveArch: x86_64 ppc64le %{arm}
- kf5-kcalendarutils
ExclusiveArch: x86_64 ppc64le %{arm}
- kf5-kitinerary
ExclusiveArch: x86_64 ppc64le %{arm}
- kf5-kmailtransport
ExclusiveArch: x86_64 %{arm}
- kf5-ktnef
ExclusiveArch: x86_64 ppc64le %{arm}
- kf5-libgravatar
ExclusiveArch: x86_64 %{arm}
- kf5-libkdcraw
ExclusiveArch: x86_64 ppc64le %{arm}
- kf5-libkdepim
ExclusiveArch: x86_64 %{arm}
- kf5-libksieve
ExclusiveArch: x86_64 %{arm}
- kf5-mailimporter
ExclusiveArch: x86_64 %{arm}
- kf5-pimcommon
ExclusiveArch: x86_64 %{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
- kosmtik
ExclusiveArch: %{nodejs_arches} noarch
- kubernetes
ExclusiveArch: x86_64 aarch64 ppc64le s390x %{arm}
- lazarus
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
- libica
ExclusiveArch: s390 s390x
- libipt
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{ix86} x86_64
- libkgapi
ExclusiveArch: x86_64 %{arm}
- libocxl
ExclusiveArch: ppc64le
- libpmemobj-cpp
ExclusiveArch: x86_64
- 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} %{ix86} x86_64
- libva-intel-hybrid-driver
ExclusiveArch: %{ix86} x86_64 ia64
- libvmi
ExclusiveArch: x86_64
- libvpd
ExclusiveArch: %{power64}
- libxsmm
ExclusiveArch: x86_64
- libzfcphbaapi
ExclusiveArch: s390 s390x
- lightdm
ExclusiveArch: x86_64 ppc64le
- lodash
ExclusiveArch: %{nodejs_arches} noarch
- 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
- mangohud
ExclusiveArch: x86_64 i686
- manifest-tool
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- mantle
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- 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
- mediaconch
ExclusiveArch: %{qt5_qtwebengine_arches}
- mellowplayer
ExclusiveArch: %{qt5_qtwebengine_arches}
- memkind
ExclusiveArch: x86_64
- 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-wine-gecko
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- mirrorlist-server
ExclusiveArch: %{rust_arches}
- mkbootdisk
ExclusiveArch: %{ix86} sparc sparc64 x86_64
- mnemosyne
ExclusiveArch: noarch %{qt5_qtwebengine_arches}
- mocha
ExclusiveArch: %{nodejs_arches} noarch
- mod_mono
ExclusiveArch: %mono_arches
- module-build-service
ExclusiveArch: %{ix86} x86_64 noarch
- mokutil
ExclusiveArch: %{ix86} x86_64 aarch64
- 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
- mozilla-iot-gateway
ExclusiveArch: %{nodejs_arches} noarch
- mozilla-iot-gateway-addon-node
ExclusiveArch: %{nodejs_arches} noarch
- 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}
- nacl-binutils
ExclusiveArch: x86_64
- nant
ExclusiveArch: %mono_arches
- nbc
ExclusiveArch: %{fpc_arches}
- nbdkit
ExclusiveArch: x86_64
- ndesk-dbus
ExclusiveArch: %{mono_arches}
- ndesk-dbus-glib
ExclusiveArch: %{mono_arches}
- newtonsoft-json
ExclusiveArch: %{mono_arches}
- nim
ExclusiveArch: %{nim_arches}
- node-gyp
ExclusiveArch: %{nodejs_arches} noarch
- nodejs
ExclusiveArch: %{nodejs_arches}
- nodejs-Base64
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-abbrev
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-acorn
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-acorn-dynamic-import
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-acorn-jsx
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-acorn-object-spread
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-agentkeepalive
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ain2
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-align-text
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-bgblack
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-bgblue
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-bgcyan
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-bggreen
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-bgmagenta
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-bgred
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-bgwhite
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-bgyellow
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-black
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-blue
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-bold
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-colors
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-cyan
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ansi-dim
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-escapes
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-gray
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-green
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ansi-grey
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-hidden
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-inverse
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-italic
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-magenta
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ansi-red
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-regex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-reset
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-strikethrough
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-styles
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ansi-underline
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-white
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-wrap
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ansi-yellow
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ansicolors
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ansistyles
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-any-path
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-any-promise
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ap
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-append-field
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-append-transform
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-archy
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-are-we-there-yet
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-argparse
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-argsparser
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-arr-diff
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-arr-exclude
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-arr-flatten
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-arr-union
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-array-buffer-from-string
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-array-differ
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-array-events
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-array-filter
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-array-find
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-array-find-index
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-array-flatten
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-array-foreach
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-array-ify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-array-index
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-array-map
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-array-reduce
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-array-union
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-array-unique
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-arraybuffer-dot-slice
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-arraybuffer-equal
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-arrify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-asap
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ascii-tree
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ascli
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-asn1
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-assert-plus
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-assertion-error
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-assume
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-async
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-async-array-reduce
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-async-arrays
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-async-limiter
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-async-queue
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-async-some
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-asynckit
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-atob
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-auto-bind
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-autoresolve
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-aws-sign
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-aws-sign2
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-aws4
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-babel-code-frame
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-babel-plugin-syntax-async-functions
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-babel-plugin-syntax-async-generators
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-babel-runtime
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-babylon
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-backbone
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-backoff
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-balanced-match
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-base
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-base-plugins
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-base32-encode
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-base64-arraybuffer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-base64-url
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-base64id
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bash-match
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-basic-auth
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-basic-auth-connect
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-batch
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-bcrypt
ExclusiveArch: %{nodejs_arches}
- nodejs-bcryptjs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-beeper
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-benchmark
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-better-assert
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-better-than-before
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bignumber-js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bind-obj-methods
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bindings
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-bit-mask
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bl
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-blob
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-block-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bluebird
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-body-parser
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-boolbase
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-boom
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-brace-expansion
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-braces
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-browser-stdout
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bson
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-buble
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-buf-compare
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-buffer-crc32
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-buffer-equal
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-buffer-writer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bufferutil
ExclusiveArch: %{nodejs_arches}
- nodejs-builtin-modules
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-builtins
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bundle-dependencies
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-bunker
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-bunyan
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-burrito
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-busboy
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-byline
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bytes
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-cache-base
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-caching-transform
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-call-delayed
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-call-matcher
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-call-me-maybe
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-call-signature
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-callback-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-caller-callsite
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-caller-path
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-callsite
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-callsites
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-camelcase
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-camelcase-keys
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-carrier
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-caseless
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-center-align
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chai
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chai-as-promised
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chai-cheerio
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chai-connect-middleware
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chai-fs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chai-json-schema
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chai-oauth2orize-grant
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chai-passport-strategy
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chai-spies-next
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chainer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chalk
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-char-spinner
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-character-parser
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-chardet
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-charenc
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-charm
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-check-env
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-check-error
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-cheerio
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-child-process-close
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chmodr
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chownr
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chroma-js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chrono
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ci-info
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-circular-json
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-cjson
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-clap
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-class-utils
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-clean-css
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-clean-yaml-object
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-clear-require
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-cli
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cli-color
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cli-spinner
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cli-table
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-cliui
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-clone
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-clone-deep
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-clone-stats
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-closure-compiler
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-cmd-shim
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-co
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-co-mocha
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-co-with-promise
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-coa
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-code-point-at
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-codemirror
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-coffee-coverage
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-collection-visit
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-collections
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-color-support
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-colors
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-colour
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-columnify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-combined-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-commander
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-common-path-prefix
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-commondir
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-commonmark
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-compare-func
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-compare-versions
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-component-emitter
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-component-indexof
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-component-inherit
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-concat-map
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-concat-stream
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-config-chain
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-connect
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-connect-livereload
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-connect-timeout
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-console-dot-log
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-console-group
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-consolemd
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-constantinople
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-content-disposition
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-content-type
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-angular
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-atom
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-codemirror
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-ember
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-eslint
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-express
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-jquery
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-jscs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-jshint
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-preset-loader
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-writer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-commits-filter
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-commits-parser
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-convert-hex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-convert-source-map
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cookie
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cookie-jar
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-cookie-parser
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-cookie-session
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cookie-signature
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cookiejar
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-cookies
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-copy-descriptor
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-core-assert
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-core-js
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-core-util-is
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cors
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-couch-login
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-coveralls
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-crc
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cross-spawn
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cross-spawn-async
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-crypt
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cryptiles
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-csrf
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-css
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-css-parse
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-css-select
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-css-stringify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-css-tree
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-css-what
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-csscomb-core
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-csslint
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-csso
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cssom
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-csurf
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-csv
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-csv-generate
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-csv-parse
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-csv-spectrum
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-csv-stringify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ctype
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-currently-unhandled
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cycle
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cyclist
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-d
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-dargs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-data-uri-to-buffer
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-dateformat
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-death
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-debug
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-debug-fabulous
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-debug-log
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-debuglog
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-decamelize
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-decamelize-keys
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-decimal-js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-dedent
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-deep-eql
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-deep-equal
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-deep-extend
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-deep-is
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-deeper
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-default-require-extensions
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-default-resolution
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-defaults
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-defence
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-defence-cli
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-define-properties
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-define-property
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-defined
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-del
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-delayed-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-delegates
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-delete
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-dep-graph
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-depd
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-deprecated
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-destroy
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-detect-file
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-detect-indent
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-detect-newline
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-detect-node
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-detective
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-dezalgo
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-dicer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-diff
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-difflet
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-difflib
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-dirty-chai
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-discord-js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-docopt
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-doctrine
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-dot-prop
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-dotfile-regex
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-dryice
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-duplexer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-duplexer2
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-duplexify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-duration
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-each
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ebnf-parser
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-echomd
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-editor
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ee-first
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ejs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-emojione
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-empty-dir
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-end-of-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-engine-dot-io-client
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-engine-dot-io-parser
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-error-ex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-error-symbol
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-es-abstract
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-es-to-primitive
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-es5-ext
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-es5-shim
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-es6-iterator
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-es6-promise
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-es6-promisify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-es6-shim
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-es6-symbol
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-es6-weak-map
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-escallmatch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-escape-html
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-escape-regexp-component
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-escape-string-regexp
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-escodegen
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-escope
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-espower
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-espower-location-detector
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-esprima
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-esprima-fb
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-esprima-harmony-jscs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-espurify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-esrecurse
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-estraverse
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-estraverse-fb
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-estree-walker
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-esutils
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-event-emitter
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-eventemitter2
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-events
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-events-to-array
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-everything-dot-js
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-exit
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-expand-brackets
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-expand-range
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-expand-tilde
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-expect
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-expect-dot-js
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-express
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-express-session
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-extend
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-extend-shallow
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-extended-emitter
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-extglob
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-eyes
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fake
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fancy-log
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-fast-levenshtein
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-fastfall
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-faucet
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-faye-websocket
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-figures
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-file-entry-cache
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-file-sync-cmp
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-filelist
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-filename-regex
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-fileset
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-fill-keys
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fill-range
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-find-cache-dir
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-find-up
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-findup-sync
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-first-chunk-stream
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-flagged-respawn
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-flat-cache
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-flush-write-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fmix
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fn-dot-name
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-for-each
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-for-in
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-for-own
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-foreach
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-foreground-child
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-forever-agent
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-form-data
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-formatio
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-formidable
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-forwarded
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-fragment-cache
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-freetree
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fresh
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-from
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fs-dot-notify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fs-exists-cached
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fs-exists-sync
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-fs-ext
ExclusiveArch: %{nodejs_arches}
- nodejs-fs-promise
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fs-temp
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fs-vacuum
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fs-write-stream-atomic
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fstream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fstream-ignore
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fstream-npm
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-function-bind
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-function-loop
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-gauge
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-gaze
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-gdal
ExclusiveArch: %{nodejs_arches}
- nodejs-generate-function
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-generate-object-property
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-generic-pool
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-get-port
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-get-value
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-getobject
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-git-remote-origin-url
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-git-tails
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-gitconfiglocal
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-github-url-from-git
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-github-url-from-username-repo
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-glob
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-glob-base
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-glob-expand
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-glob-parent
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-glob-to-regexp
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-global-modules
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-global-prefix
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-globals
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-globby
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-globule
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-glogg
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-gnode
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-gonzales-pe
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-graceful-fs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-graceful-readlink
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grip
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-growl
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-banner
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-cli
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-compare-size
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-contrib-clean
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-contrib-concat
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-contrib-csslint
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-contrib-internal
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-contrib-nodeunit
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-contrib-uglify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-contrib-watch
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-git-authors
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-init
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-known-options
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-legacy-log
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-legacy-log-utils
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-legacy-util
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-lib-contrib
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-sed
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-simple-mocha
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-wrap
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-gulplog
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-gzip-size
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-handlebars
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-har-validator
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-ansi
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-binary
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-binary2
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-color
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-has-cors
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-flag
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-glob
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-has-gulplog
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-has-symbols
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-unicode
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-value
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-values
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-yarn
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-hash_file
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-hawk
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-heap
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-hex-to-array-buffer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-highlight-js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-historic-readline
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-hoek
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-homedir-polyfill
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-hook-std
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-hooker
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-hosted-git-info
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-hsluv
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-htmlparser2
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-http-deceiver
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-http-errors
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-http-signature
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-http2
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-humanize-ms
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-i
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-i18n-transform
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-i2c
ExclusiveArch: %{nodejs_arches}
- nodejs-iconv
ExclusiveArch: %{nodejs_arches}
- nodejs-iconv-lite
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-iferr
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ignore
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-image-size
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-immutable
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-import-local
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-imul
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-imurmurhash
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-indent-string
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-indexof
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-inflight
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-info-symbol
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-inherit
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-inherits
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-inherits1
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ini
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-int64-buffer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-intercept-require
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-interpret
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-invert-kv
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ip
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ipaddr-dot-js
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-irc-colors
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-irc-formatting
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-irc-upd
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-irregular-plurals
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-accessor-descriptor
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-arrayish
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-arrow-function
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-boolean-object
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-buffer
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-builtin-module
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-callable
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-data-descriptor
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-date-object
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-descriptor
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-dir
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-dotfile
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-equal-shallow
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-error
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-extendable
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-extglob
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-finite
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-fullwidth-code-point
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-function
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-generator
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-generator-fn
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-generator-function
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-glob
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-module
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-my-json-valid
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-negated-glob
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-node
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-number
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-number-object
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-obj
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-object
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-observable
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-odd
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-path-cwd
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-path-in-cwd
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-path-inside
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-plain-obj
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-plain-object
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-primitive
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-promise
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-property
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-regex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-regexp
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-registered
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-relative
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-string
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-subset
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-symbol
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-text-path
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-typedarray
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-unc-path
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-url
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-utf8
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-valid-glob
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-valid-instance
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-windows
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-isarray
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-isexe
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-iso8601
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-isobject
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-isodate
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-isstream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-istanbul-lib-coverage
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-istanbul-lib-hook
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-istanbul-lib-report
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-istanbul-lib-source-maps
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-istanbul-reports
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-jade
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-jasmine-growl-reporter
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-jasmine-reporters
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-jest-mock
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-jison-lex
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-joose
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-joosex-namespace-depended
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-joosex-simplerequest
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-js-base64
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-js-string-escape
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-js-tokens
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-js-yaml
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-jschardet
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-jscoverage
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-json-diff
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-json-localizer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-json-parse-helpfulerror
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-json-stable-stringify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-json-stringify-safe
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-json3
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-jsonfile
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-jsonify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-jsonm
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-jsonparse
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-jsonpointer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-jsonpointer-dot-js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-jsonselect
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-jwt-simple
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-keep-alive-agent
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-keygrip
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-keypress
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-kind-of
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-klaw
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-kuler2gpl
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-lazy-cache
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-lazystream
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-lcid
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-lcov-parse
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-leaflet
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-leaflet-formbuilder
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-leaflet-hash
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-leche
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-left-pad
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-less
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-less-plugin-clean-css
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-levn
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-libpq
ExclusiveArch: %{nodejs_arches}
- nodejs-libxmljs
ExclusiveArch: %{nodejs_arches}
- nodejs-line-numbers
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-line-reader
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-linefix
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-linkify-it
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-load-grunt-tasks
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-locate-character
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-locate-path
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-lockfile
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-log-driver
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-log-ok
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-log-utils
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-lolex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-long
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-longest
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-loophole
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-loud-rejection
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-lru-cache
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-lru-queue
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ltx
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-magic-string
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-make-arrow-function
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-make-dir
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-make-error
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-make-generator-function
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-make-node
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-makedir
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-makeerror
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-map-cache
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-map-obj
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-map-visit
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mapnik
ExclusiveArch: %{nodejs_arches}
- nodejs-mapnik-pool
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mapnik-vector-tile
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-markdown
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-markdown-it-testgen
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-marked
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-matched
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-max-timeout
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-maxmin
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mbtiles
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-md5
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-md5-hex
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-md5-o-matic
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-mdn-data
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mdurl
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-media-typer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-memoize-path
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-memoizee
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-merge-descriptors
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-metascript
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-methods
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-micromatch
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-millstone
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mime
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-mime-db
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mime-types
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mimeparse
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-minimalistic-assert
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-minimatch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-minimist
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-minipass
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mixin-deep
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mixin-object
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mkdirp
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mock-bin
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mock-fs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mock-git
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-modify-values
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-module-not-found-error
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mongodb
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mongodb-core
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-monocle
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-morgan
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ms
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-muffin
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-multimatch
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-multiparty
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-multipipe
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-murmur-32
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mustache
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mutate-fs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mute-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mv
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-mysql
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mz
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-nan
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-nan0
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-nan1
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-nanomatch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-nanomsg
ExclusiveArch: %{nodejs_arches}
- nodejs-nanoseconds
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ncp
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-needle
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-negative-zero
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-net-browserify-alt
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-netmask
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-next-tick
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ng-classify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-node-dot-extend
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-node-expat
ExclusiveArch: %{nodejs_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- nodejs-node-int64
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-node-markdown
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-node-static
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-node-stringprep
ExclusiveArch: %{nodejs_arches}
- nodejs-node-uuid
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-nomnom
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-noncharacters
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-nopt
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-nopt-usage
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-noptify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-normalize-git-url
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-normalize-path
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-npm-cache-filename
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-npm-install-checks
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-npm-license
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-npm-package-arg
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-npm-run-path
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-npm-user-validate
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-npmlog
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-nth-check
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-number-is-nan
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-numeral
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-oauth
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-oauth-sign
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-oauth2orize
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-object-assign
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-object-copy
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-object-dot-assign
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-object-dot-entries
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-object-dot-omit
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-object-dot-pick
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-object-inspect
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-object-is
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-object-keys
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-object-visit
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-observable-to-promise
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-obuf
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-okay
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-on-finished
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-on-headers
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-once
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-only-shallow
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-opal-runtime
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-open
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-opener
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-option-cache
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-option-chain
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-optionator
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-options
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-optjs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-opts
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-orchestrator
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ordered-read-streams
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-os-homedir
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-os-locale
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-os-shim
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-os-tmpdir
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-osenv
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-output-file-sync
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-own-or
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-own-or-env
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-p-finally
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-p-limit
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-p-locate
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-p-try
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-package
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-package-license
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-packaging
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-packet-reader
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pad
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pad-left
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-paperboy
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-parallel-transform
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-parse-github-repo-url
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-parse-glob
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-parse-ms
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-parse-passwd
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-parsejson
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-parseqs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-parseuri
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-parseurl
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pascalcase
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-passport-http-bearer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-passport-oauth
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-passport-oauth1
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-passport-oauth2
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-passport-oauth2-client-password
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-passport-strategy
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path-array
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-path-dirname
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path-exists
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path-extra
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path-is-absolute
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path-is-inside
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path-key
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path-parse
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path-to-regexp
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-path-type
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path2
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pathval
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pause
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pbkdf2-password
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pedding
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pff
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg-connection-string
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg-cursor
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg-escape
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg-int8
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg-native
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg-numeric
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg-packet-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg-pool
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg-types
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pgpass
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pinkie
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pinkie-promise
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pkg-dir
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pkg-up
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pkginfo
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-platform
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-plur
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-posix-character-classes
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-postgres-array
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-postgres-bytea
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-postgres-date
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-postgres-interval
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-precond
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-prelude-ls
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-preserve
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pretty-bytes
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pretty-hrtime
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pretty-ms
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pretty-time
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-prism-media
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-process-nextick-args
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-proclaim
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-progress
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-progress-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-promise
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-promises-aplus-tests
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-prompt
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-promzard
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-propagate
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-propget
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-proto-list
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-proxy-addr
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-proxyquire
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pruddy-error
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pseudomap
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pubcontrol
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pump
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pumpify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-q
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-q-io
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-qs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-qtdatastream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-queue-async
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-quick-lru
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-qunit-extras
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-rainbowsocks
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-random-bytes
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-random-path
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-randomatic
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-range-parser
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-raw-body
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-re-emitter
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-read
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-read-all-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-read-cmd-shim
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-read-file
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-read-json-sync
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-read-package-json
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-read-pkg
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-readable-stream
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-readdir-enhanced
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-readdir-scoped-modules
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-readdirp
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-realize-package-specifier
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rechoir
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-redent
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-reduce-component
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-regex-cache
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-regex-not
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-remove-trailing-separator
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-repeat-element
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-repeat-string
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-repeating
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-repl
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-replace
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-replace-ext
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-replace-require-self
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-request
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-require-cs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-require-directory
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-require-inject
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-require-main-filename
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-require-relative
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-require-uncached
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-require-yaml
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-requirejs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-resolve
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-resolve-cwd
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-resolve-dir
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-resolve-from
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-resolve-pkg
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-resolve-url
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-response-time
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-resumer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ret
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-retry
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-reusify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-revalidator
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-rewire
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rfile
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rhea
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-right-align
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rimraf
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rndm
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-rollup
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-rollup-plugin-buble
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rollup-plugin-commonjs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rollup-plugin-json
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rollup-plugin-node-resolve
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rollup-plugin-typescript
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rollup-pluginutils
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ronn
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-runforcover
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-safe-buffer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-safe-json-stringify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-safe-regex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-safecb
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-samsam
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sax
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-secure-random
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-seedrandom
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-select-hose
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-semver
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sentiment
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sequencify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-serialize-error
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-serve-index
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-server-destroy
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-set-blocking
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-set-getter
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-set-immediate
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-set-immediate-shim
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-set-value
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-setimmediate
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-setprototypeof
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sha
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-shallow-clone
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-shebang-command
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-shebang-regex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-shelljs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-shelljs-nodecli
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-should
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-should-equal
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-should-format
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-should-http
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-should-type
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-showdown
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sift
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sigmund
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-signal-exit
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-simple-assert
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-simple-asyncify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-simple-fmt
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-simple-is
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-simple-markdown
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-single-line-log
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sinon
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sinon-chai
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-sinon-restore
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-slash
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-sliced
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-slide
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-snapdragon
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-snapdragon-capture
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-snapdragon-capture-set
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-snapdragon-node
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-snapdragon-util
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-snekfetch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-snockets
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-sntp
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-socket-dot-io-parser
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sorted-object
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-source-map
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-source-map-fixtures
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-source-map-resolve
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-source-map-support
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-source-map-url
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sparkles
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-spawn-sync
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-spawn-wrap
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-spdx-exceptions
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-spdx-license-ids
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-spec
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-spec-js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-speedometer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-split
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-split-string
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-split2
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sprintf
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sprintf-js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sqlite3
ExclusiveArch: %{nodejs_arches}
- nodejs-srs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ssri
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-stable
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-stack-trace
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-stack-utils
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-static-extend
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-static-favicon
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-statuses
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-stream-combiner
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-stream-consume
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-stream-counter
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-stream-each
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-stream-pair
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-stream-replace
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-stream-shift
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-stream-spigot
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-stream-transform
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-streamsearch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-streamtest
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-string
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-string-dot-prototype-dot-repeat
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-string-dot-prototype-dot-trim
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-string-width
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-string_decoder
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-stringmap
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-stringscanner
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-stringset
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-stringstream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-strip-ansi
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-strip-bom
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-strip-bom-stream
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-strip-bom-string
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-strip-color
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-strip-eof
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-strip-json-comments
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-strip-path
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-strong-log-transformer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-success-symbol
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-superagent
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-supertest
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-supervisor
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-supports-color
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-suspend
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-svgo
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-symbol-observable
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tap
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tap-mocha-reporter
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tap-out
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tap-parser
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tap-spec
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tape
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tapes
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tar
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tar-pack
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-temp
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-temp-dir
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-temp-write
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tempfile
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-temporary
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tern-cordovajs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tern-liferay
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-terst
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-testdata-w3c-json-form
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-testswarm
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-testutil
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-text-extensions
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-text-table
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-thenify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-thenify-all
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-thread-sleep
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-through
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-through2
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-through2-filter
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-thunkify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tildify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tilelive-mapnik
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tiletype
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-time-diff
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-time-stamp
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-timekeeper
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-timers-ext
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tiny-lr-fork
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tippex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tlds
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tmatch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tmp
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tmpl
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-to-absolute-glob
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-to-array
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-to-object-path
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-to-regex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-to-regex-range
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-toidentifier
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-touch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tough-cookie
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tracejs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-transformers
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-traverse
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-treeify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tressa
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-trim
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-trim-newlines
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-trim-off-newlines
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-trivial-deferred
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-try-open
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-try-thread-sleep
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tryor
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tsame
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tslib
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tsscmp
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tunnel-agent
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tv4
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tweetnacl
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tweetnacl-util
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-type-check
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-type-detect
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-type-is
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-type-name
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-typeahead.js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-typescript
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-uc-dot-micro
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-uglify-to-browserify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-uid-number
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-uid-safe
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-uid2
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ultron
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-umask
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-unc-path-regex
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-underscore
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-underscore-dot-logger
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-unicode-length
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-union-value
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-unique-filename
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-unique-slug
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-unique-stream
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-unique-temp-dir
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-unpipe
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-unset-value
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-uri-path
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-urix
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-url2
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-use
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-user-home
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-utf8
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-util
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-util-deprecate
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-util-extend
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-util-inspect
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-utilities
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-utils-merge
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-uuid
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-vali-date
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-validate-npm-package-name
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-vasync
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-vhost
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-vlq
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-vow
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-vow-fs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-vow-queue
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-vows
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-walkdir
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-walker
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ware
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-warning-symbol
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-watchit
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-watershed
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-wbuf
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-wcwidth
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-weak-map
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-websocket-driver
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-when
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-whet-dot-extend
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-which
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-win-spawn
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-window-size
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-winston
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-with
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-wolfy87-eventemitter
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-woothee
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-wordwrap
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-wrap-ansi
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-wrap-fn
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-wrappy
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-write
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-write-file-atomic
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ws
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-xdg-basedir
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-xml2js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-xmlbuilder
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-xmlhttprequest
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-xmlhttprequest-ssl
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-xtend
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-y18n
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-yallist
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-yapool
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-yargs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-yargs-parser
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-yarn
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-yeast
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-yn
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-zap
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-zeropad
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-zipfile
ExclusiveArch: %{nodejs_arches}
- nodejs-zlib-browserify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-zlibjs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodeunit
ExclusiveArch: %{nodejs_arches} noarch
- notify-sharp
ExclusiveArch: %{mono_arches}
- notify-sharp3
ExclusiveArch: %{mono_arches}
- nuget
ExclusiveArch: %{mono_arches}
- numatop
ExclusiveArch: x86_64 ppc64le
- nunit
ExclusiveArch: %{mono_arches}
- nunit2
ExclusiveArch: %{mono_arches}
- nvml
ExclusiveArch: x86_64 ppc64le
- nwchem
ExclusiveArch: x86_64 %{ix86}
- 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
- oci-umount
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le s390x %{mips}
- ocitools
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- oidn
ExclusiveArch: x86_64
- olpc-kbdshim
ExclusiveArch: %{ix86} %{arm}
- olpc-netutils
ExclusiveArch: %{ix86} %{arm}
- olpc-utils
ExclusiveArch: %{ix86} %{arm}
- onedrive
ExclusiveArch: %{ldc_arches}
- opae
ExclusiveArch: x86_64
- opal-prd
ExclusiveArch: ppc64le
- open-vm-tools
ExclusiveArch: x86_64
ExclusiveArch: %{ix86} x86_64
- openblas
ExclusiveArch: %{openblas_arches}
- openjfx
ExclusiveArch: %{ix86} x86_64
- openlibm
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 %{power64}
- openni
ExclusiveArch: %{ix86} x86_64 %{arm}
- openni-primesense
ExclusiveArch: %{ix86} x86_64 %{arm}
- 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
- oshinko-cli
ExclusiveArch: %{go_arches}
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- paflib
ExclusiveArch: ppc %{power64}
- pcc
ExclusiveArch: %{ix86} x86_64
- pcmciautils
ExclusiveArch: %{ix86} x86_64 ia64 ppc ppc64 %{arm}
- pdfmod
ExclusiveArch: %mono_arches
- peripety
ExclusiveArch: %{rust_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: i686 x86_64 ia64 aarch64
- pinta
ExclusiveArch: %mono_arches
- pioneer
ExclusiveArch: %{ix86} x86_64
- pmdk-convert
ExclusiveArch: x86_64
- pmemkv
ExclusiveArch: x86_64
- pocl
ExclusiveArch: %{arm} aarch64 %{ix86} 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}
- publican-jboss
ExclusiveArch: i686 x86_64
- pveclib
ExclusiveArch: ppc %{power64}
- pvs-sbcl
ExclusiveArch: %{ix86} x86_64 ppc sparcv9
- pyqtwebengine
ExclusiveArch: %{qt5_qtwebengine_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
- q4wine
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- qcint
ExclusiveArch: x86_64
- qclib
ExclusiveArch: s390 s390x
- 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}
ExclusiveArch: x86_64 %{ix86}
- quentier
ExclusiveArch: %{qt5_qtwebengine_arches}
- reactfx
ExclusiveArch: %{ix86} x86_64 noarch
- rear
ExclusiveArch: %ix86 x86_64 ppc ppc64 ppc64le ia64
- redhat-lsb
ExclusiveArch: %{ix86} ia64 x86_64 ppc ppc64 s390 s390x %{arm} aarch64 ppc64le
- reg
ExclusiveArch: x86_64
- renderdoc
ExclusiveArch: %{ix86} 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
- 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-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-router
ExclusiveArch: %{rust_arches}
- rust-actix-rt
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-actix_derive
ExclusiveArch: %{rust_arches}
- rust-addr2line
ExclusiveArch: %{rust_arches}
- rust-adler32
ExclusiveArch: %{rust_arches}
- rust-aes
ExclusiveArch: %{rust_arches}
- rust-aes-soft
ExclusiveArch: %{rust_arches}
- rust-afterburn
ExclusiveArch: %{rust_arches}
- rust-ahash
ExclusiveArch: %{rust_arches}
- rust-aho-corasick
ExclusiveArch: %{rust_arches}
- rust-alga
ExclusiveArch: %{rust_arches}
- rust-alga_derive
ExclusiveArch: %{rust_arches}
- rust-alloc-no-stdlib
ExclusiveArch: %{rust_arches}
- rust-alloc-stdlib
ExclusiveArch: %{rust_arches}
- rust-alphanumeric-sort
ExclusiveArch: %{rust_arches}
- rust-ammonia
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-arbitrary
ExclusiveArch: %{rust_arches}
- rust-arc-swap
ExclusiveArch: %{rust_arches}
- rust-arg_enum_proc_macro
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-ascii
ExclusiveArch: %{rust_arches}
- rust-askalono
ExclusiveArch: %{rust_arches}
- rust-askalono-cli
ExclusiveArch: %{rust_arches}
- rust-assert-json-diff
ExclusiveArch: %{rust_arches}
- rust-assert_fs
ExclusiveArch: %{rust_arches}
- rust-assert_matches
ExclusiveArch: %{rust_arches}
- rust-async-attributes
ExclusiveArch: %{rust_arches}
- rust-async-task
ExclusiveArch: %{rust_arches}
- rust-async-trait
ExclusiveArch: %{rust_arches}
- rust-atk
ExclusiveArch: %{rust_arches}
- rust-atk-sys
ExclusiveArch: %{rust_arches}
- rust-atom
ExclusiveArch: %{rust_arches}
- rust-atomicwrites
ExclusiveArch: %{rust_arches}
- rust-attohttpc
ExclusiveArch: %{rust_arches}
- rust-atty
ExclusiveArch: %{rust_arches}
- rust-autocfg
ExclusiveArch: %{rust_arches}
- rust-average
ExclusiveArch: %{rust_arches}
- rust-awc
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-bat
ExclusiveArch: %{rust_arches}
- rust-battery
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-bit-set
ExclusiveArch: %{rust_arches}
- rust-bit-vec
ExclusiveArch: %{rust_arches}
- rust-bitflags
ExclusiveArch: %{rust_arches}
- rust-bitmaps
ExclusiveArch: %{rust_arches}
- rust-bitstream-io
ExclusiveArch: %{rust_arches}
- rust-blake2
ExclusiveArch: %{rust_arches}
- rust-blobby
ExclusiveArch: %{rust_arches}
- rust-block-buffer
ExclusiveArch: %{rust_arches}
- rust-block-cipher-trait
ExclusiveArch: %{rust_arches}
- rust-block-modes
ExclusiveArch: %{rust_arches}
- rust-block-padding
ExclusiveArch: %{rust_arches}
- rust-bodhi
ExclusiveArch: %{rust_arches}
- rust-bodhi-cli
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_redux
ExclusiveArch: %{rust_arches}
- rust-bufstream
ExclusiveArch: %{rust_arches}
- rust-build_const
ExclusiveArch: %{rust_arches}
- rust-byte-tools
ExclusiveArch: %{rust_arches}
- rust-byte-unit
ExclusiveArch: %{rust_arches}
- rust-bytecount
ExclusiveArch: %{rust_arches}
- rust-bytemuck
ExclusiveArch: %{rust_arches}
- rust-byteorder
ExclusiveArch: %{rust_arches}
- rust-bytes
ExclusiveArch: %{rust_arches}
- rust-bytes0.3
ExclusiveArch: %{rust_arches}
- rust-bytes0.4
ExclusiveArch: %{rust_arches}
- rust-bytesize
ExclusiveArch: %{rust_arches}
- rust-bytestring
ExclusiveArch: %{rust_arches}
- rust-c2-chacha
ExclusiveArch: %{rust_arches}
- rust-c_vec
ExclusiveArch: %{rust_arches}
- rust-cairo-rs
ExclusiveArch: %{rust_arches}
- rust-cairo-sys-rs
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-platform
ExclusiveArch: %{rust_arches}
- rust-cargo_metadata
ExclusiveArch: %{rust_arches}
- rust-cassowary
ExclusiveArch: %{rust_arches}
- rust-cast
ExclusiveArch: %{rust_arches}
- rust-cbindgen
ExclusiveArch: %{rust_arches}
- rust-cc
ExclusiveArch: %{rust_arches}
- rust-cexpr
ExclusiveArch: %{rust_arches}
- rust-cfg-if
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-chrono
ExclusiveArch: %{rust_arches}
- rust-chrono-humanize
ExclusiveArch: %{rust_arches}
- rust-chrono-tz
ExclusiveArch: %{rust_arches}
- rust-chunked_transfer
ExclusiveArch: %{rust_arches}
- rust-clang-sys
ExclusiveArch: %{rust_arches}
- rust-clap
ExclusiveArch: %{rust_arches}
- rust-clicolors-control
ExclusiveArch: %{rust_arches}
- rust-cmake
ExclusiveArch: %{rust_arches}
- rust-color_quant
ExclusiveArch: %{rust_arches}
- rust-colored
ExclusiveArch: %{rust_arches}
- rust-colored_json
ExclusiveArch: %{rust_arches}
- rust-compiletest_rs
ExclusiveArch: %{rust_arches}
- rust-comrak
ExclusiveArch: %{rust_arches}
- rust-config
ExclusiveArch: %{rust_arches}
- rust-console
ExclusiveArch: %{rust_arches}
- rust-console0.9
ExclusiveArch: %{rust_arches}
- rust-const-random
ExclusiveArch: %{rust_arches}
- rust-const-random-macro
ExclusiveArch: %{rust_arches}
- rust-content_inspector
ExclusiveArch: %{rust_arches}
- rust-conv
ExclusiveArch: %{rust_arches}
- rust-cookie
ExclusiveArch: %{rust_arches}
- rust-cookie_store
ExclusiveArch: %{rust_arches}
- rust-copyless
ExclusiveArch: %{rust_arches}
- rust-coreos-installer
ExclusiveArch: %{rust_arches}
- rust-cpio
ExclusiveArch: %{rust_arches}
- rust-cpp_demangle
ExclusiveArch: %{rust_arches}
- rust-crates-io
ExclusiveArch: %{rust_arches}
- rust-crc
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.3
ExclusiveArch: %{rust_arches}
- rust-crossbeam-deque
ExclusiveArch: %{rust_arches}
- rust-crossbeam-epoch
ExclusiveArch: %{rust_arches}
- rust-crossbeam-queue
ExclusiveArch: %{rust_arches}
- rust-crossbeam-queue0.1
ExclusiveArch: %{rust_arches}
- rust-crossbeam-utils
ExclusiveArch: %{rust_arches}
- rust-crossbeam-utils0.6
ExclusiveArch: %{rust_arches}
- rust-crossterm
ExclusiveArch: %{rust_arches}
- rust-crypto-hash
ExclusiveArch: %{rust_arches}
- rust-crypto-mac
ExclusiveArch: %{rust_arches}
- rust-cryptovec
ExclusiveArch: %{rust_arches}
- rust-cssparser
ExclusiveArch: %{rust_arches}
- rust-cssparser-macros
ExclusiveArch: %{rust_arches}
- rust-csv
ExclusiveArch: %{rust_arches}
- rust-csv-core
ExclusiveArch: %{rust_arches}
- rust-ctrlc
ExclusiveArch: %{rust_arches}
- rust-curl
ExclusiveArch: %{rust_arches}
- rust-curl-sys
ExclusiveArch: %{rust_arches}
- rust-custom_derive
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-dbus0.2
ExclusiveArch: %{rust_arches}
- rust-dbus0.6
ExclusiveArch: %{rust_arches}
- rust-decimal
ExclusiveArch: %{rust_arches}
- rust-deflate
ExclusiveArch: %{rust_arches}
- rust-defmac
ExclusiveArch: %{rust_arches}
- rust-delta_e
ExclusiveArch: %{rust_arches}
- rust-derive_builder
ExclusiveArch: %{rust_arches}
- rust-derive_builder_core
ExclusiveArch: %{rust_arches}
- rust-derive_more
ExclusiveArch: %{rust_arches}
- rust-deunicode
ExclusiveArch: %{rust_arches}
- rust-devicemapper
ExclusiveArch: %{rust_arches}
- rust-diff
ExclusiveArch: %{rust_arches}
- rust-difference
ExclusiveArch: %{rust_arches}
- rust-digest
ExclusiveArch: %{rust_arches}
- rust-directories
ExclusiveArch: %{rust_arches}
- rust-dirs
ExclusiveArch: %{rust_arches}
- rust-dirs-sys
ExclusiveArch: %{rust_arches}
- rust-dissimilar
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-downcast-rs
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-dutree
ExclusiveArch: %{rust_arches}
- rust-edit-distance
ExclusiveArch: %{rust_arches}
- rust-either
ExclusiveArch: %{rust_arches}
- rust-elasticlunr-rs
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-entities
ExclusiveArch: %{rust_arches}
- rust-enum-as-inner
ExclusiveArch: %{rust_arches}
- rust-enum_primitive
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-envsubst
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-escargot
ExclusiveArch: %{rust_arches}
- rust-exa
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-simd
ExclusiveArch: %{rust_arches}
- rust-fake_clock
ExclusiveArch: %{rust_arches}
- rust-fallible-iterator
ExclusiveArch: %{rust_arches}
- rust-fd-find
ExclusiveArch: %{rust_arches}
- rust-fedora
ExclusiveArch: %{rust_arches}
- rust-fedora-coreos-pinger
ExclusiveArch: %{rust_arches}
- rust-fedora-update-feedback
ExclusiveArch: %{rust_arches}
- rust-fern
ExclusiveArch: %{rust_arches}
- rust-ffsend
ExclusiveArch: %{rust_arches}
- rust-ffsend-api
ExclusiveArch: %{rust_arches}
- rust-filesize
ExclusiveArch: %{rust_arches}
- rust-filetime
ExclusiveArch: %{rust_arches}
- rust-findshlibs
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-ord
ExclusiveArch: %{rust_arches}
- rust-fnv
ExclusiveArch: %{rust_arches}
- rust-foreign-types
ExclusiveArch: %{rust_arches}
- rust-foreign-types-shared
ExclusiveArch: %{rust_arches}
- rust-fragile
ExclusiveArch: %{rust_arches}
- rust-fs2
ExclusiveArch: %{rust_arches}
- rust-fs_extra
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-macro
ExclusiveArch: %{rust_arches}
- rust-futures-sink
ExclusiveArch: %{rust_arches}
- rust-futures-task
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-generic-array
ExclusiveArch: %{rust_arches}
- rust-getch
ExclusiveArch: %{rust_arches}
- rust-gethostname
ExclusiveArch: %{rust_arches}
- rust-getopts
ExclusiveArch: %{rust_arches}
- rust-getrandom
ExclusiveArch: %{rust_arches}
- rust-gettext-rs
ExclusiveArch: %{rust_arches}
- rust-gettext-sys
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-git2
ExclusiveArch: %{rust_arches}
- rust-git2-curl
ExclusiveArch: %{rust_arches}
- rust-glib
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-gobject-sys
ExclusiveArch: %{rust_arches}
- rust-goblin
ExclusiveArch: %{rust_arches}
- rust-google-drive3-fork
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-gspell
ExclusiveArch: %{rust_arches}
- rust-gspell-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-rs-lgpl-docs
ExclusiveArch: %{rust_arches}
- rust-gtk-source-sys
ExclusiveArch: %{rust_arches}
- rust-gtk-sys
ExclusiveArch: %{rust_arches}
- rust-gzip-header
ExclusiveArch: %{rust_arches}
- rust-h2
ExclusiveArch: %{rust_arches}
- rust-half
ExclusiveArch: %{rust_arches}
- rust-hamcrest
ExclusiveArch: %{rust_arches}
- rust-handlebars
ExclusiveArch: %{rust_arches}
- rust-hashbrown
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-heck
ExclusiveArch: %{rust_arches}
- rust-hex
ExclusiveArch: %{rust_arches}
- rust-hex-literal
ExclusiveArch: %{rust_arches}
- rust-hex-literal-impl
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-html2pango
ExclusiveArch: %{rust_arches}
- rust-html5ever
ExclusiveArch: %{rust_arches}
- rust-http
ExclusiveArch: %{rust_arches}
- rust-http-body
ExclusiveArch: %{rust_arches}
- rust-http0.1
ExclusiveArch: %{rust_arches}
- rust-httparse
ExclusiveArch: %{rust_arches}
- rust-humansize
ExclusiveArch: %{rust_arches}
- rust-humantime
ExclusiveArch: %{rust_arches}
- rust-humantime1
ExclusiveArch: %{rust_arches}
- rust-hyper
ExclusiveArch: %{rust_arches}
- rust-hyper-native-tls
ExclusiveArch: %{rust_arches}
- rust-hyper-staticfile
ExclusiveArch: %{rust_arches}
- rust-hyper-tls
ExclusiveArch: %{rust_arches}
- rust-hyper0.10
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-imgref
ExclusiveArch: %{rust_arches}
- rust-indexmap
ExclusiveArch: %{rust_arches}
- rust-indicatif
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-interpolate_name
ExclusiveArch: %{rust_arches}
- rust-intervaltree
ExclusiveArch: %{rust_arches}
- rust-iovec
ExclusiveArch: %{rust_arches}
- rust-ipnet
ExclusiveArch: %{rust_arches}
- rust-ipnetwork
ExclusiveArch: %{rust_arches}
- rust-iron
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-itoa
ExclusiveArch: %{rust_arches}
- rust-ivf
ExclusiveArch: %{rust_arches}
- rust-jetscii
ExclusiveArch: %{rust_arches}
- rust-jobserver
ExclusiveArch: %{rust_arches}
- rust-jpeg-decoder
ExclusiveArch: %{rust_arches}
- rust-jql
ExclusiveArch: %{rust_arches}
- rust-json
ExclusiveArch: %{rust_arches}
- rust-jwalk
ExclusiveArch: %{rust_arches}
- rust-kstring
ExclusiveArch: %{rust_arches}
- rust-kv-log-macro
ExclusiveArch: %{rust_arches}
- rust-lab
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-letter-avatar
ExclusiveArch: %{rust_arches}
- rust-lexical-core
ExclusiveArch: %{rust_arches}
- rust-libc
ExclusiveArch: %{rust_arches}
- rust-libdbus-sys
ExclusiveArch: %{rust_arches}
- rust-libflate
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-libm
ExclusiveArch: %{rust_arches}
- rust-libmount
ExclusiveArch: %{rust_arches}
- rust-liboverdrop
ExclusiveArch: %{rust_arches}
- rust-libpulse-binding
ExclusiveArch: %{rust_arches}
- rust-libpulse-sys
ExclusiveArch: %{rust_arches}
- rust-libslirp-sys
ExclusiveArch: %{rust_arches}
- rust-libssh2-sys
ExclusiveArch: %{rust_arches}
- rust-libsystemd
ExclusiveArch: %{rust_arches}
- rust-libudev
ExclusiveArch: %{rust_arches}
- rust-libudev-sys
ExclusiveArch: %{rust_arches}
- rust-libz-sys
ExclusiveArch: %{rust_arches}
- rust-line-wrap
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-log0.3
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-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-matrixmultiply
ExclusiveArch: %{rust_arches}
- rust-maxminddb
ExclusiveArch: %{rust_arches}
- rust-maybe-uninit
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-memoffset
ExclusiveArch: %{rust_arches}
- rust-metadeps
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-miniz-sys
ExclusiveArch: %{rust_arches}
- rust-miniz_oxide
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-mktemp
ExclusiveArch: %{rust_arches}
- rust-mnt
ExclusiveArch: %{rust_arches}
- rust-mockito
ExclusiveArch: %{rust_arches}
- rust-modifier
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-nasm-rs
ExclusiveArch: %{rust_arches}
- rust-native-tls
ExclusiveArch: %{rust_arches}
- rust-natord
ExclusiveArch: %{rust_arches}
- rust-net2
ExclusiveArch: %{rust_arches}
- rust-netmap_sys
ExclusiveArch: %{rust_arches}
- rust-new_debug_unreachable
ExclusiveArch: %{rust_arches}
- rust-newtype_derive
ExclusiveArch: %{rust_arches}
- rust-nickel
ExclusiveArch: %{rust_arches}
- rust-nix
ExclusiveArch: %{rust_arches}
- rust-nix0.14
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-noop_proc_macro
ExclusiveArch: %{rust_arches}
- rust-normalize-line-endings
ExclusiveArch: %{rust_arches}
- rust-notify
ExclusiveArch: %{rust_arches}
- rust-num
ExclusiveArch: %{rust_arches}
- rust-num-bigint
ExclusiveArch: %{rust_arches}
- rust-num-complex
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-traits
ExclusiveArch: %{rust_arches}
- rust-num-traits0.1
ExclusiveArch: %{rust_arches}
- rust-num_cpus
ExclusiveArch: %{rust_arches}
- rust-number_prefix
ExclusiveArch: %{rust_arches}
- rust-numtoa
ExclusiveArch: %{rust_arches}
- rust-object
ExclusiveArch: %{rust_arches}
- rust-odds
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-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-ord_subset
ExclusiveArch: %{rust_arches}
- rust-ordered-float
ExclusiveArch: %{rust_arches}
- rust-os_info
ExclusiveArch: %{rust_arches}
- rust-os_pipe
ExclusiveArch: %{rust_arches}
- rust-osstrtools
ExclusiveArch: %{rust_arches}
- rust-owned-alloc
ExclusiveArch: %{rust_arches}
- rust-owning_ref
ExclusiveArch: %{rust_arches}
- rust-packaging
ExclusiveArch: %{rust_arches}
- rust-pad
ExclusiveArch: %{rust_arches}
- rust-pager
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_lot
ExclusiveArch: %{rust_arches}
- rust-parking_lot_core
ExclusiveArch: %{rust_arches}
- rust-parse-zoneinfo
ExclusiveArch: %{rust_arches}
- rust-partial-io
ExclusiveArch: %{rust_arches}
- rust-paste
ExclusiveArch: %{rust_arches}
- rust-paste-impl
ExclusiveArch: %{rust_arches}
- rust-path-slash
ExclusiveArch: %{rust_arches}
- rust-pathdiff
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-percent-encoding
ExclusiveArch: %{rust_arches}
- rust-percent-encoding1
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-pico-args
ExclusiveArch: %{rust_arches}
- rust-pin-project
ExclusiveArch: %{rust_arches}
- rust-pin-project-internal
ExclusiveArch: %{rust_arches}
- rust-pin-project-lite
ExclusiveArch: %{rust_arches}
- rust-pin-utils
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-plist
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-ppv-lite86
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_assertions
ExclusiveArch: %{rust_arches}
- rust-pretty_env_logger
ExclusiveArch: %{rust_arches}
- rust-prettytable-rs
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-quote
ExclusiveArch: %{rust_arches}
- rust-proc-quote-impl
ExclusiveArch: %{rust_arches}
- rust-procedural-masquerade
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-protobuf
ExclusiveArch: %{rust_arches}
- rust-protobuf-codegen
ExclusiveArch: %{rust_arches}
- rust-protoc
ExclusiveArch: %{rust_arches}
- rust-protoc-rust
ExclusiveArch: %{rust_arches}
- rust-psm
ExclusiveArch: %{rust_arches}
- rust-psutil
ExclusiveArch: %{rust_arches}
- rust-publicsuffix
ExclusiveArch: %{rust_arches}
- rust-pulldown-cmark
ExclusiveArch: %{rust_arches}
- rust-pulse
ExclusiveArch: %{rust_arches}
- rust-qr2term
ExclusiveArch: %{rust_arches}
- rust-qrcode
ExclusiveArch: %{rust_arches}
- rust-quick-error
ExclusiveArch: %{rust_arches}
- rust-quickcheck
ExclusiveArch: %{rust_arches}
- rust-quickcheck0.6
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-rand
ExclusiveArch: %{rust_arches}
- rust-rand0.4
ExclusiveArch: %{rust_arches}
- rust-rand0.5
ExclusiveArch: %{rust_arches}
- rust-rand0.6
ExclusiveArch: %{rust_arches}
- rust-rand_chacha
ExclusiveArch: %{rust_arches}
- rust-rand_chacha0.1
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_distr
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_xorshift
ExclusiveArch: %{rust_arches}
- rust-rand_xorshift0.1
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-rawpointer
ExclusiveArch: %{rust_arches}
- rust-rawslice
ExclusiveArch: %{rust_arches}
- rust-rayon
ExclusiveArch: %{rust_arches}
- rust-rayon-core
ExclusiveArch: %{rust_arches}
- rust-recycler
ExclusiveArch: %{rust_arches}
- rust-ref-cast
ExclusiveArch: %{rust_arches}
- rust-ref-cast-impl
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-relay
ExclusiveArch: %{rust_arches}
- rust-remove_dir_all
ExclusiveArch: %{rust_arches}
- rust-reqwest
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-ripgrep
ExclusiveArch: %{rust_arches}
- rust-rle-decode-fast
ExclusiveArch: %{rust_arches}
- rust-rmp
ExclusiveArch: %{rust_arches}
- rust-rmp-serde
ExclusiveArch: %{rust_arches}
- rust-roff
ExclusiveArch: %{rust_arches}
- rust-ron
ExclusiveArch: %{rust_arches}
- rust-rpassword
ExclusiveArch: %{rust_arches}
- rust-rpick
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-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_version
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-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-safemem
ExclusiveArch: %{rust_arches}
- rust-same-file
ExclusiveArch: %{rust_arches}
- rust-sass-rs
ExclusiveArch: %{rust_arches}
- rust-sass-sys
ExclusiveArch: %{rust_arches}
- rust-scan_fmt
ExclusiveArch: %{rust_arches}
- rust-scoped-tls
ExclusiveArch: %{rust_arches}
- rust-scoped_threadpool
ExclusiveArch: %{rust_arches}
- rust-scopeguard
ExclusiveArch: %{rust_arches}
- rust-scroll
ExclusiveArch: %{rust_arches}
- rust-scroll_derive
ExclusiveArch: %{rust_arches}
- rust-sd
ExclusiveArch: %{rust_arches}
- rust-seahash
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-serde
ExclusiveArch: %{rust_arches}
- rust-serde-big-array
ExclusiveArch: %{rust_arches}
- rust-serde-pickle
ExclusiveArch: %{rust_arches}
- rust-serde-xml-rs
ExclusiveArch: %{rust_arches}
- rust-serde_bytes
ExclusiveArch: %{rust_arches}
- rust-serde_cbor
ExclusiveArch: %{rust_arches}
- rust-serde_derive
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_with_macros
ExclusiveArch: %{rust_arches}
- rust-serde_yaml
ExclusiveArch: %{rust_arches}
- rust-sha-1
ExclusiveArch: %{rust_arches}
- rust-sha1
ExclusiveArch: %{rust_arches}
- rust-sha2
ExclusiveArch: %{rust_arches}
- rust-shared_child
ExclusiveArch: %{rust_arches}
- rust-shell-escape
ExclusiveArch: %{rust_arches}
- rust-shell-words
ExclusiveArch: %{rust_arches}
- rust-shlex
ExclusiveArch: %{rust_arches}
- rust-signal-hook
ExclusiveArch: %{rust_arches}
- rust-signal-hook-registry
ExclusiveArch: %{rust_arches}
- rust-silver
ExclusiveArch: %{rust_arches}
- rust-simd_helpers
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-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-smallvec
ExclusiveArch: %{rust_arches}
- rust-smart-default
ExclusiveArch: %{rust_arches}
- rust-snafu
ExclusiveArch: %{rust_arches}
- rust-snafu-derive
ExclusiveArch: %{rust_arches}
- rust-snowflake
ExclusiveArch: %{rust_arches}
- rust-socket2
ExclusiveArch: %{rust_arches}
- rust-sourceview
ExclusiveArch: %{rust_arches}
- rust-spin
ExclusiveArch: %{rust_arches}
- rust-spmc
ExclusiveArch: %{rust_arches}
- rust-stable_deref_trait
ExclusiveArch: %{rust_arches}
- rust-stacker
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-stream-cipher
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-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-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-sysinfo
ExclusiveArch: %{rust_arches}
- rust-tabwriter
ExclusiveArch: %{rust_arches}
- rust-take
ExclusiveArch: %{rust_arches}
- rust-take_mut
ExclusiveArch: %{rust_arches}
- rust-tar
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-tendril
ExclusiveArch: %{rust_arches}
- rust-tera
ExclusiveArch: %{rust_arches}
- rust-term
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-textwrap
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-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_http
ExclusiveArch: %{rust_arches}
- rust-tinytemplate
ExclusiveArch: %{rust_arches}
- rust-tokei
ExclusiveArch: %{rust_arches}
- rust-tokio
ExclusiveArch: %{rust_arches}
- rust-tokio-async-await
ExclusiveArch: %{rust_arches}
- rust-tokio-buf
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-mock-task
ExclusiveArch: %{rust_arches}
- rust-tokio-mockstream
ExclusiveArch: %{rust_arches}
- rust-tokio-openssl
ExclusiveArch: %{rust_arches}
- rust-tokio-process
ExclusiveArch: %{rust_arches}
- rust-tokio-reactor
ExclusiveArch: %{rust_arches}
- rust-tokio-service
ExclusiveArch: %{rust_arches}
- rust-tokio-signal
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-trace-core
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-tokio0.1
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-traitobject
ExclusiveArch: %{rust_arches}
- rust-treebitmap
ExclusiveArch: %{rust_arches}
- rust-treeline
ExclusiveArch: %{rust_arches}
- rust-trust-dns-native-tls
ExclusiveArch: %{rust_arches}
- rust-trust-dns-openssl
ExclusiveArch: %{rust_arches}
- rust-trust-dns-proto
ExclusiveArch: %{rust_arches}
- rust-trust-dns-resolver
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-tui
ExclusiveArch: %{rust_arches}
- rust-tui-react
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-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-normalization
ExclusiveArch: %{rust_arches}
- rust-unicode-segmentation
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-unix_socket
ExclusiveArch: %{rust_arches}
- rust-unreachable
ExclusiveArch: %{rust_arches}
- rust-unsafe-any
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-urlshortener
ExclusiveArch: %{rust_arches}
- rust-users
ExclusiveArch: %{rust_arches}
- rust-utf-8
ExclusiveArch: %{rust_arches}
- rust-utf8-ranges
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_htmlescape
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-vec_map
ExclusiveArch: %{rust_arches}
- rust-vergen
ExclusiveArch: %{rust_arches}
- rust-version-compare
ExclusiveArch: %{rust_arches}
- rust-version-sync
ExclusiveArch: %{rust_arches}
- rust-version_check
ExclusiveArch: %{rust_arches}
- rust-void
ExclusiveArch: %{rust_arches}
- rust-vte
ExclusiveArch: %{rust_arches}
- rust-wait-timeout
ExclusiveArch: %{rust_arches}
- rust-walkdir
ExclusiveArch: %{rust_arches}
- rust-want
ExclusiveArch: %{rust_arches}
- rust-warp
ExclusiveArch: %{rust_arches}
- rust-websocket
ExclusiveArch: %{rust_arches}
- rust-websocket-base
ExclusiveArch: %{rust_arches}
- rust-which
ExclusiveArch: %{rust_arches}
- rust-wild
ExclusiveArch: %{rust_arches}
- rust-ws
ExclusiveArch: %{rust_arches}
- rust-x11
ExclusiveArch: %{rust_arches}
- rust-xattr
ExclusiveArch: %{rust_arches}
- rust-xdg
ExclusiveArch: %{rust_arches}
- rust-xml-rs
ExclusiveArch: %{rust_arches}
- rust-xml5ever
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-yubibomb
ExclusiveArch: %{rust_arches}
- rust-yup-oauth2
ExclusiveArch: %{rust_arches}
- rust-zincati
ExclusiveArch: %{rust_arches}
- rust-zoneinfo_compiled
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}
- 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
- seamonkey
ExclusiveArch: x86_64
- 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}
- source-to-image
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- sparkleshare
ExclusiveArch: %{mono_arches}
- spicctrl
ExclusiveArch: %{ix86} x86_64
- spice
ExclusiveArch: x86_64
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- springlobby
ExclusiveArch: %{ix86} x86_64
- 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}
- stripesnoop
ExclusiveArch: %{ix86} x86_64
- supercollider
ExclusiveArch: %{qt5_qtwebengine_arches}
- supermin
ExclusiveArch: x86_64
- 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
- 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
- termy-qt
ExclusiveArch: %{ix86} x86_64
- ternimal
ExclusiveArch: %{rust_arches}
- 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}
- toolbox
ExclusiveArch: aarch64 %{arm} ppc64le s390x 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
- v8-314
ExclusiveArch: %{ix86} x86_64 %{arm} mips mipsel ppc ppc64
- valgrind
ExclusiveArch: %{ix86} x86_64 ppc ppc64 ppc64le s390x armv7hl aarch64
- vapoursynth
ExclusiveArch: %{ix86} x86_64
- vboot-utils
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64
- vim-go
ExclusiveArch: %{?golang_arches}%{!?golang_arches:%{ix86} x86_64 %{arm}}
- virt-p2v
ExclusiveArch: x86_64
- virtualbox-guest-additions
ExclusiveArch: i686 x86_64
- virtualplanet
ExclusiveArch: %{fpc_arches}
- 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
- ycssmin
ExclusiveArch: %{nodejs_arches} noarch
- ytop
ExclusiveArch: %{rust_arches}
- zeromq-ada
ExclusiveArch: %{GPRbuild_arches}
- zlib-ada
ExclusiveArch: %{GPRbuild_arches}
- zola
ExclusiveArch: %{rust_arches}
4 years, 1 month
Architecture specific change in rpms/gap.git
by githook-noreply@fedoraproject.org
The package rpms/gap.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/gap.git/commit/?id=45b2b55dd12400....
Change:
+%ifarch aarch64
Thanks.
Full change:
============
commit 45b2b55dd12400c031ef4f1d5b95bce2beb20094
Author: Jerry James <loganjerry(a)gmail.com>
Date: Mon Mar 23 17:10:40 2020 -0600
Turn off all inlining on aarch64 to work around possible GCC bug.
diff --git a/gap-aarch64.patch b/gap-aarch64.patch
index e779051..e7217c2 100644
--- a/gap-aarch64.patch
+++ b/gap-aarch64.patch
@@ -1,163 +1,3 @@
---- src/calls.h.orig 2020-02-29 02:02:10.000000000 -0700
-+++ src/calls.h 2020-03-21 08:20:20.695757397 -0600
-@@ -45,6 +45,7 @@
- #ifndef GAP_CALLS_H
- #define GAP_CALLS_H
-
-+#include "funcs.h"
- #include "gaputils.h"
- #include "objects.h"
-
-@@ -312,42 +313,66 @@ EXPORT_INLINE int IS_FUNC(Obj obj)
- */
- EXPORT_INLINE Obj CALL_0ARGS(Obj f)
- {
-- return HDLR_0ARGS(f)(f);
-+ CheckRecursionBefore();
-+ Obj o = HDLR_0ARGS(f)(f);
-+ DecRecursionDepth();
-+ return o;
- }
-
- EXPORT_INLINE Obj CALL_1ARGS(Obj f, Obj a1)
- {
-- return HDLR_1ARGS(f)(f, a1);
-+ CheckRecursionBefore();
-+ Obj o = HDLR_1ARGS(f)(f, a1);
-+ DecRecursionDepth();
-+ return o;
- }
-
- EXPORT_INLINE Obj CALL_2ARGS(Obj f, Obj a1, Obj a2)
- {
-- return HDLR_2ARGS(f)(f, a1, a2);
-+ CheckRecursionBefore();
-+ Obj o = HDLR_2ARGS(f)(f, a1, a2);
-+ DecRecursionDepth();
-+ return o;
- }
-
- EXPORT_INLINE Obj CALL_3ARGS(Obj f, Obj a1, Obj a2, Obj a3)
- {
-- return HDLR_3ARGS(f)(f, a1, a2, a3);
-+ CheckRecursionBefore();
-+ Obj o = HDLR_3ARGS(f)(f, a1, a2, a3);
-+ DecRecursionDepth();
-+ return o;
- }
-
- EXPORT_INLINE Obj CALL_4ARGS(Obj f, Obj a1, Obj a2, Obj a3, Obj a4)
- {
-- return HDLR_4ARGS(f)(f, a1, a2, a3, a4);
-+ CheckRecursionBefore();
-+ Obj o = HDLR_4ARGS(f)(f, a1, a2, a3, a4);
-+ DecRecursionDepth();
-+ return o;
- }
-
- EXPORT_INLINE Obj CALL_5ARGS(Obj f, Obj a1, Obj a2, Obj a3, Obj a4, Obj a5)
- {
-- return HDLR_5ARGS(f)(f, a1, a2, a3, a4, a5);
-+ CheckRecursionBefore();
-+ Obj o = HDLR_5ARGS(f)(f, a1, a2, a3, a4, a5);
-+ DecRecursionDepth();
-+ return o;
- }
-
- EXPORT_INLINE Obj CALL_6ARGS(Obj f, Obj a1, Obj a2, Obj a3, Obj a4, Obj a5, Obj a6)
- {
-- return HDLR_6ARGS(f)(f, a1, a2, a3, a4, a5, a6);
-+ CheckRecursionBefore();
-+ Obj o = HDLR_6ARGS(f)(f, a1, a2, a3, a4, a5, a6);
-+ DecRecursionDepth();
-+ return o;
- }
-
- EXPORT_INLINE Obj CALL_XARGS(Obj f, Obj as)
- {
-- return HDLR_XARGS(f)(f, as);
-+ CheckRecursionBefore();
-+ Obj o = HDLR_XARGS(f)(f, as);
-+ DecRecursionDepth();
-+ return o;
- }
-
-
-@@ -368,42 +393,66 @@ EXPORT_INLINE Obj CALL_XARGS(Obj f, Obj
- */
- EXPORT_INLINE Obj CALL_0ARGS_PROF(Obj f)
- {
-- return HDLR_0ARGS(PROF_FUNC(f))(f);
-+ CheckRecursionBefore();
-+ Obj o = HDLR_0ARGS(PROF_FUNC(f))(f);
-+ DecRecursionDepth();
-+ return o;
- }
-
- EXPORT_INLINE Obj CALL_1ARGS_PROF(Obj f, Obj a1)
- {
-- return HDLR_1ARGS(PROF_FUNC(f))(f, a1);
-+ CheckRecursionBefore();
-+ Obj o = HDLR_1ARGS(PROF_FUNC(f))(f, a1);
-+ DecRecursionDepth();
-+ return o;
- }
-
- EXPORT_INLINE Obj CALL_2ARGS_PROF(Obj f, Obj a1, Obj a2)
- {
-- return HDLR_2ARGS(PROF_FUNC(f))(f, a1, a2);
-+ CheckRecursionBefore();
-+ Obj o = HDLR_2ARGS(PROF_FUNC(f))(f, a1, a2);
-+ DecRecursionDepth();
-+ return o;
- }
-
- EXPORT_INLINE Obj CALL_3ARGS_PROF(Obj f, Obj a1, Obj a2, Obj a3)
- {
-- return HDLR_3ARGS(PROF_FUNC(f))(f, a1, a2, a3);
-+ CheckRecursionBefore();
-+ Obj o = HDLR_3ARGS(PROF_FUNC(f))(f, a1, a2, a3);
-+ DecRecursionDepth();
-+ return o;
- }
-
- EXPORT_INLINE Obj CALL_4ARGS_PROF(Obj f, Obj a1, Obj a2, Obj a3, Obj a4)
- {
-- return HDLR_4ARGS(PROF_FUNC(f))(f, a1, a2, a3, a4);
-+ CheckRecursionBefore();
-+ Obj o = HDLR_4ARGS(PROF_FUNC(f))(f, a1, a2, a3, a4);
-+ DecRecursionDepth();
-+ return o;
- }
-
- EXPORT_INLINE Obj CALL_5ARGS_PROF(Obj f, Obj a1, Obj a2, Obj a3, Obj a4, Obj a5)
- {
-- return HDLR_5ARGS(PROF_FUNC(f))(f, a1, a2, a3, a4, a5);
-+ CheckRecursionBefore();
-+ Obj o = HDLR_5ARGS(PROF_FUNC(f))(f, a1, a2, a3, a4, a5);
-+ DecRecursionDepth();
-+ return o;
- }
-
- EXPORT_INLINE Obj CALL_6ARGS_PROF(Obj f, Obj a1, Obj a2, Obj a3, Obj a4, Obj a5, Obj a6)
- {
-- return HDLR_6ARGS(PROF_FUNC(f))(f, a1, a2, a3, a4, a5, a6);
-+ CheckRecursionBefore();
-+ Obj o = HDLR_6ARGS(PROF_FUNC(f))(f, a1, a2, a3, a4, a5, a6);
-+ DecRecursionDepth();
-+ return o;
- }
-
- EXPORT_INLINE Obj CALL_XARGS_PROF(Obj f, Obj as)
- {
-- return HDLR_XARGS(PROF_FUNC(f))(f, as);
-+ CheckRecursionBefore();
-+ Obj o = HDLR_XARGS(PROF_FUNC(f))(f, as);
-+ DecRecursionDepth();
-+ return o;
- }
-
-
--- src/funcs.c.orig 2020-02-29 02:02:10.000000000 -0700
+++ src/funcs.c 2020-03-21 08:22:21.264432840 -0600
@@ -53,8 +53,7 @@ extern inline struct FuncsModuleState *F
@@ -170,75 +10,6 @@
}
void DecRecursionDepth(void)
-@@ -403,14 +402,6 @@ void RecursionDepthTrap( void )
- }
- }
-
--#define CHECK_RECURSION_BEFORE \
-- HookedLineIntoFunction(func); \
-- CheckRecursionBefore();
--
--#define CHECK_RECURSION_AFTER \
-- DecRecursionDepth(); \
-- HookedLineOutFunction(func);
--
- #ifdef HPCGAP
-
- #define REMEMBER_LOCKSTACK() \
-@@ -464,7 +455,7 @@ static ALWAYS_INLINE Obj DoExecFunc(Obj
- {
- Bag oldLvars; /* old values bag */
- Obj result;
-- CHECK_RECURSION_BEFORE
-+ HookedLineIntoFunction(func);
-
- #ifdef HPCGAP
- REMEMBER_LOCKSTACK();
-@@ -488,7 +479,7 @@ static ALWAYS_INLINE Obj DoExecFunc(Obj
- /* switch back to the old values bag */
- SWITCH_TO_OLD_LVARS_AND_FREE( oldLvars );
-
-- CHECK_RECURSION_AFTER
-+ HookedLineOutFunction(func);
-
- /* return the result */
- return result;
-@@ -542,7 +533,7 @@ static Obj DoExecFuncXargs(Obj func, Obj
- UInt i; /* loop variable */
- Obj result;
-
-- CHECK_RECURSION_BEFORE
-+ HookedLineIntoFunction(func);
-
- /* check the number of arguments */
- len = NARG_FUNC( func );
-@@ -573,7 +564,7 @@ static Obj DoExecFuncXargs(Obj func, Obj
- /* switch back to the old values bag */
- SWITCH_TO_OLD_LVARS_AND_FREE( oldLvars );
-
-- CHECK_RECURSION_AFTER
-+ HookedLineOutFunction(func);
-
- /* return the result */
- return result;
-@@ -588,7 +579,7 @@ static Obj DoPartialUnWrapFunc(Obj func,
- UInt len;
- Obj result;
-
-- CHECK_RECURSION_BEFORE
-+ HookedLineIntoFunction(func);
-
- named = ((UInt)-NARG_FUNC(func))-1;
- len = LEN_PLIST(args);
-@@ -625,7 +616,7 @@ static Obj DoPartialUnWrapFunc(Obj func,
- /* switch back to the old values bag */
- SWITCH_TO_OLD_LVARS_AND_FREE( oldLvars );
-
-- CHECK_RECURSION_AFTER
-+ HookedLineOutFunction(func);
-
- /* return the result */
- return result;
--- src/funcs.h.orig 2020-02-29 02:02:10.000000000 -0700
+++ src/funcs.h 2020-03-21 08:15:52.136455354 -0600
@@ -55,7 +55,7 @@ void RecursionDepthTrap(void);
@@ -261,3 +32,14 @@
struct InterpreterHooks * hook; \
for (i = 0; i < HookCount; ++i) { \
hook = activeHooks[i]; \
+--- src/system.h.orig 2020-02-29 02:02:10.000000000 -0700
++++ src/system.h 2020-03-23 16:33:30.583638125 -0600
+@@ -101,7 +101,7 @@ enum {
+ *T Wrappers for various compiler attributes
+ **
+ */
+-#if defined(HAVE_FUNC_ATTRIBUTE_ALWAYS_INLINE) && !defined(GAP_KERNEL_DEBUG)
++#if 0
+ #define ALWAYS_INLINE __attribute__((always_inline)) inline
+ #else
+ #define ALWAYS_INLINE inline
diff --git a/gap.spec b/gap.spec
index 94ce88b..e2b843c 100644
--- a/gap.spec
+++ b/gap.spec
@@ -31,7 +31,7 @@
Name: gap
Version: 4.11.0
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: Computational discrete algebra
%global majver %(cut -d. -f1-2 <<< %{version})
@@ -207,6 +207,11 @@ cp -p %{SOURCE1} README.fedora
export LDFLAGS="-Wl,-z,relro -Wl,--as-needed"
export CPPFLAGS='-DSYS_DEFAULT_PATHS="\"%{gapdir}\""'
export STRIP=%{_bindir}/true
+%ifarch aarch64
+# Work around an apparent GCC inlining bug
+export CFLAGS="%{optflags} -fno-inline"
+export CXXFLAGS="%{optflags} -fno-inline"
+%endif
%configure
# Get rid of undesirable hardcoded rpaths
@@ -455,6 +460,9 @@ make check
%{_libdir}/libgap.so
%changelog
+* Mon Mar 23 2020 Jerry James <loganjerry(a)gmail.com> - 4.11.0-2
+- Turn off all inlining on aarch64 to work around possible GCC bug
+
* Fri Mar 13 2020 Jerry James <loganjerry(a)gmail.com> - 4.11.0-1
- Version 4.11.0
- Drop upstreamed -immutable patch
4 years, 1 month
Architecture specific change in rpms/gap-pkg-cvec.git
by githook-noreply@fedoraproject.org
The package rpms/gap-pkg-cvec.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/gap-pkg-cvec.git/commit/?id=b95d9....
Change:
-%ifnarch aarch64
Thanks.
Full change:
============
commit b95d9437241337127c3f99fb99f9fabb9f6d0985
Author: Jerry James <loganjerry(a)gmail.com>
Date: Mon Mar 23 21:02:20 2020 -0600
Drop aarch64 workaround.
diff --git a/gap-pkg-cvec.spec b/gap-pkg-cvec.spec
index 8f05b96..f6aee09 100644
--- a/gap-pkg-cvec.spec
+++ b/gap-pkg-cvec.spec
@@ -2,7 +2,7 @@
Name: gap-pkg-%{pkgname}
Version: 2.7.4
-Release: 4%{?dist}
+Release: 5%{?dist}
Summary: Compact vectors over finite fields
License: GPLv2+
@@ -62,8 +62,6 @@ cp -a doc example gap local test tst *.g \
rm -f %{buildroot}%{_gap_dir}/pkg/%{pkgname}-%{version}/doc/clean
rm -f %{buildroot}%{_gap_dir}/pkg/%{pkgname}-%{version}/doc/*.{aux,bbl,blg,brf,idx,ilg,ind,log,out,pnr,tex}
-# Work around a possible aarch64-specific gcc bug
-%ifnarch aarch64
%check
export LC_ALL=C.UTF-8
@@ -74,7 +72,6 @@ SetUserPreference( "AtlasRep", "AtlasRepDataDirectory", "%{_builddir}/atlasrep/"
EOF
gap -l "%{buildroot}%{_gap_dir};%{_gap_dir}" < tst/testall.g
-%endif
%files
%doc CHANGES README.md TIMINGS TODO
@@ -90,6 +87,9 @@ gap -l "%{buildroot}%{_gap_dir};%{_gap_dir}" < tst/testall.g
%{_gap_dir}/pkg/%{pkgname}-%{version}/example/
%changelog
+* Mon Mar 23 2020 Jerry James <loganjerry(a)gmail.com> - 2.7.4-5
+- Drop aarch64 workaround
+
* Thu Mar 12 2020 Jerry James <loganjerry(a)gmail.com> - 2.7.4-4
- Rebuild for gap 4.11.0
- Add atlasrep and tomlib BRs so that all tests can be run
4 years, 1 month
Architecture specific change in rpms/gap-pkg-datastructures.git
by githook-noreply@fedoraproject.org
The package rpms/gap-pkg-datastructures.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/gap-pkg-datastructures.git/commit....
Change:
-%ifnarch aarch64
Thanks.
Full change:
============
commit a011aa98517602b70115c12de2fb4a66f923598f
Author: Jerry James <loganjerry(a)gmail.com>
Date: Mon Mar 23 20:59:51 2020 -0600
Drop aarch64 workaround.
diff --git a/gap-pkg-datastructures.spec b/gap-pkg-datastructures.spec
index d388798..8cf2e74 100644
--- a/gap-pkg-datastructures.spec
+++ b/gap-pkg-datastructures.spec
@@ -2,7 +2,7 @@
Name: gap-pkg-%{pkgname}
Version: 0.2.5
-Release: 3%{?dist}
+Release: 4%{?dist}
Summary: Standard data structures for GAP
License: GPLv2+
@@ -63,12 +63,9 @@ cp -a doc gap tst *.g %{buildroot}%{_gap_dir}/pkg/%{pkgname}-%{version}
rm -f %{buildroot}%{_gap_dir}/pkg/%{pkgname}-%{version}/doc/clean
rm -f %{buildroot}%{_gap_dir}/pkg/%{pkgname}-%{version}/doc/*.{aux,bbl,blg,idx,ilg,ind,log,out,pnr,tex}
-# Work around a possible aarch64-specific gcc bug
-%ifnarch aarch64
%check
export LC_ALL=C.UTF-8
gap -l "%{buildroot}%{_gap_dir};%{_gap_dir}" < tst/testall.g
-%endif
%files
%doc CHANGES.md README.md
@@ -81,6 +78,9 @@ gap -l "%{buildroot}%{_gap_dir};%{_gap_dir}" < tst/testall.g
%{_gap_dir}/pkg/%{pkgname}-%{version}/doc/
%changelog
+* Mon Mar 23 2020 Jerry James <loganjerry(a)gmail.com> - 0.2.5-4
+- Drop aarch64 workaround
+
* Wed Mar 11 2020 Jerry James <loganjerry(a)gmail.com> - 0.2.5-3
- Rebuild for gap 4.11.0
4 years, 1 month
Architecture specific change in rpms/gap-pkg-profiling.git
by githook-noreply@fedoraproject.org
The package rpms/gap-pkg-profiling.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/gap-pkg-profiling.git/commit/?id=....
Change:
-%ifnarch aarch64
Thanks.
Full change:
============
commit 54b7456a341b75d9f46a60bfd3597bc52c4a8d6c
Author: Jerry James <loganjerry(a)gmail.com>
Date: Mon Mar 23 20:45:00 2020 -0600
Drop aarch64 workaround.
diff --git a/gap-pkg-profiling.spec b/gap-pkg-profiling.spec
index 31bf1ba..46b1761 100644
--- a/gap-pkg-profiling.spec
+++ b/gap-pkg-profiling.spec
@@ -8,7 +8,7 @@
Name: gap-pkg-%{pkgname}
Version: 2.2.1
-Release: 4.%{gitdate}.%{shortcommit}%{?dist}
+Release: 5.%{gitdate}.%{shortcommit}%{?dist}
Summary: Line by line profiling and code coverage for GAP
# src/md5.{cc,h} is Public Domain.
@@ -93,12 +93,9 @@ cp -a bin data doc gap tst VERSION *.g \
%{buildroot}%{_gap_dir}/pkg/%{pkgname}-%{version}
rm -f %{buildroot}%{_gap_dir}/pkg/%{pkgname}-%{version}/doc/*.{aux,bbl,blg,idx,ilg,ind,log,out,pnr,tex}
-# Work around a possible aarch64-specific gcc bug
-%ifnarch aarch64
%check
export LC_ALL=C.UTF-8
gap -l "%{buildroot}%{_gap_dir};%{_gap_dir}" < tst/testall.g
-%endif
%files
%doc AUTHORS HISTORY.md README
@@ -111,6 +108,9 @@ gap -l "%{buildroot}%{_gap_dir};%{_gap_dir}" < tst/testall.g
%{_gap_dir}/pkg/%{pkgname}-%{version}/doc/
%changelog
+* Mon Mar 23 2020 Jerry James <loganjerry(a)gmail.com> - 2.2.1-5.20190319.7a582bd
+- Drop aarch64 workaround
+
* Wed Mar 11 2020 Jerry James <loganjerry(a)gmail.com> - 2.2.1-4.20190319.7a582bd
- Rebuild for gap 4.11.0
4 years, 1 month