[gentoo-dev] unmasking java 11 on gentoo (for those that maintain packages where java is involved, either directly or conditionally)

2021-04-14 Thread Miroslav Šulc

hi guys,

we're still far from unmasking java 11 on gentoo, but i hope it will 
happen, one day (or another...). currently there is one issue across the 
whole gentoo tree that is a sure blocker and could and should be easily 
resolved. as java 11 does not compile bytecode older than 1.6, 
everything that specifies in deps virtual/(jdk|jre)-1.[2-5] will fail to 
compile and run. these deps should be lifted up to 
virtual/(jdk|jre)-1.8. also, packages that depend on 
virtual/(jdk|jre)-1.[67] should be lifted up to 1.8 as that is the 
lowest version that we support on gentoo and future versions of java 
might drop support for 1.6 and 1.7 as well, but it's not a blocker for now.


just to get an idea how many ebuilds are affected, here's a short summary:

$ git --no-pager grep -Eho "virtual/(jre|jdk)-1.[2-7]" | sort | uniq -c
  1 virtual/jdk-1.2
  7 virtual/jdk-1.3
 68 virtual/jdk-1.4
    119 virtual/jdk-1.5
    444 virtual/jdk-1.6
    136 virtual/jdk-1.7
  1 virtual/jre-1.2
  7 virtual/jre-1.3
 68 virtual/jre-1.4
    124 virtual/jre-1.5
    460 virtual/jre-1.6
    113 virtual/jre-1.7

here's the list of all packages where java 1.5 or older is used:

$ git --no-pager grep -Elo "virtual/(jre|jdk)-1.[2-5]" | sed -E 
"s%/[^/]+$%%g" | sort | uniq

app-accessibility/brltty
app-accessibility/freetts
app-crypt/jacksum
app-emacs/jde
app-misc/jitac
app-office/hourglass
app-text/hyperestraier
dev-db/db-je
dev-db/hsqldb
dev-db/qdbm
dev-java/ant-contrib
dev-java/ant-owanttask
dev-java/apple-java-extensions-bin
dev-java/apt-mirror
dev-java/aspectj
dev-java/avalon-framework
dev-java/bcel
dev-java/bnd-junit
dev-java/bndlib
dev-java/browserlauncher2
dev-java/bytelist
dev-java/cal10n
dev-java/cdegroot-db
dev-java/cldc-api
dev-java/codemodel
dev-java/commons-el
dev-java/commons-fileupload
dev-java/commons-lang
dev-java/commons-math
dev-java/commons-net
dev-java/commons-pool
dev-java/commons-validator
dev-java/dtdparser
dev-java/easymock-classextension
dev-java/ehcache
dev-java/ezmorph
dev-java/fastinfoset
dev-java/fscript
dev-java/glassfish-persistence
dev-java/gnu-classpath
dev-java/gson
dev-java/hamcrest-integration
dev-java/hawtjni-runtime
dev-java/helpgui
dev-java/higlayout
dev-java/htmlcleaner
dev-java/ical4j
dev-java/jansi
dev-java/jarbundler
dev-java/java-dep-check
dev-java/java-getopt
dev-java/javahelp
dev-java/java-service-wrapper
dev-java/javolution
dev-java/jaxen
dev-java/jbitcollider-core
dev-java/jboss-logmanager
dev-java/jcmdline
dev-java/jcodings
dev-java/jdbc2-stdext
dev-java/jdbm
dev-java/jebl
dev-java/jgoodies-looks
dev-java/jid3
dev-java/jinput
dev-java/jisp
dev-java/jlibeps
dev-java/jnr-ffi
dev-java/jnr-netdb
dev-java/joni
dev-java/jortho
dev-java/jreleaseinfo
dev-java/jstun
dev-java/jta
dev-java/junit-addons
dev-java/junrar
dev-java/jvmstat
dev-java/jvyamlb
dev-java/jzlib
dev-java/j2ssh
dev-java/ldapsdk
dev-java/libg
dev-java/libmatthew-java
dev-java/l2fprod-common
dev-java/miglayout
dev-java/minlog
dev-java/mockito
dev-java/msv
dev-java/nekohtml
dev-java/odfdom
dev-java/osgi-compendium
dev-java/osgi-enterprise-api
dev-java/osgi-foundation
dev-java/pdf-renderer
dev-java/picocontainer
dev-java/prefuse
dev-java/radeox
dev-java/resin-servlet-api
dev-java/sblim-cim-client
dev-java/skinlf
dev-java/slf4j-ext
dev-java/spymemcached
dev-java/squareness-jlf
dev-java/stax-ex
dev-java/stax2-api
dev-java/sun-httpserver-bin
dev-java/sun-jai-bin
dev-java/sun-jimi
dev-java/sun-jms
dev-java/sun-jmx
dev-java/swingx
dev-java/swt
dev-java/tagsoup
dev-java/tapestry
dev-java/validation-api
dev-java/werken-xpath
dev-java/wsdl4j
dev-java/xmlstreambuffer
dev-java/xom
dev-java/zeus-jscl
dev-lang/interprolog
dev-lang/R
dev-lang/xsb
dev-libs/OpenNI
dev-libs/OpenNI2
dev-lisp/abcl
dev-ruby/rjb
dev-tex/tex4ht
dev-util/android-sdk-update-manager
dev-util/jarwizard
dev-util/oprofile
games-board/domination
games-board/megamek
games-puzzle/pauker
java-virtuals/jmx
media-gfx/freewrl
media-gfx/graphviz
media-gfx/povtree
media-libs/libcaca
media-libs/libjpeg-turbo
media-libs/libpano13
media-libs/mlt
media-sound/entagged-tageditor
media-sound/protux
media-tv/channeleditor
media-video/projectx
net-analyzer/munin
net-analyzer/neti
net-dns/libidn
net-libs/NativeThread
net-misc/tigervnc
net-nds/jxplorer
sci-biology/amap
sci-libs/cdf
sci-libs/libsigrok
sci-libs/libsvm
sci-libs/plplot
sci-misc/netlogo-bin
sci-physics/jaxodraw
sci-physics/thepeg
sys-devel/gettext
sys-libs/db

