commit:     02bc620cff189e56e3363a93d22a729e23387720
Author:     Ionen Wolkens <sudinave <AT> gmail <DOT> com>
AuthorDate: Fri Jan  8 20:55:59 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Feb  5 02:06:42 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=02bc620c

media-libs/qhull: re-add static-libs + various fixes

CMakeLists.txt claims some libraries are intended to be static-only
and so weren't installed.

Shared:
- libqhull.so (deprecated, but needed by matplotlib)
- libqhull_r.so

Static-only:
- libqhullcpp.a (needed by at least prusaslicer)
- libqhullstatic.a
- libqhullstatic_r.a

Also:
- install missing deprecated qhull.pc
- install cmake/pc files in right libdir
- fix double prefix in pc files

Bug: https://bugs.gentoo.org/764338
Package-Manager: Portage-3.0.12, Repoman-3.0.2
Signed-off-by: Ionen Wolkens <sudinave <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../files/qhull-2020.2-deprecated-pkgconfig.patch  |  8 +++++++
 ...ull-2020.2-r2.ebuild => qhull-2020.2-r3.ebuild} | 26 +++++++++++++++++-----
 2 files changed, 29 insertions(+), 5 deletions(-)

diff --git a/media-libs/qhull/files/qhull-2020.2-deprecated-pkgconfig.patch 
b/media-libs/qhull/files/qhull-2020.2-deprecated-pkgconfig.patch
new file mode 100644
index 00000000000..c83a807e288
--- /dev/null
+++ b/media-libs/qhull/files/qhull-2020.2-deprecated-pkgconfig.patch
@@ -0,0 +1,8 @@
+--- a/CMakeLists.txt   2020-09-03 22:33:16.000000000 -0400
++++ b/CMakeLists.txt   2021-01-08 14:38:26.299273173 -0500
+@@ -731,4 +731,5 @@
+ set(PkgConfigLocation lib/pkgconfig)
+ foreach(pkgconfig IN ITEMS "${qhull_SHAREDR};Qhull reentrant shared library"
++                           "${qhull_SHARED};Qhull deprecated shared library"
+                            "${qhull_STATIC};Qhull static library"
+                            "${qhull_STATICR};Qhull reentrant static library"

diff --git a/media-libs/qhull/qhull-2020.2-r2.ebuild 
b/media-libs/qhull/qhull-2020.2-r3.ebuild
similarity index 57%
rename from media-libs/qhull/qhull-2020.2-r2.ebuild
rename to media-libs/qhull/qhull-2020.2-r3.ebuild
index 1c60a003a25..59f96d53709 100644
--- a/media-libs/qhull/qhull-2020.2-r2.ebuild
+++ b/media-libs/qhull/qhull-2020.2-r3.ebuild
@@ -12,10 +12,14 @@ 
SRC_URI="https://github.com/qhull/qhull/archive/${PV}.tar.gz -> ${P}.tar.gz"
 SLOT="0/8"
 LICENSE="BSD"
 KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux 
~ppc-macos ~x64-macos"
-IUSE="doc"
+IUSE="doc static-libs"
 
 DOCS=( Announce.txt File_id.diz README.txt REGISTER.txt )
 
+PATCHES=(
+       "${FILESDIR}/${PN}-2020.2-deprecated-pkgconfig.patch"
+)
+
 src_prepare() {
        if ! use doc ; then
                sed -i \
@@ -24,14 +28,19 @@ src_prepare() {
                        CMakeLists.txt || die
        fi
 
+       sed -i \
+               -e "s@lib/pkgconfig@$(get_libdir)/pkgconfig@" \
+               -e "s@lib/cmake/Qhull@$(get_libdir)/cmake/Qhull@" \
+               CMakeLists.txt || die
+
        cmake_src_prepare
 }
 
 src_configure() {
        local mycmakeargs=(
-               -DBUILD_STATIC_LIBS=OFF
+               -DBUILD_STATIC_LIBS=$(usex static-libs)
                -DLINK_APPS_SHARED=ON
-               -DDOC_INSTALL_DIR="${EPREFIX}"/usr/share/doc/${PF}
+               -DDOC_INSTALL_DIR="${EPREFIX}/usr/share/doc/${PF}"
                -DLIB_INSTALL_DIR="${EPREFIX}/usr/$(get_libdir)"
        )
 
@@ -39,11 +48,18 @@ src_configure() {
 }
 
 src_compile() {
-       cmake_src_compile
-       cmake_src_compile libqhull
+       cmake_src_compile all libqhull
 }
 
 src_install() {
        cmake_src_install
        dolib.so "${BUILD_DIR}"/libqhull.so*
+
+       # fix double prefix in pc files
+       sed -i "/^libdir/s@/.*@/$(get_libdir)@" 
"${ED}/usr/$(get_libdir)/pkgconfig/"*.pc || die
+
+       if ! use static-libs; then
+               rm 
"${ED}/usr/$(get_libdir)/pkgconfig/qhull"{static,static_r,cpp}.pc || die
+               rm -r "${ED}/usr/include/libqhullcpp" || die
+       fi
 }

Reply via email to