unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Building gpgme with Qt support?
@ 2017-06-04 18:23 Hartmut Goebel
  2017-06-04 18:35 ` Leo Famulari
  0 siblings, 1 reply; 6+ messages in thread
From: Hartmut Goebel @ 2017-06-04 18:23 UTC (permalink / raw)
  To: guix-devel

[-- Attachment #1: Type: text/plain, Size: 897 bytes --]

Hi,

since version 1.7 gpgme [1] includes both the C++ bindings (former
package: gpgmepp) and the Qt-Framework API (former package qgpgme, not
in guix).

Our gpgme package is currently build *without* support for Qt:

checking for GPGME_QT... checking for GPGME_QTTEST... ./configure: line 18672: : command not found
configure: WARNING:
***
*** Qt5 (Qt5Core) not found Qt Binding will be disabled.
***

The major draw-back of adding these bindings is that this would install
qtcore (and all it's dependencies) for any application using gpgme.

How can we avoid this?


[1] https://mail.kde.org/pipermail/release-team/2016-September/009732.html
[2] https://lists.gnupg.org/pipermail/gnupg-devel/2016-September/031647.html

-- 
Regards
Hartmut Goebel

| Hartmut Goebel          | h.goebel@crazy-compilers.com               |
| www.crazy-compilers.com | compilers which you thought are impossible |


[-- Attachment #2: 0xBF773B65.asc --]
[-- Type: application/pgp-keys, Size: 14855 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Building gpgme with Qt support?
  2017-06-04 18:23 Building gpgme with Qt support? Hartmut Goebel
@ 2017-06-04 18:35 ` Leo Famulari
  2017-06-04 23:52   ` Mark H Weaver
  2017-06-05 10:26   ` Hartmut Goebel
  0 siblings, 2 replies; 6+ messages in thread
From: Leo Famulari @ 2017-06-04 18:35 UTC (permalink / raw)
  To: Hartmut Goebel; +Cc: guix-devel