i would like to ask you to revisit your packages where java 1.5 or lower 
is specified and lift the restriction up to 1.8. you might want to do 
the same for 1.7 and 1.8 or just leave it for the time when bumping the 
package. you must do the update in a revbump, as it affects the format 
of java (.jar) files generated and it would not be picked up if done 
in-place and would cause an issue in the future that the existing java 
files would not be supported at the runtime (if not recompiled) due to 
an obsolete format.


the correct ways to specify the dep

Re: [gentoo-dev] unmasking java 11 on gentoo (for those that maintain packages where java is involved, either directly or conditionally)

2021-04-14 Thread Miroslav Šulc
according to flow's question, here's the update to config files without 
the obsolete and irrelevant stuff:


# grep -r openjdk /etc/portage/*
/etc/portage/package.use/multi:dev-java/openjdk gentoo-vm
/etc/portage/package.use/multi:dev-java/openjdk-bin gentoo-vm
/etc/portage/profile/package.use.mask/multi:dev-java/openjdk:11 -gentoo-vm
/etc/portage/profile/package.use.mask/multi:dev-java/openjdk-bin:11 
-gentoo-vm


fordfrog


Dne 14. 04. 21 v 9:45 Miroslav Šulc napsal(a):

hi guys,

we're still far from unmasking java 11 on gentoo, but i hope it will 
happen, one day (or another...). currently there is one issue across 
the whole gentoo tree that is a sure blocker and could and should be 
easily resolved. as java 11 does not compile bytecode older than 1.6, 
everything that specifies in deps virtual/(jdk|jre)-1.[2-5] will fail 
to compile and run. these deps should be lifted up to 
virtual/(jdk|jre)-1.8. also, packages that depend on 
virtual/(jdk|jre)-1.[67] should be lifted up to 1.8 as that is the 
lowest version that we support on gentoo and future versions of java 
might drop support for 1.6 and 1.7 as well, but it's not a blocker for 
now.


