Re: [gentoo-dev] News item for upcoming Bitcoin consensus protocol change (Taproot)

2021-11-04 Thread Craig Andrews

On 2021-11-04 17:59, Luke Dashjr wrote:

From 2ca9bb266d18e35e0dd5d14149bb9aa7f9eae792 Mon Sep 17 00:00:00 2001
From: Luke Dashjr 
Date: Thu, 4 Nov 2021 21:32:55 +
Subject: [PATCH] 2021-11-04-bitcoin-taproot: add news item

Signed-off-by: Luke Dashjr 
---

Due to the sensitive nature of changes to the Bitcoin consensus 
protocol[1],

Bitcoin node software[2] implementing such a proposed change has been
masked[3][4] since release and should remain such until it becomes 
clear that
the upgrade has been accepted, activated, and is being enforced by 
users

without any contentious disagreeing faction.

This news item should ensure that users are aware of the change, and 
how to

upgrade when/if they consent to it.

Luke


[1] users must actively act to change what they enforce; potentially
significant financial risk; etc

[2] net-p2p/bitcoind, net-p2p/bitcoin-qt, and 
net-libs/libbitcoinconsensus


[3] the mask was erroneously removed a few weeks ago; this will 
hopefully be

corrected ASAP, perhaps even before the news item gets posted.

[4] Yes, there are probably better ways to handle things like this (and 
quite
a few good suggestions at https://github.com/gentoo/gentoo/pull/21490), 
but

using a mask is what we got stuck with this time.

diff --git
a/2021-11-04-bitcoin-taproot/2021-11-04-bitcoin-taproot.en.txt
b/2021-11-04-bitcoin-taproot/2021-11-04-bitcoin-taproot.en.txt
new file mode 100644
index 000..2136ec4
--- /dev/null
+++ b/2021-11-04-bitcoin-taproot/2021-11-04-bitcoin-taproot.en.txt
@@ -0,0 +1,30 @@
+Title: Bitcoin protocol change Taproot
+Author: Luke Dashjr 
+Posted: 2021-11-04
+Revision: 1
+News-Item-Format: 2.0
+Display-If-Installed: || ( net-libs/libbitcoinconsensus
net-p2p/bitcoin-qt net-p2p/bitcoind )
+
+In a few weeks, the Bitcoin community will be attempting a change to 
the
+consensus protocol, called "Taproot". Protocol changes to Bitcoin 
activate
+contingent on the users of the network all agreeing together and 
enforcing
+the new rules on each other. Failure to enforce new rules, or 
enforcing them

+when others do not, compromises your security and may lead to using a
+different currency than the rest of Bitcoin. Bitcoin users must each 
decide

+if they will enforce the new Taproot changes, or reject them.
+
+To learn more about Taproot, see https://bitcointaproot.cc
+
+If you wish to enforce Taproot, you should unmask version 0.21.1 
and/or 22.0.
+For example: echo '~net-p2p/bitcoin-qt-0.21.1' 
>>/etc/portage/package.unmask

+
+If you wish to reject Taproot, neither Bitcoin Core or Knots intends 
to
+support this, so you will need to create an upgrade path or find 
likeminded
+developers who have already done so. Note that simply using an older 
version

+is not a safe alternative: that will be insecure under all scenarios.
+
+When it becomes clear that Taproot has activated successfully and 
there is no
+alternative, older versions will be removed and Taproot-enforcing 
versions

+will be unmasked for all Gentoo users. If you wish to continue without
+enforcing Taproot for whatever reason (but, again, this is NOT a 
secure way
+to reject Taproot), ensure you have explicitly masked >=0.21.1 
yourself.


As previously discussed at https://github.com/gentoo/gentoo/pull/21490 
we agreed that users would be kept informed via logs in the ebuilds and 
a package mask that would be lifted before the November 16 taproot 
activation date so users have time to upgrade. That mask was lifted as 
agreed in commit ae7251a476 on October 13, giving users just over a 
month to upgrade their bitcoin nodes.


This news item is, in my opinion, useless, and should not be added. It 
basically says, "you must upgrade, as not upgrading is insecure and you 
have no other options to be secure. However, we made it hard for you to 
upgrade, so now you have to jump through these hoops."


Also, the mask was just re-added ~10 minutes ago: 
https://github.com/gentoo/gentoo/pull/22818


I find the re-addition of the mask to be very frustrating. Now users who 
upgraded since October 13 may now be _downgraded_ and unexpectedly find 
themselves in an insecure state.


Taproot is happening on November 16. The bitcoin project followed its 
defined process that took over a year to get this point. And yet, Luke 
is apparently now proposing that we have a package mask, a news item, 
and ebuild logs, all for a bitcoin version upgrade that the user must do 
to remain secure. Having this debate now, in Gentoo, 12 days before a 
cut-over that has been in the works - coordinated and approved by 
upstream for a year - is purely FUD and a disservice to our users.


I say we remove the just re-added package mask immediately and not 
publish this news item.


Thank you,
~Craig



Re: [gentoo-dev] Require opt-in for bitcoin upgrade?

2021-07-10 Thread Craig Andrews

On 2021-07-10 17:18, William Hubbs wrote:

To update everyone involved in this, please read my last comment on the
pr. Basically, this can be treated like a test version by adding it to
package.mask with an appropriate message then maybe publishing a
newsitem if the maintainer wants it to be known by other users.

William


IMHO, a news item is a bit much... I feel that the package.mask message 
is sufficient. Huge thank you to all participants for discussing the 
topic and coming up with the package.mask idea!


Here's a PR which is hopefully agreeable:
https://github.com/gentoo/gentoo/pull/21587

~Craig



[gentoo-dev] Require opt-in for bitcoin upgrade?

2021-07-10 Thread Craig Andrews
Gentoo currently has a number of packages required to run a bitcoin node 
in its tree, including:

* net-libs/libbitcoinconsensus
* net-p2p/bitcoin-qt
* net-p2p/bitcoind

In version 0.21.1, bitcoin included a consensus algorithm changed call 
taproot. There is no configuration opt-in with this change; bitcoin < 
0.21.1 does not include taproot, bitcoin >= 0.21.1 does include taproot.


A PR [1] was created the bitcoin packaging proxy maintainer (Like 
Dash-Jr, CC'ed) for the bitcoin 0.21.1 version bump. In that PR, Luke 
insists that users must explicitly opt-in to the bitcoin 0.21.1 upgrade 
because of the taproot consensus algorithm change. I encourage 
interested parties to read the conversation in that PR to get the full 
context.


* This is a minor version bump (assuming semver, this is the "patch" 
level version change in bitcoin), indicating that upstream does not 
consider this to be a major/breaking change.
* Upstream does not have a mechanism for notifying users or requiring 
them to opt-in to this change
* Upstream does not have a mechanism to opt out of this change. The 
users only option is to develop their own fork of the bitcoin software 
or never upgrade the package if they want to avoid taproot.

* Taproot was locked by miners, so the network will be upgrading [2]

Therefore, I have a few questions for the fellow Gentoo developers:
1) Should we require users to explicitly opt-in to this upgrade beyond 
the usual?
2) If so, how do we do that? I have been unable to find any 
documentation or examples of existing packages that require explicit 
upgrade opt-in. A REQUIRED_USE or a LICENSE [3] were suggested as well 
as PROPERTIES="interactive" [4], but such approaches seem like 
unintended/unconventional abuses of those settings as well as annoying 
to the user.


