[gentoo-dev] Last-rites: dev-libs/libappindicator:2, dev-perl/Gtk2-AppIndicator and x11-plugins/pidgin-indicator

2020-02-05 Thread Andreas Sturmlechner
# Andreas Sturmlechner  (2020-02-05)
# Blocks dev-python/pygtk removal, bug #706478. Masked for removal in 30 days.
dev-libs/libappindicator:2
dev-perl/Gtk2-AppIndicator
x11-plugins/pidgin-indicator





Re: [gentoo-dev] [PATCH news] 2020-02-06-python-2-7-eol: news item for py2.7 EOL

2020-02-05 Thread Pacho Ramos
El mié, 05-02-2020 a las 22:20 +0100, Michał Górny escribió:
> [...]
> +If you are still using Python 2 for your projects, we strongly recommend
> +you to migrate away.  For the time being, it is preferable to use
> +dev-python/virtualenv or a similar solution rather than ebuilds,
> +to install the dependencies for your projects locally.

Is there any link that could provide some guidance about the usage of
pip+virtualenv?

I could only find this
https://wiki.gentoo.org/wiki/Pip

relying on https://wiki.archlinux.org/index.php/Python/Virtual_environment for
virtualenv information.

In my case I am used to pip (as regular user of course), but not with
virtualenv... then, maybe pointing people to some instructions about how to
properly use virtualenv+pip in Gentoo would be useful 

Thanks


signature.asc
Description: This is a digitally signed message part


[gentoo-dev] [PATCH news] 2020-02-06-python-2-7-eol: news item for py2.7 EOL

2020-02-05 Thread Michał Górny
Signed-off-by: Michał Górny 
---
 .../2020-02-06-python-2-7-eol.en.txt  | 51 +++
 1 file changed, 51 insertions(+)
 create mode 100644 2020-02-06-python-2-7-eol/2020-02-06-python-2-7-eol.en.txt