just to get an idea how many ebuilds are affected, here's a short 
summary:


$ git --no-pager grep -Eho "virtual/(jre|jdk)-1.[2-7]" | sort | uniq -c
  1 virtual/jdk-1.2
  7 virtual/jdk-1.3
 68 virtual/jdk-1.4
    119 virtual/jdk-1.5
    444 virtual/jdk-1.6
    136 virtual/jdk-1.7
  1 virtual/jre-1.2
  7 virtual/jre-1.3
 68 virtual/jre-1.4
    124 virtual/jre-1.5
    460 virtual/jre-1.6
    113 virtual/jre-1.7

here's the list of all packages where java 1.5 or older is used:

$ git --no-pager grep -Elo "virtual/(jre|jdk)-1.[2-5]" | sed -E 
"s%/[^/]+$%%g" | sort | uniq

app-accessibility/brltty
app-accessibility/freetts
app-crypt/jacksum
app-emacs/jde
app-misc/jitac
app-office/hourglass
app-text/hyperestraier
dev-db/db-je
dev-db/hsqldb
dev-db/qdbm
dev-java/ant-contrib
dev-java/ant-owanttask
dev-java/apple-java-extensions-bin
dev-java/apt-mirror
dev-java/aspectj
dev-java/avalon-framework
dev-java/bcel
dev-java/bnd-junit
dev-java/bndlib
dev-java/browserlauncher2
dev-java/bytelist
dev-java/cal10n
dev-java/cdegroot-db
dev-java/cldc-api
dev-java/codemodel
dev-java/commons-el
dev-java/commons-fileupload
dev-java/commons-lang
dev-java/commons-math
dev-java/commons-net
dev-java/commons-pool
dev-java/commons-validator
dev-java/dtdparser
dev-java/easymock-classextension
dev-java/ehcache
dev-java/ezmorph
dev-java/fastinfoset
dev-java/fscript
dev-java/glassfish-persistence
dev-java/gnu-classpath
dev-java/gson
dev-java/hamcrest-integration
dev-java/hawtjni-runtime
dev-java/helpgui
dev-java/higlayout
dev-java/htmlcleaner
dev-java/ical4j
dev-java/jansi
dev-java/jarbundler
dev-java/java-dep-check
dev-java/java-getopt
dev-java/javahelp
dev-java/java-service-wrapper
dev-java/javolution
dev-java/jaxen
dev-java/jbitcollider-core
dev-java/jboss-logmanager
dev-java/jcmdline
dev-java/jcodings
dev-java/jdbc2-stdext
dev-java/jdbm
dev-java/jebl
dev-java/jgoodies-looks
dev-java/jid3
dev-java/jinput
dev-java/jisp
dev-java/jlibeps
dev-java/jnr-ffi
dev-java/jnr-netdb
dev-java/joni
dev-java/jortho
dev-java/jreleaseinfo
dev-java/jstun
dev-java/jta
dev-java/junit-addons
dev-java/junrar
dev-java/jvmstat
dev-java/jvyamlb
dev-java/jzlib
dev-java/j2ssh
dev-java/ldapsdk
dev-java/libg
dev-java/libmatthew-java
dev-java/l2fprod-common
dev-java/miglayout
dev-java/minlog
dev-java/mockito
dev-java/msv
dev-java/nekohtml
dev-java/odfdom
dev-java/osgi-compendium
dev-java/osgi-enterprise-api
dev-java/osgi-foundation
dev-java/pdf-renderer
dev-java/picocontainer
dev-java/prefuse
dev-java/radeox
dev-java/resin-servlet-api
dev-java/sblim-cim-client
dev-java/skinlf
dev-java/slf4j-ext
dev-java/spymemcached
dev-java/squareness-jlf
dev-java/stax-ex
dev-java/stax2-api
dev-java/sun-httpserver-bin
dev-java/sun-jai-bin
dev-java/sun-jimi
dev-java/sun-jms
dev-java/sun-jmx
dev-java/swingx
dev-java/swt
dev-java/tagsoup
dev-java/tapestry
dev-java/validation-api
dev-java/werken-xpath
dev-java/wsdl4j
dev-java/xmlstreambuffer
dev-java/xom
dev-java/zeus-jscl
dev-lang/interprolog
dev-lang/R
dev-lang/xsb
dev-libs/OpenNI
dev-libs/OpenNI2
dev-lisp/abcl
dev-ruby/rjb
dev-tex/tex4ht
dev-util/android-sdk-update-manager
dev-util/jarwizard
dev-util/oprofile
games-board/domination
games-board/megamek
games-puzzle/pauker
java-virtuals/jmx
media-gfx/freewrl
media-gfx/graphviz
media-gfx/povtree
media-libs/libcaca
media-libs/libjpeg-turbo
media-libs/libpano13
media-libs/mlt
media-sound/entagged-tageditor
media-sound/protux
media-tv/channeleditor
media-video/projectx
net-analyzer/munin
net-analyzer/neti
net-dns/libidn
net-libs/NativeThread
net-misc/tigervnc
net-nds/jxplorer
sci-biology/amap
sci-libs/cdf
sci-libs/libsigrok
sci-libs/libsvm
sci-libs/plplot
sci-misc/netlogo-bin
sci-physics/jaxodraw
sci-physics/thepeg
sys-devel/gettext
sys-libs/db