My suggested approach was to notifying the user of the change in the 
pkg_pretend phase [5] so they're aware before they actually upgrade; 
however, the proxy maintainer disagreed and force a revert. [6]


Thank you for your consideration and assistance with this issue,
~Craig


[1] https://github.com/gentoo/gentoo/pull/21490
[2] https://taproot.watch/
[3] https://github.com/gentoo/gentoo/pull/21490#discussion_r663201705
[4] https://github.com/gentoo/gentoo/pull/21490#issuecomment-877542346
[5] 
https://github.com/gentoo/gentoo/commit/e62b85aae5a2dd70ff120ebc284bf6d461e34b88#diff-e5afbd0e114be010e271302d0807aba076083d0e623ddd611f7e80b4b02a1c82R91

[6] https://github.com/gentoo/gentoo/pull/21490#issuecomment-877531697


signature.asc
Description: OpenPGP digital signature


[gentoo-dev] Last rites: media-plugins/kodi-vfs-sacd

2021-07-09 Thread Craig Andrews

# Craig Andrews  (2021-07-09)
# deprecated; replaced by media-plugins/kodi-audiodecoder-sacd
# No reverse dependencies
# See https://bugs.gentoo.org/801406
# Masked for removal in 30 days.
media-plugins/kodi-vfs-sacd



signature.asc
Description: OpenPGP digital signature


[gentoo-dev] Last rites: net-p2p/xmr-stak

2021-03-29 Thread Craig Andrews

# Craig Andrews  (2021-03-29)
# Unmaintained upstream.
# Project is also not useful due to changes in cryptocurrency mining.
# Open security issue, bug #779004
# Removal on 2021-04-29, bug #779166
net-p2p/xmr-stak

Thanks,
~Craig


signature.asc
Description: PGP signature


signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] [PATCH 1/3] dev-libs/rocm-opencl-runtime: do not force use of specific ICD loader

2020-04-08 Thread Craig Andrews

On 2020-04-08 11:28, Marek Szuba wrote:

Pending maintainer's approval.

Signed-off-by: Marek Szuba 
---
 dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-3.0.0.ebuild | 2 +-
 dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-3.1.0.ebuild | 2 +-
 dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-3.3.0.ebuild | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git
a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-3.0.0.ebuild
b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-3.0.0.ebuild
index d965949c197..390f4de5e07 100644
--- a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-3.0.0.ebuild
+++ b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-3.0.0.ebuild
@@ -25,7 +25,7 @@ SLOT="0/$(ver_cut 1-2)"
 RDEPEND=">=dev-libs/rocr-runtime-${PV}
>=dev-libs/rocm-comgr-${PV}
>=dev-libs/rocm-device-libs-${PV}
-   dev-libs/ocl-icd[khronos-headers]
+   >=virtual/opencl-3
media-libs/mesa"
 DEPEND="${RDEPEND}
dev-lang/ocaml
diff --git
a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-3.1.0.ebuild
b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-3.1.0.ebuild
index ec654ae4857..45a3fcd5324 100644
--- a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-3.1.0.ebuild
+++ b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-3.1.0.ebuild
@@ -25,7 +25,7 @@ SLOT="0/$(ver_cut 1-2)"
 RDEPEND=">=dev-libs/rocr-runtime-${PV}
>=dev-libs/rocm-comgr-${PV}
>=dev-libs/rocm-device-libs-${PV}
-   dev-libs/ocl-icd[khronos-headers]
+   >=virtual/opencl-3
media-libs/mesa"
 DEPEND="${RDEPEND}
dev-lang/ocaml
diff --git
a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-3.3.0.ebuild
b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-3.3.0.ebuild
index ec654ae4857..45a3fcd5324 100644
--- a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-3.3.0.ebuild
+++ b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-3.3.0.ebuild
@@ -25,7 +25,7 @@ SLOT="0/$(ver_cut 1-2)"
 RDEPEND=">=dev-libs/rocr-runtime-${PV}
