commit:     6e02c4b77546d48394a95310052463b4e643faf2
Author:     Alon Bar-Lev <alonbl <AT> gentoo <DOT> org>
AuthorDate: Fri Jun  3 21:21:52 2016 +0000
Commit:     Alon Bar-Lev <alonbl <AT> gentoo <DOT> org>
CommitDate: Fri Jun  3 22:06:48 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6e02c4b7

app-crypt/xca: add doc, qt4, qt5 USE flags

Bug: 574734
Bug: 584774

Package-Manager: portage-2.2.28

 app-crypt/xca/files/xca-1.3.2-build.patch | 180 ++++++++++++++++++++++++++++++
 app-crypt/xca/xca-1.3.2-r2.ebuild         |  53 +++++++++
 2 files changed, 233 insertions(+)

diff --git a/app-crypt/xca/files/xca-1.3.2-build.patch 
b/app-crypt/xca/files/xca-1.3.2-build.patch
new file mode 100644
index 0000000..9ca8a67
--- /dev/null
+++ b/app-crypt/xca/files/xca-1.3.2-build.patch
@@ -0,0 +1,180 @@
+From 476aa73644e6b3d353a1ed1cf3982e7114875088 Mon Sep 17 00:00:00 2001
+From: Alon Bar-Lev <alon.bar...@gmail.com>
+Date: Fri, 3 Jun 2016 23:15:29 +0300
+Subject: [PATCH 1/2] build: add --with-qt-version to force specific qt linkage
+
+Signed-off-by: Alon Bar-Lev <alon.bar...@gmail.com>
+---
+ configure.ac | 43 ++++++++++++++++++++++++++++---------------
+ 1 file changed, 28 insertions(+), 15 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 32ba42b..8490a88 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -90,18 +90,28 @@ if test -n "${_QTDIR}" && test -d "${_QTDIR}"; then
+   DYLD_LIBRARY_PATH="${_QTDIR}/lib:${DYLD_LIBRARY_PATH}"
+ fi
+ 
+-PKG_CHECK_MODULES(Qt5, [Qt5Core >= 5.0, Qt5Widgets >= 5.0], [
+-  _QT_HOST_BINS="`pkg-config --variable=host_bins Qt5Core`"
+-  QT_MOC="${_QT_HOST_BINS}/moc"
+-  QT_UIC="${_QT_HOST_BINS}/uic"
+-  if test -n "$DARWIN"; then
+-    FRAMEDIR=`pkg-config --variable=libdir Qt5Core`
+-    Qt5_CFLAGS="$Qt5_CFLAGS -F${FRAMEDIR} 
-I${FRAMEDIR}/QtCore.framework/Headers -I${FRAMEDIR}/QtGui.framework/Headers 
-I${FRAMEDIR}/QtWdgets.framework/Headers"
+-  fi
+-  QT_VERSION=5
+-  QT_CFLAGS="${Qt5_CFLAGS} -fPIC"
+-  QT_LIBS="${Qt5_LIBS}"
+-], [
++AC_ARG_WITH([qt-version],
++  AS_HELP_STRING([--with-qt-version], [Select the Qt version]),
++  [WANT_QT_VERSION="$withval"],
++  [WANT_QT_VERSION=detect])
++
++if test "${WANT_QT_VERSION}" = detect -o "${WANT_QT_VERSION}" = 5; then
++  PKG_CHECK_MODULES(Qt5, [Qt5Core >= 5.0, Qt5Widgets >= 5.0], [
++    _QT_HOST_BINS="`pkg-config --variable=host_bins Qt5Core`"
++    QT_MOC="${_QT_HOST_BINS}/moc"
++    QT_UIC="${_QT_HOST_BINS}/uic"
++    if test -n "$DARWIN"; then
++      FRAMEDIR=`pkg-config --variable=libdir Qt5Core`
++      Qt5_CFLAGS="$Qt5_CFLAGS -F${FRAMEDIR} 
-I${FRAMEDIR}/QtCore.framework/Headers -I${FRAMEDIR}/QtGui.framework/Headers 
-I${FRAMEDIR}/QtWdgets.framework/Headers"
++    fi
++    WANT_QT_VERSION=5
++    QT_VERSION=5
++    QT_CFLAGS="${Qt5_CFLAGS} -fPIC"
++    QT_LIBS="${Qt5_LIBS}"
++])
++fi
++
++if test "${WANT_QT_VERSION}" = detect -o "${WANT_QT_VERSION}" = 4; then
+   PKG_CHECK_MODULES(Qt4, [QtCore >= 4.6, QtCore < 5.0, QtGui >= 4.6, QtGui < 
5.0], [
+     QT_MOC="`pkg-config --variable=moc_location QtCore`"
+     QT_UIC="`pkg-config --variable=uic_location QtCore`"
+@@ -112,18 +122,21 @@ PKG_CHECK_MODULES(Qt5, [Qt5Core >= 5.0, Qt5Widgets >= 
5.0], [
+       FRAMEDIR=`pkg-config --variable=libdir QtCore`
+       Qt4_CFLAGS="$Qt4_CFLAGS -F${FRAMEDIR} 
-I${FRAMEDIR}/QtCore.framework/Headers -I${FRAMEDIR}/QtGui.framework/Headers"
+     fi
++    WANT_QT_VERSION=4
+     QT_VERSION=4
+     QT_CFLAGS="${Qt4_CFLAGS}"
+     QT_LIBS="${Qt4_LIBS}"
+-  ], [
++  ])
++fi
++
++if test -z "${QT_VERSION}"; then
+     if test -z "$DARWIN"; then
+       QT_LIBS=" -lQtCore -lQtGui "
+     else
+       QT_LIBS=" -framework QtGui -framework QtCore "
+     fi
+     AC_MSG_WARN([Qt pkg-config failed, using fallback defaults (${QT_LIBS})]);
+-  ])
+-])
++fi
+ 
+ AC_SUBST([QT_CFLAGS])
+ AC_SUBST([QT_LIBS])
+-- 
+2.7.3
+
+From 7112df9532f71cb3a150fef61b2d7e5d9899634c Mon Sep 17 00:00:00 2001
+From: Alon Bar-Lev <alon.bar...@gmail.com>
+Date: Fri, 3 Jun 2016 23:58:01 +0300
+Subject: [PATCH 2/2] build: add --disable-doc to disable doc installation
+
+---
+ Local.mak.in |  1 +
+ configure.ac | 37 +++++++++++++++++++++++--------------
+ doc/Makefile | 10 +++++-----
+ 3 files changed, 29 insertions(+), 19 deletions(-)
+
+diff --git a/Local.mak.in b/Local.mak.in
+index cd5ebfc..d993b8b 100644
+--- a/Local.mak.in
++++ b/Local.mak.in
+@@ -19,6 +19,7 @@ STRIP=@STRIP@
+ DOCTOOL=@DOCTOOL@
+ MACDEPLOYQT=@MACDEPLOYQT@
+ DARWIN=@DARWIN@
++ENABLE_DOC=@ENABLE_DOC@
+ 
+ PACKAGE_TARNAME=@PACKAGE_TARNAME@
+ HOST=linux
+diff --git a/configure.ac b/configure.ac
+index 8490a88..03d729e 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -202,20 +202,29 @@ AX_CHECK_GNU_MAKE()
+ 
+ # linuxdoc application detection
+ ##################################
+-AC_CHECK_PROGS([DOCTOOL], [linuxdoc sgml2html], [":"])
+-AC_SUBST([DOCTOOL])
+-
+-case "$DOCTOOL" in
+- linuxdoc) DOCTOOL="linuxdoc -B html";;
+- sgml2html) DOCTOOL="sgml2html -s 1";;
+- :)
+-  if test "${srcdir}" != "."; then
+-    mkdir -p doc
+-    cp ${srcdir}/doc/xca-doc.tgz doc/
+-  fi
+-  AC_MSG_WARN(['linuxdoc' or 'sgml2html' not found, using pre-compiled 
documentation])
+-  ;;
+-esac
++AC_ARG_ENABLE([doc],
++  AS_HELP_STRING([--disable-doc], [Disable documentation installation]),
++  ,
++  [enable_doc=yes])
++test "${enable_doc}" = "yes" && ENABLE_DOC= || ENABLE_DOC='\#'
++AC_SUBST([ENABLE_DOC])
++
++if test "${enable_doc}"; then
++  AC_CHECK_PROGS([DOCTOOL], [linuxdoc sgml2html], [":"])
++  AC_SUBST([DOCTOOL])
++
++  case "$DOCTOOL" in
++   linuxdoc) DOCTOOL="linuxdoc -B html";;
++   sgml2html) DOCTOOL="sgml2html -s 1";;
++   :)
++    if test "${srcdir}" != "."; then
++      mkdir -p doc
++      cp ${srcdir}/doc/xca-doc.tgz doc/
++    fi
++    AC_MSG_WARN(['linuxdoc' or 'sgml2html' not found, using pre-compiled 
documentation])
++    ;;
++  esac
++fi
+ 
+ # Setup done. Write local.h and Local.mak
+ ############################################
+diff --git a/doc/Makefile b/doc/Makefile
+index fce4acf..7bf802f 100644
+--- a/doc/Makefile
++++ b/doc/Makefile
+@@ -17,13 +17,13 @@ xca.html: xca.sgml
+       echo 'The documentation for XCA can be viewed online at: <a 
href="http://xca.sourceforge.net/";>http://xca.sourceforge.net/</a>.' > $@
+       test ! -f xca-doc.tgz || tar zxf xca-doc.tgz
+       @$(PRINT) "  DOC    [$(BASENAME)] $@"
+-      $(DOCTOOL) $< >/dev/null
++      $(ENABLE_DOC)$(DOCTOOL) $< >/dev/null
+ 
+ install: $(doc)
+-      install -m 755 -d $(destdir)$(htmldir) \
+-              $(destdir)$(mandir)/man1
+-      install -m 644 xca*.html $(destdir)$(htmldir)
+-      install *.1.gz $(destdir)/$(mandir)/man1
++      $(ENABLE_DOC)install -m 755 -d $(destdir)$(htmldir)
++      $(ENABLE_DOC)install -m 644 xca*.html $(destdir)$(htmldir)
++      install -m 755 -d $(destdir)$(mandir)/man1
++      install -m 644 *.1.gz $(destdir)/$(mandir)/man1
+ 
+ app: xca.html
+       mkdir -p $(APPDIR)/Resources
+-- 
+2.7.3
+