i would like to ask you to revisit your packages where java 1.5 or 
lower is spe

[gentoo-dev] last-rite: dev-java/odfdom & dev-java/saaj

2021-04-14 Thread Miroslav Šulc

# Miroslav Šulc  (2021-04-14)
# java libraries not used by any other package,
# masked for removal
dev-java/odfdom
dev-java/saaj




[gentoo-dev] [PATCH v2] rebar.eclass: fix @RETURN argument

2021-04-14 Thread Florian Schmaus
Previously "pkgcheck scan rebar.class" would complain about

EclassDocError: rebar: failed parsing eclass docs: '@RETURN:', line 61: 
non-inline arg

Thanks to Ulrich Müller for providing feedback.

Signed-off-by: Florian Schmaus 
---
 eclass/rebar.eclass | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/eclass/rebar.eclass b/eclass/rebar.eclass
index 7f712905c407..f43c036b22ea 100644
--- a/eclass/rebar.eclass
+++ b/eclass/rebar.eclass
@@ -53,9 +53,7 @@ get_erl_libs() {
 # @FUNCTION: _rebar_find_dep
 # @INTERNAL
 # @USAGE: 
-# @RETURN: full path with EPREFIX to a Erlang package/project on success,
-# code 1 when dependency is not found and code 2 if multiple versions of
-# dependency are found.
+# @RETURN: 0 success, 1 dependency not found, 2 multiple versions found
 # @DESCRIPTION:
 # Find a Erlang package/project by name in Erlang lib directory. Project
 # directory is usually suffixed with version. It is matched to ''
-- 
2.30.2




[gentoo-dev] Last rites: x11-themes/gtk-engines-aurora

2021-04-14 Thread Jonas Stein

# Jonas Stein  (2021-04-15)
# Depends on gtk2, which is EOL
# Removal on 2021-06-01.  Bug #782904.
x11-themes/gtk-engines-aurora



[gentoo-dev] Packages up for grabs: www-apache/anyterm

2021-04-14 Thread Jonas Stein

Dear all

the following packages are up for grabs after dropping
web-apps:

www-apache/anyterm
https://packages.gentoo.org/packages/www-apache/anyterm

There is a version bump, which likely fixes our bugs
https://bugs.gentoo.org/782907

Please take care for this package, because
https://bugs.gentoo.org/732282
could lead to removal.

--
Best,
Jonas



[gentoo-dev] [PATCH 1/4] elisp-common.eclass: Add timeout to version detection

2021-04-14 Thread Ulrich Müller
Signed-off-by: Ulrich Müller 
---
 eclass/elisp-common.eclass | 6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/eclass/elisp-common.eclass b/eclass/elisp-common.eclass
index 832fc19e4675..bdf97f413033 100644
--- a/eclass/elisp-common.eclass
+++ b/eclass/elisp-common.eclass
@@ -219,7 +219,9 @@ _ELISP_EMACS_VERSION=""
 # Output version of currently active Emacs.
 
 elisp-emacs-version() {
-   local version ret
+   local version ret tmout="timeout -k 5 55"
+   # Run without timeout if the command is not available
+   ${tmout} true &>/dev/null || tmout=""
# The following will work for at least versions 18-24.
echo "(princ emacs-version)" >"${T}"/emacs-version.el
version=$(
@@ -228,7 +230,7 @@ elisp-emacs-version() {
# Redirecting stdin and unsetting TERM and DISPLAY will cause
# most of them to exit with an error.
unset TERM DISPLAY
-   ${EMACS} ${EMACSFLAGS} -l "${T}"/emacs-version.el 

[gentoo-dev] [PATCH 2/4] elisp-common.eclass: Drop deprecated elisp-need-emacs()

2021-04-14 Thread Ulrich Müller
Signed-off-by: Ulrich Müller 
---
 eclass/elisp-common.eclass | 21 -
 1 file changed, 21 deletions(-)

diff --git a/eclass/elisp-common.eclass b/eclass/elisp-common.eclass
index bdf97f413033..f7e3631a965c 100644
--- a/eclass/elisp-common.eclass
+++ b/eclass/elisp-common.eclass
@@ -276,27 +276,6 @@ elisp-check-emacs-version() {
fi
 }
 
-# Test if the eselected Emacs version is at least the major version
-# of GNU Emacs specified as argument.
-# Return 0 if true, 1 if false, 2 if trouble.
-# Deprecated, use elisp-check-emacs-version instead.
-
-elisp-need-emacs() {
-   local need_emacs=$1 have_emacs
-   have_emacs=$(elisp-emacs-version) || return 2
-   einfo "Emacs version: ${have_emacs}"
-   if [[ ${have_emacs} =~ XEmacs|Lucid ]]; then
-   eerror "This package needs GNU Emacs."
-   return 1
-   fi
-   if ! [[ ${have_emacs%%.*} -ge ${need_emacs%%.*} ]]; then
-   eerror "This package needs at least Emacs ${need_emacs%%.*}."
-   eerror "Use \"eselect emacs\" to select the active version."
-   return 1
-   fi
-   return 0
-}
-
 # @FUNCTION: elisp-compile
 # @USAGE: 
 # @DESCRIPTION:
-- 
2.31.1




[gentoo-dev] [PATCH 3/4] elisp.eclass: Drop support for EAPI 4 and 5

2021-04-14 Thread Ulrich Müller
Signed-off-by: Ulrich Müller 
---
 eclass/elisp.eclass | 26 --
 1 file changed, 8 insertions(+), 18 deletions(-)

diff --git a/eclass/elisp.eclass b/eclass/elisp.eclass
index a092041009bf..d763a4944d2d 100644
--- a/eclass/elisp.eclass
+++ b/eclass/elisp.eclass
@@ -9,7 +9,7 @@
 # Jeremy Maitin-Shepard 
 # Christian Faulhammer 
 # Ulrich Müller 
-# @SUPPORTED_EAPIS: 4 5 6 7
+# @SUPPORTED_EAPIS: 6 7
 # @BLURB: Eclass for Emacs Lisp packages
 # @DESCRIPTION:
 #
@@ -40,7 +40,7 @@
 # Space separated list of patches to apply after unpacking the sources.
 # Patch files are searched for in the current working dir, WORKDIR, and
 # FILESDIR.  This variable is semi-deprecated, preferably use the
-# PATCHES array instead if the EAPI supports it.
+# PATCHES array instead.
 
 # @ECLASS-VARIABLE: ELISP_REMOVE
 # @DEFAULT_UNSET
@@ -62,8 +62,8 @@
 # will be generated in src_compile() and installed in src_install().
 
 inherit elisp-common
+
 case ${EAPI:-0} in
-   4|5) inherit epatch ;;
6|7) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
 esac
@@ -73,8 +73,7 @@ EXPORT_FUNCTIONS 
src_{unpack,prepare,configure,compile,install} \
 
 RDEPEND=">=app-editors/emacs-${NEED_EMACS}:*"
 case ${EAPI} in
-   4) RDEPEND="${RDEPEND%:*}"; DEPEND="${RDEPEND}" ;;
-   5|6) DEPEND="${RDEPEND}" ;;
+   6) DEPEND="${RDEPEND}" ;;
*) BDEPEND="${RDEPEND}" ;;
 esac
 
