From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <gentoo-dev+bounces-67203-garchives=archives.gentoo.org@lists.gentoo.org>
Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80])
	by finch.gentoo.org (Postfix) with ESMTP id D25A413877A
	for <garchives@archives.gentoo.org>; Mon, 11 Aug 2014 22:23:02 +0000 (UTC)
Received: from pigeon.gentoo.org (localhost [127.0.0.1])
	by pigeon.gentoo.org (Postfix) with SMTP id 5A137E0BB2;
	Mon, 11 Aug 2014 22:22:58 +0000 (UTC)
Received: from mail-pa0-f41.google.com (mail-pa0-f41.google.com [209.85.220.41])
	(using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits))
	(No client certificate requested)
	by pigeon.gentoo.org (Postfix) with ESMTPS id 698F8E0B6F
	for <gentoo-dev@lists.gentoo.org>; Mon, 11 Aug 2014 22:22:57 +0000 (UTC)
Received: by mail-pa0-f41.google.com with SMTP id rd3so11851046pab.14
        for <gentoo-dev@lists.gentoo.org>; Mon, 11 Aug 2014 15:22:56 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20120113;
        h=mime-version:from:date:message-id:subject:to:content-type;
        bh=JtcJUcUTr1H+DbHgovymKzM64EWEErMmWwJ48n9gy1k=;
        b=mDWTjVxyop6dWu1CLwiUBk5m1v+Msi1wweAH4UbkFkma+E9o293c7jJOupk5Oct19k
         bgPNiYBvFvL5xCUtfZxI1SEc4keUJeYA8CqMT/KdLQZHofX4yRJs3ncjkN76lI0KUSN7
         YHq6P24njUNsUWE7348/+NtVfJssMC100+XukdEJHOmSUyH4MfDzg9GZ5sb7WY9SDSCT
         XPMTILMHqWuv6iQeVGx16OljlhrWVPzwjcB89m6zbV+Wi4Xm93GcdMUsYOq0h7KnMFfN
         RjR/zxyw+Xa/N/RLMQs+cqpujjR1WDNXdU/7akn9fB+8OUXliN7229HuYqKOAsURoMYt
         zSBQ==
X-Received: by 10.70.124.195 with SMTP id mk3mr1939852pdb.126.1407667925371;
 Sun, 10 Aug 2014 03:52:05 -0700 (PDT)
Precedence: bulk
List-Post: <mailto:gentoo-dev@lists.gentoo.org>
List-Help: <mailto:gentoo-dev+help@lists.gentoo.org>
List-Unsubscribe: <mailto:gentoo-dev+unsubscribe@lists.gentoo.org>
List-Subscribe: <mailto:gentoo-dev+subscribe@lists.gentoo.org>
List-Id: Gentoo Linux mail <gentoo-dev.gentoo.org>
X-BeenThere: gentoo-dev@lists.gentoo.org
Reply-to: gentoo-dev@lists.gentoo.org
MIME-Version: 1.0
Received: by 10.70.69.194 with HTTP; Sun, 10 Aug 2014 03:51:45 -0700 (PDT)
From: Georg Rudoy <0xd34df00d@gmail.com>
Date: Sun, 10 Aug 2014 14:51:45 +0400
Message-ID: <CAGbUWSKf=6iRiGf7ByL45jfvF+vo26pxGCqrb2Vy0AxzoqtXAA@mail.gmail.com>
Subject: [gentoo-dev] Supporting both Qt4 and Qt5 builds
To: gentoo-dev@lists.gentoo.org
Content-Type: multipart/mixed; boundary=001a11c32dc4a766510500443a79
X-Archives-Salt: 867691c0-79e0-4d75-9a4f-75219d05b7bb
X-Archives-Hash: 09442f2fcc46c7ee36e89d02f4f6e709

--001a11c32dc4a766510500443a79
Content-Type: text/plain; charset=UTF-8

Hi,

I'm thinking of converting a few ebuilds (x11-libs/qwt,
dev-libs/kqoauth, net-libs/qxmpp among them) to support building with
both Qt4 and Qt5.