>=dev-libs/rocm-comgr-${PV}
>=dev-libs/rocm-device-libs-${PV}
-   dev-libs/ocl-icd[khronos-headers]
+   >=virtual/opencl-3
media-libs/mesa"
 DEPEND="${RDEPEND}
dev-lang/ocaml


Assuming that you've compile-tested this change, I approve.

Thanks,
~Craig


signature.asc
Description: OpenPGP digital signature


[gentoo-dev] Re: [gentoo-commits] repo/gentoo:master commit in: app-admin/needrestart/

2020-03-09 Thread Craig Andrews

On 2020-03-09 01:46, Robin H. Johnson wrote:

Can you please clarify why you removed the last stable version of
app-admin/needrestart? Repoman used to warn about this, and I think
pkgcheck does as well.

On Sun, Mar 01, 2020 at 04:12:05PM +, Craig Andrews wrote:

commit: 50f6c4ac7c78b6c293308c84dbbeb30a5ebf1e05
Author: Craig Andrews  gentoo  org>
AuthorDate: Sun Mar  1 16:06:23 2020 +
Commit:     Craig Andrews  gentoo  org>
CommitDate: Sun Mar  1 16:11:57 2020 +
URL:
https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=50f6c4ac


app-admin/needrestart: Cleanup old versions

...
diff --git a/app-admin/needrestart/needrestart-3.3.ebuild 
b/app-admin/needrestart/needrestart-3.3.ebuild

deleted file mode 100644
index 2ba6e13ba34..000
--- a/app-admin/needrestart/needrestart-3.3.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-if [[ ${PV} == "" ]] ; then
-   EGIT_REPO_URI="https://github.com/liske/${PN}.git;
-   inherit git-r3
-   SRC_URI=""
-   KEYWORDS="amd64 x86"
-else
-	SRC_URI="https://github.com/liske/${PN}/archive/v${PV}.tar.gz -> 
${P}.tar.gz"

-   KEYWORDS="amd64 x86"
-fi
-
-DESCRIPTION="Restart daemons after library updates"
-HOMEPAGE="https://fiasko-nw.net/~thomas/tag/needrestart.html 
https://github.com/liske/needrestart;

