$ git show --format=fuller --patch-with-stat --summary 1460afaa3be8c3b997edf5c106be4a374b085838
commit 1460afaa3be8c3b997edf5c106be4a374b085838
Author: Tomasz Paweł Gajc <tpgxyz@gmail.com>
AuthorDate: Tue Sep 27 20:24:28 2022 +0200
Commit: Tomasz Paweł Gajc <tpgxyz@gmail.com>
CommitDate: Tue Sep 27 20:30:17 2022 +0200
fix build with clang
---
libpipeline-1.5.6-fix-clang.patch | 84 +++++++++++++++++++++++++++++++++++++++
libpipeline.spec | 3 +-
2 files changed, 86 insertions(+), 1 deletion(-)
create mode 100644 libpipeline-1.5.6-fix-clang.patch
diff --git a/libpipeline-1.5.6-fix-clang.patch b/libpipeline-1.5.6-fix-clang.patch
new file mode 100644
index 0000000..15febc7
--- /dev/null
+++ b/libpipeline-1.5.6-fix-clang.patch
@@ -0,0 +1,84 @@
+diff -Naur libpipeline-1.5.6/config.h.in libpipeline-1.5.6.tpg/config.h.in
+--- libpipeline-1.5.6/config.h.in 2022-04-23 23:40:45.000000000 +0000
++++ libpipeline-1.5.6.tpg/config.h.in 2022-09-27 18:18:21.725505878 +0000
+@@ -1126,7 +1126,7 @@
+ _GL_ATTRIBUTE_DEALLOC_FREE declares that the function returns pointers that
+ can be freed via 'free'; it can be used only after declaring 'free'. */
+ /* Applies to: functions. Cannot be used on inline functions. */
+-#if _GL_GNUC_PREREQ (11, 0)
++#if _GL_GNUC_PREREQ (11, 0) && !defined(__clang__)
+ # define _GL_ATTRIBUTE_DEALLOC(f, i) __attribute__ ((__malloc__ (f, i)))
+ #else
+ # define _GL_ATTRIBUTE_DEALLOC(f, i)
+diff -Naur libpipeline-1.5.6/gl/lib/cdefs.h libpipeline-1.5.6.tpg/gl/lib/cdefs.h
+--- libpipeline-1.5.6/gl/lib/cdefs.h 2022-04-23 23:40:29.000000000 +0000
++++ libpipeline-1.5.6.tpg/gl/lib/cdefs.h 2022-09-27 18:19:24.415300709 +0000
+@@ -683,7 +683,7 @@
+ # define __attr_access_none(argno)
+ #endif
+
+-#if __GNUC_PREREQ (11, 0)
++#if __GNUC_PREREQ (11, 0) && !defined(__clang__)
+ /* Designates dealloc as a function to call to deallocate objects
+ allocated by the declared function. */
+ # define __attr_dealloc(dealloc, argno) \
+diff -Naur libpipeline-1.5.6/gl/lib/stdio.in.h libpipeline-1.5.6.tpg/gl/lib/stdio.in.h
+--- libpipeline-1.5.6/gl/lib/stdio.in.h 2022-04-23 23:40:29.000000000 +0000
++++ libpipeline-1.5.6.tpg/gl/lib/stdio.in.h 2022-09-27 18:20:54.444814583 +0000
+@@ -95,7 +95,7 @@
+ that can be freed by passing them as the Ith argument to the
+ function F. */
+ #ifndef _GL_ATTRIBUTE_DEALLOC
+-# if __GNUC__ >= 11
++# if __GNUC__ >= 11 && !defined(__clang__)
+ # define _GL_ATTRIBUTE_DEALLOC(f, i) __attribute__ ((__malloc__ (f, i)))
+ # else
+ # define _GL_ATTRIBUTE_DEALLOC(f, i)
+diff -Naur libpipeline-1.5.6/gl/lib/stdlib.in.h libpipeline-1.5.6.tpg/gl/lib/stdlib.in.h
+--- libpipeline-1.5.6/gl/lib/stdlib.in.h 2022-04-23 23:40:29.000000000 +0000
++++ libpipeline-1.5.6.tpg/gl/lib/stdlib.in.h 2022-09-27 18:21:21.914670571 +0000
+@@ -103,7 +103,7 @@
+ that can be freed by passing them as the Ith argument to the
+ function F. */
+ #ifndef _GL_ATTRIBUTE_DEALLOC
+-# if __GNUC__ >= 11
++# if __GNUC__ >= 11 && !defined(__clang__)
+ # define _GL_ATTRIBUTE_DEALLOC(f, i) __attribute__ ((__malloc__ (f, i)))
+ # else
+ # define _GL_ATTRIBUTE_DEALLOC(f, i)
+diff -Naur libpipeline-1.5.6/gl/lib/string.in.h libpipeline-1.5.6.tpg/gl/lib/string.in.h
+--- libpipeline-1.5.6/gl/lib/string.in.h 2022-04-23 23:40:29.000000000 +0000
++++ libpipeline-1.5.6.tpg/gl/lib/string.in.h 2022-09-27 18:21:47.304539098 +0000
+@@ -71,7 +71,7 @@
+ that can be freed by passing them as the Ith argument to the
+ function F. */
+ #ifndef _GL_ATTRIBUTE_DEALLOC
+-# if __GNUC__ >= 11
++# if __GNUC__ >= 11 && !defined(__clang__)
+ # define _GL_ATTRIBUTE_DEALLOC(f, i) __attribute__ ((__malloc__ (f, i)))
+ # else
+ # define _GL_ATTRIBUTE_DEALLOC(f, i)
+diff -Naur libpipeline-1.5.6/gl/lib/wchar.in.h libpipeline-1.5.6.tpg/gl/lib/wchar.in.h
+--- libpipeline-1.5.6/gl/lib/wchar.in.h 2022-04-23 23:40:29.000000000 +0000
++++ libpipeline-1.5.6.tpg/gl/lib/wchar.in.h 2022-09-27 18:22:25.124346002 +0000
+@@ -88,7 +88,7 @@
+ that can be freed by passing them as the Ith argument to the
+ function F. */
+ #ifndef _GL_ATTRIBUTE_DEALLOC
+-# if __GNUC__ >= 11
++# if __GNUC__ >= 11 && !defined(__clang__)
+ # define _GL_ATTRIBUTE_DEALLOC(f, i) __attribute__ ((__malloc__ (f, i)))
+ # else
+ # define _GL_ATTRIBUTE_DEALLOC(f, i)
+diff -Naur libpipeline-1.5.6/gl/m4/gnulib-common.m4 libpipeline-1.5.6.tpg/gl/m4/gnulib-common.m4
+--- libpipeline-1.5.6/gl/m4/gnulib-common.m4 2022-04-23 23:40:29.000000000 +0000
++++ libpipeline-1.5.6.tpg/gl/m4/gnulib-common.m4 2022-09-27 18:23:01.304164159 +0000
+@@ -176,7 +176,7 @@
+ _GL_ATTRIBUTE_DEALLOC_FREE declares that the function returns pointers that
+ can be freed via 'free'; it can be used only after declaring 'free'. */
+ /* Applies to: functions. Cannot be used on inline functions. */
+-#if _GL_GNUC_PREREQ (11, 0)
++#if _GL_GNUC_PREREQ (11, 0) && !defined(__clang__)
+ # define _GL_ATTRIBUTE_DEALLOC(f, i) __attribute__ ((__malloc__ (f, i)))
+ #else
+ # define _GL_ATTRIBUTE_DEALLOC(f, i)
diff --git a/libpipeline.spec b/libpipeline.spec
index a16e96e..b59b7c6 100644
--- a/libpipeline.spec
+++ b/libpipeline.spec
@@ -10,6 +10,7 @@ Group: System/Libraries
License: GPLv3+
Url: http://libpipeline.nongnu.org/
Source0: https://download.savannah.nongnu.org/releases/%{name}/%{name}-%{version}.tar.gz
+Patch0: libpipeline-1.5.6-fix-clang.patch
%description
Library for manipulating pipelines of subprocesses.
@@ -44,7 +45,7 @@ for manipluating pipelines of subprocesses
%{_libdir}/libpipeline.so.%{major}*
%files -n %{devname}
-%doc COPYING NEWS
+%doc COPYING NEWS.md README.md
%{_libdir}/*.so
%{_includedir}/*
%{_libdir}/pkgconfig/*