[gentoo-dev] unmasking java 11 on gentoo (for those that maintain packages where java is involved, either directly or conditionally)
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)
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
# 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
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
# 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
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
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()
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
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
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