diff --git a/app-crypt/xca/xca-1.3.2-r2.ebuild 
b/app-crypt/xca/xca-1.3.2-r2.ebuild
new file mode 100644
index 0000000..2e7e236
--- /dev/null
+++ b/app-crypt/xca/xca-1.3.2-r2.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit eutils toolchain-funcs autotools
+
+DESCRIPTION="A GUI to OpenSSL, RSA public keys, certificates, signing requests 
etc"
+HOMEPAGE="http://xca.sourceforge.net";
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+IUSE="bindist doc libressl qt4 qt5"
+
+REQUIRED_USE="|| ( qt4 qt5 )"
+
+RDEPEND="
+       !libressl? ( dev-libs/openssl:0=[bindist=] )
+       libressl? ( dev-libs/libressl:0= )
+       doc? ( app-text/linuxdoc-tools )
+       qt5? ( dev-qt/qtgui:5 )
+       qt4? ( dev-qt/qtgui:4 )"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+       epatch "${FILESDIR}"/${PN}-1.0.0-desktop.patch
+       epatch "${FILESDIR}"/${P}-build.patch
+       AT_M4DIR="m4" eautoreconf
+}
+
+src_configure() {
+       econf \
+               --docdir="${EPREFIX}/usr/share/doc/${PF}" \
+               --with-qt-version=$(use qt5 && echo 5 || echo 4) \
+               $(use_enable doc) \
+               STRIP=true
+}
+
+src_compile() {
+       # enforce all to avoid the automatic silent rules
+       emake all
+}
+
+src_install() {
+       # non standard destdir
+       emake install destdir="${ED}"
+
+       insinto /etc/xca
+       doins misc/*.txt
+}

Reply via email to