@@ -118,17 +117,11 @@ elisp_src_prepare() {
else
die "Cannot find ${patch}"
fi
-   case ${EAPI} in
-   4|5) epatch "${file}" ;;
-   *) eapply "${file}" ;;
-   esac
+   eapply "${file}"
done
 
-   # apply PATCHES (if supported in EAPI), and any user patches
-   case ${EAPI} in
-   4|5) epatch_user ;;
-   *) default ;;
-   esac
+   # apply PATCHES and any user patches
+   default
 
if [[ -n ${ELISP_REMOVE} ]]; then
rm ${ELISP_REMOVE} || die
@@ -172,10 +165,7 @@ elisp_src_install() {
doinfo ${@/%.*/.info*}
fi
# install documentation only when explicitly requested
-   case ${EAPI} in
-   4|5) [[ -n ${DOCS} ]] && dodoc ${DOCS} ;;
-   *) [[ $(declare -p DOCS 2>/dev/null) == *=* ]] && einstalldocs 
;;
-   esac
+   [[ $(declare -p DOCS 2>/dev/null) == *=* ]] && einstalldocs
if declare -f readme.gentoo_create_doc >/dev/null; then
readme.gentoo_create_doc
fi
-- 
2.31.1




[gentoo-dev] [PATCH 4/4] elisp-common.eclass: Drop support for EAPI 4

