summaryrefslogtreecommitdiff
path: root/app-pda/libplist
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-07-26 02:57:39 +0100
committerV3n3RiX <venerix@koprulu.sector>2022-07-26 02:57:39 +0100
commit24162508832f37f873ab12dfdfb191cf99318055 (patch)
tree3f9d1bac9025c4a823e0d7f948110aa74857baf8 /app-pda/libplist
parent26262b314fa723a2e86f4a9b8b344a72eb9c0393 (diff)
gentoo auto-resync : 26:07:2022 - 02:57:39
Diffstat (limited to 'app-pda/libplist')
-rw-r--r--app-pda/libplist/Manifest4
-rw-r--r--app-pda/libplist/files/libplist-2.2.0-strict-aliasing.patch32
-rw-r--r--app-pda/libplist/libplist-2.2.0-r4.ebuild114
-rw-r--r--app-pda/libplist/metadata.xml5
4 files changed, 153 insertions, 2 deletions
diff --git a/app-pda/libplist/Manifest b/app-pda/libplist/Manifest
index d2fef6a08ac7..245be16f422e 100644
--- a/app-pda/libplist/Manifest
+++ b/app-pda/libplist/Manifest
@@ -1,5 +1,7 @@
AUX libplist-2.2.0-fmin.patch 1102 BLAKE2B ce8c76a369ae1ddc54016bbc941efeafa96d093bce14c0cdaf1da17fe7d201673bd0565669dc12209ee1230b66f56750ba64e8431d72f0d118ea5880b0764a0e SHA512 683203116ffdae053c4da35704aaf2b707b804a19316286f890df4bb6a9ae8dd6b6a4ee0f6db6164f124887e8a602db709d985496b0734899826f04e19846d78
AUX libplist-2.2.0-pkgconfig-lib.patch 305 BLAKE2B 67da57f080454e8b01408872ab76b66703e0339052f64c3738964b02e6a389b03aac65d7d6ca30bfd78b1366c4a7fec843b039b32269db0a4e7e95850638e34d SHA512 1c2c628f178ed64a8f7e1dd84657d7d365e980a2b2d8af9dd6bbe55d245997cf51974d9ed451eafb715299097029886f7ec0a863f199a72bf15f50281c9bfab7
+AUX libplist-2.2.0-strict-aliasing.patch 1128 BLAKE2B d38552a76f0e098c6df6eb8a4d71c7bf0fe4a41aeff87730d691497203c7057ffd84356ec671041dc02ef3762bbe2cd0cfa27d465a5be0a15ebf86e3ca91d789 SHA512 e00ab3cf2f0d0829c16e1d4b1fd4bce1265a740d872aee4d0112fb45c2919413c493ad70753a7186b27fbfe154f9826ac2024e142e9410c51a69d7e1ea782245
DIST libplist-2.2.0.tar.bz2 126808 BLAKE2B 7c3ec04aaa52eca33ae28851a6524c9ea531df939feef0f10827c8c2de78a6ccd856ea4d8a568b146ccb5de96f70dd5accec34aa2fdd61f9e6eba01256c0b518 SHA512 641bfd3ec0565f104d3a2d1ebdf6137bc9252b67ce90550e24ab0deeee4e820e119ba4f8f1ba04a0358d995d196fa61e35f2f0ee8ba37fc0270752ae842ab1f5
EBUILD libplist-2.2.0-r3.ebuild 2659 BLAKE2B dc5c90aa4770d424f161cfcb67a2c0e9da7e0956489d0e60ea593891f01494bd8e196ae4c795a40700c17982896eb0db958afe82cef3edd448aa83d775b44eb0 SHA512 e44f5ed00b475d6c1deb94a97b51b6c9944107c1b7fdaab7ed4293a0e28d5d48bf270f42868bea2ae8b67128538988aa60f26497c9b3a9e75f46e536fd94fdc3
-MISC metadata.xml 330 BLAKE2B 23eb7febbdb22588ff674779fde51e4174153723207d80fb49fa3a0954a5335206b9be12e8993e40ae37a1b9136ed516f341153cd055a38307e9c2ceb8b1f3ae SHA512 43786efdbf6de2083880ebb84ebcaa15a5dbf833de6f38a8940400bddb585b827f8c0f115e19495bfe99ffbc6850adac39d92671b24df730a4795f5743bb0a25
+EBUILD libplist-2.2.0-r4.ebuild 2721 BLAKE2B ed9c587960db4d24c9e9c1739b253777a2a85c37e123870adb8d73d06e3659650ebc75c3677a060205bbe057fb0d36ed9c6a6a171e59197227eadb8e6c6a0b19 SHA512 d65cb2abd979ba1d60067ceeda82dab8915f478ff781c798e34fb8e5fba59fb34aeb370ff39aa04c37f73371bd44f90724343934e010f7dd0a11904bf5fd266e
+MISC metadata.xml 411 BLAKE2B 739995675d95e408b7ddd6092af57e2cd39a9aa129271de40119350926a75200962ccc35c463d304cfd3fc396f4a4e04ecdef752a506bbc576365c9b689a8d1b SHA512 82db103987ba57112cd18557114d82be89a1c3cc6da43334b16a1b22023fc5961be3c2abc3213be046ee370d3285717cf9c267ae97309065fe888f39fd75355c
diff --git a/app-pda/libplist/files/libplist-2.2.0-strict-aliasing.patch b/app-pda/libplist/files/libplist-2.2.0-strict-aliasing.patch
new file mode 100644
index 000000000000..2771a9f08a69
--- /dev/null
+++ b/app-pda/libplist/files/libplist-2.2.0-strict-aliasing.patch
@@ -0,0 +1,32 @@
+https://bugs.gentoo.org/854837
+https://github.com/libimobiledevice/libplist/pull/212
+--- a/src/bplist.c
++++ b/src/bplist.c
+@@ -998,18 +998,24 @@ static void write_real(bytearray_t * bplist, double val)
+ buff[7] = BPLIST_REAL | Log2(size);
+ if (size == sizeof(float)) {
+ float floatval = (float)val;
+- *(uint32_t*)(buff+8) = float_bswap32(*(uint32_t*)&floatval);
++ uint32_t intval;
++ memcpy(&intval, &floatval, sizeof(float));
++ *(uint32_t*)(buff+8) = float_bswap32(intval);
+ } else {
+- *(uint64_t*)(buff+8) = float_bswap64(*(uint64_t*)&val);
++ uint64_t intval;
++ memcpy(&intval, &val, sizeof(double));
++ *(uint64_t*)(buff+8) = float_bswap64(intval);
+ }
+ byte_array_append(bplist, buff+7, size+1);
+ }
+
+ static void write_date(bytearray_t * bplist, double val)
+ {
++ uint64_t intval;
++ memcpy(&intval, &val, sizeof(double));
+ uint8_t buff[16];
+ buff[7] = BPLIST_DATE | 3;
+- *(uint64_t*)(buff+8) = float_bswap64(*(uint64_t*)&val);
++ *(uint64_t*)(buff+8) = float_bswap64(intval);
+ byte_array_append(bplist, buff+7, 9);
+ }
+
diff --git a/app-pda/libplist/libplist-2.2.0-r4.ebuild b/app-pda/libplist/libplist-2.2.0-r4.ebuild
new file mode 100644
index 000000000000..23ac7bf3d03d
--- /dev/null
+++ b/app-pda/libplist/libplist-2.2.0-r4.ebuild
@@ -0,0 +1,114 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8,9,10} )
+inherit autotools python-r1 toolchain-funcs
+
+DESCRIPTION="Support library to deal with Apple Property Lists (Binary & XML)"
+HOMEPAGE="https://www.libimobiledevice.org/"
+SRC_URI="https://cgit.libimobiledevice.org/${PN}.git/snapshot/${P}.tar.bz2"
+
+LICENSE="GPL-2+ LGPL-2.1+"
+SLOT="0/2.0-3"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+IUSE="python"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="python? ( ${PYTHON_DEPS} )"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ python? ( >=dev-python/cython-0.17[${PYTHON_USEDEP}] )
+"
+
+DOCS=( AUTHORS NEWS README.md )
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.2.0-fmin.patch
+ "${FILESDIR}"/${PN}-2.2.0-pkgconfig-lib.patch
+ "${FILESDIR}"/${PN}-2.2.0-strict-aliasing.patch # bug 854837
+)
+
+BUILD_DIR="${S}_build"
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local ECONF_SOURCE="${S}"
+
+ do_configure() {
+ mkdir -p "${BUILD_DIR}" || die
+ pushd "${BUILD_DIR}" >/dev/null || die
+ econf --disable-static "${@}"
+ popd >/dev/null || die
+ }
+
+ do_configure_python() {
+ local -x PYTHON_LDFLAGS="$(python_get_LIBS)"
+ do_configure "$@"
+ }
+
+ # Don't prefer clang.
+ tc-export CC CXX
+
+ do_configure --without-cython
+ use python && python_foreach_impl do_configure_python
+}
+
+src_compile() {
+ local native_builddir=${BUILD_DIR}
+ ln -s "${native_builddir}/src/libplist-2.0.la" \
+ "${native_builddir}/src/libplist.la" || die
+
+ python_compile() {
+ emake -C "${BUILD_DIR}"/cython \
+ VPATH="${S}/cython:${native_builddir}/cython" \
+ plist_la_LIBADD="${native_builddir}/src/libplist-2.0.la"
+ }
+
+ pushd "${BUILD_DIR}" >/dev/null || die
+ emake
+ use python && python_foreach_impl python_compile
+ popd >/dev/null || die
+}
+
+src_test() {
+ emake -C "${BUILD_DIR}" check
+}
+
+src_install() {
+ python_install() {
+ emake -C "${BUILD_DIR}/cython" \
+ VPATH="${S}/cython:${native_builddir}/cython" \
+ DESTDIR="${D}" install
+ }
+
+ local native_builddir=${BUILD_DIR}
+ pushd "${BUILD_DIR}" >/dev/null || die
+ emake DESTDIR="${D}" install
+ use python && python_foreach_impl python_install
+ popd >/dev/null || die
+
+ einstalldocs
+
+ if use python ; then
+ insinto /usr/include/plist/cython
+ doins cython/plist.pxd
+ fi
+
+ find "${ED}" -name '*.la' -delete || die
+
+ # temporary fix for 2.2.0 release:
+ # bug #733082,
+ # https://github.com/libimobiledevice/libplist/issues/163
+ # upstream commit 137716df3f197a7184c1fba88fcb30480dafd6e0
+ dosym ./libplist-2.0.pc /usr/$(get_libdir)/pkgconfig/libplist.pc
+ dosym ./libplist++-2.0.so.3.3.0 /usr/$(get_libdir)/libplist++.so
+ dosym ./libplist-2.0.so.3.3.0 /usr/$(get_libdir)/libplist.so
+}
diff --git a/app-pda/libplist/metadata.xml b/app-pda/libplist/metadata.xml
index cf956930c00d..613a0433b959 100644
--- a/app-pda/libplist/metadata.xml
+++ b/app-pda/libplist/metadata.xml
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>matthew@gentoo.org</email>
+ <name>Matthew Smith</name>
+ </maintainer>
<upstream>
<bugs-to>https://github.com/libimobiledevice/libplist/issues</bugs-to>
<remote-id type="github">libimobiledevice/libplist</remote-id>