gentoo-ebuilds/dev-cpp/pystring/pystring-1.1.4-r1.ebuild
Eli Schwartz e7d3bbefc3
dev-cpp/pystring: force rebuild and bump subslot for broken 1.1.4 release
```
 * CMP: =dev-cpp/pystring-1.1.3-r1 with dev-cpp/pystring-1.1.4/image
 *  FILES:-usr/lib64/libpystring.so.0.0
 *  FILES:+usr/lib64/libpystring.so (-rwxr-xr-x root:root)
 *  SONAME:-libpystring.so.0.0(64)
 *  SONAME:+libpystring.so(64)
```

This breaks binpackage usage. preserved-libs sort of saves you, maybe,
if you built locally. Reverse dependencies are linked to .so.0.0, but
the new package only contains .so -- technically, if the reverse were
true, linked binaries would still work if you squint, but in the current
state this simply does not work at all.

The background here is weird. Upstream has a Makefile, which calls the
system libtool (broken!) and produces a soname of .so.0 in the event
that it succeeds at producing a library. We patched in an unofficial
cmake build (???) that set the soname to .so.0.0 instead, which isn't
very libtool of them but whatever. Upstream didn't actually accept that,
they wrote their own which is "simpler" and set the soname to .so.

Now we have 3 different sonames in use, but one of them was only in use
in *Gentoo* for a couple of days, unstable, back in 2021.

As standard, we solve changing sonames by bumping subslot to force a
rebuild. Straight to stable it goes, with a revbump since people
already have it installed and now have broken binaries.

Bug: https://github.com/gentoo/gentoo/pull/21209
Bug: https://github.com/gentoo/gentoo/pull/39761
Bug: https://github.com/imageworks/pystring/pull/29
Fixes: 91773fd1eb
Fixes: 4b6bedcedf
Signed-off-by: Eli Schwartz <eschwartz@gentoo.org>
2025-03-10 23:54:36 -04:00

25 lines
656 B
Bash

# Copyright 2020-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake
DESCRIPTION="C++ functions matching the interface and behavior of python string methods"
HOMEPAGE="https://github.com/imageworks/pystring"
if [[ "${PV}" == "9999" ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/imageworks/pystring.git"
else
SRC_URI="https://github.com/imageworks/pystring/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86"
fi
LICENSE="BSD"
SLOT="0/0.fudge"
PATCHES=(
# This release doesn't install the header file.
"${FILESDIR}/install_header_file.patch"
)