2021-04-14 Thread Ulrich Müller
Signed-off-by: Ulrich Müller 
---
 eclass/elisp-common.eclass | 7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/eclass/elisp-common.eclass b/eclass/elisp-common.eclass
index f7e3631a965c..90621cbe7b92 100644
--- a/eclass/elisp-common.eclass
+++ b/eclass/elisp-common.eclass
@@ -10,6 +10,7 @@
 # Mamoru Komachi 
 # Christian Faulhammer 
 # Ulrich Müller 
+# @SUPPORTED_EAPIS: 5 6 7
 # @BLURB: Emacs-related installation utilities
 # @DESCRIPTION:
 #
@@ -165,7 +166,7 @@
 # to above calls of elisp-site-regen().
 
 case ${EAPI:-0} in
-   4|5|6) inherit eapi7-ver ;;
+   5|6) inherit eapi7-ver ;;
7) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
 esac
@@ -361,7 +362,7 @@ elisp-modules-install() {
shift
# Don't bother inheriting multilib.eclass for get_libdir(), but
# error out in old EAPIs that don't support it natively.
-   [[ ${EAPI} == [45] ]] \
+   [[ ${EAPI} == 5 ]] \
&& die "${ECLASS}: Dynamic modules not supported in EAPI 
${EAPI}"
ebegin "Installing dynamic modules for GNU Emacs support"
( # subshell to avoid pollution of calling environment
@@ -390,7 +391,7 @@ elisp-site-file-install() {
sf="${T}/${sf}"
ebegin "Installing site initialisation file for GNU Emacs"
[[ $1 = "${sf}" ]] || cp "$1" "${sf}"
-   if [[ ${EAPI} == [45] ]]; then
+   if [[ ${EAPI} == 5 ]]; then
grep -q "@EMACSMODULES@" "${sf}" \
&& die "${ECLASS}: Dynamic modules not supported in 
EAPI ${EAPI}"
else
-- 
2.31.1