app-crypt/efitools: support "static" USE flag
authorEdward Hyunkoo Jee <edjee@google.com>
Wed, 30 May 2018 23:28:37 +0000 (19:28 -0400)
committerAaron Bauman <bman@gentoo.org>
Fri, 8 Jun 2018 01:28:26 +0000 (21:28 -0400)
If "static" USE flag is set, it makes sense to do static link for
user-space executables.

app-crypt/efitools/efitools-1.8.1.ebuild

index d27b90b2cbc11f8752e29f2866201611e0bfaedc..3e25812bea21a2e5ad3101528b6bee805e58df02 100644 (file)
@@ -12,15 +12,21 @@ SRC_URI="https://git.kernel.org/pub/scm/linux/kernel/git/jejb/efitools.git/snaps
 LICENSE="GPL-2 LGPL-2.1"
 SLOT="0"
 KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="libressl"
+IUSE="libressl static"
 
-RDEPEND="!libressl? ( dev-libs/openssl:0= )
-       libressl? ( dev-libs/libressl:0= )
+LIB_DEPEND="!libressl? ( dev-libs/openssl:0=[static-libs(+)] )
+       libressl? ( dev-libs/libressl:0=[static-libs(+)] )"
+
+RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} )
        sys-apps/util-linux"
 
 DEPEND="${RDEPEND}
        app-crypt/sbsigntool
        dev-perl/File-Slurp
+       static? (
+               ${LIB_DEPEND}
+               dev-util/pkgconfig
+       )
        sys-apps/help2man
        sys-boot/gnu-efi
        virtual/pkgconfig"
@@ -31,6 +37,11 @@ PATCHES=(
 )
 
 src_prepare() {
+       if use static; then
+               append-ldflags -static
+               sed -i 's/-lcrypto/`pkg-config --static --libs libcrypto`/g' Makefile || die
+       fi
+
        # Respect users CFLAGS
        sed -i -e 's/CFLAGS.*= -O2 -g/CFLAGS += /' Make.rules || die