Architecture specific change in rpms/wine.git
by githook-noreply@fedoraproject.org
The package rpms/wine.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/wine.git/commit/?id=faadc28cc0665....
Change:
+%ifarch %{arm} aarch64
Thanks.
Full change:
============
commit faadc28cc066527eeae214364effc049183878d9
Author: Michael Cronenworth <mike(a)cchtml.com>
Date: Thu Jun 11 08:59:39 2020 -0500
Backout arm patches due to code rebase by upstream, this will be included in 5.11
diff --git a/wine-staging-5.10-ntdll-arm0.patch b/wine-staging-5.10-ntdll-arm0.patch
deleted file mode 100644
index 74f1f00..0000000
--- a/wine-staging-5.10-ntdll-arm0.patch
+++ /dev/null
@@ -1,964 +0,0 @@
-From 9a4c8c5631101f8571dbdce726ae864060e446c9 Mon Sep 17 00:00:00 2001
-From: Zebediah Figura <z.figura12(a)gmail.com>
-Date: Mon, 8 Jun 2020 15:59:31 -0500
-Subject: [PATCH] Rebase against 17529582402ebe27ef975fc7dcb8353f4f95e629.
-
----
- ...ase-Maintain-FLS-storage-list-in-PEB.patch | 44 ++--
- .../0001-ntdll-Add-stub-for-NtContinue.patch | 63 ------
- ...o-continue-execution-after-exception.patch | 82 --------
- patches/ntdll-NtContinue/definition | 3 -
- ...dll-Support-x86_64-syscall-emulation.patch | 14 +-
- ...mporary-signal-handler-during-proces.patch | 32 +--
- patches/patchinstall.sh | 198 ++++++++----------
- ...ate-syscall-thunks-for-ntdll-exports.patch | 34 +--
- ...e-client-side-file-descriptor-cache-.patch | 20 +-
- staging/upstream-commit | 2 +-
- 10 files changed, 156 insertions(+), 336 deletions(-)
- delete mode 100644 patches/ntdll-NtContinue/0001-ntdll-Add-stub-for-NtContinue.patch
- delete mode 100644 patches/ntdll-NtContinue/0002-Use-NtContinue-to-continue-execution-after-exception.patch
- delete mode 100644 patches/ntdll-NtContinue/definition
-
-diff --git a/patches/ntdll-FLS_Callbacks/0001-kernelbase-Maintain-FLS-storage-list-in-PEB.patch b/patches/ntdll-FLS_Callbacks/0001-kernelbase-Maintain-FLS-storage-list-in-PEB.patch
-index 1d5434bf6..40f2a0b86 100644
---- a/patches/ntdll-FLS_Callbacks/0001-kernelbase-Maintain-FLS-storage-list-in-PEB.patch
-+++ b/patches/ntdll-FLS_Callbacks/0001-kernelbase-Maintain-FLS-storage-list-in-PEB.patch
-@@ -1,4 +1,4 @@
--From 5c370d9f0be803d89302da7471ef0b93b45a0d75 Mon Sep 17 00:00:00 2001
-+From 3fe24d6e3b216c21b6a7b68766414213fdd2ff2d Mon Sep 17 00:00:00 2001
- From: Paul Gofman <pgofman(a)codeweavers.com>
- Date: Thu, 23 Apr 2020 14:32:23 +0300
- Subject: [PATCH] kernelbase: Maintain FLS storage list in PEB.
-@@ -73,10 +73,10 @@ index 7501165dc87..2bcc3ee60c4 100644
- * FlsFree should fail
- * FlsGetValue and FlsSetValue should succeed
- diff --git a/dlls/kernel32/tests/thread.c b/dlls/kernel32/tests/thread.c
--index a454bf118cc..dac30959734 100644
-+index a9869863b44..b24f9e98bc7 100644
- --- a/dlls/kernel32/tests/thread.c
- +++ b/dlls/kernel32/tests/thread.c
--@@ -2435,7 +2435,6 @@ START_TEST(thread)
-+@@ -2377,7 +2377,6 @@ START_TEST(thread)
- }
- return;
- }
-@@ -84,7 +84,7 @@ index a454bf118cc..dac30959734 100644
- test_thread_info();
- test_reserved_tls();
- test_CreateRemoteThread();
--@@ -2463,6 +2462,5 @@ START_TEST(thread)
-+@@ -2405,6 +2404,5 @@ START_TEST(thread)
- test_thread_fpu_cw();
- test_thread_actctx();
- test_thread_description();
-@@ -92,7 +92,7 @@ index a454bf118cc..dac30959734 100644
- test_threadpool();
- }
- diff --git a/dlls/kernelbase/thread.c b/dlls/kernelbase/thread.c
--index 03b16da95bb..4409f120491 100644
-+index f20d460d07d..3c77b6a42f4 100644
- --- a/dlls/kernelbase/thread.c
- +++ b/dlls/kernelbase/thread.c
- @@ -38,6 +38,10 @@
-@@ -106,7 +106,7 @@ index 03b16da95bb..4409f120491 100644
-
- /***********************************************************************
- * Threads
--@@ -916,6 +920,19 @@ static void init_fiber_context( struct fiber_data *fiber )
-+@@ -915,6 +919,19 @@ static void init_fiber_context( struct fiber_data *fiber )
- #endif
- }
-
-@@ -126,7 +126,7 @@ index 03b16da95bb..4409f120491 100644
-
- /***********************************************************************
- * CreateFiber (kernelbase.@)
--@@ -1023,7 +1040,16 @@ void WINAPI DECLSPEC_HOTPATCH DeleteFiber( LPVOID fiber_ptr )
-+@@ -1022,7 +1039,16 @@ void WINAPI DECLSPEC_HOTPATCH DeleteFiber( LPVOID fiber_ptr )
- RtlExitUserThread( 1 );
- }
- RtlFreeUserStack( fiber->stack_allocation );
-@@ -144,7 +144,7 @@ index 03b16da95bb..4409f120491 100644
- HeapFree( GetProcessHeap(), 0, fiber );
- }
-
--@@ -1045,6 +1071,19 @@ void WINAPI DECLSPEC_HOTPATCH SwitchToFiber( LPVOID fiber )
-+@@ -1044,6 +1070,19 @@ void WINAPI DECLSPEC_HOTPATCH SwitchToFiber( LPVOID fiber )
- struct fiber_data *new_fiber = fiber;
- struct fiber_data *current_fiber = NtCurrentTeb()->Tib.u.FiberData;
-
-@@ -164,7 +164,7 @@ index 03b16da95bb..4409f120491 100644
- current_fiber->except = NtCurrentTeb()->Tib.ExceptionList;
- current_fiber->stack_limit = NtCurrentTeb()->Tib.StackLimit;
- current_fiber->fls_slots = NtCurrentTeb()->FlsSlots;
--@@ -1070,9 +1109,7 @@ DWORD WINAPI DECLSPEC_HOTPATCH FlsAlloc( PFLS_CALLBACK_FUNCTION callback )
-+@@ -1069,9 +1108,7 @@ DWORD WINAPI DECLSPEC_HOTPATCH FlsAlloc( PFLS_CALLBACK_FUNCTION callback )
- PEB * const peb = NtCurrentTeb()->Peb;
-
- RtlAcquirePebLock();
-@@ -175,7 +175,7 @@ index 03b16da95bb..4409f120491 100644
- {
- SetLastError( ERROR_NOT_ENOUGH_MEMORY );
- index = FLS_OUT_OF_INDEXES;
--@@ -1082,9 +1119,7 @@ DWORD WINAPI DECLSPEC_HOTPATCH FlsAlloc( PFLS_CALLBACK_FUNCTION callback )
-+@@ -1081,9 +1118,7 @@ DWORD WINAPI DECLSPEC_HOTPATCH FlsAlloc( PFLS_CALLBACK_FUNCTION callback )
- index = RtlFindClearBitsAndSet( peb->FlsBitmap, 1, 1 );
- if (index != ~0U)
- {
-@@ -186,7 +186,7 @@ index 03b16da95bb..4409f120491 100644
- {
- RtlClearBits( peb->FlsBitmap, index, 1 );
- index = FLS_OUT_OF_INDEXES;
--@@ -1092,8 +1127,8 @@ DWORD WINAPI DECLSPEC_HOTPATCH FlsAlloc( PFLS_CALLBACK_FUNCTION callback )
-+@@ -1091,8 +1126,8 @@ DWORD WINAPI DECLSPEC_HOTPATCH FlsAlloc( PFLS_CALLBACK_FUNCTION callback )
- }
- else
- {
-@@ -197,7 +197,7 @@ index 03b16da95bb..4409f120491 100644
- }
- }
- else SetLastError( ERROR_NO_MORE_ITEMS );
--@@ -1117,7 +1152,7 @@ BOOL WINAPI DECLSPEC_HOTPATCH FlsFree( DWORD index )
-+@@ -1116,7 +1151,7 @@ BOOL WINAPI DECLSPEC_HOTPATCH FlsFree( DWORD index )
- {
- /* FIXME: call Fls callback */
- /* FIXME: add equivalent of ThreadZeroTlsCell here */
-@@ -206,7 +206,7 @@ index 03b16da95bb..4409f120491 100644
- }
- else SetLastError( ERROR_INVALID_PARAMETER );
- RtlReleasePebLock();
--@@ -1136,7 +1171,7 @@ PVOID WINAPI DECLSPEC_HOTPATCH FlsGetValue( DWORD index )
-+@@ -1135,7 +1170,7 @@ PVOID WINAPI DECLSPEC_HOTPATCH FlsGetValue( DWORD index )
- return NULL;
- }
- SetLastError( ERROR_SUCCESS );
-@@ -215,7 +215,7 @@ index 03b16da95bb..4409f120491 100644
- }
-
-
--@@ -1150,14 +1185,12 @@ BOOL WINAPI DECLSPEC_HOTPATCH FlsSetValue( DWORD index, PVOID data )
-+@@ -1149,14 +1184,12 @@ BOOL WINAPI DECLSPEC_HOTPATCH FlsSetValue( DWORD index, PVOID data )
- SetLastError( ERROR_INVALID_PARAMETER );
- return FALSE;
- }
-@@ -233,10 +233,10 @@ index 03b16da95bb..4409f120491 100644
- }
-
- diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c
--index 5e8de8821dd..71ef1cfea0a 100644
-+index ffbc9fabb23..be53d98e5b8 100644
- --- a/dlls/ntdll/loader.c
- +++ b/dlls/ntdll/loader.c
--@@ -179,6 +179,15 @@ static CRITICAL_SECTION_DEBUG dlldir_critsect_debug =
-+@@ -169,6 +169,15 @@ static CRITICAL_SECTION_DEBUG dlldir_critsect_debug =
- };
- static CRITICAL_SECTION dlldir_section = { &dlldir_critsect_debug, -1, 0, 0, 0, 0 };
-
-@@ -252,7 +252,7 @@ index 5e8de8821dd..71ef1cfea0a 100644
- static WINE_MODREF *cached_modref;
- static WINE_MODREF *current_modref;
- static WINE_MODREF *last_failed_modref;
--@@ -219,6 +228,16 @@ static RTL_UNLOAD_EVENT_TRACE unload_traces[RTL_UNLOAD_EVENT_TRACE_NUMBER];
-+@@ -209,6 +218,16 @@ static RTL_UNLOAD_EVENT_TRACE unload_traces[RTL_UNLOAD_EVENT_TRACE_NUMBER];
- static RTL_UNLOAD_EVENT_TRACE *unload_trace_ptr;
- static unsigned int unload_trace_seq;
-
-@@ -269,7 +269,7 @@ index 5e8de8821dd..71ef1cfea0a 100644
- static void module_push_unload_trace( const LDR_DATA_TABLE_ENTRY *ldr )
- {
- RTL_UNLOAD_EVENT_TRACE *ptr = &unload_traces[unload_trace_seq];
--@@ -3913,6 +3932,13 @@ void WINAPI LdrShutdownThread(void)
-+@@ -3610,6 +3629,13 @@ void WINAPI LdrShutdownThread(void)
- /* don't do any detach calls if process is exiting */
- if (process_detaching) return;
-
-@@ -283,15 +283,15 @@ index 5e8de8821dd..71ef1cfea0a 100644
- RtlEnterCriticalSection( &loader_section );
-
- mark = &NtCurrentTeb()->Peb->LdrData->InInitializationOrderModuleList;
--@@ -4153,6 +4179,7 @@ static void user_shared_data_init(void)
-+@@ -3819,6 +3845,7 @@ PIMAGE_NT_HEADERS WINAPI RtlImageNtHeader(HMODULE hModule)
- */
- void WINAPI LdrInitializeThunk( CONTEXT *context, void **entry, ULONG_PTR unknown3, ULONG_PTR unknown4 )
- {
- + static const unsigned int fls_slot_count = 8 * sizeof(NtCurrentTeb()->Peb->FlsBitmapBits);
-- static const LARGE_INTEGER zero;
- static int attach_done;
- int i;
--@@ -4191,6 +4218,25 @@ void WINAPI LdrInitializeThunk( CONTEXT *context, void **entry, ULONG_PTR unknow
-+ NTSTATUS status;
-+@@ -3856,6 +3883,25 @@ void WINAPI LdrInitializeThunk( CONTEXT *context, void **entry, ULONG_PTR unknow
- InsertHeadList( &tls_links, &NtCurrentTeb()->TlsLinks );
- RtlReleasePebLock();
-
-@@ -318,5 +318,5 @@ index 5e8de8821dd..71ef1cfea0a 100644
- {
- attach_done = 1;
- --
--2.25.3
-+2.26.2
-
-diff --git a/patches/ntdll-NtContinue/0001-ntdll-Add-stub-for-NtContinue.patch b/patches/ntdll-NtContinue/0001-ntdll-Add-stub-for-NtContinue.patch
-deleted file mode 100644
-index 7145857bd..000000000
---- a/patches/ntdll-NtContinue/0001-ntdll-Add-stub-for-NtContinue.patch
-+++ /dev/null
-@@ -1,63 +0,0 @@
--From 9ea4f081689959bd393eab2caaa0ed8237846117 Mon Sep 17 00:00:00 2001
--From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael(a)fds-team.de>
--Date: Thu, 25 May 2017 05:04:26 +0200
--Subject: [PATCH] ntdll: Add stub for NtContinue.
--
-----
-- dlls/ntdll/exception.c | 10 +++++++++-
-- dlls/ntdll/ntdll.spec | 4 ++--
-- 2 files changed, 11 insertions(+), 3 deletions(-)
--
--diff --git a/dlls/ntdll/exception.c b/dlls/ntdll/exception.c
--index c35312fd1d1..3b85f1efa04 100644
----- a/dlls/ntdll/exception.c
--+++ b/dlls/ntdll/exception.c
--@@ -328,7 +328,6 @@ LONG WINAPI call_unhandled_exception_filter( PEXCEPTION_POINTERS eptr )
-- return unhandled_exception_filter( eptr );
-- }
--
---
-- #if defined(__x86_64__) || defined(__arm__) || defined(__aarch64__)
--
-- struct dynamic_unwind_entry
--@@ -667,6 +666,15 @@ PRUNTIME_FUNCTION WINAPI RtlLookupFunctionEntry( ULONG_PTR pc, ULONG_PTR *base,
--
-- #endif /* __x86_64__ || __arm__ || __aarch64__ */
--
--+/*********************************************************************
--+ * NtContinue (NTDLL.@)
--+ */
--+NTSTATUS WINAPI NtContinue( CONTEXT *context, BOOLEAN alert )
--+{
--+ FIXME( "(%p, %d) stub!\n", context, alert );
--+ return STATUS_NOT_IMPLEMENTED;
--+}
--+
-- /*************************************************************
-- * __wine_spec_unimplemented_stub
-- *
--diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec
--index 81faf7fc280..d21a6f08ac2 100644
----- a/dlls/ntdll/ntdll.spec
--+++ b/dlls/ntdll/ntdll.spec
--@@ -150,7 +150,7 @@
-- @ stdcall NtCompleteConnectPort(ptr)
-- # @ stub NtCompressKey
-- @ stdcall NtConnectPort(ptr ptr ptr ptr ptr ptr ptr ptr)
---@ stub NtContinue
--+@ stdcall NtContinue(ptr long)
-- # @ stub NtCreateDebugObject
-- @ stdcall NtCreateDirectoryObject(ptr long ptr)
-- @ stdcall NtCreateEvent(ptr long ptr long long)
--@@ -1105,7 +1105,7 @@
-- @ stdcall -private ZwCompleteConnectPort(ptr) NtCompleteConnectPort
-- # @ stub ZwCompressKey
-- @ stdcall -private ZwConnectPort(ptr ptr ptr ptr ptr ptr ptr ptr) NtConnectPort
---@ stub ZwContinue
--+@ stdcall -private ZwContinue(ptr long) NtContinue
-- # @ stub ZwCreateDebugObject
-- @ stdcall -private ZwCreateDirectoryObject(ptr long ptr) NtCreateDirectoryObject
-- @ stdcall -private ZwCreateEvent(ptr long ptr long long) NtCreateEvent
----
--2.17.1
--
-diff --git a/patches/ntdll-NtContinue/0002-Use-NtContinue-to-continue-execution-after-exception.patch b/patches/ntdll-NtContinue/0002-Use-NtContinue-to-continue-execution-after-exception.patch
-deleted file mode 100644
-index 902940977..000000000
---- a/patches/ntdll-NtContinue/0002-Use-NtContinue-to-continue-execution-after-exception.patch
-+++ /dev/null
-@@ -1,82 +0,0 @@
--From 812de54c6fc8f93e8fda01f0802397b183adab59 Mon Sep 17 00:00:00 2001
--From: Andrew Wesie <awesie(a)gmail.com>
--Date: Fri, 27 Jul 2018 01:26:56 -0500
--Subject: [PATCH] ntdll: Use NtContinue to continue execution after exceptions.
--
--NtContinue is exported by ntdll and some programs expect it to be used to
--restore the thread context after an exception handler returns
--EXCEPTION_CONTINUE_EXECUTION. It must take a context as its first argument
--and restore that context.
--
--Current implementation is a simple wrapper around NtSetContextThread. It is
--unlikely that it has the correct behavior if called by an external caller.
--
--The __syscall_NtContinue wrapper is used so that it can be hooked by a
--third-party.
-----
-- dlls/ntdll/exception.c | 5 +++--
-- dlls/ntdll/signal_i386.c | 3 ++-
-- dlls/ntdll/signal_x86_64.c | 3 ++-
-- 3 files changed, 7 insertions(+), 4 deletions(-)
--
--diff --git a/dlls/ntdll/exception.c b/dlls/ntdll/exception.c
--index 3b85f1efa..bc972254f 100644
----- a/dlls/ntdll/exception.c
--+++ b/dlls/ntdll/exception.c
--@@ -671,8 +671,9 @@ PRUNTIME_FUNCTION WINAPI RtlLookupFunctionEntry( ULONG_PTR pc, ULONG_PTR *base,
-- */
-- NTSTATUS WINAPI NtContinue( CONTEXT *context, BOOLEAN alert )
-- {
--- FIXME( "(%p, %d) stub!\n", context, alert );
--- return STATUS_NOT_IMPLEMENTED;
--+ TRACE( "(%p, %d) stub!\n", context, alert );
--+
--+ return NtSetContextThread( GetCurrentThread(), context );
-- }
--
-- /*************************************************************
--diff --git a/dlls/ntdll/signal_i386.c b/dlls/ntdll/signal_i386.c
--index e55164630..8fc885ed4 100644
----- a/dlls/ntdll/signal_i386.c
--+++ b/dlls/ntdll/signal_i386.c
--@@ -730,6 +730,7 @@ static NTSTATUS call_stack_handlers( EXCEPTION_RECORD *rec, CONTEXT *context )
-- return STATUS_UNHANDLED_EXCEPTION;
-- }
--
--+NTSTATUS WINAPI __syscall_NtContinue( CONTEXT *context, BOOLEAN alert );
--
-- /*******************************************************************
-- * raise_exception
--@@ -794,7 +795,7 @@ static NTSTATUS raise_exception( EXCEPTION_RECORD *rec, CONTEXT *context, BOOL f
-- NtTerminateProcess( NtCurrentProcess(), rec->ExceptionCode );
-- }
-- done:
--- return NtSetContextThread( GetCurrentThread(), context );
--+ return __syscall_NtContinue( context, FALSE );
-- }
--
--
--diff --git a/dlls/ntdll/signal_x86_64.c b/dlls/ntdll/signal_x86_64.c
--index e48529d73..0e74fda43 100644
----- a/dlls/ntdll/signal_x86_64.c
--+++ b/dlls/ntdll/signal_x86_64.c
--@@ -2520,6 +2520,7 @@ static NTSTATUS call_stack_handlers( EXCEPTION_RECORD *rec, CONTEXT *orig_contex
-- return STATUS_UNHANDLED_EXCEPTION;
-- }
--
--+NTSTATUS WINAPI __syscall_NtContinue( CONTEXT *context, BOOLEAN alert );
--
-- static NTSTATUS raise_exception( EXCEPTION_RECORD *rec, CONTEXT *context, BOOL first_chance )
-- {
--@@ -2582,7 +2583,7 @@ static NTSTATUS raise_exception( EXCEPTION_RECORD *rec, CONTEXT *context, BOOL f
-- }
--
-- done:
--- return NtSetContextThread( GetCurrentThread(), context );
--+ return __syscall_NtContinue( context, FALSE );
-- }
--
--
----
--2.23.0
--
-diff --git a/patches/ntdll-NtContinue/definition b/patches/ntdll-NtContinue/definition
-deleted file mode 100644
-index 06c2ebf9e..000000000
---- a/patches/ntdll-NtContinue/definition
-+++ /dev/null
-@@ -1,3 +0,0 @@
--Fixes: [31910] Add stub for NtContinue
--Fixes: [45572] League of Legends 8.12+ fails to start a game (anticheat engine, hooking of NtContinue)
--Depends: winebuild-Fake_Dlls
-\ No newline at end of file
-diff --git a/patches/ntdll-Syscall_Emulation/0001-ntdll-Support-x86_64-syscall-emulation.patch b/patches/ntdll-Syscall_Emulation/0001-ntdll-Support-x86_64-syscall-emulation.patch
-index 4ae5fcdfa..0a39d4355 100644
---- a/patches/ntdll-Syscall_Emulation/0001-ntdll-Support-x86_64-syscall-emulation.patch
-+++ b/patches/ntdll-Syscall_Emulation/0001-ntdll-Support-x86_64-syscall-emulation.patch
-@@ -1,4 +1,4 @@
--From 20298be5a42af52be27c56f88ad6a8a0304b55b6 Mon Sep 17 00:00:00 2001
-+From cd04d1910294b035bb3858b3ef1bb295aec3a732 Mon Sep 17 00:00:00 2001
- From: Paul Gofman <pgofman(a)codeweavers.com>
- Date: Mon, 30 Dec 2019 13:27:53 +0300
- Subject: [PATCH] ntdll: Support x86_64 syscall emulation.
-@@ -15,7 +15,7 @@ is used for trapping syscalls.
- 3 files changed, 119 insertions(+), 2 deletions(-)
-
- diff --git a/configure.ac b/configure.ac
--index e3d63ed7501..2fbec4129df 100644
-+index e61a98455c3..4adeb52d225 100644
- --- a/configure.ac
- +++ b/configure.ac
- @@ -464,6 +464,7 @@ AC_CHECK_HEADERS(\
-@@ -27,7 +27,7 @@ index e3d63ed7501..2fbec4129df 100644
- linux/types.h \
- linux/ucdrom.h \
- diff --git a/dlls/ntdll/signal_x86_64.c b/dlls/ntdll/signal_x86_64.c
--index 0ccc7cbceb6..149ad1bf5e7 100644
-+index dd8b45fa907..a5612abf2b1 100644
- --- a/dlls/ntdll/signal_x86_64.c
- +++ b/dlls/ntdll/signal_x86_64.c
- @@ -24,6 +24,7 @@
-@@ -61,8 +61,8 @@ index 0ccc7cbceb6..149ad1bf5e7 100644
- typedef struct _SCOPE_TABLE
- {
- ULONG Count;
--@@ -2797,6 +2807,104 @@ static void usr1_handler( int signal, siginfo_t *siginfo, void *ucontext )
-- restore_context( &context, ucontext );
-+@@ -2480,6 +2490,104 @@ static inline DWORD is_privileged_instr( CONTEXT *context )
-+ return 0;
- }
-
- +extern unsigned int __wine_nb_syscalls;
-@@ -165,8 +165,8 @@ index 0ccc7cbceb6..149ad1bf5e7 100644
- +}
-
- /***********************************************************************
-- * __wine_set_signal_handler (NTDLL.@)
--@@ -2842,6 +2950,9 @@ void signal_init_process(void)
-+ * handle_interrupt
-+@@ -2793,6 +2901,9 @@ void signal_init_process(void)
- sig_act.sa_sigaction = trap_handler;
- if (sigaction( SIGTRAP, &sig_act, NULL ) == -1) goto error;
- #endif
-diff --git a/patches/ntdll-WRITECOPY/0003-ntdll-Setup-a-temporary-signal-handler-during-proces.patch b/patches/ntdll-WRITECOPY/0003-ntdll-Setup-a-temporary-signal-handler-during-proces.patch
-index d6e9a6824..db0631234 100644
---- a/patches/ntdll-WRITECOPY/0003-ntdll-Setup-a-temporary-signal-handler-during-proces.patch
-+++ b/patches/ntdll-WRITECOPY/0003-ntdll-Setup-a-temporary-signal-handler-during-proces.patch
-@@ -1,4 +1,4 @@
--From 46968c583a30476a86463530d0047699e64529b5 Mon Sep 17 00:00:00 2001
-+From bd60a4308f3ec1df20328887335b4c95f9be215d Mon Sep 17 00:00:00 2001
- From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael(a)fds-team.de>
- Date: Sat, 4 Oct 2014 02:53:22 +0200
- Subject: [PATCH] ntdll: Setup a temporary signal handler during process
-@@ -27,10 +27,10 @@ index 65c65cc02d8..63a4b597872 100644
- extern void debug_init(void) DECLSPEC_HIDDEN;
- extern TEB *thread_init( SIZE_T *info_size, BOOL *suspend ) DECLSPEC_HIDDEN;
- diff --git a/dlls/ntdll/signal_arm.c b/dlls/ntdll/signal_arm.c
--index 8ff9f66d3f0..44e3d2df523 100644
-+index a09848449a6..c6f7231fec6 100644
- --- a/dlls/ntdll/signal_arm.c
- +++ b/dlls/ntdll/signal_arm.c
--@@ -773,6 +773,12 @@ void signal_init_process(void)
-+@@ -792,6 +792,12 @@ void signal_init_process(void)
- exit(1);
- }
-
-@@ -44,11 +44,11 @@ index 8ff9f66d3f0..44e3d2df523 100644
- /***********************************************************************
- * RtlUnwind (NTDLL.@)
- diff --git a/dlls/ntdll/signal_arm64.c b/dlls/ntdll/signal_arm64.c
--index 104ffbf6df9..e7c6abd0046 100644
-+index a9a58a2e7ad..a9c6614794e 100644
- --- a/dlls/ntdll/signal_arm64.c
- +++ b/dlls/ntdll/signal_arm64.c
--@@ -1100,6 +1100,12 @@ int CDECL __wine_set_signal_handler(unsigned int sig, wine_signal_handler wsh)
-- return 0;
-+@@ -1047,6 +1047,12 @@ static void usr2_handler( int signal, siginfo_t *siginfo, void *sigcontext )
-+ restore_context( context, sigcontext );
- }
-
- +/**********************************************************************
-@@ -61,10 +61,10 @@ index 104ffbf6df9..e7c6abd0046 100644
- /**********************************************************************
- * signal_init_process
- diff --git a/dlls/ntdll/signal_i386.c b/dlls/ntdll/signal_i386.c
--index 1b0b9352a87..0fe9f7a3c84 100644
-+index 83868f25121..b048b2bc688 100644
- --- a/dlls/ntdll/signal_i386.c
- +++ b/dlls/ntdll/signal_i386.c
--@@ -1621,6 +1621,31 @@ static BOOL handle_interrupt( unsigned int interrupt, ucontext_t *sigcontext, st
-+@@ -1575,6 +1575,31 @@ static BOOL handle_interrupt( unsigned int interrupt, ucontext_t *sigcontext, st
- }
-
-
-@@ -96,7 +96,7 @@ index 1b0b9352a87..0fe9f7a3c84 100644
- /**********************************************************************
- * segv_handler
- *
--@@ -1948,6 +1973,34 @@ void signal_init_process(void)
-+@@ -1883,6 +1908,34 @@ void signal_init_process(void)
- exit(1);
- }
-
-@@ -132,11 +132,11 @@ index 1b0b9352a87..0fe9f7a3c84 100644
- /*******************************************************************
- * RtlUnwind (NTDLL.@)
- diff --git a/dlls/ntdll/signal_powerpc.c b/dlls/ntdll/signal_powerpc.c
--index 7e73322cbeb..07f0b89f30a 100644
-+index 879b2b58c49..f17d6267102 100644
- --- a/dlls/ntdll/signal_powerpc.c
- +++ b/dlls/ntdll/signal_powerpc.c
--@@ -637,6 +637,12 @@ int CDECL __wine_set_signal_handler(unsigned int sig, wine_signal_handler wsh)
-- return 0;
-+@@ -634,6 +634,12 @@ static void quit_handler( int signal, siginfo_t *siginfo, void *sigcontext )
-+ unix_funcs->abort_thread(0);
- }
-
- +/**********************************************************************
-@@ -147,12 +147,12 @@ index 7e73322cbeb..07f0b89f30a 100644
- +}
-
- /**********************************************************************
-- * signal_init_process
-+ * usr1_handler
- diff --git a/dlls/ntdll/signal_x86_64.c b/dlls/ntdll/signal_x86_64.c
--index 0ccc7cbceb6..dc8a1a987c5 100644
-+index c6b0fbf618d..bb481ba1b81 100644
- --- a/dlls/ntdll/signal_x86_64.c
- +++ b/dlls/ntdll/signal_x86_64.c
--@@ -2849,6 +2849,12 @@ void signal_init_process(void)
-+@@ -2777,6 +2777,12 @@ void signal_init_process(void)
- exit(1);
- }
-
-@@ -166,7 +166,7 @@ index 0ccc7cbceb6..dc8a1a987c5 100644
- static ULONG64 get_int_reg( CONTEXT *context, int reg )
- {
- diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c
--index 8918b39a9c5..a2f5df1b1c2 100644
-+index d045466f6d2..49daa33ca58 100644
- --- a/dlls/ntdll/thread.c
- +++ b/dlls/ntdll/thread.c
- @@ -186,6 +186,7 @@ TEB *thread_init( SIZE_T *info_size, BOOL *suspend )
-diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh
-index c5ff8c0b3..9c2ce4ce0 100755
---- a/patches/patchinstall.sh
-+++ b/patches/patchinstall.sh
-@@ -52,7 +52,7 @@ usage()
- # Get the upstream commit sha
- upstream_commit()
- {
-- echo "3cc3b445752902e07231900befc296f74ad6576e"
-+ echo "17529582402ebe27ef975fc7dcb8353f4f95e629"
- }
-
- # Show version information
-@@ -183,7 +183,6 @@ patch_enable_all ()
- enable_ntdll_Junction_Points="$1"
- enable_ntdll_Manifest_Range="$1"
- enable_ntdll_NtAccessCheck="$1"
-- enable_ntdll_NtContinue="$1"
- enable_ntdll_NtDevicePath="$1"
- enable_ntdll_NtQueryEaFile="$1"
- enable_ntdll_NtQuerySection="$1"
-@@ -648,9 +647,6 @@ patch_enable ()
- ntdll-NtAccessCheck)
- enable_ntdll_NtAccessCheck="$2"
- ;;
-- ntdll-NtContinue)
-- enable_ntdll_NtContinue="$2"
-- ;;
- ntdll-NtDevicePath)
- enable_ntdll_NtDevicePath="$2"
- ;;
-@@ -1672,6 +1668,17 @@ if test "$enable_ntdll_Syscall_Emulation" -eq 1; then
- enable_winebuild_Fake_Dlls=1
- fi
-
-+if test "$enable_winebuild_Fake_Dlls" -eq 1; then
-+ if test "$enable_ntdll_WRITECOPY" -gt 1; then
-+ abort "Patchset ntdll-WRITECOPY disabled, but winebuild-Fake_Dlls depends on that."
-+ fi
-+ if test "$enable_ws2_32_WSACleanup" -gt 1; then
-+ abort "Patchset ws2_32-WSACleanup disabled, but winebuild-Fake_Dlls depends on that."
-+ fi
-+ enable_ntdll_WRITECOPY=1
-+ enable_ws2_32_WSACleanup=1
-+fi
-+
- if test "$enable_ntdll_NtQueryEaFile" -eq 1; then
- if test "$enable_ntdll_Junction_Points" -gt 1; then
- abort "Patchset ntdll-Junction_Points disabled, but ntdll-NtQueryEaFile depends on that."
-@@ -1686,24 +1693,6 @@ if test "$enable_ntdll_NtDevicePath" -eq 1; then
- enable_ntdll_Pipe_SpecialCharacters=1
- fi
-
--if test "$enable_ntdll_NtContinue" -eq 1; then
-- if test "$enable_winebuild_Fake_Dlls" -gt 1; then
-- abort "Patchset winebuild-Fake_Dlls disabled, but ntdll-NtContinue depends on that."
-- fi
-- enable_winebuild_Fake_Dlls=1
--fi
--
--if test "$enable_winebuild_Fake_Dlls" -eq 1; then
-- if test "$enable_ntdll_WRITECOPY" -gt 1; then
-- abort "Patchset ntdll-WRITECOPY disabled, but winebuild-Fake_Dlls depends on that."
-- fi
-- if test "$enable_ws2_32_WSACleanup" -gt 1; then
-- abort "Patchset ws2_32-WSACleanup disabled, but winebuild-Fake_Dlls depends on that."
-- fi
-- enable_ntdll_WRITECOPY=1
-- enable_ws2_32_WSACleanup=1
--fi
--
- if test "$enable_ntdll_Hide_Wine_Exports" -eq 1; then
- if test "$enable_advapi32_Token_Integrity_Level" -gt 1; then
- abort "Patchset advapi32-Token_Integrity_Level disabled, but ntdll-Hide_Wine_Exports depends on that."
-@@ -3977,98 +3966,6 @@ if test "$enable_ntdll_NtAccessCheck" -eq 1; then
- ) >> "$patchlist"
- fi
-
--# Patchset ws2_32-WSACleanup
--# |
--# | This patchset fixes the following Wine bugs:
--# | * [#18670] Properly close sockets when WSACleanup is called
--# |
--# | Modified files:
--# | * dlls/ntdll/ntdll.spec, dlls/ntdll/server.c, dlls/ntdll/unix/loader.c, dlls/ntdll/unix/server.c,
--# | dlls/ntdll/unix/unix_private.h, dlls/ntdll/unixlib.h, dlls/ws2_32/socket.c, dlls/ws2_32/tests/sock.c,
--# | include/wine/server.h, server/protocol.def, server/sock.c
--# |
--if test "$enable_ws2_32_WSACleanup" -eq 1; then
-- patch_apply ws2_32-WSACleanup/0001-ws2_32-Proper-WSACleanup-implementation-using-winese.patch
-- patch_apply ws2_32-WSACleanup/0002-ws2_32-Invalidate-client-side-file-descriptor-cache-.patch
-- (
-- printf '%s\n' '+ { "Matt Durgavich", "ws2_32: Proper WSACleanup implementation using wineserver function.", 2 },';
-- printf '%s\n' '+ { "Sebastian Lackner", "ws2_32: Invalidate client-side file descriptor cache in WSACleanup.", 1 },';
-- ) >> "$patchlist"
--fi
--
--# Patchset winebuild-Fake_Dlls
--# |
--# | This patchset has the following (direct or indirect) dependencies:
--# | * ntdll-WRITECOPY, ws2_32-WSACleanup
--# |
--# | This patchset fixes the following Wine bugs:
--# | * [#21232] Chromium-based browser engines (Chrome, Opera, Comodo Dragon, SRWare Iron) crash on startup unless '--no-
--# | sandbox' is used (native API sandboxing/hooking scheme incompatible with Wine)
--# | * [#42741] StarCraft I: 1.18 PTR fails to initialize ClientSdk.dll
--# | * [#45349] Multiple applications and games crash due to missing support for 64-bit syscall thunks (StreetFighter V)
--# | * [#45573] League of Legends 8.12+ fails to start a game (anticheat engine, hooking of syscall return instructions)
--# | * [#45650] chromium 32-bit sandbox expects different syscall thunks depending on Windows version
--# |
--# | Modified files:
--# | * dlls/dbghelp/cpu_i386.c, dlls/kernel32/tests/loader.c, dlls/krnl386.exe16/kernel.c,
--# | dlls/krnl386.exe16/kernel16_private.h, dlls/krnl386.exe16/ne_module.c, dlls/krnl386.exe16/ne_segment.c,
--# | dlls/krnl386.exe16/task.c, dlls/krnl386.exe16/thunk.c, dlls/krnl386.exe16/wowthunk.c, dlls/ntdll/actctx.c,
--# | dlls/ntdll/directory.c, dlls/ntdll/loader.c, dlls/ntdll/locale.c, dlls/ntdll/ntdll_misc.h, dlls/ntdll/path.c,
--# | dlls/ntdll/process.c, dlls/ntdll/signal_i386.c, dlls/ntdll/tests/exception.c, dlls/ntdll/thread.c,
--# | dlls/ntdll/unix/thread.c, dlls/ntdll/unix/unix_private.h, dlls/ntdll/unix/virtual.c, dlls/ntdll/unixlib.h,
--# | dlls/system.drv16/system.c, dlls/toolhelp.dll16/toolhelp.c, dlls/user.exe16/message.c, dlls/user.exe16/user.c,
--# | dlls/user.exe16/window.c, include/winternl.h, libs/wine/loader.c, server/mapping.c, tools/winebuild/build.h,
--# | tools/winebuild/import.c, tools/winebuild/parser.c, tools/winebuild/relay.c, tools/winebuild/res32.c,
--# | tools/winebuild/spec16.c, tools/winebuild/spec32.c, tools/winebuild/utils.c
--# |
--if test "$enable_winebuild_Fake_Dlls" -eq 1; then
-- patch_apply winebuild-Fake_Dlls/0001-kernel32-tests-Add-basic-tests-for-fake-dlls.patch
-- patch_apply winebuild-Fake_Dlls/0002-krnl386.exe16-Do-not-abuse-WOW32Reserved-field-for-1.patch
-- patch_apply winebuild-Fake_Dlls/0003-winebuild-Generate-syscall-thunks-for-ntdll-exports.patch
-- patch_apply winebuild-Fake_Dlls/0004-winebuild-Use-multipass-label-system-to-generate-fak.patch
-- patch_apply winebuild-Fake_Dlls/0005-winebuild-Add-stub-functions-in-fake-dlls.patch
-- patch_apply winebuild-Fake_Dlls/0006-winebuild-Add-syscall-thunks-in-fake-dlls.patch
-- patch_apply winebuild-Fake_Dlls/0007-winebuild-Fix-size-of-relocation-information-in-fake.patch
-- patch_apply winebuild-Fake_Dlls/0008-winebuild-Try-to-make-sure-RVA-matches-between-fake-.patch
-- patch_apply winebuild-Fake_Dlls/0009-libs-wine-Use-same-file-alignment-for-fake-and-built.patch
-- patch_apply winebuild-Fake_Dlls/0010-tools-winebuild-Add-syscall-thunks-for-64-bit.patch
-- patch_apply winebuild-Fake_Dlls/0011-ntdll-Call-NtOpenFile-through-syscall-thunk.patch
-- (
-- printf '%s\n' '+ { "Michael Müller", "kernel32/tests: Add basic tests for fake dlls.", 1 },';
-- printf '%s\n' '+ { "Sebastian Lackner", "krnl386.exe16: Do not abuse WOW32Reserved field for 16-bit stack address.", 1 },';
-- printf '%s\n' '+ { "Michael Müller", "winebuild: Generate syscall thunks for ntdll exports.", 1 },';
-- printf '%s\n' '+ { "Michael Müller", "winebuild: Use multipass label system to generate fake dlls.", 1 },';
-- printf '%s\n' '+ { "Michael Müller", "winebuild: Add stub functions in fake dlls.", 1 },';
-- printf '%s\n' '+ { "Michael Müller", "winebuild: Add syscall thunks in fake dlls.", 1 },';
-- printf '%s\n' '+ { "Michael Müller", "winebuild: Fix size of relocation information in fake dlls.", 1 },';
-- printf '%s\n' '+ { "Michael Müller", "winebuild: Try to make sure RVA matches between fake and builtin DLLs.", 1 },';
-- printf '%s\n' '+ { "Michael Müller", "libs/wine: Use same file alignment for fake and builtin DLLs.", 1 },';
-- printf '%s\n' '+ { "Michael Müller", "tools/winebuild: Add syscall thunks for 64 bit.", 1 },';
-- printf '%s\n' '+ { "Paul Gofman", "ntdll: Call NtOpenFile through syscall thunk.", 1 },';
-- ) >> "$patchlist"
--fi
--
--# Patchset ntdll-NtContinue
--# |
--# | This patchset has the following (direct or indirect) dependencies:
--# | * ntdll-WRITECOPY, ws2_32-WSACleanup, winebuild-Fake_Dlls
--# |
--# | This patchset fixes the following Wine bugs:
--# | * [#31910] Add stub for NtContinue
--# | * [#45572] League of Legends 8.12+ fails to start a game (anticheat engine, hooking of NtContinue)
--# |
--# | Modified files:
--# | * dlls/ntdll/exception.c, dlls/ntdll/ntdll.spec, dlls/ntdll/signal_i386.c, dlls/ntdll/signal_x86_64.c
--# |
--if test "$enable_ntdll_NtContinue" -eq 1; then
-- patch_apply ntdll-NtContinue/0001-ntdll-Add-stub-for-NtContinue.patch
-- patch_apply ntdll-NtContinue/0002-Use-NtContinue-to-continue-execution-after-exception.patch
-- (
-- printf '%s\n' '+ { "Michael Müller", "ntdll: Add stub for NtContinue.", 1 },';
-- printf '%s\n' '+ { "Andrew Wesie", "ntdll: Use NtContinue to continue execution after exceptions.", 1 },';
-- ) >> "$patchlist"
--fi
--
- # Patchset ntdll-Pipe_SpecialCharacters
- # |
- # | This patchset fixes the following Wine bugs:
-@@ -4213,6 +4110,77 @@ if test "$enable_ntdll_Status_Mapping" -eq 1; then
- ) >> "$patchlist"
- fi
-
-+# Patchset ws2_32-WSACleanup
-+# |
-+# | This patchset fixes the following Wine bugs:
-+# | * [#18670] Properly close sockets when WSACleanup is called
-+# |
-+# | Modified files:
-+# | * dlls/ntdll/ntdll.spec, dlls/ntdll/server.c, dlls/ntdll/unix/loader.c, dlls/ntdll/unix/server.c,
-+# | dlls/ntdll/unix/unix_private.h, dlls/ntdll/unixlib.h, dlls/ws2_32/socket.c, dlls/ws2_32/tests/sock.c,
-+# | include/wine/server.h, server/protocol.def, server/sock.c
-+# |
-+if test "$enable_ws2_32_WSACleanup" -eq 1; then
-+ patch_apply ws2_32-WSACleanup/0001-ws2_32-Proper-WSACleanup-implementation-using-winese.patch
-+ patch_apply ws2_32-WSACleanup/0002-ws2_32-Invalidate-client-side-file-descriptor-cache-.patch
-+ (
-+ printf '%s\n' '+ { "Matt Durgavich", "ws2_32: Proper WSACleanup implementation using wineserver function.", 2 },';
-+ printf '%s\n' '+ { "Sebastian Lackner", "ws2_32: Invalidate client-side file descriptor cache in WSACleanup.", 1 },';
-+ ) >> "$patchlist"
-+fi
-+
-+# Patchset winebuild-Fake_Dlls
-+# |
-+# | This patchset has the following (direct or indirect) dependencies:
-+# | * ntdll-WRITECOPY, ws2_32-WSACleanup
-+# |
-+# | This patchset fixes the following Wine bugs:
-+# | * [#21232] Chromium-based browser engines (Chrome, Opera, Comodo Dragon, SRWare Iron) crash on startup unless '--no-
-+# | sandbox' is used (native API sandboxing/hooking scheme incompatible with Wine)
-+# | * [#42741] StarCraft I: 1.18 PTR fails to initialize ClientSdk.dll
-+# | * [#45349] Multiple applications and games crash due to missing support for 64-bit syscall thunks (StreetFighter V)
-+# | * [#45573] League of Legends 8.12+ fails to start a game (anticheat engine, hooking of syscall return instructions)
-+# | * [#45650] chromium 32-bit sandbox expects different syscall thunks depending on Windows version
-+# |
-+# | Modified files:
-+# | * dlls/dbghelp/cpu_i386.c, dlls/kernel32/tests/loader.c, dlls/krnl386.exe16/kernel.c,
-+# | dlls/krnl386.exe16/kernel16_private.h, dlls/krnl386.exe16/ne_module.c, dlls/krnl386.exe16/ne_segment.c,
-+# | dlls/krnl386.exe16/task.c, dlls/krnl386.exe16/thunk.c, dlls/krnl386.exe16/wowthunk.c, dlls/ntdll/actctx.c,
-+# | dlls/ntdll/directory.c, dlls/ntdll/loader.c, dlls/ntdll/locale.c, dlls/ntdll/ntdll_misc.h, dlls/ntdll/path.c,
-+# | dlls/ntdll/process.c, dlls/ntdll/signal_i386.c, dlls/ntdll/tests/exception.c, dlls/ntdll/thread.c,
-+# | dlls/ntdll/unix/thread.c, dlls/ntdll/unix/unix_private.h, dlls/ntdll/unix/virtual.c, dlls/ntdll/unixlib.h,
-+# | dlls/system.drv16/system.c, dlls/toolhelp.dll16/toolhelp.c, dlls/user.exe16/message.c, dlls/user.exe16/user.c,
-+# | dlls/user.exe16/window.c, include/winternl.h, libs/wine/loader.c, server/mapping.c, tools/winebuild/build.h,
-+# | tools/winebuild/import.c, tools/winebuild/parser.c, tools/winebuild/relay.c, tools/winebuild/res32.c,
-+# | tools/winebuild/spec16.c, tools/winebuild/spec32.c, tools/winebuild/utils.c
-+# |
-+if test "$enable_winebuild_Fake_Dlls" -eq 1; then
-+ patch_apply winebuild-Fake_Dlls/0001-kernel32-tests-Add-basic-tests-for-fake-dlls.patch
-+ patch_apply winebuild-Fake_Dlls/0002-krnl386.exe16-Do-not-abuse-WOW32Reserved-field-for-1.patch
-+ patch_apply winebuild-Fake_Dlls/0003-winebuild-Generate-syscall-thunks-for-ntdll-exports.patch
-+ patch_apply winebuild-Fake_Dlls/0004-winebuild-Use-multipass-label-system-to-generate-fak.patch
-+ patch_apply winebuild-Fake_Dlls/0005-winebuild-Add-stub-functions-in-fake-dlls.patch
-+ patch_apply winebuild-Fake_Dlls/0006-winebuild-Add-syscall-thunks-in-fake-dlls.patch
-+ patch_apply winebuild-Fake_Dlls/0007-winebuild-Fix-size-of-relocation-information-in-fake.patch
-+ patch_apply winebuild-Fake_Dlls/0008-winebuild-Try-to-make-sure-RVA-matches-between-fake-.patch
-+ patch_apply winebuild-Fake_Dlls/0009-libs-wine-Use-same-file-alignment-for-fake-and-built.patch
-+ patch_apply winebuild-Fake_Dlls/0010-tools-winebuild-Add-syscall-thunks-for-64-bit.patch
-+ patch_apply winebuild-Fake_Dlls/0011-ntdll-Call-NtOpenFile-through-syscall-thunk.patch
-+ (
-+ printf '%s\n' '+ { "Michael Müller", "kernel32/tests: Add basic tests for fake dlls.", 1 },';
-+ printf '%s\n' '+ { "Sebastian Lackner", "krnl386.exe16: Do not abuse WOW32Reserved field for 16-bit stack address.", 1 },';
-+ printf '%s\n' '+ { "Michael Müller", "winebuild: Generate syscall thunks for ntdll exports.", 1 },';
-+ printf '%s\n' '+ { "Michael Müller", "winebuild: Use multipass label system to generate fake dlls.", 1 },';
-+ printf '%s\n' '+ { "Michael Müller", "winebuild: Add stub functions in fake dlls.", 1 },';
-+ printf '%s\n' '+ { "Michael Müller", "winebuild: Add syscall thunks in fake dlls.", 1 },';
-+ printf '%s\n' '+ { "Michael Müller", "winebuild: Fix size of relocation information in fake dlls.", 1 },';
-+ printf '%s\n' '+ { "Michael Müller", "winebuild: Try to make sure RVA matches between fake and builtin DLLs.", 1 },';
-+ printf '%s\n' '+ { "Michael Müller", "libs/wine: Use same file alignment for fake and builtin DLLs.", 1 },';
-+ printf '%s\n' '+ { "Michael Müller", "tools/winebuild: Add syscall thunks for 64 bit.", 1 },';
-+ printf '%s\n' '+ { "Paul Gofman", "ntdll: Call NtOpenFile through syscall thunk.", 1 },';
-+ ) >> "$patchlist"
-+fi
-+
- # Patchset ntdll-Syscall_Emulation
- # |
- # | This patchset has the following (direct or indirect) dependencies:
-diff --git a/patches/winebuild-Fake_Dlls/0003-winebuild-Generate-syscall-thunks-for-ntdll-exports.patch b/patches/winebuild-Fake_Dlls/0003-winebuild-Generate-syscall-thunks-for-ntdll-exports.patch
-index 751b497da..684c28e16 100644
---- a/patches/winebuild-Fake_Dlls/0003-winebuild-Generate-syscall-thunks-for-ntdll-exports.patch
-+++ b/patches/winebuild-Fake_Dlls/0003-winebuild-Generate-syscall-thunks-for-ntdll-exports.patch
-@@ -1,4 +1,4 @@
--From 1fec139d96f32869fc0c8d15219fff493d9951d8 Mon Sep 17 00:00:00 2001
-+From e60eb454ecfb4c043a585c1ecd2970c92be1c664 Mon Sep 17 00:00:00 2001
- From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael(a)fds-team.de>
- Date: Thu, 11 May 2017 05:32:55 +0200
- Subject: [PATCH] winebuild: Generate syscall thunks for ntdll exports.
-@@ -22,7 +22,7 @@ Based on a patch by Erich E. Hoover.
- 14 files changed, 214 insertions(+), 32 deletions(-)
-
- diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c
--index 45d32399adf..b42cff8bcd4 100644
-+index ffbc9fabb23..a633099877d 100644
- --- a/dlls/ntdll/loader.c
- +++ b/dlls/ntdll/loader.c
- @@ -3810,6 +3810,7 @@ PIMAGE_NT_HEADERS WINAPI RtlImageNtHeader(HMODULE hModule)
-@@ -33,7 +33,7 @@ index 45d32399adf..b42cff8bcd4 100644
-
- /******************************************************************
- * LdrInitializeThunk (NTDLL.@)
--@@ -3827,6 +3828,8 @@ void WINAPI LdrInitializeThunk( CONTEXT *context, void **entry, ULONG_PTR unknow
-+@@ -3826,6 +3827,8 @@ void WINAPI LdrInitializeThunk( CONTEXT *context, void **entry, ULONG_PTR unknow
- WINE_MODREF *wm;
- LPCWSTR load_path = NtCurrentTeb()->Peb->ProcessParameters->DllPath.Buffer;
-
-@@ -43,19 +43,19 @@ index 45d32399adf..b42cff8bcd4 100644
-
- if (process_detaching) return;
- diff --git a/dlls/ntdll/signal_i386.c b/dlls/ntdll/signal_i386.c
--index be88d9bf3c7..84ab7991886 100644
-+index 3be6342a945..85329be4f42 100644
- --- a/dlls/ntdll/signal_i386.c
- +++ b/dlls/ntdll/signal_i386.c
--@@ -448,6 +448,8 @@ static ULONG first_ldt_entry = 32;
-+@@ -444,6 +444,8 @@ struct stack_layout
-
-- static wine_signal_handler handlers[256];
-+ static ULONG first_ldt_entry = 32;
-
- +extern NTSTATUS WINAPI __syscall_NtGetContextThread( HANDLE handle, CONTEXT *context );
- +
- enum i386_trap_code
- {
- TRAP_x86_UNKNOWN = -1, /* Unknown fault (TRAP_sig not defined) */
--@@ -1159,7 +1161,7 @@ NTSTATUS CDECL DECLSPEC_HIDDEN __regs_NtGetContextThread( DWORD edi, DWORD esi,
-+@@ -1127,7 +1129,7 @@ NTSTATUS CDECL DECLSPEC_HIDDEN __regs_NtGetContextThread( DWORD edi, DWORD esi,
- {
- context->Ebp = ebp;
- context->Esp = (DWORD)&retaddr;
-@@ -78,7 +78,7 @@ index a5e6faa461a..51938bf84cc 100644
- ok( context.SegCs == LOWORD(expect.SegCs), "wrong SegCs %08x/%08x\n", context.SegCs, expect.SegCs );
- ok( context.SegDs == LOWORD(expect.SegDs), "wrong SegDs %08x/%08x\n", context.SegDs, expect.SegDs );
- diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c
--index 79d13a01a86..94eb6d1252d 100644
-+index 49daa33ca58..17b5d40215a 100644
- --- a/dlls/ntdll/thread.c
- +++ b/dlls/ntdll/thread.c
- @@ -173,6 +173,7 @@ int __cdecl __wine_dbg_output( const char *str )
-@@ -99,10 +99,10 @@ index 79d13a01a86..94eb6d1252d 100644
- peb = teb->Peb;
- peb->FastPebLock = &peb_lock;
- diff --git a/dlls/ntdll/unix/thread.c b/dlls/ntdll/unix/thread.c
--index b6458da61ad..a158ec20a6a 100644
-+index d4b7a51a627..bdc87e4b9cf 100644
- --- a/dlls/ntdll/unix/thread.c
- +++ b/dlls/ntdll/unix/thread.c
--@@ -83,7 +83,7 @@ static void pthread_exit_wrapper( int status )
-+@@ -85,7 +85,7 @@ static void pthread_exit_wrapper( int status )
- * init_threading
- */
- TEB * CDECL init_threading( int *nb_threads_ptr, struct ldt_copy **ldt_copy, SIZE_T *size, BOOL *suspend,
-@@ -111,7 +111,7 @@ index b6458da61ad..a158ec20a6a 100644
- {
- TEB *teb;
- SIZE_T info_size;
--@@ -95,6 +95,7 @@ TEB * CDECL init_threading( int *nb_threads_ptr, struct ldt_copy **ldt_copy, SIZ
-+@@ -97,6 +97,7 @@ TEB * CDECL init_threading( int *nb_threads_ptr, struct ldt_copy **ldt_copy, SIZ
- nb_threads = nb_threads_ptr;
-
- teb = virtual_alloc_first_teb();
-@@ -120,10 +120,10 @@ index b6458da61ad..a158ec20a6a 100644
- thread_data->request_fd = -1;
- thread_data->reply_fd = -1;
- diff --git a/dlls/ntdll/unix/unix_private.h b/dlls/ntdll/unix/unix_private.h
--index 880e3aacf33..6c7b961e95a 100644
-+index 19104f0f5cc..bdf8bc99e3f 100644
- --- a/dlls/ntdll/unix/unix_private.h
- +++ b/dlls/ntdll/unix/unix_private.h
--@@ -96,7 +96,7 @@ extern void CDECL server_release_fd( HANDLE handle, int unix_fd ) DECLSPEC_HIDDE
-+@@ -101,7 +101,7 @@ extern void CDECL server_release_fd( HANDLE handle, int unix_fd ) DECLSPEC_HIDDE
- extern void CDECL server_init_process_done(void) DECLSPEC_HIDDEN;
- extern TEB * CDECL init_threading( int *nb_threads_ptr, struct ldt_copy **ldt_copy, SIZE_T *size,
- BOOL *suspend, unsigned int *cpus, BOOL *wow64,
-@@ -133,19 +133,19 @@ index 880e3aacf33..6c7b961e95a 100644
- extern void CDECL DECLSPEC_NORETURN abort_thread( int status ) DECLSPEC_HIDDEN;
- extern void CDECL DECLSPEC_NORETURN exit_thread( int status ) DECLSPEC_HIDDEN;
- diff --git a/dlls/ntdll/unixlib.h b/dlls/ntdll/unixlib.h
--index 83c9f3a163b..63728b1c071 100644
-+index 6a751993421..4e39ed53786 100644
- --- a/dlls/ntdll/unixlib.h
- +++ b/dlls/ntdll/unixlib.h
- @@ -28,7 +28,7 @@ struct ldt_copy;
- struct msghdr;
-
- /* increment this when you change the function table */
---#define NTDLL_UNIXLIB_VERSION 31
--+#define NTDLL_UNIXLIB_VERSION 32
-+-#define NTDLL_UNIXLIB_VERSION 33
-++#define NTDLL_UNIXLIB_VERSION 34
-
- struct unix_funcs
- {
--@@ -172,7 +172,7 @@ struct unix_funcs
-+@@ -174,7 +174,7 @@ struct unix_funcs
-
- /* thread/process functions */
- TEB * (CDECL *init_threading)( int *nb_threads_ptr, struct ldt_copy **ldt_copy, SIZE_T *size,
-diff --git a/patches/ws2_32-WSACleanup/0002-ws2_32-Invalidate-client-side-file-descriptor-cache-.patch b/patches/ws2_32-WSACleanup/0002-ws2_32-Invalidate-client-side-file-descriptor-cache-.patch
-index 25c315648..0861f99c0 100644
---- a/patches/ws2_32-WSACleanup/0002-ws2_32-Invalidate-client-side-file-descriptor-cache-.patch
-+++ b/patches/ws2_32-WSACleanup/0002-ws2_32-Invalidate-client-side-file-descriptor-cache-.patch
-@@ -1,4 +1,4 @@
--From 1bb20ff5903d8d5e81e8a2b7b22bf67b189b16ec Mon Sep 17 00:00:00 2001
-+From 20661308a50202350a3a2887cbd558b1e931aad1 Mon Sep 17 00:00:00 2001
- From: Sebastian Lackner <sebastian(a)fds-team.de>
- Date: Sun, 6 Sep 2015 12:41:17 +0200
- Subject: [PATCH] ws2_32: Invalidate client-side file descriptor cache in
-@@ -17,7 +17,7 @@ Subject: [PATCH] ws2_32: Invalidate client-side file descriptor cache in
- 9 files changed, 36 insertions(+), 5 deletions(-)
-
- diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec
--index c4d78128758..3d6c8850086 100644
-+index ce5c580bd54..279845ae830 100644
- --- a/dlls/ntdll/ntdll.spec
- +++ b/dlls/ntdll/ntdll.spec
- @@ -1576,6 +1576,7 @@
-@@ -48,10 +48,10 @@ index 6fb86a68d6f..2f95e190963 100644
- /***********************************************************************
- * server_init_process
- diff --git a/dlls/ntdll/unix/loader.c b/dlls/ntdll/unix/loader.c
--index b5ee692024c..d8827b147df 100644
-+index 618e3d6adb3..bdda739897b 100644
- --- a/dlls/ntdll/unix/loader.c
- +++ b/dlls/ntdll/unix/loader.c
--@@ -1074,6 +1074,7 @@ static struct unix_funcs unix_funcs =
-+@@ -1076,6 +1076,7 @@ static struct unix_funcs unix_funcs =
- server_select,
- server_wait,
- server_send_fd,
-@@ -91,10 +91,10 @@ index fb3f98dd579..0754928cfe8 100644
- /***********************************************************************
- * server_get_unix_fd
- diff --git a/dlls/ntdll/unix/unix_private.h b/dlls/ntdll/unix/unix_private.h
--index a422fd825ed..880e3aacf33 100644
-+index 03b92f9e912..19104f0f5cc 100644
- --- a/dlls/ntdll/unix/unix_private.h
- +++ b/dlls/ntdll/unix/unix_private.h
--@@ -84,6 +84,7 @@ extern unsigned int CDECL server_select( const select_op_t *select_op, data_size
-+@@ -89,6 +89,7 @@ extern unsigned int CDECL server_select( const select_op_t *select_op, data_size
- extern unsigned int CDECL server_wait( const select_op_t *select_op, data_size_t size, UINT flags,
- const LARGE_INTEGER *timeout ) DECLSPEC_HIDDEN;
- extern void CDECL server_send_fd( int fd ) DECLSPEC_HIDDEN;
-@@ -103,19 +103,19 @@ index a422fd825ed..880e3aacf33 100644
- int *needs_close, enum server_fd_type *type,
- unsigned int *options ) DECLSPEC_HIDDEN;
- diff --git a/dlls/ntdll/unixlib.h b/dlls/ntdll/unixlib.h
--index 58bdad19397..83c9f3a163b 100644
-+index 017a0a71b3f..6a751993421 100644
- --- a/dlls/ntdll/unixlib.h
- +++ b/dlls/ntdll/unixlib.h
- @@ -28,7 +28,7 @@ struct ldt_copy;
- struct msghdr;
-
- /* increment this when you change the function table */
---#define NTDLL_UNIXLIB_VERSION 30
--+#define NTDLL_UNIXLIB_VERSION 31
-+-#define NTDLL_UNIXLIB_VERSION 32
-++#define NTDLL_UNIXLIB_VERSION 33
-
- struct unix_funcs
- {
--@@ -187,6 +187,7 @@ struct unix_funcs
-+@@ -189,6 +189,7 @@ struct unix_funcs
- unsigned int (CDECL *server_wait)( const select_op_t *select_op, data_size_t size, UINT flags,
- const LARGE_INTEGER *timeout );
- void (CDECL *server_send_fd)( int fd );
-diff --git a/staging/upstream-commit b/staging/upstream-commit
-index f51939b28..8b37e5310 100644
---- a/staging/upstream-commit
-+++ b/staging/upstream-commit
-@@ -1 +1 @@
--3cc3b445752902e07231900befc296f74ad6576e
-+17529582402ebe27ef975fc7dcb8353f4f95e629
diff --git a/wine-staging-5.10-ntdll-arm1.patch b/wine-staging-5.10-ntdll-arm1.patch
deleted file mode 100644
index 56a6f4f..0000000
--- a/wine-staging-5.10-ntdll-arm1.patch
+++ /dev/null
@@ -1,950 +0,0 @@
-From 5306e1df11e772fe8125fcd5857e52cf1f83430b Mon Sep 17 00:00:00 2001
-From: Paul Gofman <gofmanp(a)gmail.com>
-Date: Thu, 11 Jun 2020 15:23:12 +0300
-Subject: [PATCH] Updated winebuild-Fake_Dlls patchset.
-
-Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49357
----
- ...-tests-Add-basic-tests-for-fake-dlls.patch | 8 +--
- ...-not-abuse-WOW32Reserved-field-for-1.patch | 36 ++++++-------
- ...ate-syscall-thunks-for-ntdll-exports.patch | 53 +++++++++++--------
- ...ltipass-label-system-to-generate-fak.patch | 10 ++--
- ...uild-Add-stub-functions-in-fake-dlls.patch | 36 ++++++-------
- ...uild-Add-syscall-thunks-in-fake-dlls.patch | 8 +--
- ...ze-of-relocation-information-in-fake.patch | 4 +-
- ...-make-sure-RVA-matches-between-fake-.patch | 10 ++--
- ...me-file-alignment-for-fake-and-built.patch | 8 +--
- ...ebuild-Add-syscall-thunks-for-64-bit.patch | 39 ++++++--------
- ...all-NtOpenFile-through-syscall-thunk.patch | 32 +++++------
- 11 files changed, 123 insertions(+), 121 deletions(-)
-
-diff --git a/patches/winebuild-Fake_Dlls/0001-kernel32-tests-Add-basic-tests-for-fake-dlls.patch b/patches/winebuild-Fake_Dlls/0001-kernel32-tests-Add-basic-tests-for-fake-dlls.patch
-index ef056cfcf..21d69fd59 100644
---- a/patches/winebuild-Fake_Dlls/0001-kernel32-tests-Add-basic-tests-for-fake-dlls.patch
-+++ b/patches/winebuild-Fake_Dlls/0001-kernel32-tests-Add-basic-tests-for-fake-dlls.patch
-@@ -1,4 +1,4 @@
--From de68d5c0e6bd728788bbec09100ea59802b8ff13 Mon Sep 17 00:00:00 2001
-+From 8b88aa45856684e63786425f72886f2ac57b3630 Mon Sep 17 00:00:00 2001
- From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael(a)fds-team.de>
- Date: Thu, 25 May 2017 07:02:46 +0200
- Subject: [PATCH] kernel32/tests: Add basic tests for fake dlls.
-@@ -8,10 +8,10 @@ Subject: [PATCH] kernel32/tests: Add basic tests for fake dlls.
- 1 file changed, 91 insertions(+)
-
- diff --git a/dlls/kernel32/tests/loader.c b/dlls/kernel32/tests/loader.c
--index 5474d543248..4e7a15970cb 100644
-+index ef8c47c04f1a..efd5a25a432d 100644
- --- a/dlls/kernel32/tests/loader.c
- +++ b/dlls/kernel32/tests/loader.c
--@@ -1535,6 +1535,96 @@ static void test_filenames(void)
-+@@ -1572,6 +1572,96 @@ static void test_filenames(void)
- DeleteFileA( long_path );
- }
-
-@@ -108,7 +108,7 @@ index 5474d543248..4e7a15970cb 100644
- /* Verify linking style of import descriptors */
- static void test_ImportDescriptors(void)
- {
--@@ -3997,6 +4087,7 @@ START_TEST(loader)
-+@@ -4094,6 +4184,7 @@ START_TEST(loader)
- return;
- }
-
-diff --git a/patches/winebuild-Fake_Dlls/0002-krnl386.exe16-Do-not-abuse-WOW32Reserved-field-for-1.patch b/patches/winebuild-Fake_Dlls/0002-krnl386.exe16-Do-not-abuse-WOW32Reserved-field-for-1.patch
-index 15aaa85df..ae98c2798 100644
---- a/patches/winebuild-Fake_Dlls/0002-krnl386.exe16-Do-not-abuse-WOW32Reserved-field-for-1.patch
-+++ b/patches/winebuild-Fake_Dlls/0002-krnl386.exe16-Do-not-abuse-WOW32Reserved-field-for-1.patch
-@@ -1,4 +1,4 @@
--From 25d08438aba3dee16c79ce3168a4f76f39816fad Mon Sep 17 00:00:00 2001
-+From 7af81866f286e60f601d1c3f9bfe8592a794d21d Mon Sep 17 00:00:00 2001
- From: Sebastian Lackner <sebastian(a)fds-team.de>
- Date: Tue, 16 May 2017 04:37:52 +0200
- Subject: [PATCH] krnl386.exe16: Do not abuse WOW32Reserved field for 16-bit
-@@ -24,7 +24,7 @@ Subject: [PATCH] krnl386.exe16: Do not abuse WOW32Reserved field for 16-bit
- 16 files changed, 78 insertions(+), 77 deletions(-)
-
- diff --git a/dlls/dbghelp/cpu_i386.c b/dlls/dbghelp/cpu_i386.c
--index fd808a0d324..7d6723977a2 100644
-+index fd808a0d3248..7d6723977a29 100644
- --- a/dlls/dbghelp/cpu_i386.c
- +++ b/dlls/dbghelp/cpu_i386.c
- @@ -213,16 +213,16 @@ static BOOL i386_stack_walk(struct cpu_stack_walk *csw, STACKFRAME64 *frame,
-@@ -48,7 +48,7 @@ index fd808a0d324..7d6723977a2 100644
- }
- next_switch = p;
- diff --git a/dlls/krnl386.exe16/kernel.c b/dlls/krnl386.exe16/kernel.c
--index 07a57d0d937..89ea5c042e7 100644
-+index 07a57d0d9372..89ea5c042e71 100644
- --- a/dlls/krnl386.exe16/kernel.c
- +++ b/dlls/krnl386.exe16/kernel.c
- @@ -47,8 +47,8 @@ static void thread_attach(void)
-@@ -72,7 +72,7 @@ index 07a57d0d937..89ea5c042e7 100644
- }
-
- diff --git a/dlls/krnl386.exe16/kernel16_private.h b/dlls/krnl386.exe16/kernel16_private.h
--index f15934daa0e..9f939a9d5ba 100644
-+index f15934daa0e4..9f939a9d5bac 100644
- --- a/dlls/krnl386.exe16/kernel16_private.h
- +++ b/dlls/krnl386.exe16/kernel16_private.h
- @@ -169,7 +169,7 @@ extern THHOOK *pThhook DECLSPEC_HIDDEN;
-@@ -119,7 +119,7 @@ index f15934daa0e..9f939a9d5ba 100644
-
- static inline struct kernel_thread_data *kernel_get_thread_data(void)
- diff --git a/dlls/krnl386.exe16/ne_module.c b/dlls/krnl386.exe16/ne_module.c
--index f1e1a14dd67..c951a18f869 100644
-+index f1e1a14dd679..c951a18f8699 100644
- --- a/dlls/krnl386.exe16/ne_module.c
- +++ b/dlls/krnl386.exe16/ne_module.c
- @@ -1208,7 +1208,7 @@ DWORD NE_StartTask(void)
-@@ -143,7 +143,7 @@ index f1e1a14dd67..c951a18f869 100644
- WOWCallback16Ex( 0, WCB16_REGS, 0, NULL, (DWORD *)&context );
- ExitThread( LOWORD(context.Eax) );
- diff --git a/dlls/krnl386.exe16/ne_segment.c b/dlls/krnl386.exe16/ne_segment.c
--index aa886148029..70eb3360914 100644
-+index aa8861480298..70eb33609144 100644
- --- a/dlls/krnl386.exe16/ne_segment.c
- +++ b/dlls/krnl386.exe16/ne_segment.c
- @@ -370,9 +370,9 @@ BOOL NE_LoadSegment( NE_MODULE *pModule, WORD segnum )
-@@ -209,7 +209,7 @@ index aa886148029..70eb3360914 100644
- args[7] = HIWORD(dwReason);
- args[6] = LOWORD(dwReason);
- diff --git a/dlls/krnl386.exe16/task.c b/dlls/krnl386.exe16/task.c
--index 39a60cb97a9..21de62c5a01 100644
-+index 39a60cb97a94..21de62c5a015 100644
- --- a/dlls/krnl386.exe16/task.c
- +++ b/dlls/krnl386.exe16/task.c
- @@ -624,7 +624,7 @@ void WINAPI InitTask16( CONTEXT *context )
-@@ -267,7 +267,7 @@ index 39a60cb97a9..21de62c5a01 100644
- context->Esp = OFFSETOF(pData->old_ss_sp) - sizeof(DWORD); /*ret addr*/
- pData->old_ss_sp = 0;
- diff --git a/dlls/krnl386.exe16/thunk.c b/dlls/krnl386.exe16/thunk.c
--index e913a08f88c..ecc94371488 100644
-+index e913a08f88cc..ecc94371488f 100644
- --- a/dlls/krnl386.exe16/thunk.c
- +++ b/dlls/krnl386.exe16/thunk.c
- @@ -429,7 +429,7 @@ void WINAPI __regs_QT_Thunk( CONTEXT *context )
-@@ -413,7 +413,7 @@ index e913a08f88c..ecc94371488 100644
- if (OFFSETOF(frame32->frame16) > lpbuf[2])
- {
- diff --git a/dlls/krnl386.exe16/wowthunk.c b/dlls/krnl386.exe16/wowthunk.c
--index 2dddbf93289..3a4b104a673 100644
-+index 2dddbf932898..3a4b104a673f 100644
- --- a/dlls/krnl386.exe16/wowthunk.c
- +++ b/dlls/krnl386.exe16/wowthunk.c
- @@ -127,7 +127,7 @@ static DWORD call16_handler( EXCEPTION_RECORD *record, EXCEPTION_REGISTRATION_RE
-@@ -473,7 +473,7 @@ index 2dddbf93289..3a4b104a673 100644
- }
- }
- diff --git a/dlls/ntdll/unix/signal_i386.c b/dlls/ntdll/unix/signal_i386.c
--index 2928f314358..138f56b94eb 100644
-+index ac34f86a5883..55f1e2ce4b23 100644
- --- a/dlls/ntdll/unix/signal_i386.c
- +++ b/dlls/ntdll/unix/signal_i386.c
- @@ -645,7 +645,7 @@ static inline void *init_handler( const ucontext_t *sigcontext )
-@@ -486,7 +486,7 @@ index 2928f314358..138f56b94eb 100644
- return (void *)(ESP_sig(sigcontext) & ~3);
- }
- diff --git a/dlls/system.drv16/system.c b/dlls/system.drv16/system.c
--index b6fd51c05f0..695ad7b6003 100644
-+index b6fd51c05f01..695ad7b60039 100644
- --- a/dlls/system.drv16/system.c
- +++ b/dlls/system.drv16/system.c
- @@ -70,7 +70,7 @@ static void CALLBACK SYSTEM_TimerTick( LPVOID arg, DWORD low, DWORD high )
-@@ -499,7 +499,7 @@ index b6fd51c05f0..695ad7b6003 100644
-
- WOWCallback16Ex( 0, WCB16_REGS, 0, NULL, (DWORD *)&context );
- diff --git a/dlls/toolhelp.dll16/toolhelp.c b/dlls/toolhelp.dll16/toolhelp.c
--index 578d1ae7fab..1077f0b0367 100644
-+index 578d1ae7faba..1077f0b03672 100644
- --- a/dlls/toolhelp.dll16/toolhelp.c
- +++ b/dlls/toolhelp.dll16/toolhelp.c
- @@ -491,8 +491,8 @@ BOOL16 WINAPI TaskNext16( TASKENTRY *lpte )
-@@ -523,7 +523,7 @@ index 578d1ae7fab..1077f0b0367 100644
- WORD user = LoadLibrary16( "USER.EXE" );
- WORD gdi = LoadLibrary16( "GDI.EXE" );
- diff --git a/dlls/user.exe16/message.c b/dlls/user.exe16/message.c
--index e3ca3fd779d..fa9388ceaa1 100644
-+index e3ca3fd779d3..fa9388ceaa11 100644
- --- a/dlls/user.exe16/message.c
- +++ b/dlls/user.exe16/message.c
- @@ -240,11 +240,11 @@ static LRESULT call_window_proc16( HWND16 hwnd, UINT16 msg, WPARAM16 wParam, LPA
-@@ -595,7 +595,7 @@ index e3ca3fd779d..fa9388ceaa1 100644
-
- stack16->ds = GetWindowLongPtrW( hwnd, GWLP_HINSTANCE );
- diff --git a/dlls/user.exe16/user.c b/dlls/user.exe16/user.c
--index 27b92793836..deec596f766 100644
-+index 27b92793836a..deec596f7660 100644
- --- a/dlls/user.exe16/user.c
- +++ b/dlls/user.exe16/user.c
- @@ -1394,7 +1394,7 @@ DWORD WINAPI GetTabbedTextExtent16( HDC16 hdc, LPCSTR lpstr, INT16 count,
-@@ -617,7 +617,7 @@ index 27b92793836..deec596f766 100644
- int userPercent, gdiPercent;
-
- diff --git a/dlls/user.exe16/window.c b/dlls/user.exe16/window.c
--index bf86719325b..1f53bdc9540 100644
-+index bf86719325b8..1f53bdc95402 100644
- --- a/dlls/user.exe16/window.c
- +++ b/dlls/user.exe16/window.c
- @@ -456,7 +456,7 @@ HWND16 WINAPI GetParent16( HWND16 hwnd )
-@@ -630,10 +630,10 @@ index bf86719325b..1f53bdc9540 100644
- /* don't use WIN_Handle32 here, we don't care about the full handle */
- return IsWindow( HWND_32(hwnd) );
- diff --git a/include/winternl.h b/include/winternl.h
--index acbce20c212..68c1ae3fd82 100644
-+index 87eb0d32926b..2d9f54b89d8c 100644
- --- a/include/winternl.h
- +++ b/include/winternl.h
--@@ -362,7 +362,7 @@ typedef struct _TEB
-+@@ -363,7 +363,7 @@ typedef struct _TEB
- PVOID WOW32Reserved; /* 0c0/0100 */
- ULONG CurrentLocale; /* 0c4/0108 */
- ULONG FpSoftwareStatusRegister; /* 0c8/010c */
-@@ -643,7 +643,7 @@ index acbce20c212..68c1ae3fd82 100644
- ACTIVATION_CONTEXT_STACK ActivationContextStack; /* 1a8/02c8 */
- BYTE SpareBytes1[24]; /* 1bc/02e8 */
- diff --git a/tools/winebuild/relay.c b/tools/winebuild/relay.c
--index 29d0a74c833..01bb97e02b4 100644
-+index 29d0a74c833c..01bb97e02b4c 100644
- --- a/tools/winebuild/relay.c
- +++ b/tools/winebuild/relay.c
- @@ -31,7 +31,7 @@
-diff --git a/patches/winebuild-Fake_Dlls/0003-winebuild-Generate-syscall-thunks-for-ntdll-exports.patch b/patches/winebuild-Fake_Dlls/0003-winebuild-Generate-syscall-thunks-for-ntdll-exports.patch
-index 547e27f8f..a0487f91b 100644
---- a/patches/winebuild-Fake_Dlls/0003-winebuild-Generate-syscall-thunks-for-ntdll-exports.patch
-+++ b/patches/winebuild-Fake_Dlls/0003-winebuild-Generate-syscall-thunks-for-ntdll-exports.patch
-@@ -1,4 +1,4 @@
--From 0c4d2573b123f2198f74292133b7a6eefa472620 Mon Sep 17 00:00:00 2001
-+From d8ff827f7a94aee2bed89c620120af0a148ca81c Mon Sep 17 00:00:00 2001
- From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael(a)fds-team.de>
- Date: Thu, 11 May 2017 05:32:55 +0200
- Subject: [PATCH] winebuild: Generate syscall thunks for ntdll exports.
-@@ -8,7 +8,7 @@ Based on a patch by Erich E. Hoover.
- dlls/ntdll/loader.c | 3 +
- dlls/ntdll/signal_i386.c | 4 +-
- dlls/ntdll/tests/exception.c | 2 +
-- dlls/ntdll/thread.c | 3 +-
-+ dlls/ntdll/thread.c | 10 +++-
- dlls/ntdll/unix/thread.c | 3 +-
- dlls/ntdll/unix/unix_private.h | 2 +-
- dlls/ntdll/unixlib.h | 4 +-
-@@ -19,13 +19,13 @@ Based on a patch by Erich E. Hoover.
- tools/winebuild/spec16.c | 22 +------
- tools/winebuild/spec32.c | 104 +++++++++++++++++++++++++++++++++
- tools/winebuild/utils.c | 21 +++++++
-- 14 files changed, 214 insertions(+), 32 deletions(-)
-+ 14 files changed, 221 insertions(+), 32 deletions(-)
-
- diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c
--index 0c8f05285c4..26c540050dc 100644
-+index 2553b0b9d397..cac6aae2f3dd 100644
- --- a/dlls/ntdll/loader.c
- +++ b/dlls/ntdll/loader.c
--@@ -3810,6 +3810,7 @@ PIMAGE_NT_HEADERS WINAPI RtlImageNtHeader(HMODULE hModule)
-+@@ -4021,6 +4021,7 @@ PIMAGE_NT_HEADERS WINAPI RtlImageNtHeader(HMODULE hModule)
- return ret;
- }
-
-@@ -33,7 +33,7 @@ index 0c8f05285c4..26c540050dc 100644
-
- /******************************************************************
- * LdrInitializeThunk (NTDLL.@)
--@@ -3826,6 +3827,8 @@ void WINAPI LdrInitializeThunk( CONTEXT *context, void **entry, ULONG_PTR unknow
-+@@ -4038,6 +4039,8 @@ void WINAPI LdrInitializeThunk( CONTEXT *context, void **entry, ULONG_PTR unknow
- WINE_MODREF *wm;
- LPCWSTR load_path = NtCurrentTeb()->Peb->ProcessParameters->DllPath.Buffer;
-
-@@ -43,7 +43,7 @@ index 0c8f05285c4..26c540050dc 100644
-
- RtlEnterCriticalSection( &loader_section );
- diff --git a/dlls/ntdll/signal_i386.c b/dlls/ntdll/signal_i386.c
--index 21cc1b3ead4..18be5693a7d 100644
-+index 21cc1b3ead40..18be5693a7d2 100644
- --- a/dlls/ntdll/signal_i386.c
- +++ b/dlls/ntdll/signal_i386.c
- @@ -346,6 +346,8 @@ __ASM_STDCALL_FUNC( RtlCaptureContext, 4,
-@@ -65,7 +65,7 @@ index 21cc1b3ead4..18be5693a7d 100644
- }
- return unix_funcs->NtGetContextThread( handle, context );
- diff --git a/dlls/ntdll/tests/exception.c b/dlls/ntdll/tests/exception.c
--index a5e6faa461a..51938bf84cc 100644
-+index 1389a542cdee..54796476e25b 100644
- --- a/dlls/ntdll/tests/exception.c
- +++ b/dlls/ntdll/tests/exception.c
- @@ -1643,6 +1643,8 @@ static void test_thread_context(void)
-@@ -78,18 +78,25 @@ index a5e6faa461a..51938bf84cc 100644
- ok( context.SegCs == LOWORD(expect.SegCs), "wrong SegCs %08x/%08x\n", context.SegCs, expect.SegCs );
- ok( context.SegDs == LOWORD(expect.SegDs), "wrong SegDs %08x/%08x\n", context.SegDs, expect.SegDs );
- diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c
--index 5a6809638ae..fa10cdf1062 100644
-+index ff5fe9d6226a..e93498b27ea0 100644
- --- a/dlls/ntdll/thread.c
- +++ b/dlls/ntdll/thread.c
--@@ -170,6 +170,7 @@ int __cdecl __wine_dbg_output( const char *str )
-+@@ -220,6 +220,14 @@ int __cdecl __wine_dbg_output( const char *str )
- return unix_funcs->dbg_output( str );
- }
-
-++#if defined(__i386__) || defined(__x86_64__)
- +extern void DECLSPEC_NORETURN __wine_syscall_dispatcher( void );
-++#else
-++void __wine_syscall_dispatcher( void )
-++{
-++ FIXME("Syscall dispatcher is not available for this architecture.\n");
-++}
-++#endif
-
- /***********************************************************************
- * thread_init
--@@ -181,7 +182,7 @@ int __cdecl __wine_dbg_output( const char *str )
-+@@ -231,7 +239,7 @@ int __cdecl __wine_dbg_output( const char *str )
- TEB *thread_init( SIZE_T *info_size, BOOL *suspend )
- {
- TEB *teb = unix_funcs->init_threading( &nb_threads, &__wine_ldt_copy, info_size, suspend, &server_cpus,
-@@ -99,7 +106,7 @@ index 5a6809638ae..fa10cdf1062 100644
- peb = teb->Peb;
- peb->FastPebLock = &peb_lock;
- diff --git a/dlls/ntdll/unix/thread.c b/dlls/ntdll/unix/thread.c
--index 97b191e1a5b..2dbaa43e731 100644
-+index 97b191e1a5b3..2dbaa43e731a 100644
- --- a/dlls/ntdll/unix/thread.c
- +++ b/dlls/ntdll/unix/thread.c
- @@ -85,7 +85,7 @@ static void pthread_exit_wrapper( int status )
-@@ -120,10 +127,10 @@ index 97b191e1a5b..2dbaa43e731 100644
- thread_data->request_fd = -1;
- thread_data->reply_fd = -1;
- diff --git a/dlls/ntdll/unix/unix_private.h b/dlls/ntdll/unix/unix_private.h
--index 19dd216fc35..a1c48a52606 100644
-+index 92a58417827b..33a551e947c2 100644
- --- a/dlls/ntdll/unix/unix_private.h
- +++ b/dlls/ntdll/unix/unix_private.h
--@@ -107,7 +107,7 @@ extern void CDECL server_release_fd( HANDLE handle, int unix_fd ) DECLSPEC_HIDDE
-+@@ -108,7 +108,7 @@ extern void CDECL server_release_fd( HANDLE handle, int unix_fd ) DECLSPEC_HIDDE
- extern void CDECL server_init_process_done( void *relay ) DECLSPEC_HIDDEN;
- extern TEB * CDECL init_threading( int *nb_threads_ptr, struct ldt_copy **ldt_copy, SIZE_T *size,
- BOOL *suspend, unsigned int *cpus, BOOL *wow64,
-@@ -133,7 +140,7 @@ index 19dd216fc35..a1c48a52606 100644
- extern void CDECL DECLSPEC_NORETURN exit_process( int status ) DECLSPEC_HIDDEN;
- extern NTSTATUS CDECL get_thread_ldt_entry( HANDLE handle, void *data, ULONG len, ULONG *ret_len ) DECLSPEC_HIDDEN;
- diff --git a/dlls/ntdll/unixlib.h b/dlls/ntdll/unixlib.h
--index 4c580c49d13..4f0080db03d 100644
-+index 4c580c49d139..4f0080db03d9 100644
- --- a/dlls/ntdll/unixlib.h
- +++ b/dlls/ntdll/unixlib.h
- @@ -28,7 +28,7 @@ struct ldt_copy;
-@@ -155,10 +162,10 @@ index 4c580c49d13..4f0080db03d 100644
- void (CDECL *exit_process)( int status );
- NTSTATUS (CDECL *get_thread_ldt_entry)( HANDLE handle, void *data, ULONG len, ULONG *ret_len );
- diff --git a/include/winternl.h b/include/winternl.h
--index 68c1ae3fd82..f2da9157aab 100644
-+index 2d9f54b89d8c..0c15a0ee6c34 100644
- --- a/include/winternl.h
- +++ b/include/winternl.h
--@@ -359,7 +359,7 @@ typedef struct _TEB
-+@@ -360,7 +360,7 @@ typedef struct _TEB
- PVOID CsrClientThread; /* 03c/0070 */
- PVOID Win32ThreadInfo; /* 040/0078 */
- ULONG Win32ClientInfo[31]; /* 044/0080 used for user32 private data in Wine */
-@@ -168,7 +175,7 @@ index 68c1ae3fd82..f2da9157aab 100644
- ULONG FpSoftwareStatusRegister; /* 0c8/010c */
- PVOID SystemReserved1[54]; /* 0cc/0110 used for krnl386.exe16 private data in Wine */
- diff --git a/tools/winebuild/build.h b/tools/winebuild/build.h
--index c162888a035..55d5b0b9dc2 100644
-+index c162888a0356..55d5b0b9dc28 100644
- --- a/tools/winebuild/build.h
- +++ b/tools/winebuild/build.h
- @@ -105,6 +105,7 @@ typedef struct
-@@ -216,7 +223,7 @@ index c162888a035..55d5b0b9dc2 100644
-
- extern int byte_swapped;
- diff --git a/tools/winebuild/import.c b/tools/winebuild/import.c
--index 04ab433dd65..0c6bafed8e5 100644
-+index 04ab433dd65a..0c6bafed8e54 100644
- --- a/tools/winebuild/import.c
- +++ b/tools/winebuild/import.c
- @@ -531,6 +531,7 @@ static void check_undefined_forwards( DLLSPEC *spec )
-@@ -256,7 +263,7 @@ index 04ab433dd65..0c6bafed8e5 100644
- }
- }
- diff --git a/tools/winebuild/parser.c b/tools/winebuild/parser.c
--index 0f2b9c1e10a..74216f8bb6e 100644
-+index 0f2b9c1e10ad..74216f8bb6e7 100644
- --- a/tools/winebuild/parser.c
- +++ b/tools/winebuild/parser.c
- @@ -543,6 +543,24 @@ static const char *parse_spec_flags( DLLSPEC *spec, ORDDEF *odp )
-@@ -347,7 +354,7 @@ index 0f2b9c1e10a..74216f8bb6e 100644
- }
-
- diff --git a/tools/winebuild/spec16.c b/tools/winebuild/spec16.c
--index a52c03aaa6a..15ef9a3f893 100644
-+index a52c03aaa6a7..15ef9a3f8930 100644
- --- a/tools/winebuild/spec16.c
- +++ b/tools/winebuild/spec16.c
- @@ -495,27 +495,6 @@ static int relay_type_compare( const void *e1, const void *e2 )
-@@ -387,7 +394,7 @@ index a52c03aaa6a..15ef9a3f893 100644
- entry_point->u.func.nb_args = 0;
- assert( !spec->ordinals[0] );
- diff --git a/tools/winebuild/spec32.c b/tools/winebuild/spec32.c
--index b1e20e0484d..22dd399cb2b 100644
-+index b1e20e0484dc..22dd399cb2b4 100644
- --- a/tools/winebuild/spec32.c
- +++ b/tools/winebuild/spec32.c
- @@ -374,6 +374,109 @@ static void output_relay_debug( DLLSPEC *spec )
-@@ -509,7 +516,7 @@ index b1e20e0484d..22dd399cb2b 100644
- output_exports( spec );
- output_imports( spec );
- diff --git a/tools/winebuild/utils.c b/tools/winebuild/utils.c
--index 2a1fc960926..07a579004ad 100644
-+index 2a1fc960926b..07a579004adc 100644
- --- a/tools/winebuild/utils.c
- +++ b/tools/winebuild/utils.c
- @@ -860,6 +860,7 @@ void free_dll_spec( DLLSPEC *spec )
-diff --git a/patches/winebuild-Fake_Dlls/0004-winebuild-Use-multipass-label-system-to-generate-fak.patch b/patches/winebuild-Fake_Dlls/0004-winebuild-Use-multipass-label-system-to-generate-fak.patch
-index 6c3984f8b..d4813799e 100644
---- a/patches/winebuild-Fake_Dlls/0004-winebuild-Use-multipass-label-system-to-generate-fak.patch
-+++ b/patches/winebuild-Fake_Dlls/0004-winebuild-Use-multipass-label-system-to-generate-fak.patch
-@@ -1,4 +1,4 @@
--From 15182deeb13e26abdb3067a77353354726ac82aa Mon Sep 17 00:00:00 2001
-+From 344eb39bdfee74d4d826fa2f61a95736f0ee9823 Mon Sep 17 00:00:00 2001
- From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael(a)fds-team.de>
- Date: Mon, 15 May 2017 02:05:49 +0200
- Subject: [PATCH] winebuild: Use multipass label system to generate fake dlls.
-@@ -11,7 +11,7 @@ Subject: [PATCH] winebuild: Use multipass label system to generate fake dlls.
- 4 files changed, 181 insertions(+), 63 deletions(-)
-
- diff --git a/tools/winebuild/build.h b/tools/winebuild/build.h
--index 6ee847f908c..210324406a9 100644
-+index 55d5b0b9dc28..8930df408d3b 100644
- --- a/tools/winebuild/build.h
- +++ b/tools/winebuild/build.h
- @@ -343,6 +343,7 @@ extern size_t input_buffer_pos;
-@@ -35,7 +35,7 @@ index 6ee847f908c..210324406a9 100644
- /* global variables */
-
- diff --git a/tools/winebuild/res32.c b/tools/winebuild/res32.c
--index bd55bb2fa5c..d9329019f8a 100644
-+index bd55bb2fa5c4..d9329019f8a3 100644
- --- a/tools/winebuild/res32.c
- +++ b/tools/winebuild/res32.c
- @@ -539,7 +539,6 @@ void output_bin_resources( DLLSPEC *spec, unsigned int start_rva )
-@@ -47,7 +47,7 @@ index bd55bb2fa5c..d9329019f8a 100644
- /* output the resource directories */
-
- diff --git a/tools/winebuild/spec32.c b/tools/winebuild/spec32.c
--index 22dd399cb2b..c38f1fe663c 100644
-+index 22dd399cb2b4..c38f1fe663c7 100644
- --- a/tools/winebuild/spec32.c
- +++ b/tools/winebuild/spec32.c
- @@ -844,11 +844,11 @@ void output_spec32_file( DLLSPEC *spec )
-@@ -279,7 +279,7 @@ index 22dd399cb2b..c38f1fe663c 100644
- }
-
- diff --git a/tools/winebuild/utils.c b/tools/winebuild/utils.c
--index 7dc61a708db..64e1fa51455 100644
-+index 07a579004adc..80dec6db29ea 100644
- --- a/tools/winebuild/utils.c
- +++ b/tools/winebuild/utils.c
- @@ -34,6 +34,7 @@
-diff --git a/patches/winebuild-Fake_Dlls/0005-winebuild-Add-stub-functions-in-fake-dlls.patch b/patches/winebuild-Fake_Dlls/0005-winebuild-Add-stub-functions-in-fake-dlls.patch
-index f96d51aee..4ac05a314 100644
---- a/patches/winebuild-Fake_Dlls/0005-winebuild-Add-stub-functions-in-fake-dlls.patch
-+++ b/patches/winebuild-Fake_Dlls/0005-winebuild-Add-stub-functions-in-fake-dlls.patch
-@@ -1,4 +1,4 @@
--From 167ad04157dd746ee9395afa9505fe00cc866f9b Mon Sep 17 00:00:00 2001
-+From e5fc6ee60be5dd3b80af96dcbd81adb742ba7a5d Mon Sep 17 00:00:00 2001
- From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael(a)fds-team.de>
- Date: Mon, 15 May 2017 16:27:56 +0200
- Subject: [PATCH] winebuild: Add stub functions in fake dlls.
-@@ -14,10 +14,10 @@ Subject: [PATCH] winebuild: Add stub functions in fake dlls.
- 7 files changed, 251 insertions(+), 15 deletions(-)
-
- diff --git a/dlls/kernel32/tests/loader.c b/dlls/kernel32/tests/loader.c
--index 926fa913866..902907329c0 100644
-+index efd5a25a432d..182b61b731a2 100644
- --- a/dlls/kernel32/tests/loader.c
- +++ b/dlls/kernel32/tests/loader.c
--@@ -1596,9 +1596,7 @@ static void test_FakeDLL(void)
-+@@ -1597,9 +1597,7 @@ static void test_FakeDLL(void)
- ok(ptr != NULL, "MapViewOfFile failed with error %u\n", GetLastError());
-
- dir = RtlImageDirectoryEntryToData(ptr, TRUE, IMAGE_DIRECTORY_ENTRY_EXPORT, &size);
-@@ -27,7 +27,7 @@ index 926fa913866..902907329c0 100644
-
- names = RVAToAddr(dir->AddressOfNames, ptr);
- ordinals = RVAToAddr(dir->AddressOfNameOrdinals, ptr);
--@@ -1627,17 +1625,20 @@ todo_wine
-+@@ -1628,17 +1626,20 @@ todo_wine
- /* check position in memory */
- dll_rva = (DWORD_PTR)dll_func - (DWORD_PTR)module;
- map_rva = funcs[ordinals[i]];
-@@ -48,7 +48,7 @@ index 926fa913866..902907329c0 100644
- ok(!memcmp(map_func, dll_func, 0x20), "%s: Function content does not match!\n", func_name);
-
- if (!strcmp(func_name, "NtSetEvent"))
--@@ -1651,10 +1652,11 @@ todo_wine
-+@@ -1652,10 +1653,11 @@ todo_wine
- ok(event != NULL, "CreateEvent failed with error %u\n", GetLastError());
- pNtSetEvent(event, 0);
- ok(WaitForSingleObject(event, 0) == WAIT_OBJECT_0, "Event was not signaled\n");
-@@ -62,10 +62,10 @@ index 926fa913866..902907329c0 100644
- CloseHandle(map);
- CloseHandle(file);
- diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c
--index 26c540050dc..09d3870c31a 100644
-+index cac6aae2f3dd..51d989f30b45 100644
- --- a/dlls/ntdll/loader.c
- +++ b/dlls/ntdll/loader.c
--@@ -3811,6 +3811,7 @@ PIMAGE_NT_HEADERS WINAPI RtlImageNtHeader(HMODULE hModule)
-+@@ -4022,6 +4022,7 @@ PIMAGE_NT_HEADERS WINAPI RtlImageNtHeader(HMODULE hModule)
- }
-
- extern void DECLSPEC_NORETURN __wine_syscall_dispatcher( void );
-@@ -73,7 +73,7 @@ index 26c540050dc..09d3870c31a 100644
-
- /******************************************************************
- * LdrInitializeThunk (NTDLL.@)
--@@ -3828,6 +3829,7 @@ void WINAPI LdrInitializeThunk( CONTEXT *context, void **entry, ULONG_PTR unknow
-+@@ -4040,6 +4041,7 @@ void WINAPI LdrInitializeThunk( CONTEXT *context, void **entry, ULONG_PTR unknow
- LPCWSTR load_path = NtCurrentTeb()->Peb->ProcessParameters->DllPath.Buffer;
-
- NtCurrentTeb()->WOW32Reserved = __wine_syscall_dispatcher;
-@@ -82,12 +82,12 @@ index 26c540050dc..09d3870c31a 100644
- if (process_detaching) return;
-
- diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c
--index fa10cdf1062..4840f527e59 100644
-+index e93498b27ea0..a14e3a12ae0c 100644
- --- a/dlls/ntdll/thread.c
- +++ b/dlls/ntdll/thread.c
--@@ -172,6 +172,39 @@ int __cdecl __wine_dbg_output( const char *str )
--
-- extern void DECLSPEC_NORETURN __wine_syscall_dispatcher( void );
-+@@ -229,6 +229,39 @@ void __wine_syscall_dispatcher( void )
-+ }
-+ #endif
-
- +void *WINAPI __wine_fakedll_dispatcher( const char *module, ULONG ord )
- +{
-@@ -125,7 +125,7 @@ index fa10cdf1062..4840f527e59 100644
- /***********************************************************************
- * thread_init
- *
--@@ -183,6 +216,7 @@ TEB *thread_init( SIZE_T *info_size, BOOL *suspend )
-+@@ -240,6 +273,7 @@ TEB *thread_init( SIZE_T *info_size, BOOL *suspend )
- {
- TEB *teb = unix_funcs->init_threading( &nb_threads, &__wine_ldt_copy, info_size, suspend, &server_cpus,
- &is_wow64, &server_start_time, __wine_syscall_dispatcher );
-@@ -134,10 +134,10 @@ index fa10cdf1062..4840f527e59 100644
- peb = teb->Peb;
- peb->FastPebLock = &peb_lock;
- diff --git a/include/winternl.h b/include/winternl.h
--index f2da9157aab..ce8021af503 100644
-+index 0c15a0ee6c34..6da672e979e5 100644
- --- a/include/winternl.h
- +++ b/include/winternl.h
--@@ -398,7 +398,7 @@ typedef struct _TEB
-+@@ -399,7 +399,7 @@ typedef struct _TEB
- PVOID Instrumentation[16]; /* f2c/16b8 */
- PVOID WinSockData; /* f6c/1738 */
- ULONG GdiBatchCount; /* f70/1740 */
-@@ -147,7 +147,7 @@ index f2da9157aab..ce8021af503 100644
- PVOID ReservedForPerf; /* f7c/1750 */
- PVOID ReservedForOle; /* f80/1758 */
- diff --git a/tools/winebuild/build.h b/tools/winebuild/build.h
--index 8930df408d3..44113bad28a 100644
-+index 8930df408d3b..44113bad28af 100644
- --- a/tools/winebuild/build.h
- +++ b/tools/winebuild/build.h
- @@ -358,6 +358,7 @@ extern void put_word( unsigned short val );
-@@ -159,7 +159,7 @@ index 8930df408d3..44113bad28a 100644
- extern void align_output_rva( unsigned int file_align, unsigned int rva_align );
- extern size_t label_pos( const char *name );
- diff --git a/tools/winebuild/spec32.c b/tools/winebuild/spec32.c
--index c38f1fe663c..bf82ca497c0 100644
-+index c38f1fe663c7..bf82ca497c0d 100644
- --- a/tools/winebuild/spec32.c
- +++ b/tools/winebuild/spec32.c
- @@ -843,6 +843,163 @@ void output_spec32_file( DLLSPEC *spec )
-@@ -415,7 +415,7 @@ index c38f1fe663c..bf82ca497c0 100644
- /* .reloc contents */
- align_output_rva( file_align, section_align );
- diff --git a/tools/winebuild/utils.c b/tools/winebuild/utils.c
--index 80dec6db29e..d394a1382c6 100644
-+index 80dec6db29ea..d394a1382c68 100644
- --- a/tools/winebuild/utils.c
- +++ b/tools/winebuild/utils.c
- @@ -549,7 +549,7 @@ size_t output_buffer_size;
-diff --git a/patches/winebuild-Fake_Dlls/0006-winebuild-Add-syscall-thunks-in-fake-dlls.patch b/patches/winebuild-Fake_Dlls/0006-winebuild-Add-syscall-thunks-in-fake-dlls.patch
-index 5ae2b3deb..13f46d6b0 100644
---- a/patches/winebuild-Fake_Dlls/0006-winebuild-Add-syscall-thunks-in-fake-dlls.patch
-+++ b/patches/winebuild-Fake_Dlls/0006-winebuild-Add-syscall-thunks-in-fake-dlls.patch
-@@ -1,4 +1,4 @@
--From 84a9f7b8192d7735108da2d7e81cf63faef97c13 Mon Sep 17 00:00:00 2001
-+From fd72d405abba827ab5e2603551d48200aedad3ce Mon Sep 17 00:00:00 2001
- From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael(a)fds-team.de>
- Date: Mon, 15 May 2017 17:56:48 +0200
- Subject: [PATCH] winebuild: Add syscall thunks in fake dlls.
-@@ -9,10 +9,10 @@ Subject: [PATCH] winebuild: Add syscall thunks in fake dlls.
- 2 files changed, 25 insertions(+), 3 deletions(-)
-
- diff --git a/dlls/kernel32/tests/loader.c b/dlls/kernel32/tests/loader.c
--index ec173c94a8e..a3bed8b310b 100644
-+index 182b61b731a2..98369c7d508c 100644
- --- a/dlls/kernel32/tests/loader.c
- +++ b/dlls/kernel32/tests/loader.c
--@@ -1602,7 +1602,6 @@ static void test_FakeDLL(void)
-+@@ -1639,7 +1639,6 @@ static void test_FakeDLL(void)
-
- /* check function content */
- map_func = RVAToAddr(map_rva, ptr);
-@@ -21,7 +21,7 @@ index ec173c94a8e..a3bed8b310b 100644
-
- if (!strcmp(func_name, "NtSetEvent"))
- diff --git a/tools/winebuild/spec32.c b/tools/winebuild/spec32.c
--index bf82ca497c0..6968e41260f 100644
-+index bf82ca497c0d..6968e41260f1 100644
- --- a/tools/winebuild/spec32.c
- +++ b/tools/winebuild/spec32.c
- @@ -860,13 +860,36 @@ static void create_stub_exports_text( DLLSPEC *spec )
-diff --git a/patches/winebuild-Fake_Dlls/0007-winebuild-Fix-size-of-relocation-information-in-fake.patch b/patches/winebuild-Fake_Dlls/0007-winebuild-Fix-size-of-relocation-information-in-fake.patch
-index 92a7161de..3b3745ed6 100644
---- a/patches/winebuild-Fake_Dlls/0007-winebuild-Fix-size-of-relocation-information-in-fake.patch
-+++ b/patches/winebuild-Fake_Dlls/0007-winebuild-Fix-size-of-relocation-information-in-fake.patch
-@@ -1,4 +1,4 @@
--From d77c31b1567bfbde1ce4ceb526ad596d0be3e788 Mon Sep 17 00:00:00 2001
-+From f92fc0572be02ce2eee2a9cbf60724372678a5af Mon Sep 17 00:00:00 2001
- From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael(a)fds-team.de>
- Date: Thu, 25 May 2017 03:22:25 +0200
- Subject: [PATCH] winebuild: Fix size of relocation information in fake dlls.
-@@ -8,7 +8,7 @@ Subject: [PATCH] winebuild: Fix size of relocation information in fake dlls.
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
- diff --git a/tools/winebuild/spec32.c b/tools/winebuild/spec32.c
--index 6968e41260f..f95b45b9a0d 100644
-+index 6968e41260f1..f95b45b9a0d5 100644
- --- a/tools/winebuild/spec32.c
- +++ b/tools/winebuild/spec32.c
- @@ -1238,8 +1238,8 @@ static void output_fake_module_pass( DLLSPEC *spec )
-diff --git a/patches/winebuild-Fake_Dlls/0008-winebuild-Try-to-make-sure-RVA-matches-between-fake-.patch b/patches/winebuild-Fake_Dlls/0008-winebuild-Try-to-make-sure-RVA-matches-between-fake-.patch
-index c4f1fb004..2cb4b7cf1 100644
---- a/patches/winebuild-Fake_Dlls/0008-winebuild-Try-to-make-sure-RVA-matches-between-fake-.patch
-+++ b/patches/winebuild-Fake_Dlls/0008-winebuild-Try-to-make-sure-RVA-matches-between-fake-.patch
-@@ -1,4 +1,4 @@
--From afa59bbabca36f306e9db4c1b080a250c4a919ea Mon Sep 17 00:00:00 2001
-+From 59efee63a7442dfee4d9e76b11f651a11a4b523e Mon Sep 17 00:00:00 2001
- From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael(a)fds-team.de>
- Date: Thu, 25 May 2017 21:46:27 +0200
- Subject: [PATCH] winebuild: Try to make sure RVA matches between fake and
-@@ -11,10 +11,10 @@ Subject: [PATCH] winebuild: Try to make sure RVA matches between fake and
- 3 files changed, 26 insertions(+), 5 deletions(-)
-
- diff --git a/dlls/kernel32/tests/loader.c b/dlls/kernel32/tests/loader.c
--index a3bed8b310b..8b5a345b086 100644
-+index 98369c7d508c..77e73b3ca37b 100644
- --- a/dlls/kernel32/tests/loader.c
- +++ b/dlls/kernel32/tests/loader.c
--@@ -1589,7 +1589,6 @@ static void test_FakeDLL(void)
-+@@ -1626,7 +1626,6 @@ static void test_FakeDLL(void)
- /* check position in memory */
- dll_rva = (DWORD_PTR)dll_func - (DWORD_PTR)module;
- map_rva = funcs[ordinals[i]];
-@@ -23,7 +23,7 @@ index a3bed8b310b..8b5a345b086 100644
- func_name, dll_rva, map_rva);
-
- diff --git a/libs/wine/loader.c b/libs/wine/loader.c
--index c3b59d90224..b6847ca77b3 100644
-+index c3b59d902243..b6847ca77b31 100644
- --- a/libs/wine/loader.c
- +++ b/libs/wine/loader.c
- @@ -335,8 +335,12 @@ static void *map_dll( const IMAGE_NT_HEADERS *nt_descr )
-@@ -54,7 +54,7 @@ index c3b59d90224..b6847ca77b3 100644
-
- memcpy( sec->Name, ".text", sizeof(".text") );
- diff --git a/tools/winebuild/spec32.c b/tools/winebuild/spec32.c
--index f95b45b9a0d..07d6eed05fc 100644
-+index f95b45b9a0d5..07d6eed05fcc 100644
- --- a/tools/winebuild/spec32.c
- +++ b/tools/winebuild/spec32.c
- @@ -381,14 +381,25 @@ static void output_relay_debug( DLLSPEC *spec )
-diff --git a/patches/winebuild-Fake_Dlls/0009-libs-wine-Use-same-file-alignment-for-fake-and-built.patch b/patches/winebuild-Fake_Dlls/0009-libs-wine-Use-same-file-alignment-for-fake-and-built.patch
-index e0ae33a59..9113beb5f 100644
---- a/patches/winebuild-Fake_Dlls/0009-libs-wine-Use-same-file-alignment-for-fake-and-built.patch
-+++ b/patches/winebuild-Fake_Dlls/0009-libs-wine-Use-same-file-alignment-for-fake-and-built.patch
-@@ -1,4 +1,4 @@
--From 29478273c4db90d209ac5afbdc1dd80add3d2c7e Mon Sep 17 00:00:00 2001
-+From 370eccb19c65a8b02abfa31a76651ae533dda22f Mon Sep 17 00:00:00 2001
- From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael(a)fds-team.de>
- Date: Thu, 25 May 2017 21:56:06 +0200
- Subject: [PATCH] libs/wine: Use same file alignment for fake and builtin DLLs.
-@@ -9,10 +9,10 @@ Subject: [PATCH] libs/wine: Use same file alignment for fake and builtin DLLs.
- 2 files changed, 1 insertion(+), 2 deletions(-)
-
- diff --git a/dlls/kernel32/tests/loader.c b/dlls/kernel32/tests/loader.c
--index 8b5a345b086..5373dc4efe1 100644
-+index 77e73b3ca37b..1f525194ce73 100644
- --- a/dlls/kernel32/tests/loader.c
- +++ b/dlls/kernel32/tests/loader.c
--@@ -1595,7 +1595,6 @@ static void test_FakeDLL(void)
-+@@ -1632,7 +1632,6 @@ static void test_FakeDLL(void)
- /* check position in file */
- map_offset = (DWORD_PTR)RtlImageRvaToVa(RtlImageNtHeader(ptr), ptr, map_rva, NULL) - (DWORD_PTR)ptr;
- dll_offset = (DWORD_PTR)RtlImageRvaToVa(RtlImageNtHeader(module), module, dll_rva, NULL) - (DWORD_PTR)module;
-@@ -21,7 +21,7 @@ index 8b5a345b086..5373dc4efe1 100644
- func_name, map_offset, dll_offset);
-
- diff --git a/libs/wine/loader.c b/libs/wine/loader.c
--index b6847ca77b3..4597a6cb324 100644
-+index b6847ca77b31..4597a6cb3243 100644
- --- a/libs/wine/loader.c
- +++ b/libs/wine/loader.c
- @@ -398,7 +398,7 @@ static void *map_dll( const IMAGE_NT_HEADERS *nt_descr )
-diff --git a/patches/winebuild-Fake_Dlls/0010-tools-winebuild-Add-syscall-thunks-for-64-bit.patch b/patches/winebuild-Fake_Dlls/0010-tools-winebuild-Add-syscall-thunks-for-64-bit.patch
-index 6024e5a2f..e40a80148 100644
---- a/patches/winebuild-Fake_Dlls/0010-tools-winebuild-Add-syscall-thunks-for-64-bit.patch
-+++ b/patches/winebuild-Fake_Dlls/0010-tools-winebuild-Add-syscall-thunks-for-64-bit.patch
-@@ -1,4 +1,4 @@
--From a5b4feebd008daab008f72567fe0001da619030e Mon Sep 17 00:00:00 2001
-+From 6f1973aa2aee35139ae041e59d37a45ff22dc5bf Mon Sep 17 00:00:00 2001
- From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael(a)fds-team.de>
- Date: Thu, 7 Sep 2017 00:38:09 +0200
- Subject: [PATCH] tools/winebuild: Add syscall thunks for 64 bit.
-@@ -7,18 +7,18 @@ Subject: [PATCH] tools/winebuild: Add syscall thunks for 64 bit.
- dlls/kernel32/tests/loader.c | 7 +-
- dlls/ntdll/unix/thread.c | 2 +-
- dlls/ntdll/unix/unix_private.h | 2 +-
-- dlls/ntdll/unix/virtual.c | 12 +-
-+ dlls/ntdll/unix/virtual.c | 11 +-
- libs/wine/loader.c | 4 +
- server/mapping.c | 6 +-
- tools/winebuild/parser.c | 2 +-
- tools/winebuild/spec32.c | 285 ++++++++++++++++++++++++++++++++-
-- 8 files changed, 306 insertions(+), 14 deletions(-)
-+ 8 files changed, 305 insertions(+), 14 deletions(-)
-
- diff --git a/dlls/kernel32/tests/loader.c b/dlls/kernel32/tests/loader.c
--index 95939ba6bde..ae5462f6e55 100644
-+index 1f525194ce73..21af7b4ce7a4 100644
- --- a/dlls/kernel32/tests/loader.c
- +++ b/dlls/kernel32/tests/loader.c
--@@ -1573,7 +1573,7 @@ static void test_filenames(void)
-+@@ -1574,7 +1574,7 @@ static void test_filenames(void)
-
- static void test_FakeDLL(void)
- {
-@@ -27,7 +27,7 @@ index 95939ba6bde..ae5462f6e55 100644
- NTSTATUS (WINAPI *pNtSetEvent)(HANDLE, ULONG *) = NULL;
- IMAGE_EXPORT_DIRECTORY *dir;
- HMODULE module = GetModuleHandleA("ntdll.dll");
--@@ -1615,8 +1615,13 @@ static void test_FakeDLL(void)
-+@@ -1616,8 +1616,13 @@ static void test_FakeDLL(void)
-
- dll_func = (BYTE *)GetProcAddress(module, func_name);
- ok(dll_func != NULL, "%s: GetProcAddress returned NULL\n", func_name);
-@@ -42,7 +42,7 @@ index 95939ba6bde..ae5462f6e55 100644
- todo_wine ok(0, "%s: Export is a stub-function, skipping\n", func_name);
- continue;
- diff --git a/dlls/ntdll/unix/thread.c b/dlls/ntdll/unix/thread.c
--index 2dbaa43e731..e1da90222d3 100644
-+index 2dbaa43e731a..e1da90222d38 100644
- --- a/dlls/ntdll/unix/thread.c
- +++ b/dlls/ntdll/unix/thread.c
- @@ -110,7 +110,7 @@ TEB * CDECL init_threading( int *nb_threads_ptr, struct ldt_copy **ldt_copy, SIZ
-@@ -55,10 +55,10 @@ index 2dbaa43e731..e1da90222d3 100644
-
- if (size) *size = info_size;
- diff --git a/dlls/ntdll/unix/unix_private.h b/dlls/ntdll/unix/unix_private.h
--index a1c48a52606..9c9e5b80b0c 100644
-+index 33a551e947c2..d06f366d3c6d 100644
- --- a/dlls/ntdll/unix/unix_private.h
- +++ b/dlls/ntdll/unix/unix_private.h
--@@ -152,7 +152,7 @@ extern void virtual_init(void) DECLSPEC_HIDDEN;
-+@@ -153,7 +153,7 @@ extern void virtual_init(void) DECLSPEC_HIDDEN;
- extern TEB *virtual_alloc_first_teb(void) DECLSPEC_HIDDEN;
- extern NTSTATUS virtual_alloc_teb( TEB **ret_teb ) DECLSPEC_HIDDEN;
- extern void virtual_free_teb( TEB *teb ) DECLSPEC_HIDDEN;
-@@ -68,10 +68,10 @@ index a1c48a52606..9c9e5b80b0c 100644
- extern BOOL virtual_is_valid_code_address( const void *addr, SIZE_T size ) DECLSPEC_HIDDEN;
- extern int virtual_handle_stack_fault( void *addr ) DECLSPEC_HIDDEN;
- diff --git a/dlls/ntdll/unix/virtual.c b/dlls/ntdll/unix/virtual.c
--index 660323d4dcc..a5e5cb8422d 100644
-+index 9fb2ecd38ca3..ad11485d1cea 100644
- --- a/dlls/ntdll/unix/virtual.c
- +++ b/dlls/ntdll/unix/virtual.c
--@@ -2588,14 +2588,14 @@ TEB *virtual_alloc_first_teb(void)
-+@@ -2772,14 +2772,14 @@ TEB *virtual_alloc_first_teb(void)
- TEB *teb;
- PEB *peb;
- NTSTATUS status;
-@@ -88,12 +88,7 @@ index 660323d4dcc..a5e5cb8422d 100644
- if (status)
- {
- ERR( "wine: failed to map the shared user data: %08x\n", status );
--@@ -2787,11 +2787,12 @@ void virtual_clear_thread_stack( void *stack_end )
-- if (force_exec_prot) mprotect( stack, size, PROT_READ | PROT_WRITE | PROT_EXEC );
-- }
--
--+extern void DECLSPEC_NORETURN __wine_syscall_dispatcher( void );
--
-+@@ -2977,7 +2977,7 @@ void virtual_clear_thread_stack( void *stack_end )
- /***********************************************************************
- * virtual_map_user_shared_data
- */
-@@ -102,7 +97,7 @@ index 660323d4dcc..a5e5cb8422d 100644
- {
- static const WCHAR wine_usdW[] = {'\\','K','e','r','n','e','l','O','b','j','e','c','t','s',
- '\\','_','_','w','i','n','e','_','u','s','e','r','_','s','h','a','r','e','d','_','d','a','t','a',0};
--@@ -2814,6 +2815,11 @@ void virtual_map_user_shared_data(void)
-+@@ -3000,6 +3000,11 @@ void virtual_map_user_shared_data(void)
- ERR( "failed to remap the process USD: %d\n", res );
- exit(1);
- }
-@@ -115,7 +110,7 @@ index 660323d4dcc..a5e5cb8422d 100644
- NtClose( section );
- }
- diff --git a/libs/wine/loader.c b/libs/wine/loader.c
--index 4597a6cb324..3d0d75e9c6d 100644
-+index 4597a6cb3243..3d0d75e9c6d3 100644
- --- a/libs/wine/loader.c
- +++ b/libs/wine/loader.c
- @@ -398,7 +398,11 @@ static void *map_dll( const IMAGE_NT_HEADERS *nt_descr )
-@@ -131,7 +126,7 @@ index 4597a6cb324..3d0d75e9c6d 100644
- sec++;
-
- diff --git a/server/mapping.c b/server/mapping.c
--index 0941dd87c05..002f3215af2 100644
-+index 0941dd87c05d..002f3215af2e 100644
- --- a/server/mapping.c
- +++ b/server/mapping.c
- @@ -964,7 +964,11 @@ struct object *create_user_data_mapping( struct object *root, const struct unico
-@@ -148,7 +143,7 @@ index 0941dd87c05..002f3215af2 100644
- }
-
- diff --git a/tools/winebuild/parser.c b/tools/winebuild/parser.c
--index 74216f8bb6e..820516329a4 100644
-+index 74216f8bb6e7..820516329a47 100644
- --- a/tools/winebuild/parser.c
- +++ b/tools/winebuild/parser.c
- @@ -545,7 +545,7 @@ static const char *parse_spec_flags( DLLSPEC *spec, ORDDEF *odp )
-@@ -161,7 +156,7 @@ index 74216f8bb6e..820516329a4 100644
- if (odp->flags & (FLAG_FORWARD | FLAG_REGISTER))
- return 0;
- diff --git a/tools/winebuild/spec32.c b/tools/winebuild/spec32.c
--index 07d6eed05fc..9cc4698d0d7 100644
-+index 07d6eed05fcc..9cc4698d0d7d 100644
- --- a/tools/winebuild/spec32.c
- +++ b/tools/winebuild/spec32.c
- @@ -375,11 +375,11 @@ static void output_relay_debug( DLLSPEC *spec )
-diff --git a/patches/winebuild-Fake_Dlls/0011-ntdll-Call-NtOpenFile-through-syscall-thunk.patch b/patches/winebuild-Fake_Dlls/0011-ntdll-Call-NtOpenFile-through-syscall-thunk.patch
-index 69ee26be8..c3e065b26 100644
---- a/patches/winebuild-Fake_Dlls/0011-ntdll-Call-NtOpenFile-through-syscall-thunk.patch
-+++ b/patches/winebuild-Fake_Dlls/0011-ntdll-Call-NtOpenFile-through-syscall-thunk.patch
-@@ -1,4 +1,4 @@
--From 659e192979eecfb59d1c1b26e8cea78c42300de5 Mon Sep 17 00:00:00 2001
-+From feb53ed39179603391eff600ea59edc41407b238 Mon Sep 17 00:00:00 2001
- From: Paul Gofman <gofmanp(a)gmail.com>
- Date: Fri, 3 Jan 2020 17:39:08 +0300
- Subject: [PATCH] ntdll: Call NtOpenFile through syscall thunk.
-@@ -15,10 +15,10 @@ Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48410
- 7 files changed, 16 insertions(+), 8 deletions(-)
-
- diff --git a/dlls/ntdll/actctx.c b/dlls/ntdll/actctx.c
--index 1ca794ae3e5..b3c13042adc 100644
-+index a25cefa555ac..34ba0dc813c6 100644
- --- a/dlls/ntdll/actctx.c
- +++ b/dlls/ntdll/actctx.c
--@@ -2892,7 +2892,7 @@ static NTSTATUS open_nt_file( HANDLE *handle, UNICODE_STRING *name )
-+@@ -2894,7 +2894,7 @@ static NTSTATUS open_nt_file( HANDLE *handle, UNICODE_STRING *name )
- attr.ObjectName = name;
- attr.SecurityDescriptor = NULL;
- attr.SecurityQualityOfService = NULL;
-@@ -27,7 +27,7 @@ index 1ca794ae3e5..b3c13042adc 100644
- }
-
- static NTSTATUS get_manifest_in_module( struct actctx_loader* acl, struct assembly_identity* ai,
--@@ -3209,7 +3209,7 @@ static NTSTATUS lookup_winsxs(struct actctx_loader* acl, struct assembly_identit
-+@@ -3211,7 +3211,7 @@ static NTSTATUS lookup_winsxs(struct actctx_loader* acl, struct assembly_identit
- attr.SecurityDescriptor = NULL;
- attr.SecurityQualityOfService = NULL;
-
-@@ -37,10 +37,10 @@ index 1ca794ae3e5..b3c13042adc 100644
- {
- sxs_ai = *ai;
- diff --git a/dlls/ntdll/directory.c b/dlls/ntdll/directory.c
--index d18df38f626..69607a4fed9 100644
-+index 18428658a5b5..7a9de26ccb0c 100644
- --- a/dlls/ntdll/directory.c
- +++ b/dlls/ntdll/directory.c
--@@ -2943,7 +2943,7 @@ NTSTATUS DIR_get_unix_cwd( char **cwd )
-+@@ -3071,7 +3071,7 @@ NTSTATUS DIR_get_unix_cwd( char **cwd )
- attr.SecurityDescriptor = NULL;
- attr.SecurityQualityOfService = NULL;
-
-@@ -50,10 +50,10 @@ index d18df38f626..69607a4fed9 100644
- RtlFreeUnicodeString( &dirW );
- if (status != STATUS_SUCCESS) goto done;
- diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c
--index 0b8c28a0651..e48cd84cffd 100644
-+index 51d989f30b45..8f1653b0d626 100644
- --- a/dlls/ntdll/loader.c
- +++ b/dlls/ntdll/loader.c
--@@ -2469,7 +2469,7 @@ static NTSTATUS open_dll_file( UNICODE_STRING *nt_name, WINE_MODREF **pwm,
-+@@ -2521,7 +2521,7 @@ static NTSTATUS open_dll_file( UNICODE_STRING *nt_name, WINE_MODREF **pwm,
- attr.ObjectName = nt_name;
- attr.SecurityDescriptor = NULL;
- attr.SecurityQualityOfService = NULL;
-@@ -63,10 +63,10 @@ index 0b8c28a0651..e48cd84cffd 100644
- FILE_SYNCHRONOUS_IO_NONALERT | FILE_NON_DIRECTORY_FILE )))
- {
- diff --git a/dlls/ntdll/locale.c b/dlls/ntdll/locale.c
--index 0d0c1194d23..a1bf219ed0a 100644
-+index 15ccdeb2e637..928edcb04e2c 100644
- --- a/dlls/ntdll/locale.c
- +++ b/dlls/ntdll/locale.c
--@@ -661,7 +661,7 @@ static NTSTATUS open_nls_data_file( ULONG type, ULONG id, HANDLE *file )
-+@@ -660,7 +660,7 @@ static NTSTATUS open_nls_data_file( ULONG type, ULONG id, HANDLE *file )
- return STATUS_NO_MEMORY;
- valueW.Length = NTDLL_swprintf( valueW.Buffer, pathfmtW, dir, name ) * sizeof(WCHAR);
- InitializeObjectAttributes( &attr, &valueW, 0, 0, NULL );
-@@ -75,7 +75,7 @@ index 0d0c1194d23..a1bf219ed0a 100644
- if (!status) TRACE( "found %s\n", debugstr_w( valueW.Buffer ));
- RtlFreeUnicodeString( &valueW );
- if (status != STATUS_OBJECT_NAME_NOT_FOUND && status != STATUS_OBJECT_PATH_NOT_FOUND) return status;
--@@ -685,7 +685,7 @@ static NTSTATUS open_nls_data_file( ULONG type, ULONG id, HANDLE *file )
-+@@ -684,7 +684,7 @@ static NTSTATUS open_nls_data_file( ULONG type, ULONG id, HANDLE *file )
- wcscat( valueW.Buffer, name );
- valueW.Length = wcslen(valueW.Buffer) * sizeof(WCHAR);
- InitializeObjectAttributes( &attr, &valueW, 0, 0, NULL );
-@@ -85,10 +85,10 @@ index 0d0c1194d23..a1bf219ed0a 100644
- }
- RtlFreeUnicodeString( &valueW );
- diff --git a/dlls/ntdll/ntdll_misc.h b/dlls/ntdll/ntdll_misc.h
--index 2e791b92f73..f8170793185 100644
-+index 9091d1ae8c77..f8e81ae49eaf 100644
- --- a/dlls/ntdll/ntdll_misc.h
- +++ b/dlls/ntdll/ntdll_misc.h
--@@ -350,4 +350,12 @@ static inline void ascii_to_unicode( WCHAR *dst, const char *src, size_t len )
-+@@ -329,4 +329,12 @@ static inline void ascii_to_unicode( WCHAR *dst, const char *src, size_t len )
- while (len--) *dst++ = (unsigned char)*src++;
- }
-
-@@ -102,7 +102,7 @@ index 2e791b92f73..f8170793185 100644
- +
- #endif
- diff --git a/dlls/ntdll/path.c b/dlls/ntdll/path.c
--index 32e1f951af5..71ae44dd498 100644
-+index 32e1f951af5c..71ae44dd4988 100644
- --- a/dlls/ntdll/path.c
- +++ b/dlls/ntdll/path.c
- @@ -1020,7 +1020,7 @@ NTSTATUS WINAPI RtlSetCurrentDirectory_U(const UNICODE_STRING* dir)
-@@ -115,10 +115,10 @@ index 32e1f951af5..71ae44dd498 100644
- if (nts != STATUS_SUCCESS) goto out;
-
- diff --git a/dlls/ntdll/process.c b/dlls/ntdll/process.c
--index 60ee39765bf..70dfe6f768a 100644
-+index 884141da060c..32a1f5107f06 100644
- --- a/dlls/ntdll/process.c
- +++ b/dlls/ntdll/process.c
--@@ -1281,7 +1281,7 @@ static NTSTATUS get_pe_file_info( UNICODE_STRING *path, ULONG attributes,
-+@@ -1357,7 +1357,7 @@ static NTSTATUS get_pe_file_info( UNICODE_STRING *path, ULONG attributes,
-
- memset( info, 0, sizeof(*info) );
- InitializeObjectAttributes( &attr, path, attributes, 0, 0 );
diff --git a/wine.spec b/wine.spec
index 4308871..cd74653 100644
--- a/wine.spec
+++ b/wine.spec
@@ -76,8 +76,6 @@ Source150: wine.appdata.xml
# wine bugs
Patch100: wine-staging-5.10-ntdll.patch
-Patch101: wine-staging-5.10-ntdll-arm0.patch
-Patch102: wine-staging-5.10-ntdll-arm1.patch
# desktop dir
Source200: wine.menu
@@ -696,10 +694,15 @@ This package adds the opencl driver for wine.
# setup and apply wine-staging patches
gzip -dc %{SOURCE900} | tar -xf - --strip-components=1
%patch100 -p1 -b.ntdll
-%patch101 -p1 -b.ntdll-arm0
-%patch102 -p1 -b.ntdll-arm1
+%ifarch %{arm} aarch64
+patches/patchinstall.sh DESTDIR="`pwd`" --all \
+ -W ntdll-NtContinue \
+ -W ntdll-Syscall_Emulation \
+ -W winebuild-Fake_Dlls
+%else
patches/patchinstall.sh DESTDIR="`pwd`" --all
+%endif
# fix parallelized build
sed -i -e 's!^loader server: libs/port libs/wine tools.*!& include!' Makefile.in
3 years, 11 months
Architecture specific change in rpms/wine.git
by githook-noreply@fedoraproject.org
The package rpms/wine.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/wine.git/commit/?id=b6dc9f8efeed3....
Change:
-%ifarch %{arm} aarch64
Thanks.
Full change:
============
commit b6dc9f8efeed3ea5f12a5c992c7c2f08e1e2d9c2
Author: Michael Cronenworth <mike(a)cchtml.com>
Date: Thu Jun 11 08:47:39 2020 -0500
Wine-staging just fixed the ARM build failure so lets add the fix
diff --git a/wine-staging-5.10-ntdll-arm.patch b/wine-staging-5.10-ntdll-arm.patch
new file mode 100644
index 0000000..56a6f4f
--- /dev/null
+++ b/wine-staging-5.10-ntdll-arm.patch
@@ -0,0 +1,950 @@
+From 5306e1df11e772fe8125fcd5857e52cf1f83430b Mon Sep 17 00:00:00 2001
+From: Paul Gofman <gofmanp(a)gmail.com>
+Date: Thu, 11 Jun 2020 15:23:12 +0300
+Subject: [PATCH] Updated winebuild-Fake_Dlls patchset.
+
+Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49357
+---
+ ...-tests-Add-basic-tests-for-fake-dlls.patch | 8 +--
+ ...-not-abuse-WOW32Reserved-field-for-1.patch | 36 ++++++-------
+ ...ate-syscall-thunks-for-ntdll-exports.patch | 53 +++++++++++--------
+ ...ltipass-label-system-to-generate-fak.patch | 10 ++--
+ ...uild-Add-stub-functions-in-fake-dlls.patch | 36 ++++++-------
+ ...uild-Add-syscall-thunks-in-fake-dlls.patch | 8 +--
+ ...ze-of-relocation-information-in-fake.patch | 4 +-
+ ...-make-sure-RVA-matches-between-fake-.patch | 10 ++--
+ ...me-file-alignment-for-fake-and-built.patch | 8 +--
+ ...ebuild-Add-syscall-thunks-for-64-bit.patch | 39 ++++++--------
+ ...all-NtOpenFile-through-syscall-thunk.patch | 32 +++++------
+ 11 files changed, 123 insertions(+), 121 deletions(-)
+
+diff --git a/patches/winebuild-Fake_Dlls/0001-kernel32-tests-Add-basic-tests-for-fake-dlls.patch b/patches/winebuild-Fake_Dlls/0001-kernel32-tests-Add-basic-tests-for-fake-dlls.patch
+index ef056cfcf..21d69fd59 100644
+--- a/patches/winebuild-Fake_Dlls/0001-kernel32-tests-Add-basic-tests-for-fake-dlls.patch
++++ b/patches/winebuild-Fake_Dlls/0001-kernel32-tests-Add-basic-tests-for-fake-dlls.patch
+@@ -1,4 +1,4 @@
+-From de68d5c0e6bd728788bbec09100ea59802b8ff13 Mon Sep 17 00:00:00 2001
++From 8b88aa45856684e63786425f72886f2ac57b3630 Mon Sep 17 00:00:00 2001
+ From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael(a)fds-team.de>
+ Date: Thu, 25 May 2017 07:02:46 +0200
+ Subject: [PATCH] kernel32/tests: Add basic tests for fake dlls.
+@@ -8,10 +8,10 @@ Subject: [PATCH] kernel32/tests: Add basic tests for fake dlls.
+ 1 file changed, 91 insertions(+)
+
+ diff --git a/dlls/kernel32/tests/loader.c b/dlls/kernel32/tests/loader.c
+-index 5474d543248..4e7a15970cb 100644
++index ef8c47c04f1a..efd5a25a432d 100644
+ --- a/dlls/kernel32/tests/loader.c
+ +++ b/dlls/kernel32/tests/loader.c
+-@@ -1535,6 +1535,96 @@ static void test_filenames(void)
++@@ -1572,6 +1572,96 @@ static void test_filenames(void)
+ DeleteFileA( long_path );
+ }
+
+@@ -108,7 +108,7 @@ index 5474d543248..4e7a15970cb 100644
+ /* Verify linking style of import descriptors */
+ static void test_ImportDescriptors(void)
+ {
+-@@ -3997,6 +4087,7 @@ START_TEST(loader)
++@@ -4094,6 +4184,7 @@ START_TEST(loader)
+ return;
+ }
+
+diff --git a/patches/winebuild-Fake_Dlls/0002-krnl386.exe16-Do-not-abuse-WOW32Reserved-field-for-1.patch b/patches/winebuild-Fake_Dlls/0002-krnl386.exe16-Do-not-abuse-WOW32Reserved-field-for-1.patch
+index 15aaa85df..ae98c2798 100644
+--- a/patches/winebuild-Fake_Dlls/0002-krnl386.exe16-Do-not-abuse-WOW32Reserved-field-for-1.patch
++++ b/patches/winebuild-Fake_Dlls/0002-krnl386.exe16-Do-not-abuse-WOW32Reserved-field-for-1.patch
+@@ -1,4 +1,4 @@
+-From 25d08438aba3dee16c79ce3168a4f76f39816fad Mon Sep 17 00:00:00 2001
++From 7af81866f286e60f601d1c3f9bfe8592a794d21d Mon Sep 17 00:00:00 2001
+ From: Sebastian Lackner <sebastian(a)fds-team.de>
+ Date: Tue, 16 May 2017 04:37:52 +0200
+ Subject: [PATCH] krnl386.exe16: Do not abuse WOW32Reserved field for 16-bit
+@@ -24,7 +24,7 @@ Subject: [PATCH] krnl386.exe16: Do not abuse WOW32Reserved field for 16-bit
+ 16 files changed, 78 insertions(+), 77 deletions(-)
+
+ diff --git a/dlls/dbghelp/cpu_i386.c b/dlls/dbghelp/cpu_i386.c
+-index fd808a0d324..7d6723977a2 100644
++index fd808a0d3248..7d6723977a29 100644
+ --- a/dlls/dbghelp/cpu_i386.c
+ +++ b/dlls/dbghelp/cpu_i386.c
+ @@ -213,16 +213,16 @@ static BOOL i386_stack_walk(struct cpu_stack_walk *csw, STACKFRAME64 *frame,
+@@ -48,7 +48,7 @@ index fd808a0d324..7d6723977a2 100644
+ }
+ next_switch = p;
+ diff --git a/dlls/krnl386.exe16/kernel.c b/dlls/krnl386.exe16/kernel.c
+-index 07a57d0d937..89ea5c042e7 100644
++index 07a57d0d9372..89ea5c042e71 100644
+ --- a/dlls/krnl386.exe16/kernel.c
+ +++ b/dlls/krnl386.exe16/kernel.c
+ @@ -47,8 +47,8 @@ static void thread_attach(void)
+@@ -72,7 +72,7 @@ index 07a57d0d937..89ea5c042e7 100644
+ }
+
+ diff --git a/dlls/krnl386.exe16/kernel16_private.h b/dlls/krnl386.exe16/kernel16_private.h
+-index f15934daa0e..9f939a9d5ba 100644
++index f15934daa0e4..9f939a9d5bac 100644
+ --- a/dlls/krnl386.exe16/kernel16_private.h
+ +++ b/dlls/krnl386.exe16/kernel16_private.h
+ @@ -169,7 +169,7 @@ extern THHOOK *pThhook DECLSPEC_HIDDEN;
+@@ -119,7 +119,7 @@ index f15934daa0e..9f939a9d5ba 100644
+
+ static inline struct kernel_thread_data *kernel_get_thread_data(void)
+ diff --git a/dlls/krnl386.exe16/ne_module.c b/dlls/krnl386.exe16/ne_module.c
+-index f1e1a14dd67..c951a18f869 100644
++index f1e1a14dd679..c951a18f8699 100644
+ --- a/dlls/krnl386.exe16/ne_module.c
+ +++ b/dlls/krnl386.exe16/ne_module.c
+ @@ -1208,7 +1208,7 @@ DWORD NE_StartTask(void)
+@@ -143,7 +143,7 @@ index f1e1a14dd67..c951a18f869 100644
+ WOWCallback16Ex( 0, WCB16_REGS, 0, NULL, (DWORD *)&context );
+ ExitThread( LOWORD(context.Eax) );
+ diff --git a/dlls/krnl386.exe16/ne_segment.c b/dlls/krnl386.exe16/ne_segment.c
+-index aa886148029..70eb3360914 100644
++index aa8861480298..70eb33609144 100644
+ --- a/dlls/krnl386.exe16/ne_segment.c
+ +++ b/dlls/krnl386.exe16/ne_segment.c
+ @@ -370,9 +370,9 @@ BOOL NE_LoadSegment( NE_MODULE *pModule, WORD segnum )
+@@ -209,7 +209,7 @@ index aa886148029..70eb3360914 100644
+ args[7] = HIWORD(dwReason);
+ args[6] = LOWORD(dwReason);
+ diff --git a/dlls/krnl386.exe16/task.c b/dlls/krnl386.exe16/task.c
+-index 39a60cb97a9..21de62c5a01 100644
++index 39a60cb97a94..21de62c5a015 100644
+ --- a/dlls/krnl386.exe16/task.c
+ +++ b/dlls/krnl386.exe16/task.c
+ @@ -624,7 +624,7 @@ void WINAPI InitTask16( CONTEXT *context )
+@@ -267,7 +267,7 @@ index 39a60cb97a9..21de62c5a01 100644
+ context->Esp = OFFSETOF(pData->old_ss_sp) - sizeof(DWORD); /*ret addr*/
+ pData->old_ss_sp = 0;
+ diff --git a/dlls/krnl386.exe16/thunk.c b/dlls/krnl386.exe16/thunk.c
+-index e913a08f88c..ecc94371488 100644
++index e913a08f88cc..ecc94371488f 100644
+ --- a/dlls/krnl386.exe16/thunk.c
+ +++ b/dlls/krnl386.exe16/thunk.c
+ @@ -429,7 +429,7 @@ void WINAPI __regs_QT_Thunk( CONTEXT *context )
+@@ -413,7 +413,7 @@ index e913a08f88c..ecc94371488 100644
+ if (OFFSETOF(frame32->frame16) > lpbuf[2])
+ {
+ diff --git a/dlls/krnl386.exe16/wowthunk.c b/dlls/krnl386.exe16/wowthunk.c
+-index 2dddbf93289..3a4b104a673 100644
++index 2dddbf932898..3a4b104a673f 100644
+ --- a/dlls/krnl386.exe16/wowthunk.c
+ +++ b/dlls/krnl386.exe16/wowthunk.c
+ @@ -127,7 +127,7 @@ static DWORD call16_handler( EXCEPTION_RECORD *record, EXCEPTION_REGISTRATION_RE
+@@ -473,7 +473,7 @@ index 2dddbf93289..3a4b104a673 100644
+ }
+ }
+ diff --git a/dlls/ntdll/unix/signal_i386.c b/dlls/ntdll/unix/signal_i386.c
+-index 2928f314358..138f56b94eb 100644
++index ac34f86a5883..55f1e2ce4b23 100644
+ --- a/dlls/ntdll/unix/signal_i386.c
+ +++ b/dlls/ntdll/unix/signal_i386.c
+ @@ -645,7 +645,7 @@ static inline void *init_handler( const ucontext_t *sigcontext )
+@@ -486,7 +486,7 @@ index 2928f314358..138f56b94eb 100644
+ return (void *)(ESP_sig(sigcontext) & ~3);
+ }
+ diff --git a/dlls/system.drv16/system.c b/dlls/system.drv16/system.c
+-index b6fd51c05f0..695ad7b6003 100644
++index b6fd51c05f01..695ad7b60039 100644
+ --- a/dlls/system.drv16/system.c
+ +++ b/dlls/system.drv16/system.c
+ @@ -70,7 +70,7 @@ static void CALLBACK SYSTEM_TimerTick( LPVOID arg, DWORD low, DWORD high )
+@@ -499,7 +499,7 @@ index b6fd51c05f0..695ad7b6003 100644
+
+ WOWCallback16Ex( 0, WCB16_REGS, 0, NULL, (DWORD *)&context );
+ diff --git a/dlls/toolhelp.dll16/toolhelp.c b/dlls/toolhelp.dll16/toolhelp.c
+-index 578d1ae7fab..1077f0b0367 100644
++index 578d1ae7faba..1077f0b03672 100644
+ --- a/dlls/toolhelp.dll16/toolhelp.c
+ +++ b/dlls/toolhelp.dll16/toolhelp.c
+ @@ -491,8 +491,8 @@ BOOL16 WINAPI TaskNext16( TASKENTRY *lpte )
+@@ -523,7 +523,7 @@ index 578d1ae7fab..1077f0b0367 100644
+ WORD user = LoadLibrary16( "USER.EXE" );
+ WORD gdi = LoadLibrary16( "GDI.EXE" );
+ diff --git a/dlls/user.exe16/message.c b/dlls/user.exe16/message.c
+-index e3ca3fd779d..fa9388ceaa1 100644
++index e3ca3fd779d3..fa9388ceaa11 100644
+ --- a/dlls/user.exe16/message.c
+ +++ b/dlls/user.exe16/message.c
+ @@ -240,11 +240,11 @@ static LRESULT call_window_proc16( HWND16 hwnd, UINT16 msg, WPARAM16 wParam, LPA
+@@ -595,7 +595,7 @@ index e3ca3fd779d..fa9388ceaa1 100644
+
+ stack16->ds = GetWindowLongPtrW( hwnd, GWLP_HINSTANCE );
+ diff --git a/dlls/user.exe16/user.c b/dlls/user.exe16/user.c
+-index 27b92793836..deec596f766 100644
++index 27b92793836a..deec596f7660 100644
+ --- a/dlls/user.exe16/user.c
+ +++ b/dlls/user.exe16/user.c
+ @@ -1394,7 +1394,7 @@ DWORD WINAPI GetTabbedTextExtent16( HDC16 hdc, LPCSTR lpstr, INT16 count,
+@@ -617,7 +617,7 @@ index 27b92793836..deec596f766 100644
+ int userPercent, gdiPercent;
+
+ diff --git a/dlls/user.exe16/window.c b/dlls/user.exe16/window.c
+-index bf86719325b..1f53bdc9540 100644
++index bf86719325b8..1f53bdc95402 100644
+ --- a/dlls/user.exe16/window.c
+ +++ b/dlls/user.exe16/window.c
+ @@ -456,7 +456,7 @@ HWND16 WINAPI GetParent16( HWND16 hwnd )
+@@ -630,10 +630,10 @@ index bf86719325b..1f53bdc9540 100644
+ /* don't use WIN_Handle32 here, we don't care about the full handle */
+ return IsWindow( HWND_32(hwnd) );
+ diff --git a/include/winternl.h b/include/winternl.h
+-index acbce20c212..68c1ae3fd82 100644
++index 87eb0d32926b..2d9f54b89d8c 100644
+ --- a/include/winternl.h
+ +++ b/include/winternl.h
+-@@ -362,7 +362,7 @@ typedef struct _TEB
++@@ -363,7 +363,7 @@ typedef struct _TEB
+ PVOID WOW32Reserved; /* 0c0/0100 */
+ ULONG CurrentLocale; /* 0c4/0108 */
+ ULONG FpSoftwareStatusRegister; /* 0c8/010c */
+@@ -643,7 +643,7 @@ index acbce20c212..68c1ae3fd82 100644
+ ACTIVATION_CONTEXT_STACK ActivationContextStack; /* 1a8/02c8 */
+ BYTE SpareBytes1[24]; /* 1bc/02e8 */
+ diff --git a/tools/winebuild/relay.c b/tools/winebuild/relay.c
+-index 29d0a74c833..01bb97e02b4 100644
++index 29d0a74c833c..01bb97e02b4c 100644
+ --- a/tools/winebuild/relay.c
+ +++ b/tools/winebuild/relay.c
+ @@ -31,7 +31,7 @@
+diff --git a/patches/winebuild-Fake_Dlls/0003-winebuild-Generate-syscall-thunks-for-ntdll-exports.patch b/patches/winebuild-Fake_Dlls/0003-winebuild-Generate-syscall-thunks-for-ntdll-exports.patch
+index 547e27f8f..a0487f91b 100644
+--- a/patches/winebuild-Fake_Dlls/0003-winebuild-Generate-syscall-thunks-for-ntdll-exports.patch
++++ b/patches/winebuild-Fake_Dlls/0003-winebuild-Generate-syscall-thunks-for-ntdll-exports.patch
+@@ -1,4 +1,4 @@
+-From 0c4d2573b123f2198f74292133b7a6eefa472620 Mon Sep 17 00:00:00 2001
++From d8ff827f7a94aee2bed89c620120af0a148ca81c Mon Sep 17 00:00:00 2001
+ From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael(a)fds-team.de>
+ Date: Thu, 11 May 2017 05:32:55 +0200
+ Subject: [PATCH] winebuild: Generate syscall thunks for ntdll exports.
+@@ -8,7 +8,7 @@ Based on a patch by Erich E. Hoover.
+ dlls/ntdll/loader.c | 3 +
+ dlls/ntdll/signal_i386.c | 4 +-
+ dlls/ntdll/tests/exception.c | 2 +
+- dlls/ntdll/thread.c | 3 +-
++ dlls/ntdll/thread.c | 10 +++-
+ dlls/ntdll/unix/thread.c | 3 +-
+ dlls/ntdll/unix/unix_private.h | 2 +-
+ dlls/ntdll/unixlib.h | 4 +-
+@@ -19,13 +19,13 @@ Based on a patch by Erich E. Hoover.
+ tools/winebuild/spec16.c | 22 +------
+ tools/winebuild/spec32.c | 104 +++++++++++++++++++++++++++++++++
+ tools/winebuild/utils.c | 21 +++++++
+- 14 files changed, 214 insertions(+), 32 deletions(-)
++ 14 files changed, 221 insertions(+), 32 deletions(-)
+
+ diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c
+-index 0c8f05285c4..26c540050dc 100644
++index 2553b0b9d397..cac6aae2f3dd 100644
+ --- a/dlls/ntdll/loader.c
+ +++ b/dlls/ntdll/loader.c
+-@@ -3810,6 +3810,7 @@ PIMAGE_NT_HEADERS WINAPI RtlImageNtHeader(HMODULE hModule)
++@@ -4021,6 +4021,7 @@ PIMAGE_NT_HEADERS WINAPI RtlImageNtHeader(HMODULE hModule)
+ return ret;
+ }
+
+@@ -33,7 +33,7 @@ index 0c8f05285c4..26c540050dc 100644
+
+ /******************************************************************
+ * LdrInitializeThunk (NTDLL.@)
+-@@ -3826,6 +3827,8 @@ void WINAPI LdrInitializeThunk( CONTEXT *context, void **entry, ULONG_PTR unknow
++@@ -4038,6 +4039,8 @@ void WINAPI LdrInitializeThunk( CONTEXT *context, void **entry, ULONG_PTR unknow
+ WINE_MODREF *wm;
+ LPCWSTR load_path = NtCurrentTeb()->Peb->ProcessParameters->DllPath.Buffer;
+
+@@ -43,7 +43,7 @@ index 0c8f05285c4..26c540050dc 100644
+
+ RtlEnterCriticalSection( &loader_section );
+ diff --git a/dlls/ntdll/signal_i386.c b/dlls/ntdll/signal_i386.c
+-index 21cc1b3ead4..18be5693a7d 100644
++index 21cc1b3ead40..18be5693a7d2 100644
+ --- a/dlls/ntdll/signal_i386.c
+ +++ b/dlls/ntdll/signal_i386.c
+ @@ -346,6 +346,8 @@ __ASM_STDCALL_FUNC( RtlCaptureContext, 4,
+@@ -65,7 +65,7 @@ index 21cc1b3ead4..18be5693a7d 100644
+ }
+ return unix_funcs->NtGetContextThread( handle, context );
+ diff --git a/dlls/ntdll/tests/exception.c b/dlls/ntdll/tests/exception.c
+-index a5e6faa461a..51938bf84cc 100644
++index 1389a542cdee..54796476e25b 100644
+ --- a/dlls/ntdll/tests/exception.c
+ +++ b/dlls/ntdll/tests/exception.c
+ @@ -1643,6 +1643,8 @@ static void test_thread_context(void)
+@@ -78,18 +78,25 @@ index a5e6faa461a..51938bf84cc 100644
+ ok( context.SegCs == LOWORD(expect.SegCs), "wrong SegCs %08x/%08x\n", context.SegCs, expect.SegCs );
+ ok( context.SegDs == LOWORD(expect.SegDs), "wrong SegDs %08x/%08x\n", context.SegDs, expect.SegDs );
+ diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c
+-index 5a6809638ae..fa10cdf1062 100644
++index ff5fe9d6226a..e93498b27ea0 100644
+ --- a/dlls/ntdll/thread.c
+ +++ b/dlls/ntdll/thread.c
+-@@ -170,6 +170,7 @@ int __cdecl __wine_dbg_output( const char *str )
++@@ -220,6 +220,14 @@ int __cdecl __wine_dbg_output( const char *str )
+ return unix_funcs->dbg_output( str );
+ }
+
+++#if defined(__i386__) || defined(__x86_64__)
+ +extern void DECLSPEC_NORETURN __wine_syscall_dispatcher( void );
+++#else
+++void __wine_syscall_dispatcher( void )
+++{
+++ FIXME("Syscall dispatcher is not available for this architecture.\n");
+++}
+++#endif
+
+ /***********************************************************************
+ * thread_init
+-@@ -181,7 +182,7 @@ int __cdecl __wine_dbg_output( const char *str )
++@@ -231,7 +239,7 @@ int __cdecl __wine_dbg_output( const char *str )
+ TEB *thread_init( SIZE_T *info_size, BOOL *suspend )
+ {
+ TEB *teb = unix_funcs->init_threading( &nb_threads, &__wine_ldt_copy, info_size, suspend, &server_cpus,
+@@ -99,7 +106,7 @@ index 5a6809638ae..fa10cdf1062 100644
+ peb = teb->Peb;
+ peb->FastPebLock = &peb_lock;
+ diff --git a/dlls/ntdll/unix/thread.c b/dlls/ntdll/unix/thread.c
+-index 97b191e1a5b..2dbaa43e731 100644
++index 97b191e1a5b3..2dbaa43e731a 100644
+ --- a/dlls/ntdll/unix/thread.c
+ +++ b/dlls/ntdll/unix/thread.c
+ @@ -85,7 +85,7 @@ static void pthread_exit_wrapper( int status )
+@@ -120,10 +127,10 @@ index 97b191e1a5b..2dbaa43e731 100644
+ thread_data->request_fd = -1;
+ thread_data->reply_fd = -1;
+ diff --git a/dlls/ntdll/unix/unix_private.h b/dlls/ntdll/unix/unix_private.h
+-index 19dd216fc35..a1c48a52606 100644
++index 92a58417827b..33a551e947c2 100644
+ --- a/dlls/ntdll/unix/unix_private.h
+ +++ b/dlls/ntdll/unix/unix_private.h
+-@@ -107,7 +107,7 @@ extern void CDECL server_release_fd( HANDLE handle, int unix_fd ) DECLSPEC_HIDDE
++@@ -108,7 +108,7 @@ extern void CDECL server_release_fd( HANDLE handle, int unix_fd ) DECLSPEC_HIDDE
+ extern void CDECL server_init_process_done( void *relay ) DECLSPEC_HIDDEN;
+ extern TEB * CDECL init_threading( int *nb_threads_ptr, struct ldt_copy **ldt_copy, SIZE_T *size,
+ BOOL *suspend, unsigned int *cpus, BOOL *wow64,
+@@ -133,7 +140,7 @@ index 19dd216fc35..a1c48a52606 100644
+ extern void CDECL DECLSPEC_NORETURN exit_process( int status ) DECLSPEC_HIDDEN;
+ extern NTSTATUS CDECL get_thread_ldt_entry( HANDLE handle, void *data, ULONG len, ULONG *ret_len ) DECLSPEC_HIDDEN;
+ diff --git a/dlls/ntdll/unixlib.h b/dlls/ntdll/unixlib.h
+-index 4c580c49d13..4f0080db03d 100644
++index 4c580c49d139..4f0080db03d9 100644
+ --- a/dlls/ntdll/unixlib.h
+ +++ b/dlls/ntdll/unixlib.h
+ @@ -28,7 +28,7 @@ struct ldt_copy;
+@@ -155,10 +162,10 @@ index 4c580c49d13..4f0080db03d 100644
+ void (CDECL *exit_process)( int status );
+ NTSTATUS (CDECL *get_thread_ldt_entry)( HANDLE handle, void *data, ULONG len, ULONG *ret_len );
+ diff --git a/include/winternl.h b/include/winternl.h
+-index 68c1ae3fd82..f2da9157aab 100644
++index 2d9f54b89d8c..0c15a0ee6c34 100644
+ --- a/include/winternl.h
+ +++ b/include/winternl.h
+-@@ -359,7 +359,7 @@ typedef struct _TEB
++@@ -360,7 +360,7 @@ typedef struct _TEB
+ PVOID CsrClientThread; /* 03c/0070 */
+ PVOID Win32ThreadInfo; /* 040/0078 */
+ ULONG Win32ClientInfo[31]; /* 044/0080 used for user32 private data in Wine */
+@@ -168,7 +175,7 @@ index 68c1ae3fd82..f2da9157aab 100644
+ ULONG FpSoftwareStatusRegister; /* 0c8/010c */
+ PVOID SystemReserved1[54]; /* 0cc/0110 used for krnl386.exe16 private data in Wine */
+ diff --git a/tools/winebuild/build.h b/tools/winebuild/build.h
+-index c162888a035..55d5b0b9dc2 100644
++index c162888a0356..55d5b0b9dc28 100644
+ --- a/tools/winebuild/build.h
+ +++ b/tools/winebuild/build.h
+ @@ -105,6 +105,7 @@ typedef struct
+@@ -216,7 +223,7 @@ index c162888a035..55d5b0b9dc2 100644
+
+ extern int byte_swapped;
+ diff --git a/tools/winebuild/import.c b/tools/winebuild/import.c
+-index 04ab433dd65..0c6bafed8e5 100644
++index 04ab433dd65a..0c6bafed8e54 100644
+ --- a/tools/winebuild/import.c
+ +++ b/tools/winebuild/import.c
+ @@ -531,6 +531,7 @@ static void check_undefined_forwards( DLLSPEC *spec )
+@@ -256,7 +263,7 @@ index 04ab433dd65..0c6bafed8e5 100644
+ }
+ }
+ diff --git a/tools/winebuild/parser.c b/tools/winebuild/parser.c
+-index 0f2b9c1e10a..74216f8bb6e 100644
++index 0f2b9c1e10ad..74216f8bb6e7 100644
+ --- a/tools/winebuild/parser.c
+ +++ b/tools/winebuild/parser.c
+ @@ -543,6 +543,24 @@ static const char *parse_spec_flags( DLLSPEC *spec, ORDDEF *odp )
+@@ -347,7 +354,7 @@ index 0f2b9c1e10a..74216f8bb6e 100644
+ }
+
+ diff --git a/tools/winebuild/spec16.c b/tools/winebuild/spec16.c
+-index a52c03aaa6a..15ef9a3f893 100644
++index a52c03aaa6a7..15ef9a3f8930 100644
+ --- a/tools/winebuild/spec16.c
+ +++ b/tools/winebuild/spec16.c
+ @@ -495,27 +495,6 @@ static int relay_type_compare( const void *e1, const void *e2 )
+@@ -387,7 +394,7 @@ index a52c03aaa6a..15ef9a3f893 100644
+ entry_point->u.func.nb_args = 0;
+ assert( !spec->ordinals[0] );
+ diff --git a/tools/winebuild/spec32.c b/tools/winebuild/spec32.c
+-index b1e20e0484d..22dd399cb2b 100644
++index b1e20e0484dc..22dd399cb2b4 100644
+ --- a/tools/winebuild/spec32.c
+ +++ b/tools/winebuild/spec32.c
+ @@ -374,6 +374,109 @@ static void output_relay_debug( DLLSPEC *spec )
+@@ -509,7 +516,7 @@ index b1e20e0484d..22dd399cb2b 100644
+ output_exports( spec );
+ output_imports( spec );
+ diff --git a/tools/winebuild/utils.c b/tools/winebuild/utils.c
+-index 2a1fc960926..07a579004ad 100644
++index 2a1fc960926b..07a579004adc 100644
+ --- a/tools/winebuild/utils.c
+ +++ b/tools/winebuild/utils.c
+ @@ -860,6 +860,7 @@ void free_dll_spec( DLLSPEC *spec )
+diff --git a/patches/winebuild-Fake_Dlls/0004-winebuild-Use-multipass-label-system-to-generate-fak.patch b/patches/winebuild-Fake_Dlls/0004-winebuild-Use-multipass-label-system-to-generate-fak.patch
+index 6c3984f8b..d4813799e 100644
+--- a/patches/winebuild-Fake_Dlls/0004-winebuild-Use-multipass-label-system-to-generate-fak.patch
++++ b/patches/winebuild-Fake_Dlls/0004-winebuild-Use-multipass-label-system-to-generate-fak.patch
+@@ -1,4 +1,4 @@
+-From 15182deeb13e26abdb3067a77353354726ac82aa Mon Sep 17 00:00:00 2001
++From 344eb39bdfee74d4d826fa2f61a95736f0ee9823 Mon Sep 17 00:00:00 2001
+ From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael(a)fds-team.de>
+ Date: Mon, 15 May 2017 02:05:49 +0200
+ Subject: [PATCH] winebuild: Use multipass label system to generate fake dlls.
+@@ -11,7 +11,7 @@ Subject: [PATCH] winebuild: Use multipass label system to generate fake dlls.
+ 4 files changed, 181 insertions(+), 63 deletions(-)
+
+ diff --git a/tools/winebuild/build.h b/tools/winebuild/build.h
+-index 6ee847f908c..210324406a9 100644
++index 55d5b0b9dc28..8930df408d3b 100644
+ --- a/tools/winebuild/build.h
+ +++ b/tools/winebuild/build.h
+ @@ -343,6 +343,7 @@ extern size_t input_buffer_pos;
+@@ -35,7 +35,7 @@ index 6ee847f908c..210324406a9 100644
+ /* global variables */
+
+ diff --git a/tools/winebuild/res32.c b/tools/winebuild/res32.c
+-index bd55bb2fa5c..d9329019f8a 100644
++index bd55bb2fa5c4..d9329019f8a3 100644
+ --- a/tools/winebuild/res32.c
+ +++ b/tools/winebuild/res32.c
+ @@ -539,7 +539,6 @@ void output_bin_resources( DLLSPEC *spec, unsigned int start_rva )
+@@ -47,7 +47,7 @@ index bd55bb2fa5c..d9329019f8a 100644
+ /* output the resource directories */
+
+ diff --git a/tools/winebuild/spec32.c b/tools/winebuild/spec32.c
+-index 22dd399cb2b..c38f1fe663c 100644
++index 22dd399cb2b4..c38f1fe663c7 100644
+ --- a/tools/winebuild/spec32.c
+ +++ b/tools/winebuild/spec32.c
+ @@ -844,11 +844,11 @@ void output_spec32_file( DLLSPEC *spec )
+@@ -279,7 +279,7 @@ index 22dd399cb2b..c38f1fe663c 100644
+ }
+
+ diff --git a/tools/winebuild/utils.c b/tools/winebuild/utils.c
+-index 7dc61a708db..64e1fa51455 100644
++index 07a579004adc..80dec6db29ea 100644
+ --- a/tools/winebuild/utils.c
+ +++ b/tools/winebuild/utils.c
+ @@ -34,6 +34,7 @@
+diff --git a/patches/winebuild-Fake_Dlls/0005-winebuild-Add-stub-functions-in-fake-dlls.patch b/patches/winebuild-Fake_Dlls/0005-winebuild-Add-stub-functions-in-fake-dlls.patch
+index f96d51aee..4ac05a314 100644
+--- a/patches/winebuild-Fake_Dlls/0005-winebuild-Add-stub-functions-in-fake-dlls.patch
++++ b/patches/winebuild-Fake_Dlls/0005-winebuild-Add-stub-functions-in-fake-dlls.patch
+@@ -1,4 +1,4 @@
+-From 167ad04157dd746ee9395afa9505fe00cc866f9b Mon Sep 17 00:00:00 2001
++From e5fc6ee60be5dd3b80af96dcbd81adb742ba7a5d Mon Sep 17 00:00:00 2001
+ From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael(a)fds-team.de>
+ Date: Mon, 15 May 2017 16:27:56 +0200
+ Subject: [PATCH] winebuild: Add stub functions in fake dlls.
+@@ -14,10 +14,10 @@ Subject: [PATCH] winebuild: Add stub functions in fake dlls.
+ 7 files changed, 251 insertions(+), 15 deletions(-)
+
+ diff --git a/dlls/kernel32/tests/loader.c b/dlls/kernel32/tests/loader.c
+-index 926fa913866..902907329c0 100644
++index efd5a25a432d..182b61b731a2 100644
+ --- a/dlls/kernel32/tests/loader.c
+ +++ b/dlls/kernel32/tests/loader.c
+-@@ -1596,9 +1596,7 @@ static void test_FakeDLL(void)
++@@ -1597,9 +1597,7 @@ static void test_FakeDLL(void)
+ ok(ptr != NULL, "MapViewOfFile failed with error %u\n", GetLastError());
+
+ dir = RtlImageDirectoryEntryToData(ptr, TRUE, IMAGE_DIRECTORY_ENTRY_EXPORT, &size);
+@@ -27,7 +27,7 @@ index 926fa913866..902907329c0 100644
+
+ names = RVAToAddr(dir->AddressOfNames, ptr);
+ ordinals = RVAToAddr(dir->AddressOfNameOrdinals, ptr);
+-@@ -1627,17 +1625,20 @@ todo_wine
++@@ -1628,17 +1626,20 @@ todo_wine
+ /* check position in memory */
+ dll_rva = (DWORD_PTR)dll_func - (DWORD_PTR)module;
+ map_rva = funcs[ordinals[i]];
+@@ -48,7 +48,7 @@ index 926fa913866..902907329c0 100644
+ ok(!memcmp(map_func, dll_func, 0x20), "%s: Function content does not match!\n", func_name);
+
+ if (!strcmp(func_name, "NtSetEvent"))
+-@@ -1651,10 +1652,11 @@ todo_wine
++@@ -1652,10 +1653,11 @@ todo_wine
+ ok(event != NULL, "CreateEvent failed with error %u\n", GetLastError());
+ pNtSetEvent(event, 0);
+ ok(WaitForSingleObject(event, 0) == WAIT_OBJECT_0, "Event was not signaled\n");
+@@ -62,10 +62,10 @@ index 926fa913866..902907329c0 100644
+ CloseHandle(map);
+ CloseHandle(file);
+ diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c
+-index 26c540050dc..09d3870c31a 100644
++index cac6aae2f3dd..51d989f30b45 100644
+ --- a/dlls/ntdll/loader.c
+ +++ b/dlls/ntdll/loader.c
+-@@ -3811,6 +3811,7 @@ PIMAGE_NT_HEADERS WINAPI RtlImageNtHeader(HMODULE hModule)
++@@ -4022,6 +4022,7 @@ PIMAGE_NT_HEADERS WINAPI RtlImageNtHeader(HMODULE hModule)
+ }
+
+ extern void DECLSPEC_NORETURN __wine_syscall_dispatcher( void );
+@@ -73,7 +73,7 @@ index 26c540050dc..09d3870c31a 100644
+
+ /******************************************************************
+ * LdrInitializeThunk (NTDLL.@)
+-@@ -3828,6 +3829,7 @@ void WINAPI LdrInitializeThunk( CONTEXT *context, void **entry, ULONG_PTR unknow
++@@ -4040,6 +4041,7 @@ void WINAPI LdrInitializeThunk( CONTEXT *context, void **entry, ULONG_PTR unknow
+ LPCWSTR load_path = NtCurrentTeb()->Peb->ProcessParameters->DllPath.Buffer;
+
+ NtCurrentTeb()->WOW32Reserved = __wine_syscall_dispatcher;
+@@ -82,12 +82,12 @@ index 26c540050dc..09d3870c31a 100644
+ if (process_detaching) return;
+
+ diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c
+-index fa10cdf1062..4840f527e59 100644
++index e93498b27ea0..a14e3a12ae0c 100644
+ --- a/dlls/ntdll/thread.c
+ +++ b/dlls/ntdll/thread.c
+-@@ -172,6 +172,39 @@ int __cdecl __wine_dbg_output( const char *str )
+-
+- extern void DECLSPEC_NORETURN __wine_syscall_dispatcher( void );
++@@ -229,6 +229,39 @@ void __wine_syscall_dispatcher( void )
++ }
++ #endif
+
+ +void *WINAPI __wine_fakedll_dispatcher( const char *module, ULONG ord )
+ +{
+@@ -125,7 +125,7 @@ index fa10cdf1062..4840f527e59 100644
+ /***********************************************************************
+ * thread_init
+ *
+-@@ -183,6 +216,7 @@ TEB *thread_init( SIZE_T *info_size, BOOL *suspend )
++@@ -240,6 +273,7 @@ TEB *thread_init( SIZE_T *info_size, BOOL *suspend )
+ {
+ TEB *teb = unix_funcs->init_threading( &nb_threads, &__wine_ldt_copy, info_size, suspend, &server_cpus,
+ &is_wow64, &server_start_time, __wine_syscall_dispatcher );
+@@ -134,10 +134,10 @@ index fa10cdf1062..4840f527e59 100644
+ peb = teb->Peb;
+ peb->FastPebLock = &peb_lock;
+ diff --git a/include/winternl.h b/include/winternl.h
+-index f2da9157aab..ce8021af503 100644
++index 0c15a0ee6c34..6da672e979e5 100644
+ --- a/include/winternl.h
+ +++ b/include/winternl.h
+-@@ -398,7 +398,7 @@ typedef struct _TEB
++@@ -399,7 +399,7 @@ typedef struct _TEB
+ PVOID Instrumentation[16]; /* f2c/16b8 */
+ PVOID WinSockData; /* f6c/1738 */
+ ULONG GdiBatchCount; /* f70/1740 */
+@@ -147,7 +147,7 @@ index f2da9157aab..ce8021af503 100644
+ PVOID ReservedForPerf; /* f7c/1750 */
+ PVOID ReservedForOle; /* f80/1758 */
+ diff --git a/tools/winebuild/build.h b/tools/winebuild/build.h
+-index 8930df408d3..44113bad28a 100644
++index 8930df408d3b..44113bad28af 100644
+ --- a/tools/winebuild/build.h
+ +++ b/tools/winebuild/build.h
+ @@ -358,6 +358,7 @@ extern void put_word( unsigned short val );
+@@ -159,7 +159,7 @@ index 8930df408d3..44113bad28a 100644
+ extern void align_output_rva( unsigned int file_align, unsigned int rva_align );
+ extern size_t label_pos( const char *name );
+ diff --git a/tools/winebuild/spec32.c b/tools/winebuild/spec32.c
+-index c38f1fe663c..bf82ca497c0 100644
++index c38f1fe663c7..bf82ca497c0d 100644
+ --- a/tools/winebuild/spec32.c
+ +++ b/tools/winebuild/spec32.c
+ @@ -843,6 +843,163 @@ void output_spec32_file( DLLSPEC *spec )
+@@ -415,7 +415,7 @@ index c38f1fe663c..bf82ca497c0 100644
+ /* .reloc contents */
+ align_output_rva( file_align, section_align );
+ diff --git a/tools/winebuild/utils.c b/tools/winebuild/utils.c
+-index 80dec6db29e..d394a1382c6 100644
++index 80dec6db29ea..d394a1382c68 100644
+ --- a/tools/winebuild/utils.c
+ +++ b/tools/winebuild/utils.c
+ @@ -549,7 +549,7 @@ size_t output_buffer_size;
+diff --git a/patches/winebuild-Fake_Dlls/0006-winebuild-Add-syscall-thunks-in-fake-dlls.patch b/patches/winebuild-Fake_Dlls/0006-winebuild-Add-syscall-thunks-in-fake-dlls.patch
+index 5ae2b3deb..13f46d6b0 100644
+--- a/patches/winebuild-Fake_Dlls/0006-winebuild-Add-syscall-thunks-in-fake-dlls.patch
++++ b/patches/winebuild-Fake_Dlls/0006-winebuild-Add-syscall-thunks-in-fake-dlls.patch
+@@ -1,4 +1,4 @@
+-From 84a9f7b8192d7735108da2d7e81cf63faef97c13 Mon Sep 17 00:00:00 2001
++From fd72d405abba827ab5e2603551d48200aedad3ce Mon Sep 17 00:00:00 2001
+ From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael(a)fds-team.de>
+ Date: Mon, 15 May 2017 17:56:48 +0200
+ Subject: [PATCH] winebuild: Add syscall thunks in fake dlls.
+@@ -9,10 +9,10 @@ Subject: [PATCH] winebuild: Add syscall thunks in fake dlls.
+ 2 files changed, 25 insertions(+), 3 deletions(-)
+
+ diff --git a/dlls/kernel32/tests/loader.c b/dlls/kernel32/tests/loader.c
+-index ec173c94a8e..a3bed8b310b 100644
++index 182b61b731a2..98369c7d508c 100644
+ --- a/dlls/kernel32/tests/loader.c
+ +++ b/dlls/kernel32/tests/loader.c
+-@@ -1602,7 +1602,6 @@ static void test_FakeDLL(void)
++@@ -1639,7 +1639,6 @@ static void test_FakeDLL(void)
+
+ /* check function content */
+ map_func = RVAToAddr(map_rva, ptr);
+@@ -21,7 +21,7 @@ index ec173c94a8e..a3bed8b310b 100644
+
+ if (!strcmp(func_name, "NtSetEvent"))
+ diff --git a/tools/winebuild/spec32.c b/tools/winebuild/spec32.c
+-index bf82ca497c0..6968e41260f 100644
++index bf82ca497c0d..6968e41260f1 100644
+ --- a/tools/winebuild/spec32.c
+ +++ b/tools/winebuild/spec32.c
+ @@ -860,13 +860,36 @@ static void create_stub_exports_text( DLLSPEC *spec )
+diff --git a/patches/winebuild-Fake_Dlls/0007-winebuild-Fix-size-of-relocation-information-in-fake.patch b/patches/winebuild-Fake_Dlls/0007-winebuild-Fix-size-of-relocation-information-in-fake.patch
+index 92a7161de..3b3745ed6 100644
+--- a/patches/winebuild-Fake_Dlls/0007-winebuild-Fix-size-of-relocation-information-in-fake.patch
++++ b/patches/winebuild-Fake_Dlls/0007-winebuild-Fix-size-of-relocation-information-in-fake.patch
+@@ -1,4 +1,4 @@
+-From d77c31b1567bfbde1ce4ceb526ad596d0be3e788 Mon Sep 17 00:00:00 2001
++From f92fc0572be02ce2eee2a9cbf60724372678a5af Mon Sep 17 00:00:00 2001
+ From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael(a)fds-team.de>
+ Date: Thu, 25 May 2017 03:22:25 +0200
+ Subject: [PATCH] winebuild: Fix size of relocation information in fake dlls.
+@@ -8,7 +8,7 @@ Subject: [PATCH] winebuild: Fix size of relocation information in fake dlls.
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+ diff --git a/tools/winebuild/spec32.c b/tools/winebuild/spec32.c
+-index 6968e41260f..f95b45b9a0d 100644
++index 6968e41260f1..f95b45b9a0d5 100644
+ --- a/tools/winebuild/spec32.c
+ +++ b/tools/winebuild/spec32.c
+ @@ -1238,8 +1238,8 @@ static void output_fake_module_pass( DLLSPEC *spec )
+diff --git a/patches/winebuild-Fake_Dlls/0008-winebuild-Try-to-make-sure-RVA-matches-between-fake-.patch b/patches/winebuild-Fake_Dlls/0008-winebuild-Try-to-make-sure-RVA-matches-between-fake-.patch
+index c4f1fb004..2cb4b7cf1 100644
+--- a/patches/winebuild-Fake_Dlls/0008-winebuild-Try-to-make-sure-RVA-matches-between-fake-.patch
++++ b/patches/winebuild-Fake_Dlls/0008-winebuild-Try-to-make-sure-RVA-matches-between-fake-.patch
+@@ -1,4 +1,4 @@
+-From afa59bbabca36f306e9db4c1b080a250c4a919ea Mon Sep 17 00:00:00 2001
++From 59efee63a7442dfee4d9e76b11f651a11a4b523e Mon Sep 17 00:00:00 2001
+ From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael(a)fds-team.de>
+ Date: Thu, 25 May 2017 21:46:27 +0200
+ Subject: [PATCH] winebuild: Try to make sure RVA matches between fake and
+@@ -11,10 +11,10 @@ Subject: [PATCH] winebuild: Try to make sure RVA matches between fake and
+ 3 files changed, 26 insertions(+), 5 deletions(-)
+
+ diff --git a/dlls/kernel32/tests/loader.c b/dlls/kernel32/tests/loader.c
+-index a3bed8b310b..8b5a345b086 100644
++index 98369c7d508c..77e73b3ca37b 100644
+ --- a/dlls/kernel32/tests/loader.c
+ +++ b/dlls/kernel32/tests/loader.c
+-@@ -1589,7 +1589,6 @@ static void test_FakeDLL(void)
++@@ -1626,7 +1626,6 @@ static void test_FakeDLL(void)
+ /* check position in memory */
+ dll_rva = (DWORD_PTR)dll_func - (DWORD_PTR)module;
+ map_rva = funcs[ordinals[i]];
+@@ -23,7 +23,7 @@ index a3bed8b310b..8b5a345b086 100644
+ func_name, dll_rva, map_rva);
+
+ diff --git a/libs/wine/loader.c b/libs/wine/loader.c
+-index c3b59d90224..b6847ca77b3 100644
++index c3b59d902243..b6847ca77b31 100644
+ --- a/libs/wine/loader.c
+ +++ b/libs/wine/loader.c
+ @@ -335,8 +335,12 @@ static void *map_dll( const IMAGE_NT_HEADERS *nt_descr )
+@@ -54,7 +54,7 @@ index c3b59d90224..b6847ca77b3 100644
+
+ memcpy( sec->Name, ".text", sizeof(".text") );
+ diff --git a/tools/winebuild/spec32.c b/tools/winebuild/spec32.c
+-index f95b45b9a0d..07d6eed05fc 100644
++index f95b45b9a0d5..07d6eed05fcc 100644
+ --- a/tools/winebuild/spec32.c
+ +++ b/tools/winebuild/spec32.c
+ @@ -381,14 +381,25 @@ static void output_relay_debug( DLLSPEC *spec )
+diff --git a/patches/winebuild-Fake_Dlls/0009-libs-wine-Use-same-file-alignment-for-fake-and-built.patch b/patches/winebuild-Fake_Dlls/0009-libs-wine-Use-same-file-alignment-for-fake-and-built.patch
+index e0ae33a59..9113beb5f 100644
+--- a/patches/winebuild-Fake_Dlls/0009-libs-wine-Use-same-file-alignment-for-fake-and-built.patch
++++ b/patches/winebuild-Fake_Dlls/0009-libs-wine-Use-same-file-alignment-for-fake-and-built.patch
+@@ -1,4 +1,4 @@
+-From 29478273c4db90d209ac5afbdc1dd80add3d2c7e Mon Sep 17 00:00:00 2001
++From 370eccb19c65a8b02abfa31a76651ae533dda22f Mon Sep 17 00:00:00 2001
+ From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael(a)fds-team.de>
+ Date: Thu, 25 May 2017 21:56:06 +0200
+ Subject: [PATCH] libs/wine: Use same file alignment for fake and builtin DLLs.
+@@ -9,10 +9,10 @@ Subject: [PATCH] libs/wine: Use same file alignment for fake and builtin DLLs.
+ 2 files changed, 1 insertion(+), 2 deletions(-)
+
+ diff --git a/dlls/kernel32/tests/loader.c b/dlls/kernel32/tests/loader.c
+-index 8b5a345b086..5373dc4efe1 100644
++index 77e73b3ca37b..1f525194ce73 100644
+ --- a/dlls/kernel32/tests/loader.c
+ +++ b/dlls/kernel32/tests/loader.c
+-@@ -1595,7 +1595,6 @@ static void test_FakeDLL(void)
++@@ -1632,7 +1632,6 @@ static void test_FakeDLL(void)
+ /* check position in file */
+ map_offset = (DWORD_PTR)RtlImageRvaToVa(RtlImageNtHeader(ptr), ptr, map_rva, NULL) - (DWORD_PTR)ptr;
+ dll_offset = (DWORD_PTR)RtlImageRvaToVa(RtlImageNtHeader(module), module, dll_rva, NULL) - (DWORD_PTR)module;
+@@ -21,7 +21,7 @@ index 8b5a345b086..5373dc4efe1 100644
+ func_name, map_offset, dll_offset);
+
+ diff --git a/libs/wine/loader.c b/libs/wine/loader.c
+-index b6847ca77b3..4597a6cb324 100644
++index b6847ca77b31..4597a6cb3243 100644
+ --- a/libs/wine/loader.c
+ +++ b/libs/wine/loader.c
+ @@ -398,7 +398,7 @@ static void *map_dll( const IMAGE_NT_HEADERS *nt_descr )
+diff --git a/patches/winebuild-Fake_Dlls/0010-tools-winebuild-Add-syscall-thunks-for-64-bit.patch b/patches/winebuild-Fake_Dlls/0010-tools-winebuild-Add-syscall-thunks-for-64-bit.patch
+index 6024e5a2f..e40a80148 100644
+--- a/patches/winebuild-Fake_Dlls/0010-tools-winebuild-Add-syscall-thunks-for-64-bit.patch
++++ b/patches/winebuild-Fake_Dlls/0010-tools-winebuild-Add-syscall-thunks-for-64-bit.patch
+@@ -1,4 +1,4 @@
+-From a5b4feebd008daab008f72567fe0001da619030e Mon Sep 17 00:00:00 2001
++From 6f1973aa2aee35139ae041e59d37a45ff22dc5bf Mon Sep 17 00:00:00 2001
+ From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael(a)fds-team.de>
+ Date: Thu, 7 Sep 2017 00:38:09 +0200
+ Subject: [PATCH] tools/winebuild: Add syscall thunks for 64 bit.
+@@ -7,18 +7,18 @@ Subject: [PATCH] tools/winebuild: Add syscall thunks for 64 bit.
+ dlls/kernel32/tests/loader.c | 7 +-
+ dlls/ntdll/unix/thread.c | 2 +-
+ dlls/ntdll/unix/unix_private.h | 2 +-
+- dlls/ntdll/unix/virtual.c | 12 +-
++ dlls/ntdll/unix/virtual.c | 11 +-
+ libs/wine/loader.c | 4 +
+ server/mapping.c | 6 +-
+ tools/winebuild/parser.c | 2 +-
+ tools/winebuild/spec32.c | 285 ++++++++++++++++++++++++++++++++-
+- 8 files changed, 306 insertions(+), 14 deletions(-)
++ 8 files changed, 305 insertions(+), 14 deletions(-)
+
+ diff --git a/dlls/kernel32/tests/loader.c b/dlls/kernel32/tests/loader.c
+-index 95939ba6bde..ae5462f6e55 100644
++index 1f525194ce73..21af7b4ce7a4 100644
+ --- a/dlls/kernel32/tests/loader.c
+ +++ b/dlls/kernel32/tests/loader.c
+-@@ -1573,7 +1573,7 @@ static void test_filenames(void)
++@@ -1574,7 +1574,7 @@ static void test_filenames(void)
+
+ static void test_FakeDLL(void)
+ {
+@@ -27,7 +27,7 @@ index 95939ba6bde..ae5462f6e55 100644
+ NTSTATUS (WINAPI *pNtSetEvent)(HANDLE, ULONG *) = NULL;
+ IMAGE_EXPORT_DIRECTORY *dir;
+ HMODULE module = GetModuleHandleA("ntdll.dll");
+-@@ -1615,8 +1615,13 @@ static void test_FakeDLL(void)
++@@ -1616,8 +1616,13 @@ static void test_FakeDLL(void)
+
+ dll_func = (BYTE *)GetProcAddress(module, func_name);
+ ok(dll_func != NULL, "%s: GetProcAddress returned NULL\n", func_name);
+@@ -42,7 +42,7 @@ index 95939ba6bde..ae5462f6e55 100644
+ todo_wine ok(0, "%s: Export is a stub-function, skipping\n", func_name);
+ continue;
+ diff --git a/dlls/ntdll/unix/thread.c b/dlls/ntdll/unix/thread.c
+-index 2dbaa43e731..e1da90222d3 100644
++index 2dbaa43e731a..e1da90222d38 100644
+ --- a/dlls/ntdll/unix/thread.c
+ +++ b/dlls/ntdll/unix/thread.c
+ @@ -110,7 +110,7 @@ TEB * CDECL init_threading( int *nb_threads_ptr, struct ldt_copy **ldt_copy, SIZ
+@@ -55,10 +55,10 @@ index 2dbaa43e731..e1da90222d3 100644
+
+ if (size) *size = info_size;
+ diff --git a/dlls/ntdll/unix/unix_private.h b/dlls/ntdll/unix/unix_private.h
+-index a1c48a52606..9c9e5b80b0c 100644
++index 33a551e947c2..d06f366d3c6d 100644
+ --- a/dlls/ntdll/unix/unix_private.h
+ +++ b/dlls/ntdll/unix/unix_private.h
+-@@ -152,7 +152,7 @@ extern void virtual_init(void) DECLSPEC_HIDDEN;
++@@ -153,7 +153,7 @@ extern void virtual_init(void) DECLSPEC_HIDDEN;
+ extern TEB *virtual_alloc_first_teb(void) DECLSPEC_HIDDEN;
+ extern NTSTATUS virtual_alloc_teb( TEB **ret_teb ) DECLSPEC_HIDDEN;
+ extern void virtual_free_teb( TEB *teb ) DECLSPEC_HIDDEN;
+@@ -68,10 +68,10 @@ index a1c48a52606..9c9e5b80b0c 100644
+ extern BOOL virtual_is_valid_code_address( const void *addr, SIZE_T size ) DECLSPEC_HIDDEN;
+ extern int virtual_handle_stack_fault( void *addr ) DECLSPEC_HIDDEN;
+ diff --git a/dlls/ntdll/unix/virtual.c b/dlls/ntdll/unix/virtual.c
+-index 660323d4dcc..a5e5cb8422d 100644
++index 9fb2ecd38ca3..ad11485d1cea 100644
+ --- a/dlls/ntdll/unix/virtual.c
+ +++ b/dlls/ntdll/unix/virtual.c
+-@@ -2588,14 +2588,14 @@ TEB *virtual_alloc_first_teb(void)
++@@ -2772,14 +2772,14 @@ TEB *virtual_alloc_first_teb(void)
+ TEB *teb;
+ PEB *peb;
+ NTSTATUS status;
+@@ -88,12 +88,7 @@ index 660323d4dcc..a5e5cb8422d 100644
+ if (status)
+ {
+ ERR( "wine: failed to map the shared user data: %08x\n", status );
+-@@ -2787,11 +2787,12 @@ void virtual_clear_thread_stack( void *stack_end )
+- if (force_exec_prot) mprotect( stack, size, PROT_READ | PROT_WRITE | PROT_EXEC );
+- }
+-
+-+extern void DECLSPEC_NORETURN __wine_syscall_dispatcher( void );
+-
++@@ -2977,7 +2977,7 @@ void virtual_clear_thread_stack( void *stack_end )
+ /***********************************************************************
+ * virtual_map_user_shared_data
+ */
+@@ -102,7 +97,7 @@ index 660323d4dcc..a5e5cb8422d 100644
+ {
+ static const WCHAR wine_usdW[] = {'\\','K','e','r','n','e','l','O','b','j','e','c','t','s',
+ '\\','_','_','w','i','n','e','_','u','s','e','r','_','s','h','a','r','e','d','_','d','a','t','a',0};
+-@@ -2814,6 +2815,11 @@ void virtual_map_user_shared_data(void)
++@@ -3000,6 +3000,11 @@ void virtual_map_user_shared_data(void)
+ ERR( "failed to remap the process USD: %d\n", res );
+ exit(1);
+ }
+@@ -115,7 +110,7 @@ index 660323d4dcc..a5e5cb8422d 100644
+ NtClose( section );
+ }
+ diff --git a/libs/wine/loader.c b/libs/wine/loader.c
+-index 4597a6cb324..3d0d75e9c6d 100644
++index 4597a6cb3243..3d0d75e9c6d3 100644
+ --- a/libs/wine/loader.c
+ +++ b/libs/wine/loader.c
+ @@ -398,7 +398,11 @@ static void *map_dll( const IMAGE_NT_HEADERS *nt_descr )
+@@ -131,7 +126,7 @@ index 4597a6cb324..3d0d75e9c6d 100644
+ sec++;
+
+ diff --git a/server/mapping.c b/server/mapping.c
+-index 0941dd87c05..002f3215af2 100644
++index 0941dd87c05d..002f3215af2e 100644
+ --- a/server/mapping.c
+ +++ b/server/mapping.c
+ @@ -964,7 +964,11 @@ struct object *create_user_data_mapping( struct object *root, const struct unico
+@@ -148,7 +143,7 @@ index 0941dd87c05..002f3215af2 100644
+ }
+
+ diff --git a/tools/winebuild/parser.c b/tools/winebuild/parser.c
+-index 74216f8bb6e..820516329a4 100644
++index 74216f8bb6e7..820516329a47 100644
+ --- a/tools/winebuild/parser.c
+ +++ b/tools/winebuild/parser.c
+ @@ -545,7 +545,7 @@ static const char *parse_spec_flags( DLLSPEC *spec, ORDDEF *odp )
+@@ -161,7 +156,7 @@ index 74216f8bb6e..820516329a4 100644
+ if (odp->flags & (FLAG_FORWARD | FLAG_REGISTER))
+ return 0;
+ diff --git a/tools/winebuild/spec32.c b/tools/winebuild/spec32.c
+-index 07d6eed05fc..9cc4698d0d7 100644
++index 07d6eed05fcc..9cc4698d0d7d 100644
+ --- a/tools/winebuild/spec32.c
+ +++ b/tools/winebuild/spec32.c
+ @@ -375,11 +375,11 @@ static void output_relay_debug( DLLSPEC *spec )
+diff --git a/patches/winebuild-Fake_Dlls/0011-ntdll-Call-NtOpenFile-through-syscall-thunk.patch b/patches/winebuild-Fake_Dlls/0011-ntdll-Call-NtOpenFile-through-syscall-thunk.patch
+index 69ee26be8..c3e065b26 100644
+--- a/patches/winebuild-Fake_Dlls/0011-ntdll-Call-NtOpenFile-through-syscall-thunk.patch
++++ b/patches/winebuild-Fake_Dlls/0011-ntdll-Call-NtOpenFile-through-syscall-thunk.patch
+@@ -1,4 +1,4 @@
+-From 659e192979eecfb59d1c1b26e8cea78c42300de5 Mon Sep 17 00:00:00 2001
++From feb53ed39179603391eff600ea59edc41407b238 Mon Sep 17 00:00:00 2001
+ From: Paul Gofman <gofmanp(a)gmail.com>
+ Date: Fri, 3 Jan 2020 17:39:08 +0300
+ Subject: [PATCH] ntdll: Call NtOpenFile through syscall thunk.
+@@ -15,10 +15,10 @@ Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48410
+ 7 files changed, 16 insertions(+), 8 deletions(-)
+
+ diff --git a/dlls/ntdll/actctx.c b/dlls/ntdll/actctx.c
+-index 1ca794ae3e5..b3c13042adc 100644
++index a25cefa555ac..34ba0dc813c6 100644
+ --- a/dlls/ntdll/actctx.c
+ +++ b/dlls/ntdll/actctx.c
+-@@ -2892,7 +2892,7 @@ static NTSTATUS open_nt_file( HANDLE *handle, UNICODE_STRING *name )
++@@ -2894,7 +2894,7 @@ static NTSTATUS open_nt_file( HANDLE *handle, UNICODE_STRING *name )
+ attr.ObjectName = name;
+ attr.SecurityDescriptor = NULL;
+ attr.SecurityQualityOfService = NULL;
+@@ -27,7 +27,7 @@ index 1ca794ae3e5..b3c13042adc 100644
+ }
+
+ static NTSTATUS get_manifest_in_module( struct actctx_loader* acl, struct assembly_identity* ai,
+-@@ -3209,7 +3209,7 @@ static NTSTATUS lookup_winsxs(struct actctx_loader* acl, struct assembly_identit
++@@ -3211,7 +3211,7 @@ static NTSTATUS lookup_winsxs(struct actctx_loader* acl, struct assembly_identit
+ attr.SecurityDescriptor = NULL;
+ attr.SecurityQualityOfService = NULL;
+
+@@ -37,10 +37,10 @@ index 1ca794ae3e5..b3c13042adc 100644
+ {
+ sxs_ai = *ai;
+ diff --git a/dlls/ntdll/directory.c b/dlls/ntdll/directory.c
+-index d18df38f626..69607a4fed9 100644
++index 18428658a5b5..7a9de26ccb0c 100644
+ --- a/dlls/ntdll/directory.c
+ +++ b/dlls/ntdll/directory.c
+-@@ -2943,7 +2943,7 @@ NTSTATUS DIR_get_unix_cwd( char **cwd )
++@@ -3071,7 +3071,7 @@ NTSTATUS DIR_get_unix_cwd( char **cwd )
+ attr.SecurityDescriptor = NULL;
+ attr.SecurityQualityOfService = NULL;
+
+@@ -50,10 +50,10 @@ index d18df38f626..69607a4fed9 100644
+ RtlFreeUnicodeString( &dirW );
+ if (status != STATUS_SUCCESS) goto done;
+ diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c
+-index 0b8c28a0651..e48cd84cffd 100644
++index 51d989f30b45..8f1653b0d626 100644
+ --- a/dlls/ntdll/loader.c
+ +++ b/dlls/ntdll/loader.c
+-@@ -2469,7 +2469,7 @@ static NTSTATUS open_dll_file( UNICODE_STRING *nt_name, WINE_MODREF **pwm,
++@@ -2521,7 +2521,7 @@ static NTSTATUS open_dll_file( UNICODE_STRING *nt_name, WINE_MODREF **pwm,
+ attr.ObjectName = nt_name;
+ attr.SecurityDescriptor = NULL;
+ attr.SecurityQualityOfService = NULL;
+@@ -63,10 +63,10 @@ index 0b8c28a0651..e48cd84cffd 100644
+ FILE_SYNCHRONOUS_IO_NONALERT | FILE_NON_DIRECTORY_FILE )))
+ {
+ diff --git a/dlls/ntdll/locale.c b/dlls/ntdll/locale.c
+-index 0d0c1194d23..a1bf219ed0a 100644
++index 15ccdeb2e637..928edcb04e2c 100644
+ --- a/dlls/ntdll/locale.c
+ +++ b/dlls/ntdll/locale.c
+-@@ -661,7 +661,7 @@ static NTSTATUS open_nls_data_file( ULONG type, ULONG id, HANDLE *file )
++@@ -660,7 +660,7 @@ static NTSTATUS open_nls_data_file( ULONG type, ULONG id, HANDLE *file )
+ return STATUS_NO_MEMORY;
+ valueW.Length = NTDLL_swprintf( valueW.Buffer, pathfmtW, dir, name ) * sizeof(WCHAR);
+ InitializeObjectAttributes( &attr, &valueW, 0, 0, NULL );
+@@ -75,7 +75,7 @@ index 0d0c1194d23..a1bf219ed0a 100644
+ if (!status) TRACE( "found %s\n", debugstr_w( valueW.Buffer ));
+ RtlFreeUnicodeString( &valueW );
+ if (status != STATUS_OBJECT_NAME_NOT_FOUND && status != STATUS_OBJECT_PATH_NOT_FOUND) return status;
+-@@ -685,7 +685,7 @@ static NTSTATUS open_nls_data_file( ULONG type, ULONG id, HANDLE *file )
++@@ -684,7 +684,7 @@ static NTSTATUS open_nls_data_file( ULONG type, ULONG id, HANDLE *file )
+ wcscat( valueW.Buffer, name );
+ valueW.Length = wcslen(valueW.Buffer) * sizeof(WCHAR);
+ InitializeObjectAttributes( &attr, &valueW, 0, 0, NULL );
+@@ -85,10 +85,10 @@ index 0d0c1194d23..a1bf219ed0a 100644
+ }
+ RtlFreeUnicodeString( &valueW );
+ diff --git a/dlls/ntdll/ntdll_misc.h b/dlls/ntdll/ntdll_misc.h
+-index 2e791b92f73..f8170793185 100644
++index 9091d1ae8c77..f8e81ae49eaf 100644
+ --- a/dlls/ntdll/ntdll_misc.h
+ +++ b/dlls/ntdll/ntdll_misc.h
+-@@ -350,4 +350,12 @@ static inline void ascii_to_unicode( WCHAR *dst, const char *src, size_t len )
++@@ -329,4 +329,12 @@ static inline void ascii_to_unicode( WCHAR *dst, const char *src, size_t len )
+ while (len--) *dst++ = (unsigned char)*src++;
+ }
+
+@@ -102,7 +102,7 @@ index 2e791b92f73..f8170793185 100644
+ +
+ #endif
+ diff --git a/dlls/ntdll/path.c b/dlls/ntdll/path.c
+-index 32e1f951af5..71ae44dd498 100644
++index 32e1f951af5c..71ae44dd4988 100644
+ --- a/dlls/ntdll/path.c
+ +++ b/dlls/ntdll/path.c
+ @@ -1020,7 +1020,7 @@ NTSTATUS WINAPI RtlSetCurrentDirectory_U(const UNICODE_STRING* dir)
+@@ -115,10 +115,10 @@ index 32e1f951af5..71ae44dd498 100644
+ if (nts != STATUS_SUCCESS) goto out;
+
+ diff --git a/dlls/ntdll/process.c b/dlls/ntdll/process.c
+-index 60ee39765bf..70dfe6f768a 100644
++index 884141da060c..32a1f5107f06 100644
+ --- a/dlls/ntdll/process.c
+ +++ b/dlls/ntdll/process.c
+-@@ -1281,7 +1281,7 @@ static NTSTATUS get_pe_file_info( UNICODE_STRING *path, ULONG attributes,
++@@ -1357,7 +1357,7 @@ static NTSTATUS get_pe_file_info( UNICODE_STRING *path, ULONG attributes,
+
+ memset( info, 0, sizeof(*info) );
+ InitializeObjectAttributes( &attr, path, attributes, 0, 0 );
diff --git a/wine.spec b/wine.spec
index cd74653..a2d6c1f 100644
--- a/wine.spec
+++ b/wine.spec
@@ -76,6 +76,7 @@ Source150: wine.appdata.xml
# wine bugs
Patch100: wine-staging-5.10-ntdll.patch
+Patch101: wine-staging-5.10-ntdll-arm.patch
# desktop dir
Source200: wine.menu
@@ -694,15 +695,9 @@ This package adds the opencl driver for wine.
# setup and apply wine-staging patches
gzip -dc %{SOURCE900} | tar -xf - --strip-components=1
%patch100 -p1 -b.ntdll
+%patch101 -p1 -b.ntdll-arm
-%ifarch %{arm} aarch64
-patches/patchinstall.sh DESTDIR="`pwd`" --all \
- -W ntdll-NtContinue \
- -W ntdll-Syscall_Emulation \
- -W winebuild-Fake_Dlls
-%else
patches/patchinstall.sh DESTDIR="`pwd`" --all
-%endif
# fix parallelized build
sed -i -e 's!^loader server: libs/port libs/wine tools.*!& include!' Makefile.in
3 years, 11 months
Architecture specific change in rpms/wine.git
by githook-noreply@fedoraproject.org
The package rpms/wine.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/wine.git/commit/?id=ed2472170e1a0....
Change:
+%ifarch %{arm} aarch64
Thanks.
Full change:
============
commit ed2472170e1a0d58cf40488140572c6a8b013023
Author: Michael Cronenworth <mike(a)cchtml.com>
Date: Thu Jun 11 08:30:55 2020 -0500
Apply wine-staging patch and disable a few patchsets on arm due to compile issues
diff --git a/wine-staging-5.10-ntdll.patch b/wine-staging-5.10-ntdll.patch
new file mode 100644
index 0000000..0ac49d8
--- /dev/null
+++ b/wine-staging-5.10-ntdll.patch
@@ -0,0 +1,497 @@
+From 044cb930662d61f401a5d1bdd7b8e75d59cea5ea Mon Sep 17 00:00:00 2001
+From: Paul Gofman <gofmanp(a)gmail.com>
+Date: Mon, 8 Jun 2020 15:33:10 +0300
+Subject: [PATCH] Updated ntdll-ForceBottomUpAlloc patchset.
+
+Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49326
+---
+ ...h-on-mmap-error-in-try_map_free_area.patch | 9 +-
+ ...XED_NOREPLACE-flag-in-try_map_free_a.patch | 10 +-
+ ...om-up-allocation-order-for-64-bit-ar.patch | 12 +-
+ ...tep-after-failed-map-attempt-in-try_.patch | 8 +-
+ ...rea-list-for-virtual-memory-allocati.patch | 163 +++++++++++-------
+ ...y-exclude-natively-mapped-areas-from.patch | 14 +-
+ 6 files changed, 126 insertions(+), 90 deletions(-)
+
+diff --git a/patches/ntdll-ForceBottomUpAlloc/0001-ntdll-Stop-search-on-mmap-error-in-try_map_free_area.patch b/patches/ntdll-ForceBottomUpAlloc/0001-ntdll-Stop-search-on-mmap-error-in-try_map_free_area.patch
+index 7aa2337e8..ecf750c59 100644
+--- a/patches/ntdll-ForceBottomUpAlloc/0001-ntdll-Stop-search-on-mmap-error-in-try_map_free_area.patch
++++ b/patches/ntdll-ForceBottomUpAlloc/0001-ntdll-Stop-search-on-mmap-error-in-try_map_free_area.patch
+@@ -1,7 +1,8 @@
+-From ca116113c19ee17d2e8283abe4edf27f76df2148 Mon Sep 17 00:00:00 2001
++From c0a24a86c70b3cf2bfe118cff4d9ab03efaa9689 Mon Sep 17 00:00:00 2001
+ From: Paul Gofman <gofmanp(a)gmail.com>
+ Date: Thu, 9 Jan 2020 15:05:09 +0300
+-Subject: [PATCH] ntdll: Stop search on mmap() error in try_map_free_area().
++Subject: [PATCH 1/6] ntdll: Stop search on mmap() error in
++ try_map_free_area().
+
+ The anon mmap errors do not depend on start address hint. Ignoring them
+ makes the search take incredible time until it fails.
+@@ -10,10 +11,10 @@ makes the search take incredible time until it fails.
+ 1 file changed, 8 insertions(+), 2 deletions(-)
+
+ diff --git a/dlls/ntdll/unix/virtual.c b/dlls/ntdll/unix/virtual.c
+-index 0346d0d9753..c29f695d694 100644
++index b2725e3ae9a..5c2ecfab398 100644
+ --- a/dlls/ntdll/unix/virtual.c
+ +++ b/dlls/ntdll/unix/virtual.c
+-@@ -1016,8 +1016,14 @@ static void* try_map_free_area( void *base, void *end, ptrdiff_t step,
++@@ -1063,8 +1063,14 @@ static void* try_map_free_area( void *base, void *end, ptrdiff_t step,
+ return start;
+ TRACE( "Found free area is already mapped, start %p.\n", start );
+
+diff --git a/patches/ntdll-ForceBottomUpAlloc/0002-ntdll-Use-MAP_FIXED_NOREPLACE-flag-in-try_map_free_a.patch b/patches/ntdll-ForceBottomUpAlloc/0002-ntdll-Use-MAP_FIXED_NOREPLACE-flag-in-try_map_free_a.patch
+index 6672d646f..81bdde5a0 100644
+--- a/patches/ntdll-ForceBottomUpAlloc/0002-ntdll-Use-MAP_FIXED_NOREPLACE-flag-in-try_map_free_a.patch
++++ b/patches/ntdll-ForceBottomUpAlloc/0002-ntdll-Use-MAP_FIXED_NOREPLACE-flag-in-try_map_free_a.patch
+@@ -1,8 +1,8 @@
+-From b2c9894cd6a81eaa9f7dd4bce3f9cbfbec17d021 Mon Sep 17 00:00:00 2001
++From 68e035e381f5d53980a8bcd7c0798dfd4b4fbe95 Mon Sep 17 00:00:00 2001
+ From: Paul Gofman <gofmanp(a)gmail.com>
+ Date: Thu, 16 Jan 2020 16:09:24 +0300
+-Subject: [PATCH] ntdll: Use MAP_FIXED_NOREPLACE flag in try_map_free_area() if
+- available.
++Subject: [PATCH 2/6] ntdll: Use MAP_FIXED_NOREPLACE flag in
++ try_map_free_area() if available.
+
+ Avoids actual mapping followed by unmapping back if the memory range is
+ already mapped.
+@@ -11,10 +11,10 @@ already mapped.
+ 1 file changed, 9 insertions(+), 3 deletions(-)
+
+ diff --git a/dlls/ntdll/unix/virtual.c b/dlls/ntdll/unix/virtual.c
+-index c29f695d694..8d3e25481ec 100644
++index 5c2ecfab398..93b5d99dadd 100644
+ --- a/dlls/ntdll/unix/virtual.c
+ +++ b/dlls/ntdll/unix/virtual.c
+-@@ -1008,22 +1008,28 @@ static struct wine_rb_entry *find_view_inside_range( void **base_ptr, void **end
++@@ -1055,22 +1055,28 @@ static struct wine_rb_entry *find_view_inside_range( void **base_ptr, void **end
+ static void* try_map_free_area( void *base, void *end, ptrdiff_t step,
+ void *start, size_t size, int unix_prot )
+ {
+diff --git a/patches/ntdll-ForceBottomUpAlloc/0003-ntdll-Force-bottom-up-allocation-order-for-64-bit-ar.patch b/patches/ntdll-ForceBottomUpAlloc/0003-ntdll-Force-bottom-up-allocation-order-for-64-bit-ar.patch
+index 44980f11a..279c8e3c2 100644
+--- a/patches/ntdll-ForceBottomUpAlloc/0003-ntdll-Force-bottom-up-allocation-order-for-64-bit-ar.patch
++++ b/patches/ntdll-ForceBottomUpAlloc/0003-ntdll-Force-bottom-up-allocation-order-for-64-bit-ar.patch
+@@ -1,7 +1,7 @@
+-From 9f7320fe58c85f1b53301c2c9a2a80fa8d4ed228 Mon Sep 17 00:00:00 2001
++From 25be7201abeb509db4b28b81914036bc0c00c2f9 Mon Sep 17 00:00:00 2001
+ From: Paul Gofman <gofmanp(a)gmail.com>
+ Date: Mon, 25 Nov 2019 12:19:20 +0300
+-Subject: [PATCH] ntdll: Force bottom up allocation order for 64 bit arch
++Subject: [PATCH 3/6] ntdll: Force bottom up allocation order for 64 bit arch
+ unless top down is requested.
+
+ Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48175
+@@ -11,10 +11,10 @@ Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46568
+ 1 file changed, 10 insertions(+), 2 deletions(-)
+
+ diff --git a/dlls/ntdll/unix/virtual.c b/dlls/ntdll/unix/virtual.c
+-index 8d3e25481ec..dc20e827141 100644
++index 93b5d99dadd..87b33016b72 100644
+ --- a/dlls/ntdll/unix/virtual.c
+ +++ b/dlls/ntdll/unix/virtual.c
+-@@ -1715,13 +1715,19 @@ static NTSTATUS map_view( struct file_view **view_ret, void *base, size_t size,
++@@ -1775,13 +1775,19 @@ static NTSTATUS map_view( struct file_view **view_ret, void *base, size_t size,
+ }
+ else
+ {
+@@ -35,7 +35,7 @@ index 8d3e25481ec..dc20e827141 100644
+ if (mmap_enum_reserved_areas( alloc_reserved_area_callback, &alloc, top_down ))
+ {
+ ptr = alloc.result;
+-@@ -1731,7 +1737,7 @@ static NTSTATUS map_view( struct file_view **view_ret, void *base, size_t size,
++@@ -1791,7 +1797,7 @@ static NTSTATUS map_view( struct file_view **view_ret, void *base, size_t size,
+ goto done;
+ }
+
+@@ -44,7 +44,7 @@ index 8d3e25481ec..dc20e827141 100644
+ {
+ if (!(ptr = map_free_area( address_space_start, alloc.limit, size,
+ top_down, get_unix_prot(vprot) )))
+-@@ -1740,6 +1746,8 @@ static NTSTATUS map_view( struct file_view **view_ret, void *base, size_t size,
++@@ -1800,6 +1806,8 @@ static NTSTATUS map_view( struct file_view **view_ret, void *base, size_t size,
+ goto done;
+ }
+
+diff --git a/patches/ntdll-ForceBottomUpAlloc/0004-ntdll-Increase-step-after-failed-map-attempt-in-try_.patch b/patches/ntdll-ForceBottomUpAlloc/0004-ntdll-Increase-step-after-failed-map-attempt-in-try_.patch
+index 9361f0938..0b5c7618a 100644
+--- a/patches/ntdll-ForceBottomUpAlloc/0004-ntdll-Increase-step-after-failed-map-attempt-in-try_.patch
++++ b/patches/ntdll-ForceBottomUpAlloc/0004-ntdll-Increase-step-after-failed-map-attempt-in-try_.patch
+@@ -1,7 +1,7 @@
+-From e521333684d1286fff7b6625515d13ad6f3fcba3 Mon Sep 17 00:00:00 2001
++From d74a5c586c00a879fa1182af72c15c154e5dd096 Mon Sep 17 00:00:00 2001
+ From: Paul Gofman <gofmanp(a)gmail.com>
+ Date: Tue, 14 Jan 2020 21:39:23 +0300
+-Subject: [PATCH] ntdll: Increase step after failed map attempt in
++Subject: [PATCH 4/6] ntdll: Increase step after failed map attempt in
+ try_map_free_area().
+
+ ---
+@@ -9,10 +9,10 @@ Subject: [PATCH] ntdll: Increase step after failed map attempt in
+ 1 file changed, 1 insertion(+)
+
+ diff --git a/dlls/ntdll/unix/virtual.c b/dlls/ntdll/unix/virtual.c
+-index dc20e827141..720d45ecb9f 100644
++index 87b33016b72..5e79faaf6fc 100644
+ --- a/dlls/ntdll/unix/virtual.c
+ +++ b/dlls/ntdll/unix/virtual.c
+-@@ -1036,6 +1036,7 @@ static void* try_map_free_area( void *base, void *end, ptrdiff_t step,
++@@ -1083,6 +1083,7 @@ static void* try_map_free_area( void *base, void *end, ptrdiff_t step,
+ step == 0)
+ break;
+ start = (char *)start + step;
+diff --git a/patches/ntdll-ForceBottomUpAlloc/0005-ntdll-Use-free-area-list-for-virtual-memory-allocati.patch b/patches/ntdll-ForceBottomUpAlloc/0005-ntdll-Use-free-area-list-for-virtual-memory-allocati.patch
+index 569bf3e62..1f712ba10 100644
+--- a/patches/ntdll-ForceBottomUpAlloc/0005-ntdll-Use-free-area-list-for-virtual-memory-allocati.patch
++++ b/patches/ntdll-ForceBottomUpAlloc/0005-ntdll-Use-free-area-list-for-virtual-memory-allocati.patch
+@@ -1,17 +1,17 @@
+-From df7b650d5e17afa411024b88d1920d0910947a6b Mon Sep 17 00:00:00 2001
++From f14407ee5755b6482714a6232a4313bcd1531781 Mon Sep 17 00:00:00 2001
+ From: Paul Gofman <pgofman(a)codeweavers.com>
+ Date: Tue, 14 Jan 2020 21:42:21 +0300
+-Subject: [PATCH] ntdll: Use free area list for virtual memory allocation.
++Subject: [PATCH 5/6] ntdll: Use free area list for virtual memory allocation.
+
+ ---
+- dlls/ntdll/unix/virtual.c | 318 ++++++++++++++++++++++++--------------
+- 1 file changed, 204 insertions(+), 114 deletions(-)
++ dlls/ntdll/unix/virtual.c | 348 +++++++++++++++++++++++++-------------
++ 1 file changed, 234 insertions(+), 114 deletions(-)
+
+ diff --git a/dlls/ntdll/unix/virtual.c b/dlls/ntdll/unix/virtual.c
+-index 720d45ecb9f..e323f4290bf 100644
++index 5e79faaf6fc..7f194effcaa 100644
+ --- a/dlls/ntdll/unix/virtual.c
+ +++ b/dlls/ntdll/unix/virtual.c
+-@@ -192,7 +192,11 @@ static BYTE *pages_vprot;
++@@ -195,7 +195,11 @@ static BYTE *pages_vprot;
+ #endif
+
+ static struct file_view *view_block_start, *view_block_end, *next_free_view;
+@@ -23,7 +23,7 @@ index 720d45ecb9f..e323f4290bf 100644
+ static void *preload_reserve_start;
+ static void *preload_reserve_end;
+ static BOOL use_locks;
+-@@ -528,13 +532,13 @@ static struct range_entry *free_ranges_lower_bound( void *addr )
++@@ -546,13 +550,13 @@ static struct range_entry *free_ranges_lower_bound( void *addr )
+ *
+ * Updates the free_ranges after a new view has been created.
+ */
+@@ -40,7 +40,7 @@ index 720d45ecb9f..e323f4290bf 100644
+ /* free_ranges initial value is such that the view is either inside range or before another one. */
+ assert( range != free_ranges_end );
+ assert( range->end > view_base || next != free_ranges_end );
+-@@ -545,7 +549,7 @@ static void free_ranges_insert_view( struct file_view *view )
++@@ -563,7 +567,7 @@ static void free_ranges_insert_view( struct file_view *view )
+ (range->end == view_base && next->base >= view_end))
+ {
+ /* on Win64, assert that it's correctly aligned so we're not going to be in trouble later */
+@@ -49,7 +49,7 @@ index 720d45ecb9f..e323f4290bf 100644
+ WARN( "range %p - %p is already mapped\n", view_base, view_end );
+ return;
+ }
+-@@ -585,6 +589,12 @@ static void free_ranges_insert_view( struct file_view *view )
++@@ -603,6 +607,12 @@ static void free_ranges_insert_view( struct file_view *view )
+ }
+ }
+
+@@ -62,7 +62,7 @@ index 720d45ecb9f..e323f4290bf 100644
+
+ /***********************************************************************
+ * free_ranges_remove_view
+-@@ -615,6 +625,7 @@ static void free_ranges_remove_view( struct file_view *view )
++@@ -633,6 +643,7 @@ static void free_ranges_remove_view( struct file_view *view )
+ return;
+ }
+ #endif
+@@ -70,7 +70,7 @@ index 720d45ecb9f..e323f4290bf 100644
+
+ /* free_ranges initial value is such that the view is either inside range or before another one. */
+ assert( range != free_ranges_end );
+-@@ -961,44 +972,6 @@ static struct file_view *find_view_range( const void *addr, size_t size )
++@@ -1008,44 +1019,6 @@ static struct file_view *find_view_range( const void *addr, size_t size )
+ }
+
+
+@@ -115,7 +115,7 @@ index 720d45ecb9f..e323f4290bf 100644
+ /***********************************************************************
+ * try_map_free_area
+ *
+-@@ -1042,65 +1015,11 @@ static void* try_map_free_area( void *base, void *end, ptrdiff_t step,
++@@ -1089,65 +1062,11 @@ static void* try_map_free_area( void *base, void *end, ptrdiff_t step,
+ return NULL;
+ }
+
+@@ -181,7 +181,7 @@ index 720d45ecb9f..e323f4290bf 100644
+ */
+ static void *find_reserved_free_area( void *base, void *end, size_t size, int top_down )
+ {
+-@@ -1314,8 +1233,7 @@ static void delete_view( struct file_view *view ) /* [in] View */
++@@ -1361,8 +1280,7 @@ static void delete_view( struct file_view *view ) /* [in] View */
+ {
+ if (!(view->protect & VPROT_SYSTEM)) unmap_area( view->base, view->size );
+ set_page_vprot( view->base, view->size, 0 );
+@@ -191,7 +191,7 @@ index 720d45ecb9f..e323f4290bf 100644
+ wine_rb_remove( &views_tree, &view->entry );
+ *(struct file_view **)view = next_free_view;
+ next_free_view = view;
+-@@ -1363,8 +1281,7 @@ static NTSTATUS create_view( struct file_view **view_ret, void *base, size_t siz
++@@ -1410,8 +1328,7 @@ static NTSTATUS create_view( struct file_view **view_ret, void *base, size_t siz
+ set_page_vprot( base, size, vprot );
+
+ wine_rb_put( &views_tree, view->base, &view->entry );
+@@ -201,7 +201,7 @@ index 720d45ecb9f..e323f4290bf 100644
+
+ *view_ret = view;
+
+-@@ -1596,6 +1513,7 @@ struct alloc_area
++@@ -1656,6 +1573,7 @@ struct alloc_area
+ int top_down;
+ void *limit;
+ void *result;
+@@ -209,7 +209,7 @@ index 720d45ecb9f..e323f4290bf 100644
+ };
+
+ /***********************************************************************
+-@@ -1637,6 +1555,179 @@ static int CDECL alloc_reserved_area_callback( void *start, SIZE_T size, void *a
++@@ -1697,6 +1615,212 @@ static int CDECL alloc_reserved_area_callback( void *start, SIZE_T size, void *a
+ return 0;
+ }
+
+@@ -303,11 +303,62 @@ index 720d45ecb9f..e323f4290bf 100644
+ + return 0;
+ +}
+ +
+++static void *alloc_free_area_in_range(struct area_alloc_reserved *area, char *base, char *end,
+++ size_t size, int top_down, int unix_prot)
+++{
+++ char *start;
+++
+++ TRACE("range %p-%p.\n", base, end);
+++
+++ if (base >= end) return NULL;
+++
+++ area->map_area_start = base;
+++ area->map_area_end = end;
+++
+++ if (top_down)
+++ {
+++ start = ROUND_ADDR( end - size, granularity_mask );
+++ if (start >= end || start < base)
+++ return NULL;
+++ }
+++ else
+++ {
+++ start = ROUND_ADDR( base + granularity_mask, granularity_mask );
+++ if (!start || start >= end || (char *)end - (char *)start < size)
+++ return NULL;
+++ }
+++
+++ mmap_enum_reserved_areas( alloc_area_in_reserved_or_between_callback, area, top_down );
+++ if (area->result)
+++ return area->result;
+++
+++ if (top_down)
+++ {
+++ start = ROUND_ADDR( area->map_area_end - size, granularity_mask );
+++ if (start >= area->map_area_end || start < area->map_area_start)
+++ return NULL;
+++
+++ return try_map_free_area( area->map_area_start, start + size, area->step,
+++ start, size, unix_prot );
+++ }
+++ else
+++ {
+++ start = ROUND_ADDR( area->map_area_start + granularity_mask, granularity_mask );
+++ if (!start || start >= area->map_area_end
+++ || area->map_area_end - start < size)
+++ return NULL;
+++
+++ return try_map_free_area( start, area->map_area_end, area->step,
+++ start, size, unix_prot );
+++ }
+++}
+++
+ +static void *alloc_free_area(void *limit, size_t size, BOOL top_down, int unix_prot)
+ +{
+ + struct range_entry *range, *ranges_start, *ranges_end;
+++ char *reserve_start, *reserve_end;
+ + struct area_alloc_reserved area;
+-+ char *start, *base, *end;
+++ char *base, *end;
+ + int ranges_inc;
+ +
+ + TRACE("limit %p, size %p, top_down %#x.\n", limit, (void *)size, top_down);
+@@ -331,6 +382,9 @@ index 720d45ecb9f..e323f4290bf 100644
+ + area.top_down = top_down;
+ + area.unix_prot = unix_prot;
+ +
+++ reserve_start = ROUND_ADDR((char *)preload_reserve_start, granularity_mask);
+++ reserve_end = ROUND_ADDR((char *)preload_reserve_end + granularity_mask, granularity_mask);
+++
+ + for (range = ranges_start; range != ranges_end; range += ranges_inc)
+ + {
+ + base = range->base;
+@@ -340,48 +394,27 @@ index 720d45ecb9f..e323f4290bf 100644
+ +
+ + if (base < (char *)address_space_start) base = (char *)address_space_start;
+ + if (end > (char *)limit + granularity_mask + 1) end = (char *)limit + granularity_mask + 1;
+-+ if (base >= end) continue;
+ +
+-+ area.map_area_start = base;
+-+ area.map_area_end = end;
+-+
+-+ if (top_down)
+-+ {
+-+ start = ROUND_ADDR( (char *)end - size, granularity_mask );
+-+ if (start >= end || start < base)
+-+ continue;
+-+ }
+-+ else
+++ if (reserve_end >= base)
+ + {
+-+ start = ROUND_ADDR( (char *)base + granularity_mask, granularity_mask );
+-+ if (!start || start >= end || (char *)end - (char *)start < size)
+-+ continue;
+++ if (reserve_end >= end)
+++ {
+++ if (reserve_start <= base) continue; /* no space in that area */
+++ if (reserve_start < end) end = reserve_start;
+++ }
+++ else if (reserve_start <= base) base = reserve_end;
+++ else
+++ {
+++ /* range is split in two by the preloader reservation, try first part */
+++ if ((area.result = alloc_free_area_in_range(&area, base, reserve_start, size, top_down, unix_prot)))
+++ return area.result;
+++ /* then fall through to try second part */
+++ base = reserve_end;
+++ }
+ + }
+-+ mmap_enum_reserved_areas( alloc_area_in_reserved_or_between_callback, &area, top_down );
+-+ if (area.result)
+-+ return area.result;
+ +
+-+ if (top_down)
+-+ {
+-+ start = ROUND_ADDR( area.map_area_end - size, granularity_mask );
+-+ if (start >= area.map_area_end || start < area.map_area_start)
+-+ continue;
+-+
+-+ if ((area.result = try_map_free_area( area.map_area_start, start + size, area.step,
+-+ start, size, unix_prot )))
+-+ return area.result;
+-+ }
+-+ else
+-+ {
+-+ start = ROUND_ADDR( area.map_area_start + granularity_mask, granularity_mask );
+-+ if (!start || start >= area.map_area_end
+-+ || area.map_area_end - start < size)
+-+ continue;
+-+
+-+ if ((area.result = try_map_free_area( start, area.map_area_end, area.step,
+-+ start, size, unix_prot )))
+-+ return area.result;
+-+ }
+++ if ((area.result = alloc_free_area_in_range(&area, base, end, size, top_down, unix_prot)))
+++ return area.result;
+ + }
+ + return NULL;
+ +}
+@@ -389,7 +422,7 @@ index 720d45ecb9f..e323f4290bf 100644
+ /***********************************************************************
+ * map_fixed_area
+ *
+-@@ -1722,11 +1813,15 @@ static NTSTATUS map_view( struct file_view **view_ret, void *base, size_t size,
++@@ -1782,11 +1906,15 @@ static NTSTATUS map_view( struct file_view **view_ret, void *base, size_t size,
+ alloc.size = size;
+ alloc.top_down = top_down;
+ alloc.limit = (void*)(get_zero_bits_64_mask( zero_bits_64 ) & (UINT_PTR)user_space_limit);
+@@ -408,7 +441,7 @@ index 720d45ecb9f..e323f4290bf 100644
+ }
+
+ if (mmap_enum_reserved_areas( alloc_reserved_area_callback, &alloc, top_down ))
+-@@ -1738,15 +1833,6 @@ static NTSTATUS map_view( struct file_view **view_ret, void *base, size_t size,
++@@ -1798,15 +1926,6 @@ static NTSTATUS map_view( struct file_view **view_ret, void *base, size_t size,
+ goto done;
+ }
+
+@@ -424,7 +457,15 @@ index 720d45ecb9f..e323f4290bf 100644
+ view_size = size + granularity_mask + 1;
+
+ for (;;)
+-@@ -2466,10 +2552,14 @@ void virtual_init(void)
++@@ -2500,6 +2619,7 @@ void virtual_init(void)
++ if (preload_reserve_start)
++ address_space_start = min( address_space_start, preload_reserve_start );
++ }
+++ TRACE("preload reserve %p-%p.\n", preload_reserve_start, preload_reserve_end);
++ }
++
++ size = ROUND_SIZE( 0, sizeof(TEB) ) + max( MINSIGSTKSZ, 8192 );
++@@ -2528,8 +2648,8 @@ void virtual_init(void)
+ pages_vprot = (void *)((char *)alloc_views.base + 2 * view_block_size);
+ wine_rb_init( &views_tree, compare_view );
+
+@@ -434,13 +475,7 @@ index 720d45ecb9f..e323f4290bf 100644
+ + free_ranges[0].end = address_space_limit;
+ free_ranges_end = free_ranges + 1;
+
+-+ free_ranges_remove_range(ROUND_ADDR(preload_reserve_start, granularity_mask),
+-+ ROUND_ADDR((char *)preload_reserve_end + granularity_mask,
+-+ granularity_mask), preload_reserve_start);
+-+
+ /* make the DOS area accessible (except the low 64K) to hide bugs in broken apps like Excel 2003 */
+- size = (char *)address_space_start - (char *)0x10000;
+- if (size && mmap_is_in_reserved_area( (void*)0x10000, size ) == 1)
+ --
+ 2.26.2
+
+diff --git a/patches/ntdll-ForceBottomUpAlloc/0006-ntdll-Permanently-exclude-natively-mapped-areas-from.patch b/patches/ntdll-ForceBottomUpAlloc/0006-ntdll-Permanently-exclude-natively-mapped-areas-from.patch
+index 8cf896f8a..9bb16bdfc 100644
+--- a/patches/ntdll-ForceBottomUpAlloc/0006-ntdll-Permanently-exclude-natively-mapped-areas-from.patch
++++ b/patches/ntdll-ForceBottomUpAlloc/0006-ntdll-Permanently-exclude-natively-mapped-areas-from.patch
+@@ -1,18 +1,18 @@
+-From 81a8c626f834f3b2195980e84e2f5fc0a5b1e0e6 Mon Sep 17 00:00:00 2001
++From ac8fd6b34fa269ce840566055cc1c0b6c023516e Mon Sep 17 00:00:00 2001
+ From: Paul Gofman <pgofman(a)codeweavers.com>
+ Date: Tue, 2 Jun 2020 21:06:33 +0300
+-Subject: [PATCH] ntdll: Permanently exclude natively mapped areas from free
+- areas list.
++Subject: [PATCH 6/6] ntdll: Permanently exclude natively mapped areas from
++ free areas list.
+
+ ---
+ dlls/ntdll/unix/virtual.c | 25 +++++++++++++++++++++++++
+ 1 file changed, 25 insertions(+)
+
+ diff --git a/dlls/ntdll/unix/virtual.c b/dlls/ntdll/unix/virtual.c
+-index e323f4290bf..778f5d8c3b8 100644
++index 7f194effcaa..0e2e20396f3 100644
+ --- a/dlls/ntdll/unix/virtual.c
+ +++ b/dlls/ntdll/unix/virtual.c
+-@@ -123,6 +123,9 @@ static const BYTE VIRTUAL_Win32Flags[16] =
++@@ -124,6 +124,9 @@ static const BYTE VIRTUAL_Win32Flags[16] =
+
+ static struct wine_rb_tree views_tree;
+
+@@ -22,7 +22,7 @@ index e323f4290bf..778f5d8c3b8 100644
+ static RTL_CRITICAL_SECTION csVirtual;
+ static RTL_CRITICAL_SECTION_DEBUG critsect_debug =
+ {
+-@@ -1004,6 +1007,13 @@ static void* try_map_free_area( void *base, void *end, ptrdiff_t step,
++@@ -1051,6 +1054,13 @@ static void* try_map_free_area( void *base, void *end, ptrdiff_t step,
+ if (ptr != (void *)-1)
+ munmap( ptr, size );
+
+@@ -36,7 +36,7 @@ index e323f4290bf..778f5d8c3b8 100644
+ if ((step > 0 && (char *)end - (char *)start < step) ||
+ (step < 0 && (char *)start - (char *)base < -step) ||
+ step == 0)
+-@@ -1817,9 +1827,24 @@ static NTSTATUS map_view( struct file_view **view_ret, void *base, size_t size,
++@@ -1910,9 +1920,24 @@ static NTSTATUS map_view( struct file_view **view_ret, void *base, size_t size,
+
+ if (is_win64 || zero_bits_64)
+ {
diff --git a/wine.spec b/wine.spec
index 5d030b2..cd74653 100644
--- a/wine.spec
+++ b/wine.spec
@@ -75,6 +75,7 @@ Source109: wine-oleview.desktop
Source150: wine.appdata.xml
# wine bugs
+Patch100: wine-staging-5.10-ntdll.patch
# desktop dir
Source200: wine.menu
@@ -692,8 +693,16 @@ This package adds the opencl driver for wine.
%if 0%{?wine_staging}
# setup and apply wine-staging patches
gzip -dc %{SOURCE900} | tar -xf - --strip-components=1
+%patch100 -p1 -b.ntdll
+%ifarch %{arm} aarch64
+patches/patchinstall.sh DESTDIR="`pwd`" --all \
+ -W ntdll-NtContinue \
+ -W ntdll-Syscall_Emulation \
+ -W winebuild-Fake_Dlls
+%else
patches/patchinstall.sh DESTDIR="`pwd`" --all
+%endif
# fix parallelized build
sed -i -e 's!^loader server: libs/port libs/wine tools.*!& include!' Makefile.in
3 years, 11 months
Architecture specific change in rpms/rmd.git
by githook-noreply@fedoraproject.org
The package rpms/rmd.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/rmd.git/commit/?id=1a07d896238e5a....
Change:
+ExclusiveArch: %{ix86} x86_64
Thanks.
Full change:
============
commit 1a07d896238e5a7918749c628ff7082c4e26dd75
Author: avijayan <arunprabhu.vijayan(a)intel.com>
Date: Thu Jun 11 07:00:16 2020 -0400
RMD 0.2.1 release
diff --git a/.gitignore b/.gitignore
index 94841a7..f7e6a4a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
/rmd-1.0.tar.gz
/rmd-extra.pkg.tar.gz
+/rmd-0.2.1.tar.gz
diff --git a/rmd.spec b/rmd.spec
index 8df4d61..35b5189 100644
--- a/rmd.spec
+++ b/rmd.spec
@@ -1,14 +1,14 @@
Name: rmd
-Version: 1.0
+Version: 0.2.1
Release: 1%{?dist}
Summary: Resource Management Daemon-RMD
License: ASL 2.0
URL: https://github.com/intel/rmd
-Source0: https://github.com/arunprabhu123/rmd/blob/master/rmd-1.0.tar.gz
+Source0: https://github.com/arunprabhu123/rmd/blob/master/rmd-0.2.1.tar.gz
#Extra packages can be generated by running script in the RMD source
-#./packaging/download_extra_packages.sh <Source_Dir> <Destination_Dir>
-Source1: rmd-extra.pkg.tar.gz
+#./packaging/download_extra_packages.sh <Temp_Download_Dir> <Destination_Dir>
+Source1: rmd-extra.pkg.tar.gz
BuildRequires: go
BuildRequires: make
@@ -50,14 +50,13 @@ BuildRequires: golang-github-yudai-gojsondiff-devel
BuildRequires: golang-github-yudai-golcs-devel
BuildRequires: golang-etcd-bbolt-devel
BuildRequires: golang-x-sync-devel
-BuildRequires: golang-x-sys-devel
+BuildRequires: golang-x-sys-devel
BuildRequires: golang-gopkg-yaml-2-devel
# this package does not support big endian arch so far,
# and has been verified only on Intel platforms.
# HW support is documented in https://github.com/intel/rmd/blob/master/docs/Prerequisite.md
-ExclusiveArch: x86_64
-
+ExclusiveArch: %{ix86} x86_64
%description
RMD is a system daemon providing a central interface for
@@ -78,11 +77,17 @@ make %{?_smp_mflags}
unset GOPATH
go env -w GOPATH=$GOPATH_BACKUP
-
%install
+
mkdir -p %{buildroot}/%{_bindir}/
-install -p -m 755 %{_builddir}/%{name}-%{version}/build/linux/x86_64/rmd %{buildroot}/%{_bindir}/
-install -p -m 755 %{_builddir}/%{name}-%{version}/build/linux/x86_64/gen_conf %{buildroot}/%{_bindir}/
+GOOS=${GOOS:-$(go env GOOS)}
+GOARCH=${GOARCH:-$(go env GOARCH)}
+if [[ "${GOARCH}" == "amd64" ]]; then
+ GOARCH="x86_64"
+fi
+
+install -p -m 755 %{_builddir}/%{name}-%{version}/build/$GOOS/$GOARCH/rmd %{buildroot}/%{_bindir}/
+install -p -m 755 %{_builddir}/%{name}-%{version}/build/$GOOS/$GOARCH/gen_conf %{buildroot}/%{_bindir}/
install -d %{buildroot}/%{_mandir}/man8
install -m 0644 %{_builddir}/%{name}-%{version}/rmd.8 %{buildroot}/%{_mandir}/man8
@@ -128,6 +133,11 @@ install -m 0644 %{_builddir}/%{name}-%{version}/etc/rmd/pam/rmd %{buildroot}/%{
mkdir -p %{buildroot}/%{_sysconfdir}/rmd/pam/test
install -m 0644 %{_builddir}/%{name}-%{version}/etc/rmd/pam/test/rmd %{buildroot}/%{_sysconfdir}/rmd/pam/test
+mkdir -p %{buildroot}/%{_docdir}/%{name}
+install -m 0644 %{_builddir}/%{name}-%{version}/docs/UserGuide.md %{buildroot}/%{_docdir}/rmd
+install -m 0644 %{_builddir}/%{name}-%{version}/docs/Prerequisite.md %{buildroot}/%{_docdir}/rmd
+install -m 0644 %{_builddir}/%{name}-%{version}/docs/ConfigurationGuide.md %{buildroot}/%{_docdir}/rmd
+
%files
%{_bindir}/%{name}
%{_bindir}/gen_conf
@@ -140,10 +150,12 @@ install -m 0644 %{_builddir}/%{name}-%{version}/etc/rmd/pam/test/rmd %{buildroo
%config(noreplace) %{_sysconfdir}/rmd/pam/test/rmd
%config(noreplace) %{_sysconfdir}/rmd/pam/rmd
%{_datadir}/%{name}/
-%doc README.md UserGuide.md
+%doc README.md
+%doc %{_docdir}/%{name}
%license LICENSE
%{_unitdir}/%{name}.service
+
%post
%systemd_post %{name}.service
@@ -180,5 +192,5 @@ rm -rf /var/run/rmd/
rm -rf /etc/pam.d/rmd
%changelog
-* Tue Jan 07 2020 ArunPrabhu Vijayan <arunprabhu.vijayan(a)intel.com> - 1.0-1
-- RMD package version 1.0
+* Thu Jun 04 2020 ArunPrabhu Vijayan <arunprabhu.vijayan(a)intel.com> - 0.2.1-1
+- RMD package version 0.2.1
diff --git a/sources b/sources
index 0aeec48..ba79f9b 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-SHA512 (rmd-1.0.tar.gz) = 8c84cafb59839b407cb5fd93db7eb9be879f1d4677ca5181c27a814d43e6742d8c54e3d3ac5b88f744c6f21857e6b08d6adafff7137b1db043c79be40cf77cf6
-SHA512 (rmd-extra.pkg.tar.gz) = 998c0dfab9d32b3644f79d868ba1e7be4c377c516620c370d198bbc22bccb3bac1935cc5162c322dac765fdf801e0bc774c407dd68541a092402aa3d7ded0927
+SHA512 (rmd-0.2.1.tar.gz) = bc4209b21bd41ef4ef7c0f0d776035c88dcc83d99aa14f27b4e43e3b7299fec65e563ee6d134213af1c9980fae8751acd95190a9bfa27df582dcf217f325d1c6
+SHA512 (rmd-extra.pkg.tar.gz) = 37cc4fa29e748b38771547aec98ae2c7e2c9099459ec6650d099c402b57c5d977448c2c91727d8c71a2f75dd78ab65b56f74e321fff3cd3d1b77c3336d621d6c
3 years, 11 months
Architecture specific change in rpms/pipewire.git
by githook-noreply@fedoraproject.org
The package rpms/pipewire.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/pipewire.git/commit/?id=8fe17a0a5....
Change:
+%ifarch s390x
Thanks.
Full change:
============
commit 8fe17a0a544422eb117e410f17d6b5c8f9ff8fdb
Author: Wim Taymans <wtaymans(a)redhat.com>
Date: Wed Jun 10 13:16:39 2020 +0200
Update to 0.3.6
Add new man pages
Only build vulkan/pulse/jack in Fedora.
diff --git a/pipewire.spec b/pipewire.spec
index cc688c6..9251eac 100644
--- a/pipewire.spec
+++ b/pipewire.spec
@@ -12,6 +12,14 @@
# where/how to apply multilib hacks
%global multilib_archs x86_64 %{ix86} ppc64 ppc s390x s390 sparc64 sparcv9 ppc64le
+%global enable_alsa 1
+
+%if 0%{?fedora}
+%global enable_jack 1
+%global enable_pulse 1
+%global enable_vulkan 1
+%endif
+
# libpulse and libjack subpackages shouldn't have library provides
# as the files they ship are not in the linker path. We also have
# to exclude requires or else the subpackages wind up requiring the
@@ -55,7 +63,9 @@ BuildRequires: pkgconfig(gstreamer-base-1.0) >= 1.10.0
BuildRequires: pkgconfig(gstreamer-plugins-base-1.0) >= 1.10.0
BuildRequires: pkgconfig(gstreamer-net-1.0) >= 1.10.0
BuildRequires: pkgconfig(gstreamer-allocators-1.0) >= 1.10.0
+%if 0%{?enable_vulkan}
BuildRequires: pkgconfig(vulkan)
+%endif
BuildRequires: pkgconfig(bluez)
BuildRequires: systemd-devel >= 184
BuildRequires: alsa-lib-devel
@@ -65,8 +75,6 @@ BuildRequires: xmltoman
BuildRequires: graphviz
BuildRequires: sbc-devel
BuildRequires: libsndfile-devel
-BuildRequires: jack-audio-connection-kit-devel >= 1.9.10
-BuildRequires: pulseaudio-libs-devel
Requires(pre): shadow-utils
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
@@ -125,6 +133,7 @@ Requires: %{name}-libs%{?_isa} = %{version}-%{release}
%description utils
This package contains command line utilities for the PipeWire media server.
+%if 0%{?enable_alsa}
%package alsa
Summary: PipeWire media server ALSA support
License: MIT
@@ -133,12 +142,15 @@ Requires: %{name}-libs%{?_isa} = %{version}-%{release}
%description alsa
This package contains an ALSA plugin for the PipeWire media server.
+%endif
+%if 0%{?enable_jack}
%package libjack
Summary: PipeWire libjack library
License: MIT
Recommends: %{name}%{?_isa} = %{version}-%{release}
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
+BuildRequires: jack-audio-connection-kit-devel >= 1.9.10
# Renamed in F32
Obsoletes: pipewire-jack < 0.2.96-2
@@ -151,6 +163,7 @@ Summary: PipeWire JACK implementation
License: MIT
Recommends: %{name}%{?_isa} = %{version}-%{release}
Requires: %{name}-libjack%{?_isa} = %{version}-%{release}
+BuildRequires: jack-audio-connection-kit-devel >= 1.9.10
Conflicts: jack-audio-connection-kit
Conflicts: jack-audio-connection-kit-dbus
Provides: jack-audio-connection-kit
@@ -158,11 +171,25 @@ Provides: jack-audio-connection-kit
%description jack-audio-connection-kit
This package provides a JACK implementation based on PipeWire
+%package plugin-jack
+Summary: PipeWire media server JACK support
+License: MIT
+BuildRequires: jack-audio-connection-kit-devel
+Recommends: %{name}%{?_isa} = %{version}-%{release}
+Requires: %{name}-libs%{?_isa} = %{version}-%{release}
+Requires: jack-audio-connection-kit
+
+%description plugin-jack
+This package contains the PipeWire spa plugin to connect to a JACK server.
+%endif
+
+%if 0%{?enable_pulse}
%package libpulse
Summary: PipeWire libpulse library
License: MIT
Recommends: %{name}%{?_isa} = %{version}-%{release}
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
+BuildRequires: pulseaudio-libs-devel
# Renamed in F32
Obsoletes: pipewire-pulseaudio < 0.2.96-2
@@ -174,6 +201,7 @@ Summary: PipeWire PulseAudio implementation
License: MIT
Recommends: %{name}%{?_isa} = %{version}-%{release}
Requires: %{name}-libpulse%{?_isa} = %{version}-%{release}
+BuildRequires: pulseaudio-libs-devel
Conflicts: pulseaudio-libs
Conflicts: pulseaudio-libs-glib2
Provides: pulseaudio-libs
@@ -181,16 +209,7 @@ Provides: pulseaudio-libs-glib2
%description pulseaudio
This package provides a PulseAudio implementation based on PipeWire
-
-%package plugin-jack
-Summary: PipeWire media server JACK support
-License: MIT
-Recommends: %{name}%{?_isa} = %{version}-%{release}
-Requires: %{name}-libs%{?_isa} = %{version}-%{release}
-Requires: jack-audio-connection-kit
-
-%description plugin-jack
-This package contains the PipeWire spa plugin to connect to a JACK server.
+%endif
%prep
%setup -q -T -b0 -n %{name}-%{version}%{?gitrel:-%{gitrel}-g%{shortcommit}}
@@ -198,8 +217,12 @@ This package contains the PipeWire spa plugin to connect to a JACK server.
%patch0 -p1 -b .0000
%build
-%meson -D docs=true -D man=true -D gstreamer=true -D systemd=true
-%meson_build
+%meson \
+ -D docs=true -D man=true -D gstreamer=true -D systemd=true \
+ %{!?enable_jack:-D jack=false -D pipewire-jack=false} \
+ %{!?enable_pulse:-D pipewire-pulseaudio=false} \
+ %{!?enable_alsa:-D pipewire-alsa=false} \
+ %{!?enable_vulkan:-D vulkan=false}
%install
%meson_install
@@ -207,25 +230,39 @@ This package contains the PipeWire spa plugin to connect to a JACK server.
mkdir %{buildroot}%{_userunitdir}/sockets.target.wants
ln -s ../pipewire.socket %{buildroot}%{_userunitdir}/sockets.target.wants/pipewire.socket
+%if 0%{?enable_jack}
ln -s pipewire-%{apiversion}/jack/libjack.so.0 %{buildroot}%{_libdir}/libjack.so.0.1.0
ln -s libjack.so.0.1.0 %{buildroot}%{_libdir}/libjack.so.0
ln -s pipewire-%{apiversion}/jack/libjackserver.so.0 %{buildroot}%{_libdir}/libjackserver.so.0.1.0
ln -s libjackserver.so.0.1.0 %{buildroot}%{_libdir}/libjackserver.so.0
ln -s pipewire-%{apiversion}/jack/libjacknet.so.0 %{buildroot}%{_libdir}/libjacknet.so.0.1.0
ln -s libjacknet.so.0.1.0 %{buildroot}%{_libdir}/libjacknet.so.0
+%endif
+%if 0%{?enable_pulse}
ln -s pipewire-%{apiversion}/pulse/libpulse.so.0 %{buildroot}%{_libdir}/libpulse.so.0
ln -s pipewire-%{apiversion}/pulse/libpulse-simple.so.0 %{buildroot}%{_libdir}/libpulse-simple.so.0
ln -s pipewire-%{apiversion}/pulse/libpulse-mainloop-glib.so.0 %{buildroot}%{_libdir}/libpulse-mainloop-glib.so.0
+%endif
+%if 0%{?enable_alsa}
mkdir -p %{buildroot}%{_sysconfdir}/alsa/conf.d/
cp %{buildroot}%{_datadir}/alsa/alsa.conf.d/50-pipewire.conf \
%{buildroot}%{_sysconfdir}/alsa/conf.d/50-pipewire.conf
cp %{buildroot}%{_datadir}/alsa/alsa.conf.d/99-pipewire-default.conf \
%{buildroot}%{_sysconfdir}/alsa/conf.d/99-pipewire-default.conf
+%endif
%check
-%meson_test
+%ifarch s390x
+# FIXME: s390x FAIL: pw-test-stream, pw-test-endpoint
+%global tests_nonfatal 1
+%endif
+%meson_test || TESTS_ERROR=$?
+if [ "${TESTS_ERROR}" != "" ]; then
+echo "test failed"
+%{!?tests_nonfatal:exit $TESTS_ERROR}
+fi
%pre
getent group pipewire >/dev/null || groupadd -r pipewire
@@ -263,7 +300,9 @@ exit 0
%{_libdir}/spa-%{spaversion}/support/
%{_libdir}/spa-%{spaversion}/v4l2/
%{_libdir}/spa-%{spaversion}/videoconvert/
+%if 0%{?enable_vulkan}
%{_libdir}/spa-%{spaversion}/vulkan/
+%endif
%files gstreamer
%{_libdir}/gstreamer-1.0/libgstpipewire.*
@@ -301,13 +340,16 @@ exit 0
%{_bindir}/spa-monitor
%{_bindir}/spa-inspect
+%if 0%{?enable_alsa}
%files alsa
%{_libdir}/alsa-lib/libasound_module_pcm_pipewire.so
%{_datadir}/alsa/alsa.conf.d/50-pipewire.conf
%{_datadir}/alsa/alsa.conf.d/99-pipewire-default.conf
%config(noreplace) %{_sysconfdir}/alsa/conf.d/50-pipewire.conf
%config(noreplace) %{_sysconfdir}/alsa/conf.d/99-pipewire-default.conf
+%endif
+%if 0%{?enable_jack}
%files libjack
%{_libdir}/pipewire-%{apiversion}/jack/libjack.so*
%{_libdir}/pipewire-%{apiversion}/jack/libjacknet.so*
@@ -320,6 +362,11 @@ exit 0
%{_libdir}/libjackserver.so.*
%{_libdir}/libjacknet.so.*
+%files plugin-jack
+%{_libdir}/spa-%{spaversion}/jack/
+%endif
+
+%if 0%{?enable_pulse}
%files libpulse
%{_libdir}/pipewire-%{apiversion}/pulse/libpulse.so*
%{_libdir}/pipewire-%{apiversion}/pulse/libpulse-simple.so*
@@ -331,13 +378,13 @@ exit 0
%{_libdir}/libpulse.so.0
%{_libdir}/libpulse-simple.so.0
%{_libdir}/libpulse-mainloop-glib.so.0
-
-%files plugin-jack
-%{_libdir}/spa-%{spaversion}/jack/
+%endif
%changelog
* Wed Jun 10 2020 Wim Taymans <wtaymans(a)redhat.com> - 0.3.6-1
- Update to 0.3.6
+- Add new man pages
+- Only build vulkan/pulse/jack in Fedora.
* Mon May 11 2020 Wim Taymans <wtaymans(a)redhat.com> - 0.3.5-1
- Update to 0.3.5
commit d7286ab954aa558cb21c261193e2056e4c5d3d59
Author: Wim Taymans <wtaymans(a)redhat.com>
Date: Wed Jun 10 12:12:25 2020 +0200
Update to 0.3.6
diff --git a/.gitignore b/.gitignore
index db03f2c..4c613d6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -24,3 +24,4 @@
/pipewire-0.3.2.tar.gz
/pipewire-0.3.4.tar.gz
/pipewire-0.3.5.tar.gz
+/pipewire-0.3.6.tar.gz
diff --git a/sources b/sources
index d351d39..e869984 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (pipewire-0.3.5.tar.gz) = caceee853cbe86fb248ac8f65847e8f5cc743f99e643f154a0f7db8bc57de84ea5993ec7dd1d45b4f6dc36e82f329e6554c07bd568073dbfcbcb87f439dcdfe3
+SHA512 (pipewire-0.3.6.tar.gz) = a8d67bb6135432705d6de026074325f0cae7f01e3fe0b65fa7dafb128e5984ce126f8b4635bfbd9746777514df6f0880a78149fd007c7c1432ac29f95655ddcc
3 years, 11 months
[Report] Packages Restricting Arches
by root
Package no longer excluding arches (1)
==================================
- ispc
List of packages currently excluding arches (2755)
===========================================
- 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}
- algobox
ExclusiveArch: %{qt5_qtwebengine_arches}
- alleyoop
ExclusiveArch: %{ix86} x86_64 ppc ppc64 ppc64le s390x %{arm} aarch64
- american-fuzzy-lop
ExclusiveArch: %{ix86} x86_64
- anet
ExclusiveArch: %{GPRbuild_arches}
- 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
- 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}
- 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
ExclusiveArch: x86_64 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
- 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}
- 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
- gearhead1
ExclusiveArch: %{fpc_arches}
- gela-asis
ExclusiveArch: %GPRbuild_arches
- ghdl
ExclusiveArch: %{GNAT_arches}
- ghostwriter
ExclusiveArch: %{qt5_qtwebengine_arches}
- gio-sharp
ExclusiveArch: %mono_arches
- gir-to-d
ExclusiveArch: %{ldc_arches}
- git-octopus
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- 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
- goverlay
ExclusiveArch: %{fpc_arches}
- 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
- hedgewars
ExclusiveArch: %{fpc_arches}
- 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
- imvirt
ExclusiveArch: %{ix86} x86_64 ia64
- indistarter
ExclusiveArch: %{fpc_arches}
- infinipath-psm
ExclusiveArch: x86_64
- intel-cmt-cat
ExclusiveArch: x86_64 i686 i586
ExclusiveArch: x86_64 i686 i586
- intel-gmmlib
ExclusiveArch: x86_64 i686
- intel-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
- 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}
- keepass
ExclusiveArch: %{mono_arches}
- kernel
ExclusiveArch: x86_64 s390x %{arm} aarch64 ppc64le
ExclusiveArch: noarch i386 i686 x86_64 s390x %{arm} aarch64 ppc64le
- kf5-akonadi-search
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-audiocd-kio
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-kalarmcal
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-kblog
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-kcalendarcore
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-kcalendarutils
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-kitinerary
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-kmailtransport
ExclusiveArch: x86_64 %{arm}
- kf5-ktnef
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-libkdcraw
ExclusiveArch: x86_64 ppc64le %{arm}
- kicad
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le
- kiwix-desktop
ExclusiveArch: %{qt5_qtwebengine_arches}
- knot-resolver
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64
- knotes
ExclusiveArch: x86_64 %{arm}
- kompose
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 s390x
- 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
- 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} s390x %{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
- 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}
- nant
ExclusiveArch: %mono_arches
- nbc
ExclusiveArch: %{fpc_arches}
- nbdkit
ExclusiveArch: x86_64
- ndesk-dbus
ExclusiveArch: %{mono_arches}
- ndesk-dbus-glib
ExclusiveArch: %{mono_arches}
- newsflash
ExclusiveArch: %{rust_arches}
- newtonsoft-json
ExclusiveArch: %{mono_arches}
- 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-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-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-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-connect-middleware
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-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-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-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-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-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-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-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-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-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-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-defaults
ExclusiveArch: %{nodejs_arches} 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-delayed-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-delegates
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} 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-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-location-detector
ExclusiveArch: %{nodejs_arches} 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-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-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-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-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-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-tails
ExclusiveArch: %{ix86} x86_64 %{arm} 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-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-concat
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-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-sed
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-simple-mocha
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} 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-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-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-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-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-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-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-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-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-locate-character
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-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-magic-string
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-make-arrow-function
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-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-fs
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-next-tick
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} 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-nodemon
ExclusiveArch: %{nodejs_arches} 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-omit
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-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-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-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-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-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-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-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-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-retry
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-reusify
ExclusiveArch: %{nodejs_arches} 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-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-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-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-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-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-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-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-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-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-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-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-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-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-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: %{ix86} x86_64 %{arm} aarch64 ppc64le
- obs-service-rust2rpm
ExclusiveArch: %{rust_arches} noarch
- oci-kvm-hook
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- oci-seccomp-bpf-hook
ExclusiveArch: x86_64 %{power64} aarch64 s390x
- oci-umount
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le s390x %{mips}
- oidn
ExclusiveArch: x86_64
- olpc-kbdshim
ExclusiveArch: %{ix86} %{arm}
- olpc-netutils
ExclusiveArch: %{ix86} %{arm}
- olpc-utils
ExclusiveArch: %{ix86} %{arm}
- 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: x86_64
- openjfx8
ExclusiveArch: x86_64
- openlibm
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 %{power64}
- openni
ExclusiveArch: %{ix86} x86_64 %{arm}
- openni-primesense
ExclusiveArch: %{ix86} x86_64 %{arm}
- 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
- 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}
- 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}
- 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
- rmd
ExclusiveArch: x86_64
- 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-article_scraper
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_cmd
ExclusiveArch: %{rust_arches}
- rust-assert_fs
ExclusiveArch: %{rust_arches}
- rust-assert_matches
ExclusiveArch: %{rust_arches}
- rust-async-attributes
ExclusiveArch: %{rust_arches}
- rust-async-compression
ExclusiveArch: %{rust_arches}
- rust-async-task
ExclusiveArch: %{rust_arches}
- rust-async-trait
ExclusiveArch: %{rust_arches}
- rust-asyncgit
ExclusiveArch: %{rust_arches}
- rust-atk
ExclusiveArch: %{rust_arches}
- rust-atk-sys
ExclusiveArch: %{rust_arches}
- rust-atom
ExclusiveArch: %{rust_arches}
- rust-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-box_drawing
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-calloop
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-backtrace
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-any
ExclusiveArch: %{rust_arches}
- rust-crc-core
ExclusiveArch: %{rust_arches}
- rust-crc32fast
ExclusiveArch: %{rust_arches}
- rust-criterion
ExclusiveArch: %{rust_arches}
- rust-criterion-plot
ExclusiveArch: %{rust_arches}
- rust-crossbeam
ExclusiveArch: %{rust_arches}
- rust-crossbeam-channel
ExclusiveArch: %{rust_arches}
- rust-crossbeam-deque
ExclusiveArch: %{rust_arches}
- rust-crossbeam-epoch
ExclusiveArch: %{rust_arches}
- rust-crossbeam-queue
ExclusiveArch: %{rust_arches}
- rust-crossbeam-utils
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-debug-helper
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-des
ExclusiveArch: %{rust_arches}
- rust-desed
ExclusiveArch: %{rust_arches}
- rust-deunicode
ExclusiveArch: %{rust_arches}
- rust-devicemapper
ExclusiveArch: %{rust_arches}
- rust-diesel
ExclusiveArch: %{rust_arches}
- rust-diesel_derives
ExclusiveArch: %{rust_arches}
- rust-diesel_migrations
ExclusiveArch: %{rust_arches}
- rust-diff
ExclusiveArch: %{rust_arches}
- rust-difference
ExclusiveArch: %{rust_arches}
- rust-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-dlib
ExclusiveArch: %{rust_arches}
- rust-dns-parser
ExclusiveArch: %{rust_arches}
- rust-doc-comment
ExclusiveArch: %{rust_arches}
- rust-docmatic
ExclusiveArch: %{rust_arches}
- rust-docopt
ExclusiveArch: %{rust_arches}
- rust-dotenv
ExclusiveArch: %{rust_arches}
- rust-downcast-rs
ExclusiveArch: %{rust_arches}
- rust-dtoa
ExclusiveArch: %{rust_arches}
- rust-dtoa-short
ExclusiveArch: %{rust_arches}
- rust-dua-cli
ExclusiveArch: %{rust_arches}
- rust-duct
ExclusiveArch: %{rust_arches}
- rust-dunce
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-escaper
ExclusiveArch: %{rust_arches}
- rust-escargot
ExclusiveArch: %{rust_arches}
- rust-exa
ExclusiveArch: %{rust_arches}
- rust-extend
ExclusiveArch: %{rust_arches}
- rust-extprim
ExclusiveArch: %{rust_arches}
- rust-extprim_literals_macros
ExclusiveArch: %{rust_arches}
- rust-fail
ExclusiveArch: %{rust_arches}
- rust-failure
ExclusiveArch: %{rust_arches}
- rust-failure-tools
ExclusiveArch: %{rust_arches}
- rust-failure_derive
ExclusiveArch: %{rust_arches}
- rust-fake-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-feed-rs
ExclusiveArch: %{rust_arches}
- rust-feedbin_api
ExclusiveArch: %{rust_arches}
- rust-feedly_api
ExclusiveArch: %{rust_arches}
- rust-fern
ExclusiveArch: %{rust_arches}
- rust-fever_api
ExclusiveArch: %{rust_arches}
- rust-ffsend
ExclusiveArch: %{rust_arches}
- rust-ffsend-api
ExclusiveArch: %{rust_arches}
- rust-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-flume
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-git-delta
ExclusiveArch: %{rust_arches}
- rust-git2
ExclusiveArch: %{rust_arches}
- rust-git2-curl
ExclusiveArch: %{rust_arches}
- rust-gitui
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-macros
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-isahc
ExclusiveArch: %{rust_arches}
- rust-iso8601
ExclusiveArch: %{rust_arches}
- rust-iter-read
ExclusiveArch: %{rust_arches}
- rust-itertools
ExclusiveArch: %{rust_arches}
- rust-itertools-num
ExclusiveArch: %{rust_arches}
- rust-itertools0.8
ExclusiveArch: %{rust_arches}
- rust-itoa
ExclusiveArch: %{rust_arches}
- rust-ivf
ExclusiveArch: %{rust_arches}
- rust-javascriptcore-rs
ExclusiveArch: %{rust_arches}
- rust-javascriptcore-rs-sys
ExclusiveArch: %{rust_arches}
- rust-jetscii
ExclusiveArch: %{rust_arches}
- rust-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-libflate_lz77
ExclusiveArch: %{rust_arches}
- rust-libgit2-sys
ExclusiveArch: %{rust_arches}
- rust-libhandy
ExclusiveArch: %{rust_arches}
- rust-libhandy-sys
ExclusiveArch: %{rust_arches}
- rust-libloading
ExclusiveArch: %{rust_arches}
- rust-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
ExclusiveArch: %{rust_arches}
- rust-libslirp-sys
ExclusiveArch: %{rust_arches}
- rust-libsqlite3-sys
ExclusiveArch: %{rust_arches}
- rust-libssh2-sys
ExclusiveArch: %{rust_arches}
- rust-libsystemd
ExclusiveArch: %{rust_arches}
- rust-libudev
ExclusiveArch: %{rust_arches}
- rust-libudev-sys
ExclusiveArch: %{rust_arches}
- rust-libxml
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-log-mdc
ExclusiveArch: %{rust_arches}
- rust-log0.3
ExclusiveArch: %{rust_arches}
- rust-log4rs
ExclusiveArch: %{rust_arches}
- rust-loggerv
ExclusiveArch: %{rust_arches}
- rust-loopdev
ExclusiveArch: %{rust_arches}
- rust-lru-cache
ExclusiveArch: %{rust_arches}
- rust-lru_time_cache
ExclusiveArch: %{rust_arches}
- rust-lscolors
ExclusiveArch: %{rust_arches}
- rust-lsd
ExclusiveArch: %{rust_arches}
- rust-lzma-sys
ExclusiveArch: %{rust_arches}
- rust-lzw
ExclusiveArch: %{rust_arches}
- rust-mac
ExclusiveArch: %{rust_arches}
- rust-macro-attr
ExclusiveArch: %{rust_arches}
- rust-magic-crypt
ExclusiveArch: %{rust_arches}
- rust-maildir
ExclusiveArch: %{rust_arches}
- rust-mailparse
ExclusiveArch: %{rust_arches}
- rust-man
ExclusiveArch: %{rust_arches}
- rust-maplit
ExclusiveArch: %{rust_arches}
- rust-markup5ever
ExclusiveArch: %{rust_arches}
- rust-markup5ever_rcdom
ExclusiveArch: %{rust_arches}
- rust-match_cfg
ExclusiveArch: %{rust_arches}
- rust-matches
ExclusiveArch: %{rust_arches}
- rust-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-migrations_internals
ExclusiveArch: %{rust_arches}
- rust-migrations_macros
ExclusiveArch: %{rust_arches}
- rust-mime
ExclusiveArch: %{rust_arches}
- rust-mime-sniffer
ExclusiveArch: %{rust_arches}
- rust-mime0.2
ExclusiveArch: %{rust_arches}
- rust-mime_guess
ExclusiveArch: %{rust_arches}
- rust-mime_guess1
ExclusiveArch: %{rust_arches}
- rust-miniflux_api
ExclusiveArch: %{rust_arches}
- rust-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-mio0.6
ExclusiveArch: %{rust_arches}
- rust-mktemp
ExclusiveArch: %{rust_arches}
- rust-mnt
ExclusiveArch: %{rust_arches}
- rust-mockito
ExclusiveArch: %{rust_arches}
- rust-modifier
ExclusiveArch: %{rust_arches}
- rust-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-news-flash
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-absolutize
ExclusiveArch: %{rust_arches}
- rust-path-dedot
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-peresil
ExclusiveArch: %{rust_arches}
- rust-permutate
ExclusiveArch: %{rust_arches}
- rust-permutohedron
ExclusiveArch: %{rust_arches}
- rust-pest
ExclusiveArch: %{rust_arches}
- rust-pest_derive
ExclusiveArch: %{rust_arches}
- rust-pest_generator
ExclusiveArch: %{rust_arches}
- rust-pest_meta
ExclusiveArch: %{rust_arches}
- rust-petgraph
ExclusiveArch: %{rust_arches}
- rust-phf
ExclusiveArch: %{rust_arches}
- rust-phf0.7
ExclusiveArch: %{rust_arches}
- rust-phf_codegen
ExclusiveArch: %{rust_arches}
- rust-phf_codegen0.7
ExclusiveArch: %{rust_arches}
- rust-phf_generator
ExclusiveArch: %{rust_arches}
- rust-phf_generator0.7
ExclusiveArch: %{rust_arches}
- rust-phf_macros
ExclusiveArch: %{rust_arches}
- rust-phf_macros0.7
ExclusiveArch: %{rust_arches}
- rust-phf_shared
ExclusiveArch: %{rust_arches}
- rust-phf_shared0.7
ExclusiveArch: %{rust_arches}
- rust-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-pipe
ExclusiveArch: %{rust_arches}
- rust-piper
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-podio
ExclusiveArch: %{rust_arches}
- rust-pommes
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-protobuf-codegen-pure
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-r2d2
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-readwrite
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-ruma-identifiers
ExclusiveArch: %{rust_arches}
- rust-rust-embed
ExclusiveArch: %{rust_arches}
- rust-rust-embed-impl
ExclusiveArch: %{rust_arches}
- rust-rust-embed-utils
ExclusiveArch: %{rust_arches}
- rust-rust-ini
ExclusiveArch: %{rust_arches}
- rust-rust-stemmers
ExclusiveArch: %{rust_arches}
- rust-rust_decimal
ExclusiveArch: %{rust_arches}
- rust-rust_hawktracer
ExclusiveArch: %{rust_arches}
- rust-rust_hawktracer_normal_macro
ExclusiveArch: %{rust_arches}
- rust-rust_hawktracer_proc_macro
ExclusiveArch: %{rust_arches}
- rust-rust_hawktracer_sys
ExclusiveArch: %{rust_arches}
- rust-rustc-demangle
ExclusiveArch: %{rust_arches}
- rust-rustc-hash
ExclusiveArch: %{rust_arches}
- rust-rustc-serialize
ExclusiveArch: %{rust_arches}
- rust-rustc-test
ExclusiveArch: %{rust_arches}
- rust-rustc_tools_util
ExclusiveArch: %{rust_arches}
- rust-rustc_version
ExclusiveArch: %{rust_arches}
- rust-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-scheduled-thread-pool
ExclusiveArch: %{rust_arches}
- rust-scoped-tls
ExclusiveArch: %{rust_arches}
- rust-scoped-tls-hkt
ExclusiveArch: %{rust_arches}
- rust-scoped_threadpool
ExclusiveArch: %{rust_arches}
- rust-scopeguard
ExclusiveArch: %{rust_arches}
- rust-scopetime
ExclusiveArch: %{rust_arches}
- rust-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-value
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-shellexpand
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-slash-formatter
ExclusiveArch: %{rust_arches}
- rust-slice-deque
ExclusiveArch: %{rust_arches}
- rust-slog
ExclusiveArch: %{rust_arches}
- rust-slog-async
ExclusiveArch: %{rust_arches}
- rust-slog-scope
ExclusiveArch: %{rust_arches}
- rust-slog-term
ExclusiveArch: %{rust_arches}
- rust-slotmap
ExclusiveArch: %{rust_arches}
- rust-slug
ExclusiveArch: %{rust_arches}
- rust-sluice
ExclusiveArch: %{rust_arches}
- rust-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-soup-sys
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-standback
ExclusiveArch: %{rust_arches}
- rust-starship
ExclusiveArch: %{rust_arches}
- rust-starship_module_config_derive
ExclusiveArch: %{rust_arches}
- rust-static_assertions
ExclusiveArch: %{rust_arches}
- rust-statistical
ExclusiveArch: %{rust_arches}
- rust-stb_truetype
ExclusiveArch: %{rust_arches}
- rust-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-sxd-document
ExclusiveArch: %{rust_arches}
- rust-syn
ExclusiveArch: %{rust_arches}
- rust-syn-mid
ExclusiveArch: %{rust_arches}
- rust-syn0.15
ExclusiveArch: %{rust_arches}
- rust-synom
ExclusiveArch: %{rust_arches}
- rust-synstructure
ExclusiveArch: %{rust_arches}
- rust-syntect
ExclusiveArch: %{rust_arches}
- rust-sys-info
ExclusiveArch: %{rust_arches}
- rust-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-testing_logger
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-tiger-digest
ExclusiveArch: %{rust_arches}
- rust-time
ExclusiveArch: %{rust_arches}
- rust-time-macros
ExclusiveArch: %{rust_arches}
- rust-time-macros-impl
ExclusiveArch: %{rust_arches}
- rust-time0.1
ExclusiveArch: %{rust_arches}
- rust-timebomb
ExclusiveArch: %{rust_arches}
- rust-timer
ExclusiveArch: %{rust_arches}
- rust-timerfd
ExclusiveArch: %{rust_arches}
- rust-tiny_http
ExclusiveArch: %{rust_arches}
- rust-tinytemplate
ExclusiveArch: %{rust_arches}
- rust-tinyvec
ExclusiveArch: %{rust_arches}
- rust-tokei
ExclusiveArch: %{rust_arches}
- rust-tokio
ExclusiveArch: %{rust_arches}
- rust-tokio-codec
ExclusiveArch: %{rust_arches}
- rust-tokio-core
ExclusiveArch: %{rust_arches}
- rust-tokio-current-thread
ExclusiveArch: %{rust_arches}
- rust-tokio-executor
ExclusiveArch: %{rust_arches}
- rust-tokio-fs
ExclusiveArch: %{rust_arches}
- rust-tokio-io
ExclusiveArch: %{rust_arches}
- rust-tokio-io-pool
ExclusiveArch: %{rust_arches}
- rust-tokio-macros
ExclusiveArch: %{rust_arches}
- rust-tokio-mock-task
ExclusiveArch: %{rust_arches}
- rust-tokio-openssl
ExclusiveArch: %{rust_arches}
- rust-tokio-reactor
ExclusiveArch: %{rust_arches}
- rust-tokio-socks
ExclusiveArch: %{rust_arches}
- rust-tokio-sync
ExclusiveArch: %{rust_arches}
- rust-tokio-tcp
ExclusiveArch: %{rust_arches}
- rust-tokio-test
ExclusiveArch: %{rust_arches}
- rust-tokio-threadpool
ExclusiveArch: %{rust_arches}
- rust-tokio-timer
ExclusiveArch: %{rust_arches}
- rust-tokio-tls
ExclusiveArch: %{rust_arches}
- rust-tokio-tls0.2
ExclusiveArch: %{rust_arches}
- rust-tokio-tungstenite
ExclusiveArch: %{rust_arches}
- rust-tokio-udp
ExclusiveArch: %{rust_arches}
- rust-tokio-uds
ExclusiveArch: %{rust_arches}
- rust-tokio-util
ExclusiveArch: %{rust_arches}
- rust-tokio-util0.2
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-vmw_backdoor
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-wayland-scanner
ExclusiveArch: %{rust_arches}
- rust-wayland-sys
ExclusiveArch: %{rust_arches}
- rust-webkit2gtk
ExclusiveArch: %{rust_arches}
- rust-webkit2gtk-sys
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-xkbcommon
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-ytop
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-zoxide
ExclusiveArch: %{rust_arches}
- rust-zram-generator
ExclusiveArch: %{rust_arches}
- rust-zstd
ExclusiveArch: %{rust_arches}
- rust-zstd-safe
ExclusiveArch: %{rust_arches}
- rust-zstd-sys
ExclusiveArch: %{rust_arches}
- 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
- squeekboard
ExclusiveArch: %{rust_arches}
- startdde
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- statsd
ExclusiveArch: %{nodejs_arches} noarch
- stratis-cli
ExclusiveArch: %{rust_arches} noarch
- stratisd
ExclusiveArch: %{rust_arches}
- 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
- 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
- torbrowser-launcher
ExclusiveArch: %{ix86} x86_64
- tuned-profiles-nfv-host-bin
ExclusiveArch: %{ix86} x86_64
- uClibc
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips}
- ucx
ExclusiveArch: aarch64 ppc64le x86_64
- ugene
ExclusiveArch: %{ix86} x86_64
- uglify-js
ExclusiveArch: %{nodejs_arches} noarch
- uglify-js1
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- unetbootin
ExclusiveArch: %{ix86} x86_64
- ursa-major
ExclusiveArch: noarch aarch64 ppc64le s390x x86_64
- 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
- yarnpkg
ExclusiveArch: %{nodejs_arches} noarch
- ycssmin
ExclusiveArch: %{nodejs_arches} noarch
- zeromq-ada
ExclusiveArch: %{GPRbuild_arches}
- zlib-ada
ExclusiveArch: %{GPRbuild_arches}
- zola
ExclusiveArch: %{rust_arches}
3 years, 11 months
Architecture specific change in rpms/wine.git
by githook-noreply@fedoraproject.org
The package rpms/wine.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/wine.git/commit/?id=6a3375aed7da5....
Change:
-%ifarch aarch64
Thanks.
Full change:
============
commit 6a3375aed7da5016389cab93d28717377e09d9f0
Author: Michael Cronenworth <mike(a)cchtml.com>
Date: Wed Jun 10 16:27:36 2020 -0500
Re order macro to work with older aarch64 rules
diff --git a/wine.spec b/wine.spec
index b8c8f1b..9464feb 100644
--- a/wine.spec
+++ b/wine.spec
@@ -702,11 +702,6 @@ sed -i -e 's!^loader server: libs/port libs/wine tools.*!& include!' Makefile.in
# 0%%{?wine_staging}
%build
-%if 0%{?fedora} >= 33
-%ifarch aarch64
-%global toolchain clang
-%endif
-%endif
# disable fortify as it breaks wine
# http://bugs.winehq.org/show_bug.cgi?id=24606
@@ -714,6 +709,9 @@ sed -i -e 's!^loader server: libs/port libs/wine tools.*!& include!' Makefile.in
export CFLAGS="`echo $RPM_OPT_FLAGS | sed -e 's/-Wp,-D_FORTIFY_SOURCE=2//'` -Wno-error"
%ifarch aarch64
+%if 0%{?fedora} >= 33
+%global toolchain clang
+%else
# ARM64 now requires clang
# https://source.winehq.org/git/wine.git/commit/8fb8cc03c3edb599dd98f369e14...
export CC="/usr/bin/clang"
3 years, 11 months
Architecture specific change in rpms/wine.git
by githook-noreply@fedoraproject.org
The package rpms/wine.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/wine.git/commit/?id=41fb9606e6f1c....
Change:
+%ifarch aarch64
Thanks.
Full change:
============
commit 41fb9606e6f1c66e8ee0bab57dcadd9251b8a4a6
Author: Michael Cronenworth <mike(a)cchtml.com>
Date: Wed Jun 10 16:20:00 2020 -0500
Add new macro for toolchain based on comments from RHBZ#1844893
diff --git a/wine.spec b/wine.spec
index bb89e53..b8c8f1b 100644
--- a/wine.spec
+++ b/wine.spec
@@ -702,6 +702,11 @@ sed -i -e 's!^loader server: libs/port libs/wine tools.*!& include!' Makefile.in
# 0%%{?wine_staging}
%build
+%if 0%{?fedora} >= 33
+%ifarch aarch64
+%global toolchain clang
+%endif
+%endif
# disable fortify as it breaks wine
# http://bugs.winehq.org/show_bug.cgi?id=24606
3 years, 11 months
Architecture specific change in rpms/HepMC3.git
by githook-noreply@fedoraproject.org
The package rpms/HepMC3.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/HepMC3.git/commit/?id=f875d5c8a8d...
https://src.fedoraproject.org/cgit/rpms/HepMC3.git/commit/?id=f86b965492e....
Change:
-%ifarch ppc64le
+%ifarch ppc64le
Thanks.
Full change:
============
commit 7cebad26fa2cd2ccb0ba86cdf111198de361f27a
Author: Mattias Ellert <mattias.ellert(a)physics.uu.se>
Date: Wed Jun 10 23:08:41 2020 +0200
Update to version 3.2.2
Drop patches accepted upstream or previously backported
Drop the memory reduction on ARM patch - no longer needed since the
python module sources were split into multiple files
Use new cmake configuration option -DHEPMC3_INSTALL_EXAMPLES and
simplify spec file accordingly
Bump soname for libHepMC3search.so (3 to 4)
diff --git a/HepMC3-arm-memory.patch b/HepMC3-arm-memory.patch
deleted file mode 100644
index c06fef4..0000000
--- a/HepMC3-arm-memory.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-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
deleted file mode 100644
index dba83ed..0000000
--- a/HepMC3-config.patch
+++ /dev/null
@@ -1,190 +0,0 @@
-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-initialize-root.patch b/HepMC3-initialize-root.patch
deleted file mode 100644
index 841c125..0000000
--- a/HepMC3-initialize-root.patch
+++ /dev/null
@@ -1,10 +0,0 @@
-diff --git a/python/src/rootIO/__init__.py b/python/src/rootIO/__init__.py
-index 709d8bd..461aa10 100644
---- a/python/src/rootIO/__init__.py
-+++ b/python/src/rootIO/__init__.py
-@@ -1 +1,5 @@
-+# Preload libCore to initialize ROOT
-+from ctypes import cdll
-+libCore = cdll.LoadLibrary("libCore.so")
-+
- from .pyHepMC3rootIO import *
diff --git a/HepMC3-python-tests.patch b/HepMC3-python-tests.patch
deleted file mode 100644
index b8f00f1..0000000
--- a/HepMC3-python-tests.patch
+++ /dev/null
@@ -1,203 +0,0 @@
-From ee942bb35bb1735e0a91e61564e7eaf50a78a519 Mon Sep 17 00:00:00 2001
-From: Andrii Verbytskyi <andriish(a)hermes.mpp.mpg.de>
-Date: Thu, 26 Mar 2020 10:50:36 +0100
-Subject: [PATCH] Attempt to fix the python tests
-
----
- python/test/pyHepMC3TestUtils.py | 5 +++++
- python/test/test_IO1.py | 10 +++++-----
- python/test/test_IO2.py | 10 +++++-----
- python/test/test_Polarization.py | 12 ++++++------
- python/test/test_Print.py | 8 ++++----
- python/test/test_Pythia8.py | 4 ++--
- 6 files changed, 27 insertions(+), 22 deletions(-)
-
-diff --git a/python/test/pyHepMC3TestUtils.py b/python/test/pyHepMC3TestUtils.py
-index 3ea8061..fe0d246 100644
---- a/python/test/pyHepMC3TestUtils.py
-+++ b/python/test/pyHepMC3TestUtils.py
-@@ -4,7 +4,12 @@ import sys,os
- def update_path():
- v=sys.version_info
- return [os.path.abspath(os.path.join(os.pardir,str(v[0])+"."+str(v[1])+"."+str(v[2])))]+[os.getcwd()]+sys.path
-+
-+def python_label():
-+ v=sys.version_info
-+ return str(v[0])+"."+str(v[1])+"."+str(v[2])
-
-+
- def COMPARE_ASCII_FILES(f1,f2):
- file1=open(f1)
- file2=open(f2)
-diff --git a/python/test/test_IO1.py b/python/test/test_IO1.py
-index e80a5af..aba6762 100644
---- a/python/test/test_IO1.py
-+++ b/python/test/test_IO1.py
-@@ -1,4 +1,4 @@
--from pyHepMC3TestUtils import update_path
-+from pyHepMC3TestUtils import update_path,python_label
- import sys,os
- sys.path=update_path()
-
-@@ -8,7 +8,7 @@ from pyHepMC3 import HepMC3 as hm
- def test_IO1():
- inputA=hm.ReaderAsciiHepMC2("inputIO1.hepmc")
- if inputA.failed(): sys.exit(1)
-- outputA=hm.WriterAscii ("frominputIO1.hepmc")
-+ outputA=hm.WriterAscii (python_label()+"frominputIO1.hepmc")
- if outputA.failed(): sys.exit(2)
- while not inputA.failed():
- evt=hm.GenEvent()
-@@ -21,9 +21,9 @@ def test_IO1():
- inputA.close()
- outputA.close()
-
-- inputB=hm.ReaderAscii ("frominputIO1.hepmc")
-+ inputB=hm.ReaderAscii (python_label()+"frominputIO1.hepmc")
- if inputB.failed(): sys.exit(3)
-- outputB=hm.WriterAsciiHepMC2("fromfrominputIO1.hepmc")
-+ outputB=hm.WriterAsciiHepMC2(python_label()+"fromfrominputIO1.hepmc")
- if outputB.failed(): sys.exit(4)
- while not inputB.failed():
- evt=hm.GenEvent()
-@@ -35,7 +35,7 @@ def test_IO1():
- evt.clear()
- inputB.close()
- outputB.close()
-- assert(0 == COMPARE_ASCII_FILES("fromfrominputIO1.hepmc","inputIO1.hepmc"))
-+ assert(0 == COMPARE_ASCII_FILES(python_label()+"fromfrominputIO1.hepmc","inputIO1.hepmc"))
- return 0
- if __name__ == "__main__":
- result=1
-diff --git a/python/test/test_IO2.py b/python/test/test_IO2.py
-index 938830f..b838fa6 100644
---- a/python/test/test_IO2.py
-+++ b/python/test/test_IO2.py
-@@ -1,4 +1,4 @@
--from pyHepMC3TestUtils import update_path
-+from pyHepMC3TestUtils import update_path,python_label
- import sys,os
- sys.path=update_path()
-
-@@ -10,7 +10,7 @@ print(dir(hmrootIO))
- def test_IO2():
- inputA=hm.ReaderAsciiHepMC2("inputIO2.hepmc")
- if inputA.failed(): sys.exit(1)
-- outputA=hmrootIO.WriterRootTree ("frominputIO2.root")
-+ outputA=hmrootIO.WriterRootTree (python_label()+"frominputIO2.root")
- if outputA.failed(): sys.exit(2)
- while not inputA.failed():
- evt=hm.GenEvent()
-@@ -23,9 +23,9 @@ def test_IO2():
- inputA.close()
- outputA.close()
-
-- inputB=hmrootIO.ReaderRootTree ("frominputIO2.root")
-+ inputB=hmrootIO.ReaderRootTree (python_label()+"frominputIO2.root")
- if inputB.failed(): sys.exit(3)
-- outputB=hm.WriterAsciiHepMC2("fromfrominputIO2.hepmc")
-+ outputB=hm.WriterAsciiHepMC2(python_label()+"fromfrominputIO2.hepmc")
- if outputB.failed(): sys.exit(4)
- while not inputB.failed():
- evt=hm.GenEvent()
-@@ -37,7 +37,7 @@ def test_IO2():
- evt.clear()
- inputB.close()
- outputB.close()
-- assert(0 == COMPARE_ASCII_FILES("fromfrominputIO2.hepmc","inputIO2.hepmc"))
-+ assert(0 == COMPARE_ASCII_FILES(python_label()+"fromfrominputIO2.hepmc","inputIO2.hepmc"))
- return 0
- if __name__ == "__main__":
- result=1
-diff --git a/python/test/test_Polarization.py b/python/test/test_Polarization.py
-index b7d4ad1..b80a02d 100644
---- a/python/test/test_Polarization.py
-+++ b/python/test/test_Polarization.py
-@@ -15,7 +15,7 @@
- # 7 !d! 1 1 5,5 -2.445 28.816 6.082 29.552 0.010
- # 8 !u~! 1 -2 5,5 3.962 -49.498 -26.687 56.373 0.006
-
--from pyHepMC3TestUtils import update_path
-+from pyHepMC3TestUtils import update_path,python_label
- import sys,os
- sys.path=update_path()
-
-@@ -24,10 +24,10 @@ from pyHepMC3TestUtils import COMPARE_ASCII_FILES
- from pyHepMC3 import HepMC3 as hm
-
- def test_Polarization():
-- xout1=hm.WriterAscii ("testPolarization1.dat")
-- xout2=hm.WriterAscii("testPolarization2.dat")
-- xout4=hm.WriterAsciiHepMC2( "testPolarization4.out" )
-- xout5=hm.WriterAscii( "testPolarization5.out" )
-+ xout1=hm.WriterAscii (python_label()+"testPolarization1.dat")
-+ xout2=hm.WriterAscii(python_label()+"testPolarization2.dat")
-+ xout4=hm.WriterAsciiHepMC2( python_label()+"testPolarization4.out" )
-+ xout5=hm.WriterAscii( python_label()+"testPolarization5.out" )
-
- # build the graph, which will look like
- # p7 #
-@@ -138,7 +138,7 @@ def test_Polarization():
- # contained in those vertices
- evt.clear()
-
-- assert((COMPARE_ASCII_FILES("testPolarization1.dat","testPolarization5.out")==0) and (COMPARE_ASCII_FILES("testPolarization1.dat","testPolarization2.dat")!=0))
-+ assert((COMPARE_ASCII_FILES(python_label()+"testPolarization1.dat",python_label()+"testPolarization5.out")==0) and (COMPARE_ASCII_FILES(python_label()+"testPolarization1.dat",python_label()+"testPolarization2.dat")!=0))
- return 0
- if __name__ == "__main__":
- result=1
-diff --git a/python/test/test_Print.py b/python/test/test_Print.py
-index 64a5c08..833ef36 100644
---- a/python/test/test_Print.py
-+++ b/python/test/test_Print.py
-@@ -1,4 +1,4 @@
--from pyHepMC3TestUtils import update_path
-+from pyHepMC3TestUtils import update_path,python_label
- import sys,os
- sys.path=update_path()
-
-@@ -83,7 +83,7 @@ def test_Print():
- for ip in evt.particles():
- print ( hm.Print.line(ip,True))
-
-- xout1=hm.WriterAscii("testBoost1.out")
-+ xout1=hm.WriterAscii(python_label()+"testBoost1.out")
- xout1.set_precision(6)
- xout1.write_event(evt)
- xout1.close()
-@@ -96,11 +96,11 @@ def test_Print():
- print ( hm.Print.line(ip,True))
- for ip in evt.particles():
- print ( hm.Print.line(ip,True))
-- xout2=hm.WriterAscii("testBoost2.out")
-+ xout2=hm.WriterAscii(python_label()+"testBoost2.out")
- xout2.set_precision(6)
- xout2.write_event(evt)
- xout2.close()
-- assert (COMPARE_ASCII_FILES("testBoost1.out","testBoost2.out")==0)
-+ assert (COMPARE_ASCII_FILES(python_label()+"testBoost1.out",python_label()+"testBoost2.out")==0)
- evt.clear()
- return 0
- if __name__ == "__main__":
-diff --git a/python/test/test_Pythia8.py b/python/test/test_Pythia8.py
-index 541358a..b693ea5 100644
---- a/python/test/test_Pythia8.py
-+++ b/python/test/test_Pythia8.py
-@@ -1,4 +1,4 @@
--from pyHepMC3TestUtils import update_path
-+from pyHepMC3TestUtils import update_path,python_label
- import sys,os
- sys.path=update_path()
-
-@@ -17,7 +17,7 @@ def test_Pythia8():
- pythia.init()
- p8tohm=Pythia8ToHepMC3 ()
- p8tohm.m_store_pdf=True
-- out=hm.WriterAscii("test_Pythia.hepmc")
-+ out=hm.WriterAscii(python_label()+"test_Pythia.hepmc")
- for iEvent in range(0, 100):
- if not pythia.next(): continue
- nCharged = 0
---
-2.25.1
-
diff --git a/HepMC3.spec b/HepMC3.spec
index f521fd2..8ba9d9d 100644
--- a/HepMC3.spec
+++ b/HepMC3.spec
@@ -1,23 +1,11 @@
Name: HepMC3
-Version: 3.2.1
-Release: 3%{?dist}
+Version: 3.2.2
+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
-# 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
-# The same test for different python versions must not
-# overwrite eachother's files
-# https://gitlab.cern.ch/hepmc/HepMC3/merge_requests/57
-Patch2: %{name}-python-tests.patch
-# Initialize ROOT in rootIO python bindings
-# Avoids a problem on EPEL 7 ppc64le
-Patch3: %{name}-initialize-root.patch
# The ROOT cmake file used by this project requires cmake 3.9
%if %{?fedora}%{!?fedora:0} || %{?rhel}%{!?rhel:0} >= 8
@@ -34,14 +22,16 @@ BuildRequires: root-tree
%endif
BuildRequires: doxygen
BuildRequires: graphviz
-# Additional requirements for tests
-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
+# Additional requirements for tests
+BuildRequires: pythia8-devel
+BuildRequires: valgrind
+# For HepMC2 - HepMC3 conversion tests
+BuildRequires: HepMC-devel
%description
The HepMC3 package is an object oriented, C++ event record for
@@ -194,10 +184,6 @@ This package provides HepMC manuals and examples.
%prep
%setup -q
-%patch0 -p1
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
%build
%if %{?fedora}%{!?fedora:0} || %{?rhel}%{!?rhel:0} >= 8
@@ -213,6 +199,7 @@ This package provides HepMC manuals and examples.
%endif
-DHEPMC3_ENABLE_TEST:BOOL=ON \
-DHEPMC3_INSTALL_INTERFACES:BOOL=ON \
+ -DHEPMC3_INSTALL_EXAMPLES:BOOL=ON \
%if %{?rhel}%{!?rhel:0} == 7
-DHEPMC3_PYTHON_VERSIONS=2,%python3_version,%python3_other_version \
%else
@@ -226,7 +213,6 @@ make %{?_smp_mflags}
%install
make install DESTDIR=%{buildroot}
-cp -pr examples %{buildroot}%{_pkgdocdir}
%check
%if %{?fedora}%{!?fedora:0} || %{?rhel}%{!?rhel:0} >= 8
@@ -297,7 +283,7 @@ ctest3 %{?_smp_mflags} --output-on-failure
%{_datadir}/%{name}/cmake/HepMC3Config-version.cmake
%files search
-%{_libdir}/libHepMC3search.so.3
+%{_libdir}/libHepMC3search.so.4
%files search-devel
%{_libdir}/libHepMC3search.so
@@ -401,6 +387,15 @@ ctest3 %{?_smp_mflags} --output-on-failure
%license COPYING
%changelog
+* Wed Jun 10 2020 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 3.2.2-1
+- Update to version 3.2.2
+- Drop patches accepted upstream or previously backported
+- Drop the memory reduction on ARM patch - no longer needed since the
+ python module sources were split into multiple files
+- Use new cmake configuration option -DHEPMC3_INSTALL_EXAMPLES and
+ simplify spec file accordingly
+- Bump soname for libHepMC3search.so (3 to 4)
+
* Tue May 26 2020 Miro Hrončok <mhroncok(a)redhat.com> - 3.2.1-3
- Rebuilt for Python 3.9
diff --git a/sources b/sources
index 0eefc10..7405297 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (HepMC3-3.2.1.tar.gz) = b44fa8c61426acce52ec2013cf30c34ab268a2ef02f1c65760223ef59b893b3691029de6f3d61ada0a0c4498ff7f69243f58bbfff27b8d8fc4ff952e455e0150
+SHA512 (HepMC3-3.2.2.tar.gz) = 9d31e8c9b7cdbfa1baafc719c91bec2587bc503167d41ee06beaabab604be4785798c3adfb7d2b88891a7469aeda2375dde9ce060b37bc1cf9b6286c43a499dc
commit 3f1a40a83f282b34100d8e82923dd062a778ae79
Author: Miro Hrončok <miro(a)hroncok.cz>
Date: Tue May 26 02:39:09 2020 +0200
Rebuilt for Python 3.9
diff --git a/HepMC3.spec b/HepMC3.spec
index 68b3ffd..f521fd2 100644
--- a/HepMC3.spec
+++ b/HepMC3.spec
@@ -1,6 +1,6 @@
Name: HepMC3
Version: 3.2.1
-Release: 2%{?dist}
+Release: 3%{?dist}
Summary: C++ Event Record for Monte Carlo Generators
License: GPLv3+
@@ -401,6 +401,9 @@ ctest3 %{?_smp_mflags} --output-on-failure
%license COPYING
%changelog
+* Tue May 26 2020 Miro Hrončok <mhroncok(a)redhat.com> - 3.2.1-3
+- Rebuilt for Python 3.9
+
* Sun Mar 29 2020 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 3.2.1-2
- Initialize ROOT in rootIO python bindings - avoids problem on EPEL 7 ppc64le
- Use upstream's fix for parallel python tests
commit f875d5c8a8d5ba9d304444b0e3c893530b3c4a84
Author: Mattias Ellert <mattias.ellert(a)physics.uu.se>
Date: Sun Mar 29 09:29:03 2020 +0200
Initialize ROOT in rootIO python bindings - avoids problem on EPEL 7 ppc64le
Use upstream's fix for parallel python tests
diff --git a/HepMC3-initialize-root.patch b/HepMC3-initialize-root.patch
new file mode 100644
index 0000000..841c125
--- /dev/null
+++ b/HepMC3-initialize-root.patch
@@ -0,0 +1,10 @@
+diff --git a/python/src/rootIO/__init__.py b/python/src/rootIO/__init__.py
+index 709d8bd..461aa10 100644
+--- a/python/src/rootIO/__init__.py
++++ b/python/src/rootIO/__init__.py
+@@ -1 +1,5 @@
++# Preload libCore to initialize ROOT
++from ctypes import cdll
++libCore = cdll.LoadLibrary("libCore.so")
++
+ from .pyHepMC3rootIO import *
diff --git a/HepMC3-python-tests.patch b/HepMC3-python-tests.patch
index b9ad0e2..b8f00f1 100644
--- a/HepMC3-python-tests.patch
+++ b/HepMC3-python-tests.patch
@@ -1,38 +1,203 @@
-From da9c200e22c63e28159d37cd30846e1097b07f43 Mon Sep 17 00:00:00 2001
-From: Mattias Ellert <mattias.ellert(a)physics.uu.se>
-Date: Thu, 26 Mar 2020 10:09:18 +0100
-Subject: [PATCH] The same test for different python versions must not
- overwrite eachother's files
+From ee942bb35bb1735e0a91e61564e7eaf50a78a519 Mon Sep 17 00:00:00 2001
+From: Andrii Verbytskyi <andriish(a)hermes.mpp.mpg.de>
+Date: Thu, 26 Mar 2020 10:50:36 +0100
+Subject: [PATCH] Attempt to fix the python tests
---
- python/CMakeLists.txt | 7 +++++++
- 1 file changed, 7 insertions(+)
+ python/test/pyHepMC3TestUtils.py | 5 +++++
+ python/test/test_IO1.py | 10 +++++-----
+ python/test/test_IO2.py | 10 +++++-----
+ python/test/test_Polarization.py | 12 ++++++------
+ python/test/test_Print.py | 8 ++++----
+ python/test/test_Pythia8.py | 4 ++--
+ 6 files changed, 27 insertions(+), 22 deletions(-)
-diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt
-index 95d1b1f..a538aac 100644
---- a/python/CMakeLists.txt
-+++ b/python/CMakeLists.txt
-@@ -137,6 +137,8 @@ endif()
- endif()
-
- macro(bindings ver verminor)
-+SET(Last_Python_VERSION ${Python_VERSION})
+diff --git a/python/test/pyHepMC3TestUtils.py b/python/test/pyHepMC3TestUtils.py
+index 3ea8061..fe0d246 100644
+--- a/python/test/pyHepMC3TestUtils.py
++++ b/python/test/pyHepMC3TestUtils.py
+@@ -4,7 +4,12 @@ import sys,os
+ def update_path():
+ v=sys.version_info
+ return [os.path.abspath(os.path.join(os.pardir,str(v[0])+"."+str(v[1])+"."+str(v[2])))]+[os.getcwd()]+sys.path
+
- SET( Python_VERSION_MAJOR "0")
- SET( Python_VERSION_MINOR "0")
-
-@@ -374,6 +376,11 @@ ENABLE_TESTING()
- endif()
- foreach ( ptest ${HepMC_python_tests} )
- add_test(NAME python${Python_VERSION}_${ptest} COMMAND ${Python_EXECUTABLE} ${ptest}.py WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/test")
-+ # The same test for different python versions must not overwrite
-+ # eachother's files
-+ if(NOT ${Last_Python_VERSION} STREQUAL "")
-+ set_tests_properties(python${Python_VERSION}_${ptest} PROPERTIES DEPENDS python${Last_Python_VERSION}_${ptest})
-+ endif()
- endforeach ( ptest ${HepMC_python_tests} )
- endif()
++def python_label():
++ v=sys.version_info
++ return str(v[0])+"."+str(v[1])+"."+str(v[2])
+
++
+ def COMPARE_ASCII_FILES(f1,f2):
+ file1=open(f1)
+ file2=open(f2)
+diff --git a/python/test/test_IO1.py b/python/test/test_IO1.py
+index e80a5af..aba6762 100644
+--- a/python/test/test_IO1.py
++++ b/python/test/test_IO1.py
+@@ -1,4 +1,4 @@
+-from pyHepMC3TestUtils import update_path
++from pyHepMC3TestUtils import update_path,python_label
+ import sys,os
+ sys.path=update_path()
+
+@@ -8,7 +8,7 @@ from pyHepMC3 import HepMC3 as hm
+ def test_IO1():
+ inputA=hm.ReaderAsciiHepMC2("inputIO1.hepmc")
+ if inputA.failed(): sys.exit(1)
+- outputA=hm.WriterAscii ("frominputIO1.hepmc")
++ outputA=hm.WriterAscii (python_label()+"frominputIO1.hepmc")
+ if outputA.failed(): sys.exit(2)
+ while not inputA.failed():
+ evt=hm.GenEvent()
+@@ -21,9 +21,9 @@ def test_IO1():
+ inputA.close()
+ outputA.close()
+
+- inputB=hm.ReaderAscii ("frominputIO1.hepmc")
++ inputB=hm.ReaderAscii (python_label()+"frominputIO1.hepmc")
+ if inputB.failed(): sys.exit(3)
+- outputB=hm.WriterAsciiHepMC2("fromfrominputIO1.hepmc")
++ outputB=hm.WriterAsciiHepMC2(python_label()+"fromfrominputIO1.hepmc")
+ if outputB.failed(): sys.exit(4)
+ while not inputB.failed():
+ evt=hm.GenEvent()
+@@ -35,7 +35,7 @@ def test_IO1():
+ evt.clear()
+ inputB.close()
+ outputB.close()
+- assert(0 == COMPARE_ASCII_FILES("fromfrominputIO1.hepmc","inputIO1.hepmc"))
++ assert(0 == COMPARE_ASCII_FILES(python_label()+"fromfrominputIO1.hepmc","inputIO1.hepmc"))
+ return 0
+ if __name__ == "__main__":
+ result=1
+diff --git a/python/test/test_IO2.py b/python/test/test_IO2.py
+index 938830f..b838fa6 100644
+--- a/python/test/test_IO2.py
++++ b/python/test/test_IO2.py
+@@ -1,4 +1,4 @@
+-from pyHepMC3TestUtils import update_path
++from pyHepMC3TestUtils import update_path,python_label
+ import sys,os
+ sys.path=update_path()
+
+@@ -10,7 +10,7 @@ print(dir(hmrootIO))
+ def test_IO2():
+ inputA=hm.ReaderAsciiHepMC2("inputIO2.hepmc")
+ if inputA.failed(): sys.exit(1)
+- outputA=hmrootIO.WriterRootTree ("frominputIO2.root")
++ outputA=hmrootIO.WriterRootTree (python_label()+"frominputIO2.root")
+ if outputA.failed(): sys.exit(2)
+ while not inputA.failed():
+ evt=hm.GenEvent()
+@@ -23,9 +23,9 @@ def test_IO2():
+ inputA.close()
+ outputA.close()
+
+- inputB=hmrootIO.ReaderRootTree ("frominputIO2.root")
++ inputB=hmrootIO.ReaderRootTree (python_label()+"frominputIO2.root")
+ if inputB.failed(): sys.exit(3)
+- outputB=hm.WriterAsciiHepMC2("fromfrominputIO2.hepmc")
++ outputB=hm.WriterAsciiHepMC2(python_label()+"fromfrominputIO2.hepmc")
+ if outputB.failed(): sys.exit(4)
+ while not inputB.failed():
+ evt=hm.GenEvent()
+@@ -37,7 +37,7 @@ def test_IO2():
+ evt.clear()
+ inputB.close()
+ outputB.close()
+- assert(0 == COMPARE_ASCII_FILES("fromfrominputIO2.hepmc","inputIO2.hepmc"))
++ assert(0 == COMPARE_ASCII_FILES(python_label()+"fromfrominputIO2.hepmc","inputIO2.hepmc"))
+ return 0
+ if __name__ == "__main__":
+ result=1
+diff --git a/python/test/test_Polarization.py b/python/test/test_Polarization.py
+index b7d4ad1..b80a02d 100644
+--- a/python/test/test_Polarization.py
++++ b/python/test/test_Polarization.py
+@@ -15,7 +15,7 @@
+ # 7 !d! 1 1 5,5 -2.445 28.816 6.082 29.552 0.010
+ # 8 !u~! 1 -2 5,5 3.962 -49.498 -26.687 56.373 0.006
+
+-from pyHepMC3TestUtils import update_path
++from pyHepMC3TestUtils import update_path,python_label
+ import sys,os
+ sys.path=update_path()
+
+@@ -24,10 +24,10 @@ from pyHepMC3TestUtils import COMPARE_ASCII_FILES
+ from pyHepMC3 import HepMC3 as hm
+
+ def test_Polarization():
+- xout1=hm.WriterAscii ("testPolarization1.dat")
+- xout2=hm.WriterAscii("testPolarization2.dat")
+- xout4=hm.WriterAsciiHepMC2( "testPolarization4.out" )
+- xout5=hm.WriterAscii( "testPolarization5.out" )
++ xout1=hm.WriterAscii (python_label()+"testPolarization1.dat")
++ xout2=hm.WriterAscii(python_label()+"testPolarization2.dat")
++ xout4=hm.WriterAsciiHepMC2( python_label()+"testPolarization4.out" )
++ xout5=hm.WriterAscii( python_label()+"testPolarization5.out" )
+
+ # build the graph, which will look like
+ # p7 #
+@@ -138,7 +138,7 @@ def test_Polarization():
+ # contained in those vertices
+ evt.clear()
+
+- assert((COMPARE_ASCII_FILES("testPolarization1.dat","testPolarization5.out")==0) and (COMPARE_ASCII_FILES("testPolarization1.dat","testPolarization2.dat")!=0))
++ assert((COMPARE_ASCII_FILES(python_label()+"testPolarization1.dat",python_label()+"testPolarization5.out")==0) and (COMPARE_ASCII_FILES(python_label()+"testPolarization1.dat",python_label()+"testPolarization2.dat")!=0))
+ return 0
+ if __name__ == "__main__":
+ result=1
+diff --git a/python/test/test_Print.py b/python/test/test_Print.py
+index 64a5c08..833ef36 100644
+--- a/python/test/test_Print.py
++++ b/python/test/test_Print.py
+@@ -1,4 +1,4 @@
+-from pyHepMC3TestUtils import update_path
++from pyHepMC3TestUtils import update_path,python_label
+ import sys,os
+ sys.path=update_path()
+
+@@ -83,7 +83,7 @@ def test_Print():
+ for ip in evt.particles():
+ print ( hm.Print.line(ip,True))
+
+- xout1=hm.WriterAscii("testBoost1.out")
++ xout1=hm.WriterAscii(python_label()+"testBoost1.out")
+ xout1.set_precision(6)
+ xout1.write_event(evt)
+ xout1.close()
+@@ -96,11 +96,11 @@ def test_Print():
+ print ( hm.Print.line(ip,True))
+ for ip in evt.particles():
+ print ( hm.Print.line(ip,True))
+- xout2=hm.WriterAscii("testBoost2.out")
++ xout2=hm.WriterAscii(python_label()+"testBoost2.out")
+ xout2.set_precision(6)
+ xout2.write_event(evt)
+ xout2.close()
+- assert (COMPARE_ASCII_FILES("testBoost1.out","testBoost2.out")==0)
++ assert (COMPARE_ASCII_FILES(python_label()+"testBoost1.out",python_label()+"testBoost2.out")==0)
+ evt.clear()
+ return 0
+ if __name__ == "__main__":
+diff --git a/python/test/test_Pythia8.py b/python/test/test_Pythia8.py
+index 541358a..b693ea5 100644
+--- a/python/test/test_Pythia8.py
++++ b/python/test/test_Pythia8.py
+@@ -1,4 +1,4 @@
+-from pyHepMC3TestUtils import update_path
++from pyHepMC3TestUtils import update_path,python_label
+ import sys,os
+ sys.path=update_path()
+@@ -17,7 +17,7 @@ def test_Pythia8():
+ pythia.init()
+ p8tohm=Pythia8ToHepMC3 ()
+ p8tohm.m_store_pdf=True
+- out=hm.WriterAscii("test_Pythia.hepmc")
++ out=hm.WriterAscii(python_label()+"test_Pythia.hepmc")
+ for iEvent in range(0, 100):
+ if not pythia.next(): continue
+ nCharged = 0
--
2.25.1
diff --git a/HepMC3-root-bug-workaround.patch b/HepMC3-root-bug-workaround.patch
deleted file mode 100644
index 9108af9..0000000
--- a/HepMC3-root-bug-workaround.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -ur HepMC3-3.2.1.orig/python/test/test_IO2.py HepMC3-3.2.1/python/test/test_IO2.py
---- HepMC3-3.2.1.orig/python/test/test_IO2.py 2020-03-17 11:38:25.000000000 +0100
-+++ HepMC3-3.2.1/python/test/test_IO2.py 2020-03-25 13:06:33.448541775 +0100
-@@ -2,6 +2,7 @@
- import sys,os
- sys.path=update_path()
-
-+import ROOT
-
- from pyHepMC3TestUtils import COMPARE_ASCII_FILES
- from pyHepMC3 import HepMC3 as hm
diff --git a/HepMC3.spec b/HepMC3.spec
index 1009c1f..68b3ffd 100644
--- a/HepMC3.spec
+++ b/HepMC3.spec
@@ -1,6 +1,6 @@
Name: HepMC3
Version: 3.2.1
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: C++ Event Record for Monte Carlo Generators
License: GPLv3+
@@ -13,11 +13,11 @@ Patch0: %{name}-config.patch
Patch1: %{name}-arm-memory.patch
# The same test for different python versions must not
# overwrite eachother's files
-# https://gitlab.cern.ch/hepmc/HepMC3/merge_requests/56
+# https://gitlab.cern.ch/hepmc/HepMC3/merge_requests/57
Patch2: %{name}-python-tests.patch
-# Workaround for root problem on EPEL 7 ppc64le
-# https://sft.its.cern.ch/jira/browse/ROOT-10622
-Patch3: %{name}-root-bug-workaround.patch
+# Initialize ROOT in rootIO python bindings
+# Avoids a problem on EPEL 7 ppc64le
+Patch3: %{name}-initialize-root.patch
# The ROOT cmake file used by this project requires cmake 3.9
%if %{?fedora}%{!?fedora:0} || %{?rhel}%{!?rhel:0} >= 8
@@ -43,15 +43,6 @@ BuildRequires: python%{python3_other_pkgversion}-devel
%endif
BuildRequires: python%{python3_pkgversion}-devel
-%if %{?rhel}%{!?rhel:0} == 7
-%ifarch ppc64le
-# Workaround for root problem on EPEL 7 ppc64le
-BuildRequires: python2-root
-BuildRequires: python%{python3_other_pkgversion}-root
-BuildRequires: python%{python3_pkgversion}-root
-%endif
-%endif
-
%description
The HepMC3 package is an object oriented, C++ event record for
High Energy Physics Monte Carlo generators and simulation.
@@ -206,12 +197,7 @@ This package provides HepMC manuals and examples.
%patch0 -p1
%patch1 -p1
%patch2 -p1
-%if %{?rhel}%{!?rhel:0} == 7
-%ifarch ppc64le
-# Workaround for root problem on EPEL 7 ppc64le
%patch3 -p1
-%endif
-%endif
%build
%if %{?fedora}%{!?fedora:0} || %{?rhel}%{!?rhel:0} >= 8
@@ -415,6 +401,10 @@ ctest3 %{?_smp_mflags} --output-on-failure
%license COPYING
%changelog
+* Sun Mar 29 2020 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 3.2.1-2
+- Initialize ROOT in rootIO python bindings - avoids problem on EPEL 7 ppc64le
+- Use upstream's fix for parallel python tests
+
* 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
commit f86b965492e771967e7fdb822194c512093680ec
Author: Mattias Ellert <mattias.ellert(a)physics.uu.se>
Date: Thu Mar 26 10:29:49 2020 +0100
The same test for different python versions must not overwrite
eachother's files
Workaround for root problem on EPEL 7 ppc64le
diff --git a/HepMC3-python-tests.patch b/HepMC3-python-tests.patch
new file mode 100644
index 0000000..b9ad0e2
--- /dev/null
+++ b/HepMC3-python-tests.patch
@@ -0,0 +1,38 @@
+From da9c200e22c63e28159d37cd30846e1097b07f43 Mon Sep 17 00:00:00 2001
+From: Mattias Ellert <mattias.ellert(a)physics.uu.se>
+Date: Thu, 26 Mar 2020 10:09:18 +0100
+Subject: [PATCH] The same test for different python versions must not
+ overwrite eachother's files
+
+---
+ python/CMakeLists.txt | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt
+index 95d1b1f..a538aac 100644
+--- a/python/CMakeLists.txt
++++ b/python/CMakeLists.txt
+@@ -137,6 +137,8 @@ endif()
+ endif()
+
+ macro(bindings ver verminor)
++SET(Last_Python_VERSION ${Python_VERSION})
++
+ SET( Python_VERSION_MAJOR "0")
+ SET( Python_VERSION_MINOR "0")
+
+@@ -374,6 +376,11 @@ ENABLE_TESTING()
+ endif()
+ foreach ( ptest ${HepMC_python_tests} )
+ add_test(NAME python${Python_VERSION}_${ptest} COMMAND ${Python_EXECUTABLE} ${ptest}.py WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/test")
++ # The same test for different python versions must not overwrite
++ # eachother's files
++ if(NOT ${Last_Python_VERSION} STREQUAL "")
++ set_tests_properties(python${Python_VERSION}_${ptest} PROPERTIES DEPENDS python${Last_Python_VERSION}_${ptest})
++ endif()
+ endforeach ( ptest ${HepMC_python_tests} )
+ endif()
+
+--
+2.25.1
+
diff --git a/HepMC3-root-bug-workaround.patch b/HepMC3-root-bug-workaround.patch
new file mode 100644
index 0000000..9108af9
--- /dev/null
+++ b/HepMC3-root-bug-workaround.patch
@@ -0,0 +1,11 @@
+diff -ur HepMC3-3.2.1.orig/python/test/test_IO2.py HepMC3-3.2.1/python/test/test_IO2.py
+--- HepMC3-3.2.1.orig/python/test/test_IO2.py 2020-03-17 11:38:25.000000000 +0100
++++ HepMC3-3.2.1/python/test/test_IO2.py 2020-03-25 13:06:33.448541775 +0100
+@@ -2,6 +2,7 @@
+ import sys,os
+ sys.path=update_path()
+
++import ROOT
+
+ from pyHepMC3TestUtils import COMPARE_ASCII_FILES
+ from pyHepMC3 import HepMC3 as hm
diff --git a/HepMC3.spec b/HepMC3.spec
index ab032a3..1009c1f 100644
--- a/HepMC3.spec
+++ b/HepMC3.spec
@@ -11,6 +11,13 @@ Source0: https://hepmc.web.cern.ch/hepmc/releases/%{name}-%{version}.tar.gz
Patch0: %{name}-config.patch
# Reduce memory usage when building Python bindings on ARM
Patch1: %{name}-arm-memory.patch
+# The same test for different python versions must not
+# overwrite eachother's files
+# https://gitlab.cern.ch/hepmc/HepMC3/merge_requests/56
+Patch2: %{name}-python-tests.patch
+# Workaround for root problem on EPEL 7 ppc64le
+# https://sft.its.cern.ch/jira/browse/ROOT-10622
+Patch3: %{name}-root-bug-workaround.patch
# The ROOT cmake file used by this project requires cmake 3.9
%if %{?fedora}%{!?fedora:0} || %{?rhel}%{!?rhel:0} >= 8
@@ -36,6 +43,15 @@ BuildRequires: python%{python3_other_pkgversion}-devel
%endif
BuildRequires: python%{python3_pkgversion}-devel
+%if %{?rhel}%{!?rhel:0} == 7
+%ifarch ppc64le
+# Workaround for root problem on EPEL 7 ppc64le
+BuildRequires: python2-root
+BuildRequires: python%{python3_other_pkgversion}-root
+BuildRequires: python%{python3_pkgversion}-root
+%endif
+%endif
+
%description
The HepMC3 package is an object oriented, C++ event record for
High Energy Physics Monte Carlo generators and simulation.
@@ -189,6 +205,13 @@ This package provides HepMC manuals and examples.
%setup -q
%patch0 -p1
%patch1 -p1
+%patch2 -p1
+%if %{?rhel}%{!?rhel:0} == 7
+%ifarch ppc64le
+# Workaround for root problem on EPEL 7 ppc64le
+%patch3 -p1
+%endif
+%endif
%build
%if %{?fedora}%{!?fedora:0} || %{?rhel}%{!?rhel:0} >= 8
3 years, 11 months
Architecture specific change in rpms/HepMC3.git
by githook-noreply@fedoraproject.org
The package rpms/HepMC3.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/HepMC3.git/commit/?id=f875d5c8a8d...
https://src.fedoraproject.org/cgit/rpms/HepMC3.git/commit/?id=f86b965492e....
Change:
-%ifarch ppc64le
+%ifarch ppc64le
Thanks.
Full change:
============
commit 7cebad26fa2cd2ccb0ba86cdf111198de361f27a
Author: Mattias Ellert <mattias.ellert(a)physics.uu.se>
Date: Wed Jun 10 23:08:41 2020 +0200
Update to version 3.2.2
Drop patches accepted upstream or previously backported
Drop the memory reduction on ARM patch - no longer needed since the
python module sources were split into multiple files
Use new cmake configuration option -DHEPMC3_INSTALL_EXAMPLES and
simplify spec file accordingly
Bump soname for libHepMC3search.so (3 to 4)
diff --git a/HepMC3-arm-memory.patch b/HepMC3-arm-memory.patch
deleted file mode 100644
index c06fef4..0000000
--- a/HepMC3-arm-memory.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-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
deleted file mode 100644
index dba83ed..0000000
--- a/HepMC3-config.patch
+++ /dev/null
@@ -1,190 +0,0 @@
-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-initialize-root.patch b/HepMC3-initialize-root.patch
deleted file mode 100644
index 841c125..0000000
--- a/HepMC3-initialize-root.patch
+++ /dev/null
@@ -1,10 +0,0 @@
-diff --git a/python/src/rootIO/__init__.py b/python/src/rootIO/__init__.py
-index 709d8bd..461aa10 100644
---- a/python/src/rootIO/__init__.py
-+++ b/python/src/rootIO/__init__.py
-@@ -1 +1,5 @@
-+# Preload libCore to initialize ROOT
-+from ctypes import cdll
-+libCore = cdll.LoadLibrary("libCore.so")
-+
- from .pyHepMC3rootIO import *
diff --git a/HepMC3-python-tests.patch b/HepMC3-python-tests.patch
deleted file mode 100644
index b8f00f1..0000000
--- a/HepMC3-python-tests.patch
+++ /dev/null
@@ -1,203 +0,0 @@
-From ee942bb35bb1735e0a91e61564e7eaf50a78a519 Mon Sep 17 00:00:00 2001
-From: Andrii Verbytskyi <andriish(a)hermes.mpp.mpg.de>
-Date: Thu, 26 Mar 2020 10:50:36 +0100
-Subject: [PATCH] Attempt to fix the python tests
-
----
- python/test/pyHepMC3TestUtils.py | 5 +++++
- python/test/test_IO1.py | 10 +++++-----
- python/test/test_IO2.py | 10 +++++-----
- python/test/test_Polarization.py | 12 ++++++------
- python/test/test_Print.py | 8 ++++----
- python/test/test_Pythia8.py | 4 ++--
- 6 files changed, 27 insertions(+), 22 deletions(-)
-
-diff --git a/python/test/pyHepMC3TestUtils.py b/python/test/pyHepMC3TestUtils.py
-index 3ea8061..fe0d246 100644
---- a/python/test/pyHepMC3TestUtils.py
-+++ b/python/test/pyHepMC3TestUtils.py
-@@ -4,7 +4,12 @@ import sys,os
- def update_path():
- v=sys.version_info
- return [os.path.abspath(os.path.join(os.pardir,str(v[0])+"."+str(v[1])+"."+str(v[2])))]+[os.getcwd()]+sys.path
-+
-+def python_label():
-+ v=sys.version_info
-+ return str(v[0])+"."+str(v[1])+"."+str(v[2])
-
-+
- def COMPARE_ASCII_FILES(f1,f2):
- file1=open(f1)
- file2=open(f2)
-diff --git a/python/test/test_IO1.py b/python/test/test_IO1.py
-index e80a5af..aba6762 100644
---- a/python/test/test_IO1.py
-+++ b/python/test/test_IO1.py
-@@ -1,4 +1,4 @@
--from pyHepMC3TestUtils import update_path
-+from pyHepMC3TestUtils import update_path,python_label
- import sys,os
- sys.path=update_path()
-
-@@ -8,7 +8,7 @@ from pyHepMC3 import HepMC3 as hm
- def test_IO1():
- inputA=hm.ReaderAsciiHepMC2("inputIO1.hepmc")
- if inputA.failed(): sys.exit(1)
-- outputA=hm.WriterAscii ("frominputIO1.hepmc")
-+ outputA=hm.WriterAscii (python_label()+"frominputIO1.hepmc")
- if outputA.failed(): sys.exit(2)
- while not inputA.failed():
- evt=hm.GenEvent()
-@@ -21,9 +21,9 @@ def test_IO1():
- inputA.close()
- outputA.close()
-
-- inputB=hm.ReaderAscii ("frominputIO1.hepmc")
-+ inputB=hm.ReaderAscii (python_label()+"frominputIO1.hepmc")
- if inputB.failed(): sys.exit(3)
-- outputB=hm.WriterAsciiHepMC2("fromfrominputIO1.hepmc")
-+ outputB=hm.WriterAsciiHepMC2(python_label()+"fromfrominputIO1.hepmc")
- if outputB.failed(): sys.exit(4)
- while not inputB.failed():
- evt=hm.GenEvent()
-@@ -35,7 +35,7 @@ def test_IO1():
- evt.clear()
- inputB.close()
- outputB.close()
-- assert(0 == COMPARE_ASCII_FILES("fromfrominputIO1.hepmc","inputIO1.hepmc"))
-+ assert(0 == COMPARE_ASCII_FILES(python_label()+"fromfrominputIO1.hepmc","inputIO1.hepmc"))
- return 0
- if __name__ == "__main__":
- result=1
-diff --git a/python/test/test_IO2.py b/python/test/test_IO2.py
-index 938830f..b838fa6 100644
---- a/python/test/test_IO2.py
-+++ b/python/test/test_IO2.py
-@@ -1,4 +1,4 @@
--from pyHepMC3TestUtils import update_path
-+from pyHepMC3TestUtils import update_path,python_label
- import sys,os
- sys.path=update_path()
-
-@@ -10,7 +10,7 @@ print(dir(hmrootIO))
- def test_IO2():
- inputA=hm.ReaderAsciiHepMC2("inputIO2.hepmc")
- if inputA.failed(): sys.exit(1)
-- outputA=hmrootIO.WriterRootTree ("frominputIO2.root")
-+ outputA=hmrootIO.WriterRootTree (python_label()+"frominputIO2.root")
- if outputA.failed(): sys.exit(2)
- while not inputA.failed():
- evt=hm.GenEvent()
-@@ -23,9 +23,9 @@ def test_IO2():
- inputA.close()
- outputA.close()
-
-- inputB=hmrootIO.ReaderRootTree ("frominputIO2.root")
-+ inputB=hmrootIO.ReaderRootTree (python_label()+"frominputIO2.root")
- if inputB.failed(): sys.exit(3)
-- outputB=hm.WriterAsciiHepMC2("fromfrominputIO2.hepmc")
-+ outputB=hm.WriterAsciiHepMC2(python_label()+"fromfrominputIO2.hepmc")
- if outputB.failed(): sys.exit(4)
- while not inputB.failed():
- evt=hm.GenEvent()
-@@ -37,7 +37,7 @@ def test_IO2():
- evt.clear()
- inputB.close()
- outputB.close()
-- assert(0 == COMPARE_ASCII_FILES("fromfrominputIO2.hepmc","inputIO2.hepmc"))
-+ assert(0 == COMPARE_ASCII_FILES(python_label()+"fromfrominputIO2.hepmc","inputIO2.hepmc"))
- return 0
- if __name__ == "__main__":
- result=1
-diff --git a/python/test/test_Polarization.py b/python/test/test_Polarization.py
-index b7d4ad1..b80a02d 100644
---- a/python/test/test_Polarization.py
-+++ b/python/test/test_Polarization.py
-@@ -15,7 +15,7 @@
- # 7 !d! 1 1 5,5 -2.445 28.816 6.082 29.552 0.010
- # 8 !u~! 1 -2 5,5 3.962 -49.498 -26.687 56.373 0.006
-
--from pyHepMC3TestUtils import update_path
-+from pyHepMC3TestUtils import update_path,python_label
- import sys,os
- sys.path=update_path()
-
-@@ -24,10 +24,10 @@ from pyHepMC3TestUtils import COMPARE_ASCII_FILES
- from pyHepMC3 import HepMC3 as hm
-
- def test_Polarization():
-- xout1=hm.WriterAscii ("testPolarization1.dat")
-- xout2=hm.WriterAscii("testPolarization2.dat")
-- xout4=hm.WriterAsciiHepMC2( "testPolarization4.out" )
-- xout5=hm.WriterAscii( "testPolarization5.out" )
-+ xout1=hm.WriterAscii (python_label()+"testPolarization1.dat")
-+ xout2=hm.WriterAscii(python_label()+"testPolarization2.dat")
-+ xout4=hm.WriterAsciiHepMC2( python_label()+"testPolarization4.out" )
-+ xout5=hm.WriterAscii( python_label()+"testPolarization5.out" )
-
- # build the graph, which will look like
- # p7 #
-@@ -138,7 +138,7 @@ def test_Polarization():
- # contained in those vertices
- evt.clear()
-
-- assert((COMPARE_ASCII_FILES("testPolarization1.dat","testPolarization5.out")==0) and (COMPARE_ASCII_FILES("testPolarization1.dat","testPolarization2.dat")!=0))
-+ assert((COMPARE_ASCII_FILES(python_label()+"testPolarization1.dat",python_label()+"testPolarization5.out")==0) and (COMPARE_ASCII_FILES(python_label()+"testPolarization1.dat",python_label()+"testPolarization2.dat")!=0))
- return 0
- if __name__ == "__main__":
- result=1
-diff --git a/python/test/test_Print.py b/python/test/test_Print.py
-index 64a5c08..833ef36 100644
---- a/python/test/test_Print.py
-+++ b/python/test/test_Print.py
-@@ -1,4 +1,4 @@
--from pyHepMC3TestUtils import update_path
-+from pyHepMC3TestUtils import update_path,python_label
- import sys,os
- sys.path=update_path()
-
-@@ -83,7 +83,7 @@ def test_Print():
- for ip in evt.particles():
- print ( hm.Print.line(ip,True))
-
-- xout1=hm.WriterAscii("testBoost1.out")
-+ xout1=hm.WriterAscii(python_label()+"testBoost1.out")
- xout1.set_precision(6)
- xout1.write_event(evt)
- xout1.close()
-@@ -96,11 +96,11 @@ def test_Print():
- print ( hm.Print.line(ip,True))
- for ip in evt.particles():
- print ( hm.Print.line(ip,True))
-- xout2=hm.WriterAscii("testBoost2.out")
-+ xout2=hm.WriterAscii(python_label()+"testBoost2.out")
- xout2.set_precision(6)
- xout2.write_event(evt)
- xout2.close()
-- assert (COMPARE_ASCII_FILES("testBoost1.out","testBoost2.out")==0)
-+ assert (COMPARE_ASCII_FILES(python_label()+"testBoost1.out",python_label()+"testBoost2.out")==0)
- evt.clear()
- return 0
- if __name__ == "__main__":
-diff --git a/python/test/test_Pythia8.py b/python/test/test_Pythia8.py
-index 541358a..b693ea5 100644
---- a/python/test/test_Pythia8.py
-+++ b/python/test/test_Pythia8.py
-@@ -1,4 +1,4 @@
--from pyHepMC3TestUtils import update_path
-+from pyHepMC3TestUtils import update_path,python_label
- import sys,os
- sys.path=update_path()
-
-@@ -17,7 +17,7 @@ def test_Pythia8():
- pythia.init()
- p8tohm=Pythia8ToHepMC3 ()
- p8tohm.m_store_pdf=True
-- out=hm.WriterAscii("test_Pythia.hepmc")
-+ out=hm.WriterAscii(python_label()+"test_Pythia.hepmc")
- for iEvent in range(0, 100):
- if not pythia.next(): continue
- nCharged = 0
---
-2.25.1
-
diff --git a/HepMC3.spec b/HepMC3.spec
index f521fd2..8ba9d9d 100644
--- a/HepMC3.spec
+++ b/HepMC3.spec
@@ -1,23 +1,11 @@
Name: HepMC3
-Version: 3.2.1
-Release: 3%{?dist}
+Version: 3.2.2
+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
-# 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
-# The same test for different python versions must not
-# overwrite eachother's files
-# https://gitlab.cern.ch/hepmc/HepMC3/merge_requests/57
-Patch2: %{name}-python-tests.patch
-# Initialize ROOT in rootIO python bindings
-# Avoids a problem on EPEL 7 ppc64le
-Patch3: %{name}-initialize-root.patch
# The ROOT cmake file used by this project requires cmake 3.9
%if %{?fedora}%{!?fedora:0} || %{?rhel}%{!?rhel:0} >= 8
@@ -34,14 +22,16 @@ BuildRequires: root-tree
%endif
BuildRequires: doxygen
BuildRequires: graphviz
-# Additional requirements for tests
-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
+# Additional requirements for tests
+BuildRequires: pythia8-devel
+BuildRequires: valgrind
+# For HepMC2 - HepMC3 conversion tests
+BuildRequires: HepMC-devel
%description
The HepMC3 package is an object oriented, C++ event record for
@@ -194,10 +184,6 @@ This package provides HepMC manuals and examples.
%prep
%setup -q
-%patch0 -p1
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
%build
%if %{?fedora}%{!?fedora:0} || %{?rhel}%{!?rhel:0} >= 8
@@ -213,6 +199,7 @@ This package provides HepMC manuals and examples.
%endif
-DHEPMC3_ENABLE_TEST:BOOL=ON \
-DHEPMC3_INSTALL_INTERFACES:BOOL=ON \
+ -DHEPMC3_INSTALL_EXAMPLES:BOOL=ON \
%if %{?rhel}%{!?rhel:0} == 7
-DHEPMC3_PYTHON_VERSIONS=2,%python3_version,%python3_other_version \
%else
@@ -226,7 +213,6 @@ make %{?_smp_mflags}
%install
make install DESTDIR=%{buildroot}
-cp -pr examples %{buildroot}%{_pkgdocdir}
%check
%if %{?fedora}%{!?fedora:0} || %{?rhel}%{!?rhel:0} >= 8
@@ -297,7 +283,7 @@ ctest3 %{?_smp_mflags} --output-on-failure
%{_datadir}/%{name}/cmake/HepMC3Config-version.cmake
%files search
-%{_libdir}/libHepMC3search.so.3
+%{_libdir}/libHepMC3search.so.4
%files search-devel
%{_libdir}/libHepMC3search.so
@@ -401,6 +387,15 @@ ctest3 %{?_smp_mflags} --output-on-failure
%license COPYING
%changelog
+* Wed Jun 10 2020 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 3.2.2-1
+- Update to version 3.2.2
+- Drop patches accepted upstream or previously backported
+- Drop the memory reduction on ARM patch - no longer needed since the
+ python module sources were split into multiple files
+- Use new cmake configuration option -DHEPMC3_INSTALL_EXAMPLES and
+ simplify spec file accordingly
+- Bump soname for libHepMC3search.so (3 to 4)
+
* Tue May 26 2020 Miro Hrončok <mhroncok(a)redhat.com> - 3.2.1-3
- Rebuilt for Python 3.9
diff --git a/sources b/sources
index 0eefc10..7405297 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (HepMC3-3.2.1.tar.gz) = b44fa8c61426acce52ec2013cf30c34ab268a2ef02f1c65760223ef59b893b3691029de6f3d61ada0a0c4498ff7f69243f58bbfff27b8d8fc4ff952e455e0150
+SHA512 (HepMC3-3.2.2.tar.gz) = 9d31e8c9b7cdbfa1baafc719c91bec2587bc503167d41ee06beaabab604be4785798c3adfb7d2b88891a7469aeda2375dde9ce060b37bc1cf9b6286c43a499dc
commit 3f1a40a83f282b34100d8e82923dd062a778ae79
Author: Miro Hrončok <miro(a)hroncok.cz>
Date: Tue May 26 02:39:09 2020 +0200
Rebuilt for Python 3.9
diff --git a/HepMC3.spec b/HepMC3.spec
index 68b3ffd..f521fd2 100644
--- a/HepMC3.spec
+++ b/HepMC3.spec
@@ -1,6 +1,6 @@
Name: HepMC3
Version: 3.2.1
-Release: 2%{?dist}
+Release: 3%{?dist}
Summary: C++ Event Record for Monte Carlo Generators
License: GPLv3+
@@ -401,6 +401,9 @@ ctest3 %{?_smp_mflags} --output-on-failure
%license COPYING
%changelog
+* Tue May 26 2020 Miro Hrončok <mhroncok(a)redhat.com> - 3.2.1-3
+- Rebuilt for Python 3.9
+
* Sun Mar 29 2020 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 3.2.1-2
- Initialize ROOT in rootIO python bindings - avoids problem on EPEL 7 ppc64le
- Use upstream's fix for parallel python tests
commit f875d5c8a8d5ba9d304444b0e3c893530b3c4a84
Author: Mattias Ellert <mattias.ellert(a)physics.uu.se>
Date: Sun Mar 29 09:29:03 2020 +0200
Initialize ROOT in rootIO python bindings - avoids problem on EPEL 7 ppc64le
Use upstream's fix for parallel python tests
diff --git a/HepMC3-initialize-root.patch b/HepMC3-initialize-root.patch
new file mode 100644
index 0000000..841c125
--- /dev/null
+++ b/HepMC3-initialize-root.patch
@@ -0,0 +1,10 @@
+diff --git a/python/src/rootIO/__init__.py b/python/src/rootIO/__init__.py
+index 709d8bd..461aa10 100644
+--- a/python/src/rootIO/__init__.py
++++ b/python/src/rootIO/__init__.py
+@@ -1 +1,5 @@
++# Preload libCore to initialize ROOT
++from ctypes import cdll
++libCore = cdll.LoadLibrary("libCore.so")
++
+ from .pyHepMC3rootIO import *
diff --git a/HepMC3-python-tests.patch b/HepMC3-python-tests.patch
index b9ad0e2..b8f00f1 100644
--- a/HepMC3-python-tests.patch
+++ b/HepMC3-python-tests.patch
@@ -1,38 +1,203 @@
-From da9c200e22c63e28159d37cd30846e1097b07f43 Mon Sep 17 00:00:00 2001
-From: Mattias Ellert <mattias.ellert(a)physics.uu.se>
-Date: Thu, 26 Mar 2020 10:09:18 +0100
-Subject: [PATCH] The same test for different python versions must not
- overwrite eachother's files
+From ee942bb35bb1735e0a91e61564e7eaf50a78a519 Mon Sep 17 00:00:00 2001
+From: Andrii Verbytskyi <andriish(a)hermes.mpp.mpg.de>
+Date: Thu, 26 Mar 2020 10:50:36 +0100
+Subject: [PATCH] Attempt to fix the python tests
---
- python/CMakeLists.txt | 7 +++++++
- 1 file changed, 7 insertions(+)
+ python/test/pyHepMC3TestUtils.py | 5 +++++
+ python/test/test_IO1.py | 10 +++++-----
+ python/test/test_IO2.py | 10 +++++-----
+ python/test/test_Polarization.py | 12 ++++++------
+ python/test/test_Print.py | 8 ++++----
+ python/test/test_Pythia8.py | 4 ++--
+ 6 files changed, 27 insertions(+), 22 deletions(-)
-diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt
-index 95d1b1f..a538aac 100644
---- a/python/CMakeLists.txt
-+++ b/python/CMakeLists.txt
-@@ -137,6 +137,8 @@ endif()
- endif()
-
- macro(bindings ver verminor)
-+SET(Last_Python_VERSION ${Python_VERSION})
+diff --git a/python/test/pyHepMC3TestUtils.py b/python/test/pyHepMC3TestUtils.py
+index 3ea8061..fe0d246 100644
+--- a/python/test/pyHepMC3TestUtils.py
++++ b/python/test/pyHepMC3TestUtils.py
+@@ -4,7 +4,12 @@ import sys,os
+ def update_path():
+ v=sys.version_info
+ return [os.path.abspath(os.path.join(os.pardir,str(v[0])+"."+str(v[1])+"."+str(v[2])))]+[os.getcwd()]+sys.path
+
- SET( Python_VERSION_MAJOR "0")
- SET( Python_VERSION_MINOR "0")
-
-@@ -374,6 +376,11 @@ ENABLE_TESTING()
- endif()
- foreach ( ptest ${HepMC_python_tests} )
- add_test(NAME python${Python_VERSION}_${ptest} COMMAND ${Python_EXECUTABLE} ${ptest}.py WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/test")
-+ # The same test for different python versions must not overwrite
-+ # eachother's files
-+ if(NOT ${Last_Python_VERSION} STREQUAL "")
-+ set_tests_properties(python${Python_VERSION}_${ptest} PROPERTIES DEPENDS python${Last_Python_VERSION}_${ptest})
-+ endif()
- endforeach ( ptest ${HepMC_python_tests} )
- endif()
++def python_label():
++ v=sys.version_info
++ return str(v[0])+"."+str(v[1])+"."+str(v[2])
+
++
+ def COMPARE_ASCII_FILES(f1,f2):
+ file1=open(f1)
+ file2=open(f2)
+diff --git a/python/test/test_IO1.py b/python/test/test_IO1.py
+index e80a5af..aba6762 100644
+--- a/python/test/test_IO1.py
++++ b/python/test/test_IO1.py
+@@ -1,4 +1,4 @@
+-from pyHepMC3TestUtils import update_path
++from pyHepMC3TestUtils import update_path,python_label
+ import sys,os
+ sys.path=update_path()
+
+@@ -8,7 +8,7 @@ from pyHepMC3 import HepMC3 as hm
+ def test_IO1():
+ inputA=hm.ReaderAsciiHepMC2("inputIO1.hepmc")
+ if inputA.failed(): sys.exit(1)
+- outputA=hm.WriterAscii ("frominputIO1.hepmc")
++ outputA=hm.WriterAscii (python_label()+"frominputIO1.hepmc")
+ if outputA.failed(): sys.exit(2)
+ while not inputA.failed():
+ evt=hm.GenEvent()
+@@ -21,9 +21,9 @@ def test_IO1():
+ inputA.close()
+ outputA.close()
+
+- inputB=hm.ReaderAscii ("frominputIO1.hepmc")
++ inputB=hm.ReaderAscii (python_label()+"frominputIO1.hepmc")
+ if inputB.failed(): sys.exit(3)
+- outputB=hm.WriterAsciiHepMC2("fromfrominputIO1.hepmc")
++ outputB=hm.WriterAsciiHepMC2(python_label()+"fromfrominputIO1.hepmc")
+ if outputB.failed(): sys.exit(4)
+ while not inputB.failed():
+ evt=hm.GenEvent()
+@@ -35,7 +35,7 @@ def test_IO1():
+ evt.clear()
+ inputB.close()
+ outputB.close()
+- assert(0 == COMPARE_ASCII_FILES("fromfrominputIO1.hepmc","inputIO1.hepmc"))
++ assert(0 == COMPARE_ASCII_FILES(python_label()+"fromfrominputIO1.hepmc","inputIO1.hepmc"))
+ return 0
+ if __name__ == "__main__":
+ result=1
+diff --git a/python/test/test_IO2.py b/python/test/test_IO2.py
+index 938830f..b838fa6 100644
+--- a/python/test/test_IO2.py
++++ b/python/test/test_IO2.py
+@@ -1,4 +1,4 @@
+-from pyHepMC3TestUtils import update_path
++from pyHepMC3TestUtils import update_path,python_label
+ import sys,os
+ sys.path=update_path()
+
+@@ -10,7 +10,7 @@ print(dir(hmrootIO))
+ def test_IO2():
+ inputA=hm.ReaderAsciiHepMC2("inputIO2.hepmc")
+ if inputA.failed(): sys.exit(1)
+- outputA=hmrootIO.WriterRootTree ("frominputIO2.root")
++ outputA=hmrootIO.WriterRootTree (python_label()+"frominputIO2.root")
+ if outputA.failed(): sys.exit(2)
+ while not inputA.failed():
+ evt=hm.GenEvent()
+@@ -23,9 +23,9 @@ def test_IO2():
+ inputA.close()
+ outputA.close()
+
+- inputB=hmrootIO.ReaderRootTree ("frominputIO2.root")
++ inputB=hmrootIO.ReaderRootTree (python_label()+"frominputIO2.root")
+ if inputB.failed(): sys.exit(3)
+- outputB=hm.WriterAsciiHepMC2("fromfrominputIO2.hepmc")
++ outputB=hm.WriterAsciiHepMC2(python_label()+"fromfrominputIO2.hepmc")
+ if outputB.failed(): sys.exit(4)
+ while not inputB.failed():
+ evt=hm.GenEvent()
+@@ -37,7 +37,7 @@ def test_IO2():
+ evt.clear()
+ inputB.close()
+ outputB.close()
+- assert(0 == COMPARE_ASCII_FILES("fromfrominputIO2.hepmc","inputIO2.hepmc"))
++ assert(0 == COMPARE_ASCII_FILES(python_label()+"fromfrominputIO2.hepmc","inputIO2.hepmc"))
+ return 0
+ if __name__ == "__main__":
+ result=1
+diff --git a/python/test/test_Polarization.py b/python/test/test_Polarization.py
+index b7d4ad1..b80a02d 100644
+--- a/python/test/test_Polarization.py
++++ b/python/test/test_Polarization.py
+@@ -15,7 +15,7 @@
+ # 7 !d! 1 1 5,5 -2.445 28.816 6.082 29.552 0.010
+ # 8 !u~! 1 -2 5,5 3.962 -49.498 -26.687 56.373 0.006
+
+-from pyHepMC3TestUtils import update_path
++from pyHepMC3TestUtils import update_path,python_label
+ import sys,os
+ sys.path=update_path()
+
+@@ -24,10 +24,10 @@ from pyHepMC3TestUtils import COMPARE_ASCII_FILES
+ from pyHepMC3 import HepMC3 as hm
+
+ def test_Polarization():
+- xout1=hm.WriterAscii ("testPolarization1.dat")
+- xout2=hm.WriterAscii("testPolarization2.dat")
+- xout4=hm.WriterAsciiHepMC2( "testPolarization4.out" )
+- xout5=hm.WriterAscii( "testPolarization5.out" )
++ xout1=hm.WriterAscii (python_label()+"testPolarization1.dat")
++ xout2=hm.WriterAscii(python_label()+"testPolarization2.dat")
++ xout4=hm.WriterAsciiHepMC2( python_label()+"testPolarization4.out" )
++ xout5=hm.WriterAscii( python_label()+"testPolarization5.out" )
+
+ # build the graph, which will look like
+ # p7 #
+@@ -138,7 +138,7 @@ def test_Polarization():
+ # contained in those vertices
+ evt.clear()
+
+- assert((COMPARE_ASCII_FILES("testPolarization1.dat","testPolarization5.out")==0) and (COMPARE_ASCII_FILES("testPolarization1.dat","testPolarization2.dat")!=0))
++ assert((COMPARE_ASCII_FILES(python_label()+"testPolarization1.dat",python_label()+"testPolarization5.out")==0) and (COMPARE_ASCII_FILES(python_label()+"testPolarization1.dat",python_label()+"testPolarization2.dat")!=0))
+ return 0
+ if __name__ == "__main__":
+ result=1
+diff --git a/python/test/test_Print.py b/python/test/test_Print.py
+index 64a5c08..833ef36 100644
+--- a/python/test/test_Print.py
++++ b/python/test/test_Print.py
+@@ -1,4 +1,4 @@
+-from pyHepMC3TestUtils import update_path
++from pyHepMC3TestUtils import update_path,python_label
+ import sys,os
+ sys.path=update_path()
+
+@@ -83,7 +83,7 @@ def test_Print():
+ for ip in evt.particles():
+ print ( hm.Print.line(ip,True))
+
+- xout1=hm.WriterAscii("testBoost1.out")
++ xout1=hm.WriterAscii(python_label()+"testBoost1.out")
+ xout1.set_precision(6)
+ xout1.write_event(evt)
+ xout1.close()
+@@ -96,11 +96,11 @@ def test_Print():
+ print ( hm.Print.line(ip,True))
+ for ip in evt.particles():
+ print ( hm.Print.line(ip,True))
+- xout2=hm.WriterAscii("testBoost2.out")
++ xout2=hm.WriterAscii(python_label()+"testBoost2.out")
+ xout2.set_precision(6)
+ xout2.write_event(evt)
+ xout2.close()
+- assert (COMPARE_ASCII_FILES("testBoost1.out","testBoost2.out")==0)
++ assert (COMPARE_ASCII_FILES(python_label()+"testBoost1.out",python_label()+"testBoost2.out")==0)
+ evt.clear()
+ return 0
+ if __name__ == "__main__":
+diff --git a/python/test/test_Pythia8.py b/python/test/test_Pythia8.py
+index 541358a..b693ea5 100644
+--- a/python/test/test_Pythia8.py
++++ b/python/test/test_Pythia8.py
+@@ -1,4 +1,4 @@
+-from pyHepMC3TestUtils import update_path
++from pyHepMC3TestUtils import update_path,python_label
+ import sys,os
+ sys.path=update_path()
+@@ -17,7 +17,7 @@ def test_Pythia8():
+ pythia.init()
+ p8tohm=Pythia8ToHepMC3 ()
+ p8tohm.m_store_pdf=True
+- out=hm.WriterAscii("test_Pythia.hepmc")
++ out=hm.WriterAscii(python_label()+"test_Pythia.hepmc")
+ for iEvent in range(0, 100):
+ if not pythia.next(): continue
+ nCharged = 0
--
2.25.1
diff --git a/HepMC3-root-bug-workaround.patch b/HepMC3-root-bug-workaround.patch
deleted file mode 100644
index 9108af9..0000000
--- a/HepMC3-root-bug-workaround.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -ur HepMC3-3.2.1.orig/python/test/test_IO2.py HepMC3-3.2.1/python/test/test_IO2.py
---- HepMC3-3.2.1.orig/python/test/test_IO2.py 2020-03-17 11:38:25.000000000 +0100
-+++ HepMC3-3.2.1/python/test/test_IO2.py 2020-03-25 13:06:33.448541775 +0100
-@@ -2,6 +2,7 @@
- import sys,os
- sys.path=update_path()
-
-+import ROOT
-
- from pyHepMC3TestUtils import COMPARE_ASCII_FILES
- from pyHepMC3 import HepMC3 as hm
diff --git a/HepMC3.spec b/HepMC3.spec
index 1009c1f..68b3ffd 100644
--- a/HepMC3.spec
+++ b/HepMC3.spec
@@ -1,6 +1,6 @@
Name: HepMC3
Version: 3.2.1
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: C++ Event Record for Monte Carlo Generators
License: GPLv3+
@@ -13,11 +13,11 @@ Patch0: %{name}-config.patch
Patch1: %{name}-arm-memory.patch
# The same test for different python versions must not
# overwrite eachother's files
-# https://gitlab.cern.ch/hepmc/HepMC3/merge_requests/56
+# https://gitlab.cern.ch/hepmc/HepMC3/merge_requests/57
Patch2: %{name}-python-tests.patch
-# Workaround for root problem on EPEL 7 ppc64le
-# https://sft.its.cern.ch/jira/browse/ROOT-10622
-Patch3: %{name}-root-bug-workaround.patch
+# Initialize ROOT in rootIO python bindings
+# Avoids a problem on EPEL 7 ppc64le
+Patch3: %{name}-initialize-root.patch
# The ROOT cmake file used by this project requires cmake 3.9
%if %{?fedora}%{!?fedora:0} || %{?rhel}%{!?rhel:0} >= 8
@@ -43,15 +43,6 @@ BuildRequires: python%{python3_other_pkgversion}-devel
%endif
BuildRequires: python%{python3_pkgversion}-devel
-%if %{?rhel}%{!?rhel:0} == 7
-%ifarch ppc64le
-# Workaround for root problem on EPEL 7 ppc64le
-BuildRequires: python2-root
-BuildRequires: python%{python3_other_pkgversion}-root
-BuildRequires: python%{python3_pkgversion}-root
-%endif
-%endif
-
%description
The HepMC3 package is an object oriented, C++ event record for
High Energy Physics Monte Carlo generators and simulation.
@@ -206,12 +197,7 @@ This package provides HepMC manuals and examples.
%patch0 -p1
%patch1 -p1
%patch2 -p1
-%if %{?rhel}%{!?rhel:0} == 7
-%ifarch ppc64le
-# Workaround for root problem on EPEL 7 ppc64le
%patch3 -p1
-%endif
-%endif
%build
%if %{?fedora}%{!?fedora:0} || %{?rhel}%{!?rhel:0} >= 8
@@ -415,6 +401,10 @@ ctest3 %{?_smp_mflags} --output-on-failure
%license COPYING
%changelog
+* Sun Mar 29 2020 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 3.2.1-2
+- Initialize ROOT in rootIO python bindings - avoids problem on EPEL 7 ppc64le
+- Use upstream's fix for parallel python tests
+
* 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
commit f86b965492e771967e7fdb822194c512093680ec
Author: Mattias Ellert <mattias.ellert(a)physics.uu.se>
Date: Thu Mar 26 10:29:49 2020 +0100
The same test for different python versions must not overwrite
eachother's files
Workaround for root problem on EPEL 7 ppc64le
diff --git a/HepMC3-python-tests.patch b/HepMC3-python-tests.patch
new file mode 100644
index 0000000..b9ad0e2
--- /dev/null
+++ b/HepMC3-python-tests.patch
@@ -0,0 +1,38 @@
+From da9c200e22c63e28159d37cd30846e1097b07f43 Mon Sep 17 00:00:00 2001
+From: Mattias Ellert <mattias.ellert(a)physics.uu.se>
+Date: Thu, 26 Mar 2020 10:09:18 +0100
+Subject: [PATCH] The same test for different python versions must not
+ overwrite eachother's files
+
+---
+ python/CMakeLists.txt | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt
+index 95d1b1f..a538aac 100644
+--- a/python/CMakeLists.txt
++++ b/python/CMakeLists.txt
+@@ -137,6 +137,8 @@ endif()
+ endif()
+
+ macro(bindings ver verminor)
++SET(Last_Python_VERSION ${Python_VERSION})
++
+ SET( Python_VERSION_MAJOR "0")
+ SET( Python_VERSION_MINOR "0")
+
+@@ -374,6 +376,11 @@ ENABLE_TESTING()
+ endif()
+ foreach ( ptest ${HepMC_python_tests} )
+ add_test(NAME python${Python_VERSION}_${ptest} COMMAND ${Python_EXECUTABLE} ${ptest}.py WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/test")
++ # The same test for different python versions must not overwrite
++ # eachother's files
++ if(NOT ${Last_Python_VERSION} STREQUAL "")
++ set_tests_properties(python${Python_VERSION}_${ptest} PROPERTIES DEPENDS python${Last_Python_VERSION}_${ptest})
++ endif()
+ endforeach ( ptest ${HepMC_python_tests} )
+ endif()
+
+--
+2.25.1
+
diff --git a/HepMC3-root-bug-workaround.patch b/HepMC3-root-bug-workaround.patch
new file mode 100644
index 0000000..9108af9
--- /dev/null
+++ b/HepMC3-root-bug-workaround.patch
@@ -0,0 +1,11 @@
+diff -ur HepMC3-3.2.1.orig/python/test/test_IO2.py HepMC3-3.2.1/python/test/test_IO2.py
+--- HepMC3-3.2.1.orig/python/test/test_IO2.py 2020-03-17 11:38:25.000000000 +0100
++++ HepMC3-3.2.1/python/test/test_IO2.py 2020-03-25 13:06:33.448541775 +0100
+@@ -2,6 +2,7 @@
+ import sys,os
+ sys.path=update_path()
+
++import ROOT
+
+ from pyHepMC3TestUtils import COMPARE_ASCII_FILES
+ from pyHepMC3 import HepMC3 as hm
diff --git a/HepMC3.spec b/HepMC3.spec
index ab032a3..1009c1f 100644
--- a/HepMC3.spec
+++ b/HepMC3.spec
@@ -11,6 +11,13 @@ Source0: https://hepmc.web.cern.ch/hepmc/releases/%{name}-%{version}.tar.gz
Patch0: %{name}-config.patch
# Reduce memory usage when building Python bindings on ARM
Patch1: %{name}-arm-memory.patch
+# The same test for different python versions must not
+# overwrite eachother's files
+# https://gitlab.cern.ch/hepmc/HepMC3/merge_requests/56
+Patch2: %{name}-python-tests.patch
+# Workaround for root problem on EPEL 7 ppc64le
+# https://sft.its.cern.ch/jira/browse/ROOT-10622
+Patch3: %{name}-root-bug-workaround.patch
# The ROOT cmake file used by this project requires cmake 3.9
%if %{?fedora}%{!?fedora:0} || %{?rhel}%{!?rhel:0} >= 8
@@ -36,6 +43,15 @@ BuildRequires: python%{python3_other_pkgversion}-devel
%endif
BuildRequires: python%{python3_pkgversion}-devel
+%if %{?rhel}%{!?rhel:0} == 7
+%ifarch ppc64le
+# Workaround for root problem on EPEL 7 ppc64le
+BuildRequires: python2-root
+BuildRequires: python%{python3_other_pkgversion}-root
+BuildRequires: python%{python3_pkgversion}-root
+%endif
+%endif
+
%description
The HepMC3 package is an object oriented, C++ event record for
High Energy Physics Monte Carlo generators and simulation.
@@ -189,6 +205,13 @@ This package provides HepMC manuals and examples.
%setup -q
%patch0 -p1
%patch1 -p1
+%patch2 -p1
+%if %{?rhel}%{!?rhel:0} == 7
+%ifarch ppc64le
+# Workaround for root problem on EPEL 7 ppc64le
+%patch3 -p1
+%endif
+%endif
%build
%if %{?fedora}%{!?fedora:0} || %{?rhel}%{!?rhel:0} >= 8
3 years, 11 months