-
-SLOT="0"
-LICENSE="GPL-2+"
-
-RDEPEND="
-   >=sys-apps/sed-4.2.2
-   dev-lang/perl:=
-   dev-perl/libintl-perl
-   dev-perl/Module-Find
-   dev-perl/Module-ScanDeps
-   dev-perl/Proc-ProcessTable
-   dev-perl/Sort-Naturally
-   dev-perl/TermReadKey
-   sys-apps/init-system-helpers
-"
-DEPEND="${RDEPEND}
-   sys-devel/gettext
-"
-
-src_install() {
-   default
-   doman man/*.1
-   dodoc -r ex
-}



Removal of that version was a mistake. Thank you for pointing it out.

Here's the commit re-adding it: 
https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f3fa1c548


I checked, and repoman doesn't seem to be warning about removing the 
last stable version of a package.


~Craig


signature.asc
Description: OpenPGP digital signature


[gentoo-dev] Last-rites: dev-libs/rocm-opencl-driver

2020-03-03 Thread Craig Andrews

# Craig Andrews  (2020-03-03)
# Deprecated upstream in favor of dev-libs/rocm-comgr
# Masked for removal in 30 days. Bug #711398
dev-libs/rocm-opencl-driver

Thanks,
~Craig


signature.asc
Description: OpenPGP digital signature


[gentoo-dev] RFC: UID/GID assignment for shellinabox (139)

2019-12-18 Thread Craig Andrews
I would like to reserve UID/GID 139 for shellinabox 
(www-misc/shellinabox)


Debian, Fedora, and Red Hat do not have UID/GIDs reserved for 
shellinabox. FreeBSD [1] uses 139 so that's what I'm requesting.


Gentoo API [2] shows these numbers are currently unused.

Here's a PR for this change:
https://github.com/gentoo/gentoo/pull/14046

[1] https://svnweb.freebsd.org/ports/head/GIDs?view=co
[2] https://api.gentoo.org/uid-gid.txt

Thanks,
~Craig



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] RFC: net-misc/curl: HTTP/3 support

2019-10-11 Thread Craig Andrews

On 10.10.2019 16:38, Mike Gilbert wrote:
On Thu, Oct 10, 2019 at 4:03 PM Craig Andrews  
wrote:


I'm working on getting HTTP/3 support in place for curl:
https://github.com/gentoo/gentoo/pull/12920

Yes, HTTP/3 isn't final yet. But we're Gentoo - that shouldn't stop 
us!


My proposal involves:
* A new USE_EXPAND, CURL_HTTP3, with two values: nghttp3 and quiche


Why do we need a USE_EXPAND for this? Will more than one package ever 
use it?


If it's only ever going to be referenced by net-misc/curl, just add
local USE flags.


Since I've received such a response from a few folks, I've updated the 
PR to not use USE_EXPAND and instead use local USE flags.


Thanks for the feedback,
~Craig


signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] RFC: UID/GID assignment for deluge (545/545)

2019-10-10 Thread Craig Andrews

On 10.10.2019 04:59, Ulrich Mueller wrote:

On Wed, 09 Oct 2019, Craig Andrews wrote:



I would like to reserve UID/GID 545 for deluge (net-p2p/deluge).
We currently use dynamic UID/GIDs.



As far as I can tell, UID/GID 545 is free [1]
[1] https://api.gentoo.org/uid-gid.txt


No, there's this line:

-   500..999  500..999  reserved


I noticed that just after sending the email.
Thank you for pointing it out.

454/454 is free, let's go with that.
I've updated the PR as well.

Thanks,
~Craig


signature.asc
Description: OpenPGP digital signature


[gentoo-dev] RFC: UID/GID assignment for deluge (545/545)

2019-10-09 Thread Craig Andrews

I would like to reserve UID/GID 545 for deluge (net-p2p/deluge).

We currently use dynamic UID/GIDs.

As far as I can tell, UID/GID 545 is free [1]

Here's a PR for this change [2]

[1] https://api.gentoo.org/uid-gid.txt
[2] https://github.com/gentoo/gentoo/pull/13241

Thanks,
~Craig


signature.asc
Description: OpenPGP digital signature


[gentoo-dev] RFC: UID/GID assignment for netdata (290/290)

2019-09-12 Thread Craig Andrews

I would like to reserve UID/GID 290 for netdata (net-analyzer/netdata)

We currently use dynamic UID/GIDs. Upstream uses 201/201 [1] but Gentoo 
already uses that for qmail [2], so I've randomly selected new UIDs/GIDs 
(290/290).


Here's a PR for this change [3].

[1] 
https://github.com/netdata/netdata/blob/e2e20dad1fc29dcd6bd76b6dc50c80045d0a2956/packaging/docker/Dockerfile#L59

[2] https://api.gentoo.org/uid-gid.txt
[3] https://github.com/gentoo/gentoo/pull/12910

Thanks,
~Craig


signature.asc
Description: OpenPGP digital signature


[gentoo-dev] RFC: UID/GID assignment for ntp (123)

2019-08-27 Thread Craig Andrews

I would like to reserve UID/GID 123 for ntp (net-misc/ntp)

These fixed IDs are what we are currently using.

Here's a PR for this change:
https://github.com/gentoo/gentoo/pull/12802

Thanks,
~Craig


signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] Last rites: www-apache/mod_authnz_external

2019-04-02 Thread Craig Andrews

On 31.03.2019 04:15, Michał Górny wrote:

# Michał Górny  (31 Mar 2019)
# Unmaintained.  The current version is apparently broken, and it is
# unclear if the problem was ever fixed upstream.  Last release in 
2011,

# with low commit activity since.
# Removal in 30 days.  Bug #389391.
www-apache/mod_authnz_external


I'm pretty sure that https://bugs.gentoo.org/389391 was resolved years 
ago. I actually recall encountering it way back when and I definitely do 
not experience that issue now.


With that said, I use this package, it works, and I don't think it 
really needs much maintenance. So I'll take it over.


Thanks,
~Craig


signature.asc
Description: OpenPGP digital signature


[gentoo-dev] How to handle ROC forks of llvm and clang

2018-12-14 Thread Craig Andrews
I'm working on packaging the Radeon Open Compute (ROC) packages for 
Gentoo with first goal being to get the OpenCL runtime working.


The OpenCL runtime can be found at: 
https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime


It has a mess of dependencies; I can handle most of them (not that it'll 
be easy, but at least I know what to do). The 3 troublemakers I'd like 
to discuss are the ROC forks of:

llvm: https://github.com/RadeonOpenCompute/llvm/
clang: https://github.com/RadeonOpenCompute/clang/
ldd: https://github.com/RadeonOpenCompute/ldd/

Potential approaches include:
1) Create new packages for each: sys-devel/radeon-open-compute-llvm, 
sys-devel/radeon-open-compute-clang, sys-devel/radeon-open-compute-lld
2) Add use flags to existing packages that apply the ROC changes as a 
patch
3) Add use flags to existing packages that use ROC archives as the 
SRC_URIs
4) Take the approach justxi did in his overlay which is to bundle these 
dependencies wherever they're needed; for example, take a look at 
https://github.com/justxi/rocm/blob/master/media-libs/ROCm-OpenCL-Runtime/ROCm-OpenCL-Runtime-1.7.0-r3.ebuild


Personally, I dislike (4), as it's contrary to the bundling policy that 
Gentoo tries to follow.


For (2), I'm concerned that generating and maintaining that patch may be 
really annoying and a lot of work.


For (3), it's not great to have different base archives.

Since ROC will eventually upstream all of it's work, (2) is ideal - but 
I have no idea what the timeline on that upstreaming effort may be, and 
I can't find anything that gives a hint.


What is the best way forward? And what would be acceptable to the Gentoo 
LLVM project?


Thanks,
~Craig


signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] Unmasking =dev-libs/openssl-1.1*

2018-12-03 Thread Craig Andrews

On 06.11.2018 12:53, Craig Andrews wrote:

=dev-libs/openssl-1.1* has been masked since 26 Aug 2016 - that's over
2 years ago. I think it's time to talk about dropping the mask.

The tracker issue https://bugs.gentoo.org/592438 currently has 12 open
issues. Some will be closed by tree cleaning.

package.mask also shows a number of packages being masked because
their latest versions require >=dev-libs/openssl-1.1

What's the plan for removing this mask?

Thanks,
~Craig


I think we should make a plan for removing this mask. I'm not saying we 
do it today or tomorrow - but we should do it someday.


Should we set a date for removing the mask? Should the tracker have 0 
issues blocking it? Something else?


Thanks,
~Craig


signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] AUTHORS file for portage repository

2018-11-27 Thread Craig Andrews

On 27.11.2018 15:23, William Hubbs wrote:

On Tue, Nov 27, 2018 at 09:15:08PM +0100, Michał Górny wrote:

On Tue, 2018-11-27 at 14:07 -0600, William Hubbs wrote:
> All,
> I just picked a random msg to reply to on the thread.
>
> Here is the updated AUTHORS file I would like to commit.
>

You should include at least all current developers with commit access.
Because otherwise, this really looks like all Gentoo work was done by
the Foundation (which didn't do any work at all) and Sony, entirely
neglecting the huge effort done by many individuals.


No, that is definitely not the case. all devs aren't required to be
listed; only those who want to be [1].

There is no way to contact everyone and see who wants to be listed, if
someone wants to be listed they can let us know.

William

[1] https://opensource.google.com/docs/releasing/authors/


I think an AUTHORS file is very much a less than ideal solution.

To point out the absurdity, please include me - It'll be nice to see 
only 3 names in the AUTHORS file with mine being first (hooray for 
alphabetical order!)


Thanks,
~Craig


signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] Packages up for grabs: app-benchmarks/wrk, app-misc/gourmet, dev-python/elib-intl, games-misc/doge, net-misc/{httpie,proxytunnel}, sys-block/rts*

2018-11-08 Thread Craig Andrews

On 08.11.2018 07:15, Michał Górny wrote:

Hello,

The following packages are up for grabs after package reassignment
of inactive developers:


I'll take net-misc/proxytunnel

Thanks,
~Craig


signature.asc
Description: OpenPGP digital signature


[gentoo-dev] Unmasking =dev-libs/openssl-1.1*

2018-11-06 Thread Craig Andrews
=dev-libs/openssl-1.1* has been masked since 26 Aug 2016 - that's over 2 
years ago. I think it's time to talk about dropping the mask.


The tracker issue https://bugs.gentoo.org/592438 currently has 12 open 
issues. Some will be closed by tree cleaning.


package.mask also shows a number of packages being masked because their 
latest versions require >=dev-libs/openssl-1.1


What's the plan for removing this mask?

Thanks,
~Craig



Re: [gentoo-dev] Unmasking >=media-video/ffmpeg-4.0

2018-11-06 Thread Craig Andrews

On 06.11.2018 06:00, Alexis Ballier wrote:

On Mon, 05 Nov 2018 20:38:58 -0500
Craig Andrews  wrote:


I think it's time to remove the mask on >=media-video/ffmpeg-4.0

ffmpeg 4 is in many distros (including Debian, Arch) and FreeBSD.
Upstreams are starting to require it, too. For example, Kodi 18 and
media-plugins/gst-plugins-libav-16 will require it.

The blocker issue https://bugs.gentoo.org/653678 has only 5 blockers
against it right now:
* 654628 has a pull request out to fix it:
https://github.com/gentoo/gentoo/pull/10341
* 655170 is for a package that (IMHO) should be last-rited:
media-libs/mediastreamer
* 666166 is for a package that (IMHO) should be last-rited:
media-plugins/vdr-image
* 655442 and 658128 are for media-video/mplayer and fixed upstream,
requiring a new snapshot release

What do we say? Can we set a date when the hard mask will be removed?



I think 6 months qualifies for ETIMEOUT, so go ahead and unmask it :)

merge the github PR; I'll take care of mplayer


Since Alexis added the mask I believe he can authorize its removal, so I 
have done so:

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=deb9d06fb461dc57291498b327e2eeb667444a5f

Thanks,
~Craig



[gentoo-dev] Unmasking >=media-video/ffmpeg-4.0

2018-11-05 Thread Craig Andrews

I think it's time to remove the mask on >=media-video/ffmpeg-4.0

ffmpeg 4 is in many distros (including Debian, Arch) and FreeBSD.
Upstreams are starting to require it, too. For example, Kodi 18 and 
media-plugins/gst-plugins-libav-16 will require it.


The blocker issue https://bugs.gentoo.org/653678 has only 5 blockers 
against it right now:
* 654628 has a pull request out to fix it: 
https://github.com/gentoo/gentoo/pull/10341
* 655170 is for a package that (IMHO) should be last-rited: 
media-libs/mediastreamer
* 666166 is for a package that (IMHO) should be last-rited: 
media-plugins/vdr-image
* 655442 and 658128 are for media-video/mplayer and fixed upstream, 
requiring a new snapshot release


What do we say? Can we set a date when the hard mask will be removed?

Thanks,
~Craig


signature.asc
Description: OpenPGP digital signature


[gentoo-dev] Re: [PATCH v2] libretro-core.eclass: An eclass to streamline the construction of Libretro core ebuilds

2018-08-14 Thread Craig Andrews

On 09.08.2018 16:58, Craig Andrews wrote:

I'm proposing the addition of a new eclass,  libretro-core.eclass,
which I'll use when adding a number of libretro ebuilds.

This version incorporates all the changes and suggestions posed so far.

The pull request which includes this eclass as well as a few ebuilds
using it (with more to come) can be found at
https://github.com/gentoo/gentoo/pull/9330

Thanks,
~Craig

---
 eclass/libretro-core.eclass | 197 
 1 file changed, 197 insertions(+)
 create mode 100644 eclass/libretro-core.eclass

diff --git a/eclass/libretro-core.eclass b/eclass/libretro-core.eclass
new file mode 100644
index ..510f905111ce
--- /dev/null
+++ b/eclass/libretro-core.eclass
@@ -0,0 +1,197 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# @ECLASS: libretro-core.eclass
+# @MAINTAINER:
+# candr...@gentoo.org
+# @AUTHOR:
+# Cecil Curry 
+# Craig Andrews 
+# @BLURB: Simplify libretro core ebuilds
+# @DESCRIPTION:
+# The libretro eclass is designed to streamline the construction of
+# ebuilds for Libretro core ebuilds.
+#
+# Libretro cores can be found under https://github.com/libretro/
+#
+# They all use the same basic make based build system, are located
+# in the same github account, and do not release named or numbered
+# versions (so ebuild versions for git commits are keys).
+# This eclass covers those commonalities reducing much duplication
+# between the ebuilds.
+# @EXAMPLE:
+# @CODE
+# EAPI=7
+#
+# LIBRETRO_CORE_NAME="2048"
+# LIBRETRO_COMMIT_SHA="45655d3662e4cbcd8afb28e2ee3f5494a75888de"
+# KEYWORDS="~amd64 ~x86"
+# inherit libretro-core
+#
+# DESCRIPTION="Port of 2048 puzzle game to the libretro API"
+# LICENSE="Unlicense"
+# SLOT="0"
+# @CODE
+
+if [[ -z ${_LIBRETRO_CORE_ECLASS} ]]; then
+_LIBRETRO_CORE_ECLASS=1
+
+IUSE="debug"
+
+# @ECLASS-VARIABLE: LIBRETRO_CORE_NAME
+# @REQUIRED
+# @DESCRIPTION:
+# Name of this Libretro core. The libretro-core_src_install() phase 
function
+# will install the shared library 
"${S}/${LIBRETRO_CORE_NAME}_libretro.so" as a
+# Libretro core. Defaults to the name of the current package excluding 
the

+# "libretro-" prefix (e.g., "mgba" for the package "libretro-mgba").
+: ${LIBRETRO_CORE_NAME:=${PN#libretro-}}
+
+# @ECLASS-VARIABLE: LIBRETRO_COMMIT_SHA
+# @DESCRIPTION:
+# Commit SHA used for SRC_URI will die if not set in < ebuilds.
+# Needs to be set before inherit.
+
+# @ECLASS-VARIABLE: LIBRETRO_REPO_NAME
+# @REQUIRED
+# @DESCRIPTION:
+# Contains the real repo name of the core formatted as 
"repouser/reponame".
+# Needs to be set before inherit. Otherwise defaults to 
"libretro/${PN}"

+: ${LIBRETRO_REPO_NAME:="libretro/libretro-${LIBRETRO_CORE_NAME}"}
+
+: ${HOMEPAGE:="https://github.com/${LIBRETRO_REPO_NAME}"}
+
+if [[ ${PV} == * ]]; then
+   : ${EGIT_REPO_URI:="https://github.com/${LIBRETRO_REPO_NAME}.git"}
+   inherit git-r3
+else
+   [[ -z "${LIBRETRO_COMMIT_SHA}" ]] && die "LIBRETRO_COMMIT_SHA must
be set before inherit."
+   S="${WORKDIR}/${LIBRETRO_REPO_NAME##*/}-${LIBRETRO_COMMIT_SHA}"
+   :
${SRC_URI:="https://github.com/${LIBRETRO_REPO_NAME}/archive/${LIBRETRO_COMMIT_SHA}.tar.gz
-> ${P}.tar.gz"}
+fi
+inherit flag-o-matic
+
+# @ECLASS-VARIABLE: LIBRETRO_CORE_LIB_FILE
+# @REQUIRED
+# @DESCRIPTION:
+# Absolute path of this Libretro core's shared library.
+: ${LIBRETRO_CORE_LIB_FILE:="${S}/${LIBRETRO_CORE_NAME}_libretro.so"}
+
+case "${EAPI:-0}" in
+   6|7)
+   EXPORT_FUNCTIONS src_unpack src_prepare src_compile src_install
+   ;;
+   *)
+   die "EAPI=${EAPI} is not supported" ;;
+esac
+
+# @FUNCTION: libretro-core_src_unpack
+# @DESCRIPTION:
+# The libretro-core src_unpack function which is exported.
+#
+# This function retrieves the remote Libretro core info files.
+libretro-core_src_unpack() {
+   # If this is a live ebuild, retrieve this core's remote repository.
+   if [[ ${PV} == * ]]; then
+   git-r3_src_unpack
+		# Add used commit SHA for version information, the above could also 
work.

+   LIBRETRO_COMMIT_SHA=$(git -C "${WORKDIR}/${P}" rev-parse HEAD)
+   # Else, unpack this core's local tarball.
+   else
+   default_src_unpack
+   fi
+}
+
+# @FUNCTION: libretro-core_src_prepare
+# @DESCRIPTION:
+# The libretro-core src_prepare function which is exported.
+#
+# This function prepares the source by making custom modifications.
+libretro-core_src_prepare() {
+   ebegin "Attempting to hack Makefiles to use custom cflags"
+   # Populate COMMIT for GIT_VERSION
+   CUSTOM_LIBRETRO_COMMIT_SHA="\" $

[gentoo-dev] [PATCH v2] libretro-core.eclass: An eclass to streamline the construction of Libretro core ebuilds

2018-08-09 Thread Craig Andrews
I'm proposing the addition of a new eclass,  libretro-core.eclass, which 
I'll use when adding a number of libretro ebuilds.


This version incorporates all the changes and suggestions posed so far.

The pull request which includes this eclass as well as a few ebuilds 
using it (with more to come) can be found at 
https://github.com/gentoo/gentoo/pull/9330


Thanks,
~Craig

---
 eclass/libretro-core.eclass | 197 
 1 file changed, 197 insertions(+)
 create mode 100644 eclass/libretro-core.eclass

diff --git a/eclass/libretro-core.eclass b/eclass/libretro-core.eclass
new file mode 100644
index ..510f905111ce
--- /dev/null
+++ b/eclass/libretro-core.eclass
@@ -0,0 +1,197 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# @ECLASS: libretro-core.eclass
+# @MAINTAINER:
+# candr...@gentoo.org
+# @AUTHOR:
+# Cecil Curry 
+# Craig Andrews 
+# @BLURB: Simplify libretro core ebuilds
+# @DESCRIPTION:
+# The libretro eclass is designed to streamline the construction of
+# ebuilds for Libretro core ebuilds.
+#
+# Libretro cores can be found under https://github.com/libretro/
+#
+# They all use the same basic make based build system, are located
+# in the same github account, and do not release named or numbered
+# versions (so ebuild versions for git commits are keys).
+# This eclass covers those commonalities reducing much duplication
+# between the ebuilds.
+# @EXAMPLE:
+# @CODE
+# EAPI=7
+#
+# LIBRETRO_CORE_NAME="2048"
+# LIBRETRO_COMMIT_SHA="45655d3662e4cbcd8afb28e2ee3f5494a75888de"
+# KEYWORDS="~amd64 ~x86"
+# inherit libretro-core
+#
+# DESCRIPTION="Port of 2048 puzzle game to the libretro API"
+# LICENSE="Unlicense"
+# SLOT="0"
+# @CODE
+
+if [[ -z ${_LIBRETRO_CORE_ECLASS} ]]; then
+_LIBRETRO_CORE_ECLASS=1
+
+IUSE="debug"
+
+# @ECLASS-VARIABLE: LIBRETRO_CORE_NAME
+# @REQUIRED
+# @DESCRIPTION:
+# Name of this Libretro core. The libretro-core_src_install() phase 
function
+# will install the shared library 
"${S}/${LIBRETRO_CORE_NAME}_libretro.so" as a
+# Libretro core. Defaults to the name of the current package excluding 
the

+# "libretro-" prefix (e.g., "mgba" for the package "libretro-mgba").
+: ${LIBRETRO_CORE_NAME:=${PN#libretro-}}
+
+# @ECLASS-VARIABLE: LIBRETRO_COMMIT_SHA
+# @DESCRIPTION:
+# Commit SHA used for SRC_URI will die if not set in < ebuilds.
+# Needs to be set before inherit.
+
+# @ECLASS-VARIABLE: LIBRETRO_REPO_NAME
+# @REQUIRED
+# @DESCRIPTION:
+# Contains the real repo name of the core formatted as 
"repouser/reponame".
+# Needs to be set before inherit. Otherwise defaults to 
"libretro/${PN}"

+: ${LIBRETRO_REPO_NAME:="libretro/libretro-${LIBRETRO_CORE_NAME}"}
+
+: ${HOMEPAGE:="https://github.com/${LIBRETRO_REPO_NAME}"}
+
+if [[ ${PV} == * ]]; then
+   : ${EGIT_REPO_URI:="https://github.com/${LIBRETRO_REPO_NAME}.git"}
+   inherit git-r3
+else
+	[[ -z "${LIBRETRO_COMMIT_SHA}" ]] && die "LIBRETRO_COMMIT_SHA must be 
set before inherit."

+   S="${WORKDIR}/${LIBRETRO_REPO_NAME##*/}-${LIBRETRO_COMMIT_SHA}"
+	: 
${SRC_URI:="https://github.com/${LIBRETRO_REPO_NAME}/archive/${LIBRETRO_COMMIT_SHA}.tar.gz 
-> ${P}.tar.gz"}

+fi
+inherit flag-o-matic
+
+# @ECLASS-VARIABLE: LIBRETRO_CORE_LIB_FILE
+# @REQUIRED
+# @DESCRIPTION:
+# Absolute path of this Libretro core's shared library.
+: ${LIBRETRO_CORE_LIB_FILE:="${S}/${LIBRETRO_CORE_NAME}_libretro.so"}
+
+case "${EAPI:-0}" in
+   6|7)
+   EXPORT_FUNCTIONS src_unpack src_prepare src_compile src_install
+   ;;
+   *)
+   die "EAPI=${EAPI} is not supported" ;;
+esac
+
+# @FUNCTION: libretro-core_src_unpack
+# @DESCRIPTION:
+# The libretro-core src_unpack function which is exported.
+#
+# This function retrieves the remote Libretro core info files.
+libretro-core_src_unpack() {
+   # If this is a live ebuild, retrieve this core's remote repository.
+   if [[ ${PV} == * ]]; then
+   git-r3_src_unpack
+		# Add used commit SHA for version information, the above could also 
work.

+   LIBRETRO_COMMIT_SHA=$(git -C "${WORKDIR}/${P}" rev-parse HEAD)
+   # Else, unpack this core's local tarball.
+   else
+   default_src_unpack
+   fi
+}
+
+# @FUNCTION: libretro-core_src_prepare
+# @DESCRIPTION:
+# The libretro-core src_prepare function which is exported.
+#
+# This function prepares the source by making custom modifications.
+libretro-core_src_prepare() {
+   ebegin "Attempting to hack Makefiles to use custom cflags"
+   # Populate COMMIT for GIT_VERSION
+   CUSTOM_LIBRETRO_COMMIT_SHA="\" ${LIBRETRO_COMMIT_SHA:0:7}\""
+   local makefil

[gentoo-dev] [PATCH] libretro-core.eclass: An eclass to streamline the construction of Libretro core ebuilds

2018-07-26 Thread Craig Andrews
I'm proposing the addition of a new eclass,  libretro-core.eclass, which 
I'll use when adding a number of libretro ebuilds.


The pull request which includes this eclass as well as a few ebuilds 
using it (with more to come) can be found at 
https://github.com/gentoo/gentoo/pull/9330


Thanks,
~Craig

---
 eclass/libretro-core.eclass | 168 
 1 file changed, 168 insertions(+)
 create mode 100644 eclass/libretro-core.eclass

diff --git a/eclass/libretro-core.eclass b/eclass/libretro-core.eclass
new file mode 100644
index ..c82420ac98cc
--- /dev/null
+++ b/eclass/libretro-core.eclass
@@ -0,0 +1,168 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# @ECLASS: libretro-core.eclass
+# @MAINTAINER:
+# candr...@gentoo.org
+# @AUTHOR:
+# Cecil Curry 
+# Craig Andrews 
+# @BLURB: An eclass to streamline the construction of Libretro core 
ebuilds

+# @DESCRIPTION:
+# The libretro eclass is designed to streamline the construction of
+# ebuilds for low-level Libretro core ebuilds.
+
+if [[ -z ${_LIBRETRO_CORE_ECLASS} ]]; then
+_LIBRETRO_CORE_ECLASS=1
+
+IUSE="debug"
+RDEPEND=" games-emulation/libretro-info"
+
+# @ECLASS-VARIABLE: LIBRETRO_CORE_NAME
+# @REQUIRED
+# @DESCRIPTION:
+# Name of this Libretro core. The libretro-core_src_install() phase 
function
+# will install the shared library 
"${S}/${LIBRETRO_CORE_NAME}_libretro.so" as a
+# Libretro core. Defaults to the name of the current package excluding 
the

+# "libretro-" prefix (e.g., "mgba" for the package "libretro-mgba").
+: ${LIBRETRO_CORE_NAME:=${PN#libretro-}}
+
+# @ECLASS-VARIABLE: LIBRETRO_COMMIT_SHA
+# @DESCRIPTION:
+# Commit SHA used for SRC_URI will die if not set in < ebuilds.
+# Needs to be set before inherit.
+
+# @ECLASS-VARIABLE: LIBRETRO_REPO_NAME
+# @REQUIRED
+# @DESCRIPTION:
+# Contains the real repo name of the core formatted as 
"repouser/reponame".
+# Needs to be set before inherit. Otherwise defaults to 
"libretro/${PN}"

+: ${LIBRETRO_REPO_NAME:="libretro/libretro-${LIBRETRO_CORE_NAME}"}
+
+: ${HOMEPAGE:="https://github.com/${LIBRETRO_REPO_NAME}"}
+
+if [[ ${PV} == * ]]; then
+   : ${EGIT_REPO_URI:="https://github.com/${LIBRETRO_REPO_NAME}.git"}
+   inherit git-r3
+else
+	[[ -z "${LIBRETRO_COMMIT_SHA}" ]] && die "LIBRETRO_COMMIT_SHA must be 
set before inherit."

+   S="${WORKDIR}/${LIBRETRO_REPO_NAME##*/}-${LIBRETRO_COMMIT_SHA}"
+	: 
${SRC_URI:="https://github.com/${LIBRETRO_REPO_NAME}/archive/${LIBRETRO_COMMIT_SHA}.tar.gz 
-> ${P}.tar.gz"}

+fi
+inherit flag-o-matic
+
+# @ECLASS-VARIABLE: LIBRETRO_CORE_LIB_FILE
+# @REQUIRED
+# @DESCRIPTION:
+# Absolute path of this Libretro core's shared library.
+: ${LIBRETRO_CORE_LIB_FILE:="${S}/${LIBRETRO_CORE_NAME}_libretro.so"}
+
+case "${EAPI:-0}" in
+   6)
+   EXPORT_FUNCTIONS src_unpack src_prepare src_compile src_install
+   ;;
+   *)
+   die "EAPI=${EAPI} is not supported" ;;
+esac
+
+# @FUNCTION: libretro-core_src_unpack
+# @DESCRIPTION:
+# The libretro-core src_unpack function which is exported.
+#
+# This function retrieves the remote Libretro core info files.
+libretro-core_src_unpack() {
+   # If this is a live ebuild, retrieve this core's remote repository.
+   if [[ ${PV} == * ]]; then
+   git-r3_src_unpack
+		# Add used commit SHA for version information, the above could also 
work.
+		LIBRETRO_COMMIT_SHA=$(git -C 
"${EGIT3_STORE_DIR}/${LIBRETRO_REPO_NAME//\//_}.git" rev-parse HEAD)

+   # Else, unpack this core's local tarball.
+   else
+   default_src_unpack
+   fi
+}
+
+# @FUNCTION: libretro-core_src_prepare
+# @DESCRIPTION:
+# The libretro-core src_prepare function which is exported.
+#
+# This function prepares the source by making custom modifications.
+libretro-core_src_prepare() {
+   local flags_modified=0
+   ebegin "Attempting to hack Makefiles to use custom-cflags"
+   for makefile in "${S}"/?akefile* "${S}"/target-libretro/?akefile*; do
+   # * Convert CRLF to LF
+   # * Expand *FLAGS to prevent potential self-references
+   # * Where LDFLAGS directly define the link version
+   #   script append LDFLAGS and LIBS
+   # * Where SHARED is used to provide shared linking
+   #   flags ensure final link command includes LDFLAGS
+   #   and LIBS
+   # * Always use $(CFLAGS) when calling $(CC)
+   sed \
+   -e 's/\r$//g' \
+   -e "/flags.*=/s/-O[[:digit:]]/${CFLAGS}/g" \
+   -e "/CFLAGS.*=/s/-O[[:digit:]]/${CFLAGS}/g" \
+