On Sun, Jun 04, 2017 at 08:23:56PM +0200, Hartmut Goebel wrote:
> Hi,
> 
> since version 1.7 gpgme [1] includes both the C++ bindings (former
> package: gpgmepp) and the Qt-Framework API (former package qgpgme, not
> in guix).
> 
> Our gpgme package is currently build *without* support for Qt:
> 
> checking for GPGME_QT... checking for GPGME_QTTEST... ./configure: line 18672: : command not found
> configure: WARNING:
> ***
> *** Qt5 (Qt5Core) not found Qt Binding will be disabled.
> ***
> 
> The major draw-back of adding these bindings is that this would install
> qtcore (and all it's dependencies) for any application using gpgme.
> 
> How can we avoid this?

Could we make a new package qt-gpgme that inherits from gpgme and provides a
QT-enabled gpgme??

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Building gpgme with Qt support?
  2017-06-04 18:35 ` Leo Famulari
@ 2017-06-04 23:52   ` Mark H Weaver
  2017-06-05 10:26   ` Hartmut Goebel
  1 sibling, 0 replies; 6+ messages in thread
From: Mark H Weaver @ 2017-06-04 23:52 UTC (permalink / raw)
  To: Leo Famulari; +Cc: guix-devel

Leo Famulari <leo@famulari.name> writes:

> On Sun, Jun 04, 2017 at 08:23:56PM +0200, Hartmut Goebel wrote:
>> Hi,
>> 
>> since version 1.7 gpgme [1] includes both the C++ bindings (former
>> package: gpgmepp) and the Qt-Framework API (former package qgpgme, not
>> in guix).
>> 
>> Our gpgme package is currently build *without* support for Qt:
>> 
>> checking for GPGME_QT... checking for GPGME_QTTEST... ./configure: line 18672: : command not found
>> configure: WARNING:
>> ***
>> *** Qt5 (Qt5Core) not found Qt Binding will be disabled.
>> ***
>> 
>> The major draw-back of adding these bindings is that this would install
>> qtcore (and all it's dependencies) for any application using gpgme.
>> 
>> How can we avoid this?
>
> Could we make a new package qt-gpgme that inherits from gpgme and provides a
> QT-enabled gpgme??

If there's a need for Qt-enabled gpgme, then I think this is the right
approach.  I feel strongly that our primary gpgme package should *not*
depend on Qt.

     Thanks,
       Mark

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Building gpgme with Qt support?
  2017-06-04 18:35 ` Leo Famulari
  2017-06-04 23:52   ` Mark H Weaver
@ 2017-06-05 10:26   ` Hartmut Goebel
  2017-06-05 13:21     ` Danny Milosavljevic
  1 sibling, 1 reply; 6+ messages in thread
From: Hartmut Goebel @ 2017-06-05 10:26 UTC (permalink / raw)
  To: Leo Famulari; +Cc: guix-devel

Am 04.06.2017 um 20:35 schrieb Leo Famulari:
> Could we make a new package qt-gpgme that inherits from gpgme and provides a
> QT-enabled gpgme??

How can this be done without duplicating the libraries? With an simple
inherited package, all libraries will be compiled again and the
Qt-bindings will point to the libraries within the "qt-gpgme" package.

-- 
Regards
Hartmut Goebel

| Hartmut Goebel          | h.goebel@crazy-compilers.com               |
| www.crazy-compilers.com | compilers which you thought are impossible |

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Building gpgme with Qt support?
  2017-06-05 10:26   ` Hartmut Goebel
@ 2017-06-05 13:21     ` Danny Milosavljevic
  2017-06-05 21:47       ` Hartmut Goebel
  0 siblings, 1 reply; 6+ messages in thread
From: Danny Milosavljevic @ 2017-06-05 13:21 UTC (permalink / raw)
  To: Hartmut Goebel; +Cc: guix-devel

Hi,

a possible way would be:

- in qt-gpgme depend on gpgme as a regular input
- in qt-gpgme do:
 - cd lang/qt
 - cp ../../NEWS .
 - cp ../../AUTHORS .
 - cp ../../ChangeLog .
 - add configure.ac (see below - although it needs to be fixed so that Makefile.am and it regularily refers to gpgme)
 - run libtoolize
 - run aclocal -I ../../m4
 - run automake --add-missing
 - run autoconf
 - run configure

configure.ac:

AC_INIT([qt-gpgme],[mym4_full_version],[http://bugs.gnupg.org])

AC_CONFIG_MACRO_DIR([../../m4])

AM_INIT_AUTOMAKE([serial-tests dist-bzip2 no-dist-gzip])
AC_PROG_CXX
AM_MAINTAINER_MODE
AC_CANONICAL_HOST
AM_SILENT_RULES

AM_CONDITIONAL(HAVE_MACOS_SYSTEM, false)
AM_CONDITIONAL(HAVE_W32_SYSTEM, false)

NEED_GPG_ERROR_VERSION=1.17
NEED_LIBASSUAN_API=2
NEED_LIBASSUAN_VERSION=2.0.2

# Checking for libgpg-error.
have_gpg_error=no
AM_PATH_GPG_ERROR("$NEED_GPG_ERROR_VERSION",
                  have_gpg_error=yes, have_gpg_error=no)
AC_DEFINE(GPG_ERR_SOURCE_DEFAULT, GPG_ERR_SOURCE_GPGME,
          [The default error source for GPGME.])

# And for libassuan.
have_libassuan=no
AM_PATH_LIBASSUAN("$NEED_LIBASSUAN_API:$NEED_LIBASSUAN_VERSION",
                  have_libassuan=yes, have_libassuan=no)
if test "$have_libassuan" = "yes"; then
  AC_DEFINE_UNQUOTED(GPGME_LIBASSUAN_VERSION, "$libassuan_version",
                     [version of the libassuan library])
fi

LT_PREREQ([2.2.6])
LT_INIT([win32-dll disable-static])
LT_LANG([Windows Resource])

# Check that if qt is enabled cpp also is enabled
if true ; then
    # We need to ensure that in the langauge order qt comes after cpp
    # so we remove qt first and explicitly add it as last list member.
    enabled_languages='cpp qt'
    FIND_QT
    if test "$have_qt5_libs" != "yes"; then
        if test "$explicit_languages" = "1"; then
        AC_MSG_ERROR([[
***
*** Qt5 (Qt5Core) is required for Qt binding.
***]])
        else
           AC_MSG_WARN([[
***
*** Qt5 (Qt5Core) not found Qt Binding will be disabled.
***]])
        fi
    else
        enabled_languages=`echo $enabled_languages qt`

        AC_CHECK_PROGS([DOXYGEN], [doxygen])
        if test -z "$DOXYGEN";
            # This is not highlighted becase it's not really important.
            then AC_MSG_WARN([Doxygen not found - Qt binding doc will not be built.])
        fi
        AC_CHECK_PROGS([GRAPHVIZ], [dot])
        if test -z "$GRAPHVIZ";
            then AC_MSG_WARN([Graphviz not found - Qt binding doc will not have diagrams.])
        fi
    fi
fi
AM_CONDITIONAL([HAVE_DOXYGEN],
               [test -n "$DOXYGEN"])
if test -n "$GRAPHVIZ"; then
    HAVE_DOT="YES"
else
    HAVE_DOT="NO"
fi
AC_SUBST(HAVE_DOT)

AC_CONFIG_FILES([Makefile src/Makefile tests/Makefile doc/Makefile])
AC_OUTPUT

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Building gpgme with Qt support?
  2017-06-05 13:21     ` Danny Milosavljevic
@ 2017-06-05 21:47       ` Hartmut Goebel
  0 siblings, 0 replies; 6+ messages in thread
From: Hartmut Goebel @ 2017-06-05 21:47 UTC (permalink / raw)
  To: Danny Milosavljevic; +Cc: guix-devel

Am 05.06.2017 um 15:21 schrieb Danny Milosavljevic:
> a possible way would be:

Thanks for pointing me to this road. Gladly it's been even simpler (see
my patch [1]):
- Run configure
- Symlink two .la files
- cd lang/qt
- make

So there was no need to add (and maintain) a configure.ac file.

[1] http://debbugs.gnu.org/cgi/bugreport.cgi?bug=27260

-- 
Regards
Hartmut Goebel

| Hartmut Goebel          | h.goebel@crazy-compilers.com               |
| www.crazy-compilers.com | compilers which you thought are impossible |

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2017-06-05 21:47 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-06-04 18:23 Building gpgme with Qt support? Hartmut Goebel
2017-06-04 18:35 ` Leo Famulari
2017-06-04 23:52   ` Mark H Weaver
2017-06-05 10:26   ` Hartmut Goebel
2017-06-05 13:21     ` Danny Milosavljevic
2017-06-05 21:47       ` Hartmut Goebel

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).