Should this better be done by adding the corresponding useflags (qt4
and qt5 respectively) or by slotting? The pros and cons for each, off
the top of my head:

slotting:
+ Allows having different use flags for qt4 and qt5 builds (can't
think why that would be needed in the above examples though).
- Possibility of exponential growth of the number of slots in case
slotting would be required according to some other criteria (again,
can't think why that would be needed in the above examples).
- Requires keeping two different copies of the same ebuild with
basically the same build rules, with all the consequences.

useflags:
+ Seems to be easier and doing the required trick.
+ app-text/poppler already does this.
- Enabling support for previously disabled Qt version requires
rebuilding the whole library twice.

What's your opinion on this?

I've attached the useflag-based variant as a draft.

-- 
  Georg Rudoy

--001a11c32dc4a766510500443a79
Content-Type: application/octet-stream; name="kqoauth-0.98-r2.ebuild"
Content-Disposition: attachment; filename="kqoauth-0.98-r2.ebuild"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_hyo933f80

IyBDb3B5cmlnaHQgMTk5OS0yMDE0IEdlbnRvbyBGb3VuZGF0aW9uCiMgRGlzdHJpYnV0ZWQgdW5k
ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2MgojICRIZWFk
ZXI6IC92YXIvY3Zzcm9vdC9nZW50b28teDg2L2Rldi1saWJzL2txb2F1dGgva3FvYXV0aC0wLjk4
LXIxLmVidWlsZCx2IDEuMiAyMDE0LzA3LzExIDE3OjU0OjM5IHpsb2dlbmUgRXhwICQKCkVBUEk9
NQoKaW5oZXJpdCBxdDQtcjIgbXVsdGlidWlsZCB2Y3Mtc25hcHNob3QKCkRFU0NSSVBUSU9OPSJM
aWJyYXJ5IGZvciBRdCB0aGF0IGltcGxlbWVudHMgdGhlIE9BdXRoIDEuMCBhdXRoZW50aWNhdGlv
biBzcGVjaWZpY2F0aW9uIgpIT01FUEFHRT0iaHR0cHM6Ly9naXRodWIuY29tL2t5cGVsaS9rUU9B
dXRoIgpTUkNfVVJJPSJodHRwczovL2dpdGh1Yi5jb20va3lwZWxpL2tRT0F1dGgvYXJjaGl2ZS8k
e1BWfS50YXIuZ3ogLT4gJHtQfS50YXIuZ3oiCgpMSUNFTlNFPSJMR1BMLTIuMSIKU0xPVD0iMCIK
S0VZV09SRFM9In5hbWQ2NCB+eDg2IgpJVVNFPSIrcXQ0IHF0NSIKCkRFUEVORD0iCglxdDQ/ICgg
ZGV2LXF0L3F0Y29yZTo0CgkJZGV2LXF0L3F0Z3VpOjQgKQoJcXQ1PyAoIGRldi1xdC9xdGNvcmU6
NQoJCWRldi1xdC9xdGd1aTo1ICkKIgpSREVQRU5EPSIke0RFUEVORH0iClJFUVVJUkVEX1VTRT0i
fHwgKCBxdDQgcXQ1ICkiCgpzcmNfcHJlcGFyZSgpIHsKCU1VTFRJQlVJTERfVkFSSUFOVFM9KCAp
CglpZiB1c2UgcXQ0OyB0aGVuCgkJTVVMVElCVUlMRF9WQVJJQU5UUys9KCBxdDQtc2hhcmVkICkK
CWZpCgoJaWYgdXNlIHF0NTsgdGhlbgoJCU1VTFRJQlVJTERfVkFSSUFOVFMrPSggcXQ1LXNoYXJl
ZCApCglmaQoKCW11bHRpYnVpbGRfY29weV9zb3VyY2VzCgoJcHJlcGFyYXRpb24oKSB7CgkJIyBw
cmV2ZW50IHRlc3RzIGZyb20gYmVlaW5nIGJ1aWx0IGF0IHNyY19jb21waWxlCgkJc2VkIC1pIC1l
ICcvU1VCRElSUy9zLyB0ZXN0cy8vJyAke1BOfS5wcm8gfHwgZGllICJzZWQgb24gJHtQTn0ucHJv
IGZhaWxlZCIKCQkjIHJlc3BlY3QgbGliZGlyCgkJc2VkIC1lICdzOntJTlNUQUxMX1BSRUZJWH0v
bGliOltRVF9JTlNUQUxMX0xJQlNdOmcnIC1pIHNyYy9zcmMucHJvIHx8IGRpZSAic2VkIG9uIHNy
Yy5wcm8gZmFpbGVkIgoKCQljYXNlICIke01VTFRJQlVJTERfVkFSSUFOVH0iIGluCgkJCXF0NC0q
KQoJCQkJc2VkIFwKCQkJCQktZSAicy9UQVJHRVQgPSBrcW9hdXRoL1RBUkdFVCA9IGtxb2F1dGgt
cXQ0L2ciIFwKCQkJCQktaSBzcmMvc3JjLnBybyB8fCBkaWUKCQkJCXF0NC1yMl9zcmNfcHJlcGFy
ZQoJCQk7OwoJCQlxdDUtKikKCQkJCXNlZCBcCgkJCQkJLWUgInMvVEFSR0VUID0ga3FvYXV0aC9U
QVJHRVQgPSBrcW9hdXRoLXF0NS9nIiBcCgkJCQkJLWkgc3JjL3NyYy5wcm8gfHwgZGllCgkJCTs7
CgkJZXNhYwoJfQoKCW11bHRpYnVpbGRfZm9yZWFjaF92YXJpYW50IHJ1bl9pbl9idWlsZF9kaXIg
cHJlcGFyYXRpb24KfQoKc3JjX2NvbmZpZ3VyZSgpIHsKCWNvbmZpZ3VyYXRpb24oKSB7CgkJY2Fz
ZSAiJHtNVUxUSUJVSUxEX1ZBUklBTlR9IiBpbgoJCQlxdDQtKikKCQkJCXF0NC1yMl9zcmNfY29u
ZmlndXJlCgkJCTs7CgkJCXF0NS0qKQoJCQkJL3Vzci9saWIvcXQ1L2Jpbi9xbWFrZQoJCQk7OwoJ
CWVzYWMKCgl9CgltdWx0aWJ1aWxkX3BhcmFsbGVsX2ZvcmVhY2hfdmFyaWFudCBydW5faW5fYnVp
bGRfZGlyIGNvbmZpZ3VyYXRpb24KfQoKc3JjX2NvbXBpbGUoKSB7Cgljb21waWxhdGlvbigpIHsK
CQljYXNlICIke01VTFRJQlVJTERfVkFSSUFOVH0iIGluCgkJCXF0NC0qKQoJCQkJcXQ0LXIyX3Ny
Y19jb21waWxlCgkJCTs7CgkJCXF0NS0qKQoJCQkJZW1ha2UKCQkJOzsKCQllc2FjCgoJfQoJbXVs
dGlidWlsZF9mb3JlYWNoX3ZhcmlhbnQgcnVuX2luX2J1aWxkX2RpciBjb21waWxhdGlvbgp9Cgpz
cmNfaW5zdGFsbCAoKSB7CglpbnN0YWxsYXRpb24oKSB7CgkJY2FzZSAiJHtNVUxUSUJVSUxEX1ZB
UklBTlR9IiBpbgoJCQlxdDQtKikKCQkJCXF0NC1yMl9zcmNfaW5zdGFsbAoJCQk7OwoJCQlxdDUt
KikKCQkJCWVtYWtlIElOU1RBTExfUk9PVD0iJHtEfSIgaW5zdGFsbAoJCQk7OwoJCWVzYWMKCX0K
CgltdWx0aWJ1aWxkX2ZvcmVhY2hfdmFyaWFudCBydW5faW5fYnVpbGRfZGlyIGluc3RhbGxhdGlv
bgp9Cg==
--001a11c32dc4a766510500443a79--