sci-biology/bamtools: Add support for static libraries
authorDavid Seifert <soap@gentoo.org>
Sat, 23 Dec 2017 18:37:39 +0000 (19:37 +0100)
committerDavid Seifert <soap@gentoo.org>
Sat, 23 Dec 2017 18:45:28 +0000 (19:45 +0100)
Package-Manager: Portage-2.3.19, Repoman-2.3.6

sci-biology/bamtools/bamtools-9999.ebuild

index bd0157db0d12f16dc89663a749def9b71bfdfa47..ba21654b97fbf17764f4b4bf8909d0d554b9f709 100644 (file)
@@ -3,7 +3,7 @@
 
 EAPI=6
 
-inherit cmake-utils
+inherit cmake-utils multibuild
 
 DESCRIPTION="A programmer's API and an end-user's toolkit for handling BAM files"
 HOMEPAGE="https://github.com/pezmaster31/bamtools"
@@ -18,6 +18,7 @@ fi
 
 LICENSE="MIT"
 SLOT="0/${PV}" # no stable ABI yet
+IUSE="static-libs"
 
 RDEPEND="
        >=dev-libs/jsoncpp-1.8.0:=
@@ -25,7 +26,13 @@ RDEPEND="
 DEPEND="${RDEPEND}
        virtual/pkgconfig"
 
-mycmakeargs=( -DBUILD_SHARED_LIBS=ON )
+pkg_setup() {
+       [[ ${MERGE_TYPE} != binary ]] &&
+               MULTIBUILD_VARIANTS=(
+                       $(usev static-libs)
+                       shared
+               )
+}
 
 src_prepare() {
        # delete bundled libs, just to be safe
@@ -33,3 +40,30 @@ src_prepare() {
 
        cmake-utils_src_prepare
 }
+
+src_configure() {
+       my_configure() {
+               case "${MULTIBUILD_ID}" in
+                       static*)
+                               local mycmakeargs=( -DBUILD_SHARED_LIBS=OFF )
+                               ;;
+                       shared)
+                               local mycmakeargs=( -DBUILD_SHARED_LIBS=ON )
+                               ;;
+                       *)
+                               die "${MULTIBUILD_ID} is not recognized"
+                               ;;
+               esac
+
+               cmake-utils_src_configure
+       }
+       multibuild_foreach_variant my_configure
+}
+
+src_compile() {
+       multibuild_foreach_variant cmake-utils_src_compile
+}
+
+src_install() {
+       multibuild_foreach_variant cmake-utils_src_install
+}