[packages/python-plist] - last version of python-plist module, taken from libplist.spec for 2.4.0

qboosh qboosh at pld-linux.org
Sat Mar 28 21:19:38 CET 2026


commit e28093b528969d1fda431db278521b738003e964
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Sat Mar 28 21:19:50 2026 +0100

    - last version of python-plist module, taken from libplist.spec for 2.4.0

 libplist-link.patch           |  13 ++++++
 libplist-sh.patch             | 106 ++++++++++++++++++++++++++++++++++++++++++
 libplist-system-library.patch |  20 ++++++++
 python-plist.spec             |  71 ++++++++++++++++++++++++++++
 4 files changed, 210 insertions(+)
---
diff --git a/python-plist.spec b/python-plist.spec
new file mode 100644
index 0000000..05d7da0
--- /dev/null
+++ b/python-plist.spec
@@ -0,0 +1,71 @@
+Summary:	Python 2 bindings for libplist
+Summary(pl.UTF-8):	Wiązania libplist dla Pythona 2
+Name:		python-plist
+Version:	2.4.0
+Release:	1
+License:	LGPL v2.1+
+Group:		Development/Languages/Python
+# Source0Download: https://libimobiledevice.org/
+Source0:	https://github.com/libimobiledevice/libplist/releases/download/%{version}/libplist-%{version}.tar.bz2
+# Source0-md5:	56b7892151b72ea0cfbf3ef785ffbc82
+Patch0:		libplist-sh.patch
+Patch1:		libplist-link.patch
+Patch2:		libplist-system-library.patch
+URL:		https://libimobiledevice.org/
+BuildRequires:	autoconf >= 2.68
+BuildRequires:	automake
+BuildRequires:	libplist-devel >= 2.4.0
+BuildRequires:	libtool >= 2:2
+BuildRequires:	pkgconfig
+BuildRequires:	rpmbuild(macros) >= 1.600
+BuildRequires:	python-Cython >= 0.17.0
+BuildRequires:	python-devel >= 1:2.3
+BuildRequires:	python-modules >= 1:2.3
+BuildRequires:	rpm-pythonprov
+Requires:	libplist >= 2.4.0
+BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+%description
+Python 2 bindings for libplist.
+
+%description -l pl.UTF-8
+Wiązania libplist dla Pythona 2.
+
+%prep
+%setup -q -n libplist-%{version}
+%patch -P0 -p1
+%patch -P1 -p1
+%patch -P2 -p1
+
+touch cython/*.py[xh]
+
+%build
+%{__libtoolize}
+%{__aclocal} -I m4
+%{__autoconf}
+%{__autoheader}
+%{__automake}
+%configure \
+	ac_cv_path_CYTHON=/usr/bin/cython2 \
+	--disable-silent-rules \
+	--disable-static \
+	--without-tests
+
+%{__make} -C cython
+
+%install
+rm -rf $RPM_BUILD_ROOT
+
+%{__make} -C cython install \
+	DESTDIR=$RPM_BUILD_ROOT
+
+%{__rm} $RPM_BUILD_ROOT%{py_sitedir}/plist.la
+%{__rm} -r $RPM_BUILD_ROOT%{_includedir}
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%files
+%defattr(644,root,root,755)
+%doc AUTHORS NEWS README.md
+%attr(755,root,root) %{py_sitedir}/plist.so
diff --git a/libplist-link.patch b/libplist-link.patch
new file mode 100644
index 0000000..fd8d1b0
--- /dev/null
+++ b/libplist-link.patch
@@ -0,0 +1,13 @@
+--- libplist-2.3.0/cython/Makefile.am.orig	2022-02-07 12:20:41.000000000 +0100
++++ libplist-2.3.0/cython/Makefile.am	2023-11-26 09:11:13.719041230 +0100
+@@ -39,8 +39,8 @@ plist_la_CFLAGS = \
+ 	-Wno-implicit-function-declaration \
+ 	-fvisibility=default
+ 
+-plist_la_LDFLAGS = -module -avoid-version $(PYTHON_LIBS) $(AM_LDFLAGS) -shared -export-dynamic
+-plist_la_LIBADD = $(top_builddir)/src/libplist-2.0.la
++plist_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS) -shared -export-dynamic
++plist_la_LIBADD = $(top_builddir)/src/libplist-2.0.la $(PYTHON_LIBS)
+ 
+ if WIN32
+ plist_la_LDFLAGS += -no-undefined
diff --git a/libplist-sh.patch b/libplist-sh.patch
new file mode 100644
index 0000000..c8e953d
--- /dev/null
+++ b/libplist-sh.patch
@@ -0,0 +1,106 @@
+--- libplist-2.4.0/configure.ac.orig	2024-02-21 01:49:54.000000000 +0100
++++ libplist-2.4.0/configure.ac	2024-02-25 08:40:35.228846020 +0100
+@@ -189,16 +189,16 @@ esac],
+ 
+ if (test "x$debug" = "xyes"); then
+        AC_DEFINE(DEBUG, 1, [Define if debug message output code should be built.])
+-       GLOBAL_CFLAGS+=" -g"
++       GLOBAL_CFLAGS="$GLOBAL_CFLAGS -g"
+ fi
+ 
+ if test "x$enable_static" = "xyes" -a "x$enable_shared" = "xno"; then
+-	GLOBAL_CFLAGS+=" -DLIBPLIST_STATIC"
++	GLOBAL_CFLAGS="$GLOBAL_CFLAGS -DLIBPLIST_STATIC"
+ fi
+ 
+ GLOBAL_CXXFLAGS=$GLOBAL_CFLAGS
+ AS_COMPILER_FLAG([-fvisibility=hidden], [
+-  GLOBAL_CFLAGS+=" -fvisibility=hidden"
++  GLOBAL_CFLAGS="$GLOBAL_CFLAGS -fvisibility=hidden"
+ ], [])
+ 
+ AC_SUBST(GLOBAL_CFLAGS)
+@@ -237,23 +237,23 @@ fi
+ 
+ if test "x$build_sanitizers" = "xyes"; then
+     AS_COMPILER_FLAG([-fsanitize=address], [
+-        SANITIZER_FLAGS+=" -fsanitize=address"
++        SANITIZER_FLAGS="$SANITIZER_FLAGS -fsanitize=address"
+         ASAN_AVAILABLE=yes
+     ], [])
+     if test "$ASAN_AVAILABLE" = "yes"; then
+         AS_COMPILER_FLAG([-fsanitize=address -fsanitize-address-use-after-scope], [
+-            SANITIZER_FLAGS+=" -fsanitize-address-use-after-scope"
++            SANITIZER_FLAGS="$SANITIZER_FLAGS -fsanitize-address-use-after-scope"
+         ], [])
+-        SANITIZERS+="ASAN "
++        SANITIZERS="${SANITIZERS}ASAN "
+     fi
+ 
+     AS_COMPILER_FLAG([-fsanitize=undefined], [
+-        SANITIZER_FLAGS+=" -fsanitize=undefined"
++        SANITIZER_FLAGS="$SANITIZER_FLAGS -fsanitize=undefined"
+         UBSAN_AVAILABLE=yes
+     ], [])
+ 
+     if test "$UBSAN_AVAILABLE" = "yes"; then
+-        SANITIZERS+="UBSAN "
++        SANITIZERS="${SANITIZERS}UBSAN "
+     fi
+ 
+     if test -z "$SANITIZER_FLAGS"; then
+@@ -266,13 +266,13 @@ if test "x$build_sanitizers" = "xyes"; t
+             if test -z "$SAN_COV_FLAGS"; then
+                 SAN_COV_FLAGS="$COV_CHECK"
+             else
+-                SAN_COV_FLAGS+=",$COV_CHECK"
++                SAN_COV_FLAGS="${SAN_COV_FLAGS},$COV_CHECK"
+             fi
+         ], [])
+     done
+     if test -n "$SAN_COV_FLAGS"; then
+-        SANITIZER_FLAGS+=" -fsanitize-coverage=$SAN_COV_FLAGS"
+-        SANITIZERS+="+coverage "
++        SANITIZER_FLAGS="$SANITIZER_FLAGS -fsanitize-coverage=$SAN_COV_FLAGS"
++        SANITIZERS="${SANITIZERS}+coverage "
+     else
+         AC_MSG_WARN([No sanitizer coverage supported by compiler])
+     fi
+@@ -280,20 +280,20 @@ if test "x$build_sanitizers" = "xyes"; t
+     CFLAGS="-O1"
+ 
+     AS_COMPILER_FLAG([-fno-omit-frame-pointer], [
+-        CFLAGS+=" -fno-omit-frame-pointer"
++        CFLAGS="$CFLAGS -fno-omit-frame-pointer"
+     ], [])
+ 
+     AS_COMPILER_FLAG([-gline-tables-only], [
+-        CFLAGS+=" -gline-tables-only"
++        CFLAGS="$CFLAGS -gline-tables-only"
+     ],
+     [
+-        CFLAGS+=" -g"
++        CFLAGS="$CFLAGS -g"
+     ])
+ 
+-    EXTRA_CONF+="  Enabled sanitizers ......: $SANITIZERS
++    EXTRA_CONF="$EXTRA_CONF  Enabled sanitizers ......: $SANITIZERS
+ "
+ 
+-    CFLAGS+=" $SANITIZER_FLAGS"
++    CFLAGS="$CFLAGS $SANITIZER_FLAGS"
+     CXXFLAGS="$CFLAGS -std=c++11"
+ fi
+ 
+@@ -307,9 +307,9 @@ if test "x$build_fuzzers" = "xyes"; then
+         ;;
+     esac
+ 
+-    CFLAGS+=" -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION"
++    CFLAGS="$CFLAGS -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION"
+ 
+-    EXTRA_CONF+="  Build fuzzers ...........: yes
++    EXTRA_CONF="$EXTRA_CONF  Build fuzzers ...........: yes
+ "
+ fi
+ 
diff --git a/libplist-system-library.patch b/libplist-system-library.patch
new file mode 100644
index 0000000..82c13aa
--- /dev/null
+++ b/libplist-system-library.patch
@@ -0,0 +1,20 @@
+--- libplist-2.4.0/cython/Makefile.am.orig	2026-03-28 20:30:18.029939001 +0100
++++ libplist-2.4.0/cython/Makefile.am	2026-03-28 20:48:09.660800145 +0100
+@@ -28,8 +28,6 @@ plist_la_SOURCES = \
+ 	plist.pyx
+ 
+ plist_la_CFLAGS = \
+-	-I$(top_srcdir)/include \
+-	-I$(top_srcdir)/src \
+ 	$(PYTHON_CPPFLAGS) \
+ 	$(AM_CFLAGS) \
+ 	-Wno-shadow \
+@@ -38,7 +38,7 @@ plist_la_CFLAGS = \
+ 	-fvisibility=default
+ 
+ plist_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS) -shared -export-dynamic
+-plist_la_LIBADD = $(top_builddir)/src/libplist-2.0.la $(PYTHON_LIBS)
++plist_la_LIBADD = -lplist-2.0 $(PYTHON_LIBS)
+ 
+ if WIN32
+ plist_la_LDFLAGS += -no-undefined
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/python-plist.git/commitdiff/e28093b528969d1fda431db278521b738003e964



More information about the pld-cvs-commit mailing list