diff --git a/2020-02-06-python-2-7-eol/2020-02-06-python-2-7-eol.en.txt 
b/2020-02-06-python-2-7-eol/2020-02-06-python-2-7-eol.en.txt
new file mode 100644
index 000..6adc04e
--- /dev/null
+++ b/2020-02-06-python-2-7-eol/2020-02-06-python-2-7-eol.en.txt
@@ -0,0 +1,51 @@
+Title: Python 2.7 went EOL
+Author: Michał Górny 
+Posted: 2020-02-06
+Revision: 1
+News-Item-Format: 2.0
+Display-If-Installed: dev-lang/python:2.7
+
+Python 2.7 has reached its end-of-life by 2019-12-31.  Python package
+upstreams have started removing Python 2 compatibility code from their
+packages more aggressively.  This includes common dependencies such as
+dev-python/pytest, dev-python/setuptools and dev-python/sphinx.  While
+we realize that many packages are still dependent on Python 2, providing
+full support for it exceeds our maintenance capabilities.
+
+Upstream is planning to make one more release of dev-lang/python:2.7
+in April 2020.  We are going to continue maintaining and patching
+the interpreter for as long as it is feasible, most likely even after
+all Python 2 packages are gone from Gentoo.
+
+At the same time, we are actively working towards switching
+the distribution to Python 3.  Whenever possible, we are removing
+Python 2 support from packages.  It will remain available for
+the packages missing Python 3 compatibility and their dependencies
+for some more time.  However, packages that have little chances of being
+ported will eventually be removed.
+
+If you are still using Python 2 for your projects, we strongly recommend
+you to migrate away.  For the time being, it is preferable to use
+dev-python/virtualenv or a similar solution rather than ebuilds,
+to install the dependencies for your projects locally.
+
+Regular Gentoo systems will be migrated off Python 2 gracefully.  It may
+be necessary to use --changed-deps or a similar option during system
+upgrades whenever they become blocked by Python 2 packages installed
+earlier.
+
+If you wish to remove Python 2.7 entirely sooner, you can try removing
+python2_7 from PYTHON_TARGETS.  However, this will require adding
+explicit package.use entries if some of the installed packages still
+require Python 2.  An example package.use entry follows:
+
+  # disable py2.7 without altering the other flags
+  */* PYTHON_TARGETS: -python2_7
+  # enable py2.7 for setuptools
+  dev-python/setuptools PYTHON_TARGETS: python2_7
+  # switch a single-impl package to 2.7
+  dev-embedded/libftdi PYTHON_TARGETS: python2_7
+  dev-embedded/libftdi PYTHON_SINGLE_TARGET: -* python2_7
+
+Note that package.use entries are not necessary for packages that
+support one implementation only (i.e. do not support Python 3 at all).
-- 
2.25.0




[gentoo-dev] [PATCH] user.eclass: move read-only functionality to user-info.eclass

2020-02-05 Thread Mike Gilbert
The new eclass can be used by ebuilds to look up user information
without triggering a deprecation warning from repoman and pkgcheck.

Signed-off-by: Mike Gilbert 
---
 eclass/user-info.eclass | 158 
 eclass/user.eclass  | 149 +
 2 files changed, 161 insertions(+), 146 deletions(-)
 create mode 100644 eclass/user-info.eclass

diff --git a/eclass/user-info.eclass b/eclass/user-info.eclass
new file mode 100644
index ..ea037d54dfdd
--- /dev/null
+++ b/eclass/user-info.eclass
@@ -0,0 +1,158 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# @ECLASS: user-info.eclass
+# @MAINTAINER:
+# base-sys...@gentoo.org (Linux)
+# Michał Górny  (NetBSD)
+# @BLURB: Read-only access to user and group information
+
+if [[ -z ${_USER_INFO_ECLASS} ]]; then
+_USER_INFO_ECLASS=1
+
+# @FUNCTION: egetent
+# @USAGE:  
+# @DESCRIPTION:
+# Small wrapper for getent (Linux), nidump (< Mac OS X 10.5),
+# dscl (Mac OS X 10.5), and pw (FreeBSD) used in enewuser()/enewgroup().
+#
+# Supported databases: group passwd
+egetent() {
+   local db=$1 key=$2
+
+   [[ $# -ge 3 ]] && die "usage: egetent  "
+
+   case ${db} in
+   passwd|group) ;;
+   *) die "sorry, database '${db}' not yet supported; file a bug" ;;
+   esac
+
+   case ${CHOST} in
+   *-freebsd*|*-dragonfly*)
+   case ${db} in
+   passwd) db="user" ;;
+   *) ;;
+   esac
+
+   # lookup by uid/gid
+   local opts
+   if [[ ${key} == [[:digit:]]* ]] ; then
+   [[ ${db} == "user" ]] && opts="-u" || opts="-g"
+   fi
+
+   pw show ${db} ${opts} "${key}" -q
+   ;;
+   *-openbsd*)
+   grep "${key}:\*:" /etc/${db}
+   ;;
+   *)
+   # ignore nscd output if we're not running as root
+   type -p nscd >/dev/null && nscd -i "${db}" 2>/dev/null
+   getent "${db}" "${key}"
+   ;;
+   esac
+}
+
+# @FUNCTION: egetusername
+# @USAGE: 
+# @DESCRIPTION:
+# Gets the username for given UID.
+egetusername() {
+   [[ $# -eq 1 ]] || die "usage: egetusername "
+
+   egetent passwd "$1" | cut -d: -f1
+}
+
+# @FUNCTION: egetgroupname
+# @USAGE: 
+# @DESCRIPTION:
+# Gets the group name for given GID.
+egetgroupname() {
+   [[ $# -eq 1 ]] || die "usage: egetgroupname "
+
+   egetent group "$1" | cut -d: -f1
+}
+
+# @FUNCTION: egethome
+# @USAGE: 
+# @DESCRIPTION:
+# Gets the home directory for the specified user.
+egethome() {
+   local pos
+
+   [[ $# -eq 1 ]] || die "usage: egethome "
+
+   case ${CHOST} in
+   *-freebsd*|*-dragonfly*)
+   pos=9
+   ;;
+   *)  # Linux, NetBSD, OpenBSD, etc...
+   pos=6
+   ;;
+   esac
+
+   egetent passwd "$1" | cut -d: -f${pos}
+}
+
+# @FUNCTION: egetshell
+# @USAGE: 
+# @DESCRIPTION:
+# Gets the shell for the specified user.
+egetshell() {
+   local pos
+
+   [[ $# -eq 1 ]] || die "usage: egetshell "
+
+   case ${CHOST} in
+   *-freebsd*|*-dragonfly*)
+   pos=10
+   ;;
+   *)  # Linux, NetBSD, OpenBSD, etc...
+   pos=7
+   ;;
+   esac
+
+   egetent passwd "$1" | cut -d: -f${pos}
+}
+
+# @FUNCTION: egetcomment
+# @USAGE: 
+# @DESCRIPTION:
+# Gets the comment field for the specified user.
+egetcomment() {
+   local pos
+
+   [[ $# -eq 1 ]] || die "usage: egetshell "
+
+   case ${CHOST} in
+   *-freebsd*|*-dragonfly*)
+   pos=8
+   ;;
+   *)  # Linux, NetBSD, OpenBSD, etc...
+   pos=5
+   ;;
+   esac
+
+   egetent passwd "$1" | cut -d: -f${pos}
+}
+
+# @FUNCTION: egetgroups
+# @USAGE: 
+# @DESCRIPTION:
+# Gets all the groups user belongs to.  The primary group is returned
+# first, then all supplementary groups.  Groups are ','-separated.
+egetgroups() {
+   [[ $# -eq 1 ]] || die "usage: egetgroups "
+
+   local egroups_arr
+   read -r -a egroups_arr < <(id -G -n "$1")
+
+   local g groups=${egroups_arr[0]}
+   # sort supplementary groups to make comparison possible
+   while read -r g; do
+   [[ -n ${g} ]] && groups+=",${g}"
+   done < <(printf '%s\n' "${egroups_arr[@]:1}" | sort)
+   echo "${groups}"
+}
+
+fi
diff --git a/eclass/user.eclass b/eclass/user.eclass
index f433d32bf7ed..9bd0b607eab8 100644
--- a/eclass/user.eclass
+++ b/eclass/user.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: user.eclass
@@ -13,6 +13,8 @@
 if [[ -z ${_USER_ECLASS} ]]; then
 _USER_ECLASS=1
 
+inherit user-info
+
 # @FUNCTION: _assert_pkg_ebuild_phase
 # @INTERNAL
 # 

[gentoo-dev] Last rites: net-im/turses

2020-02-05 Thread Michał Górny
# Michał Górny  (2020-02-05)
# Unmaintained.  No Python 3 support.  Last release ~2014, homepage
# gone.
# Removal in 30 days.  Bug #708352.
net-im/turses
sl
-- 
Best regards,
Michał Górny



signature.asc
Description: This is a digitally signed message part


Re: [gentoo-dev] Last-rites: net-misc/wicd

2020-02-05 Thread Stefan Strogin
Hi,

On 05/02/2020 09:11, Joonas Niilola wrote:
> 
> # Stagnant upstream with latest release from 2016, python2-only, no
> maintainer
> # in Gentoo, no notable ebuild action in years, multiple bugs open. Blocks
> # pygtk removal.
> # Switch to alternatives such as,
> # net-misc/connman, net-misc/dhcpcd, net-misc/netifrc,
> net-misc/NetworkManager
> # and so on. Removal in ~90 days. #
> 
> 90-day removal window due it possibly being used in low-maintenance servers.
> 
> Updated openrc ebuilds to not suggest installing wicd anymore but
> connman instead,
> https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a1a177f32dc3c792f5fc69f144b1728a705e1fba
> 

The upstream git is alive, it seems it is ported to Python 3,
but not released yet: https://git.launchpad.net/wicd/log/
Its git version is uploaded to Debian experimental:
https://salsa.debian.org/debian/wicd/tree/python3
https://packages.debian.org/experimental/wicd

So I am going to test if wicd-gtk from git works without pygtk and, if it does,
resurrect the ebuild.



[gentoo-dev] Last rites: dev-python/egenix-mx-base

2020-02-05 Thread Michał Górny
# Michał Górny  (2020-02-05)
# NIH utility package, last released 2015.  No Python 3 support.
# All remaining reverse dependencies are masked for removal.
# Removal in 30 days.  Bug #708332.
dev-python/egenix-mx-base

-- 
Best regards,
Michał Górny



signature.asc
Description: This is a digitally signed message part


[gentoo-dev] Last rites: sci-chemistry/shelx

2020-02-05 Thread Ulrich Mueller
# Ulrich Müller  (2020-02-05)
# Last version bump in 2014, while upstream is at 2019/1.
# Ebuild claims "free-noncomm", but has an inaccessible distfile
# behind a registration wall. Unresponsive Gentoo maintainer.
# Masked for removal in 30 days. Bug #702352.
sci-chemistry/shelx


signature.asc
Description: PGP signature