Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 532694 - dev-lang/scala-2.11*: some scala-* libraries are missing the ".jar" ending
Summary: dev-lang/scala-2.11*: some scala-* libraries are missing the ".jar" ending
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Java (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Java team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-12-16 11:29 UTC by Martin Walch
Modified: 2015-03-25 12:46 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Walch 2014-12-16 11:29:51 UTC
These are my scala libraries in /usr/share/scala/lib with dev-lang/scala-2.11.4:

jline.jar
scala-actors.jar
scala-compiler.jar
scala-continuations-library_2.
scala-continuations-plugin_2.
scala-library.jar
scala-parser-combinators_2.
scala-partest-extras.jar
scala-partest-javaagent.jar
scala-reflect.jar
scala-swing_2.
scala-xml_2.
scalap.jar

In the binary package from upstream, the names are

akka-actor_2.11-2.3.4.jar
config-1.2.1.jar
jline-2.12.jar
scala-actors-2.11.0.jar
scala-actors-migration_2.11-1.1.0.jar
scala-compiler.jar
scala-continuations-library_2.11-1.0.2.jar
scala-continuations-plugin_2.11.4-1.0.2.jar
scala-library.jar
scala-parser-combinators_2.11-1.0.2.jar
scala-reflect.jar
scala-swing_2.11-1.0.1.jar
scala-xml_2.11-1.0.2.jar
scalap-2.11.4.jar

As you can see, the file names that contain a version number with a dot have been cut off. Besides being ugly, this also prevents the usage of those libraries with many tools, as they refuse to use them as long as the name does not end in .jar (or .zip).


$ emerge --info
Portage 2.2.14 (python 3.3.5-final-0, default/linux/amd64/13.0/no-multilib, gcc-4.8.3, glibc-2.19-r1, 3.16.5-gentoo-gnu x86_64)
=================================================================
System uname: Linux-3.16.5-gentoo-gnu-x86_64-Intel-R-_Core-TM-2_Quad_CPU_Q6600_@_2.40GHz-with-gentoo-2.2
KiB Mem:     8169460 total,    864684 free
KiB Swap:    8388604 total,   8388520 free
Timestamp of tree: Mon, 15 Dec 2014 08:30:01 +0000
ld GNU ld (Gentoo 2.24 p1.4) 2.24
ccache version 3.1.9 [enabled]
app-shells/bash:          4.2_p53
dev-java/java-config:     2.2.0
dev-lang/perl:            5.18.2-r2
dev-lang/python:          2.7.7, 3.3.5-r1
dev-util/ccache:          3.1.9-r3
dev-util/cmake:           2.8.12.2-r1
dev-util/pkgconfig:       0.28-r1
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.12.4
sys-apps/sandbox:         2.6-r1
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.11.6-r1, 1.13.4
sys-devel/binutils:       2.24-r3
sys-devel/gcc:            4.8.3
sys-devel/gcc-config:     1.7.3
sys-devel/libtool:        2.4.2-r1
sys-devel/make:           4.0-r1
sys-kernel/linux-headers: 3.16 (virtual/os-headers)
sys-libs/glibc:           2.19-r1
Repositories: gentoo luman gentoo-scala-tools local
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="@FREE"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe -fgcse-after-reload -fpredictive-commoning -fvect-cost-model -ftree-partial-pre"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="${CONFIG_PROTECT} /etc /etc/idea/conf /usr/share/config /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=native -O2 -pipe -fgcse-after-reload -fpredictive-commoning -fvect-cost-model -ftree-partial-pre"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs ccache config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync"
FFLAGS="-march=native -O2 -pipe -fgcse-after-reload -fpredictive-commoning -fvect-cost-model -ftree-partial-pre"
GENTOO_MIRRORS="ftp://ftp.uni-erlangen.de/pub/mirrors/gentoo ftp://ftp-stud.hs-esslingen.de/pub/Mirrors/gentoo/"
LANG="de_DE.UTF-8"
LDFLAGS="-Wl,--as-needed -Wl,-O1"
MAKEOPTS="-j5"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/luman /var/lib/layman/gentoo-scala-tools /usr/local/portage"
USE="X acl alsa amd64 berkdb bindist bzip2 ccache cdr cdrdao cdrom cdsound cli cracklib crypt cups cxx dbus deblob dmx dri dvd dvdr emacs fortran gdbm git gpm grub gudev hpcups iconv ipv6 jabber java jpeg kate kde kdrive minizip mmx mng modules mysql ncurses nls nptl ogg openal opengl openmp openvg opus pam pcre pdf png policykit postscript powertop prelink qt3support qt4 readline sdl sdl-image sdl-sound sdlaudio sdlgfx session snmp sse sse2 sse3 ssl ssse3 subversion svg tcpd theora unicode usb vorbis vpx webp xhtml xinerama xmp xmpp xnest xvfb xvmc xz zlib" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="de en" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_3" RUBY_TARGETS="ruby19 ruby20" USERLAND="GNU" VIDEO_CARDS="fbdev intel nouveau nv vesa" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, SYNC, USE_PYTHON
Comment 1 Martin Walch 2014-12-16 11:36:13 UTC
Err, after submitting, now I see that it is a bit more complicated. Probably it has something to do with the underscore vs hyphen to separate version numbers. (Anyway, I did not investigate this in depth as I do not know much about the Gentoo Java stuff)
Comment 2 Mark Wright gentoo-dev 2015-01-15 11:01:44 UTC
Thanks for reporting.  This is what we get during the build:

argus lib # pwd
/var/tmp/portage/dev-lang/scala-2.11.4-r002-jdk-1.7-source-of-binary/work/scala-2.11.4/build/pack/lib
argus lib # ls -al
total 24996
drwxr-xr-x 2 portage portage       15 Nov 27 12:12 .
drwxr-xr-x 7 portage portage        9 Nov 27 12:18 ..
-rw-r--r-- 1 portage portage   213854 Nov 27 12:11 jline.jar
-rw-r--r-- 1 portage portage   465732 Nov 27 12:12 scala-actors.jar
-rw-r--r-- 1 portage portage 13481629 Nov 27 12:11 scala-compiler.jar
-rw-r--r-- 1 portage portage    25365 Nov 27 12:12 scala-continuations-library_2.11-1.0.2.jar
-rw-r--r-- 1 portage portage   206573 Nov 27 12:12 scala-continuations-plugin_2.11.2-1.0.2.jar
-rw-r--r-- 1 portage portage  5473676 Nov 27 12:11 scala-library.jar
-rw-r--r-- 1 portage portage   416065 Nov 27 12:12 scala-parser-combinators_2.11-1.0.2.jar
-rw-r--r-- 1 portage portage   175445 Nov 27 12:12 scala-partest-extras.jar
-rw-r--r-- 1 portage portage     4839 Nov 27 12:12 scala-partest-javaagent.jar
-rw-r--r-- 1 portage portage   756095 Nov 27 12:12 scalap.jar
-rw-r--r-- 1 portage portage  4342217 Nov 27 12:11 scala-reflect.jar
-rw-r--r-- 1 portage portage   726500 Nov 27 12:12 scala-swing_2.11-1.0.1.jar
-rw-r--r-- 1 portage portage   648678 Nov 27 12:12 scala-xml_2.11-1.0.2.jar
argus lib # 

I will rename them to strip the version numbers from the end
(which do not seem to match upstream's binary anyway), using something like:

argus lib # for i in *.jar; do echo "$(echo "${i}" | sed -e "s@_\?[0-9.-]*\.jar@.jar@")"; done
jline.jar
scala-actors.jar
scala-compiler.jar
scala-continuations-library.jar
scala-continuations-plugin.jar
scala-library.jar
scala-parser-combinators.jar
scala-partest-extras.jar
scala-partest-javaagent.jar
scalap.jar
scala-reflect.jar
scala-swing.jar
scala-xml.jar
argus lib # 

The classpath of all the jars can be obtained with:

java-config -p scala

It also seems time to drop some old versions and to work on bumping it to 2.11.5.
Comment 3 Martin Walch 2015-01-15 11:27:46 UTC
(In reply to Mark Wright from comment #2)
> It also seems time to drop some old versions and to work on bumping it to
> 2.11.5.

When doing so, can you keep the newest versions of the 2.9 and the 2.10 release series around? Actually needing Scala 2.9.x has become rare, but there are quite some projects (not in the portage tree) that are still incompatible with Scala 2.11 and therefore still need Scala 2.10. Also: would it be feasible to slot the ebuilds for parallel install (like SLOT="2.x")?
Comment 4 Mark Wright gentoo-dev 2015-01-15 12:47:37 UTC
Fixed:
Thanks to Martin Walch for reporting, fix Bug 532694 - dev-lang/scala-2.11*: some scala-* libraries are missing the ".jar" ending. Drop old versions.

(In reply to Martin Walch from comment #3)
> (In reply to Mark Wright from comment #2)
> > It also seems time to drop some old versions and to work on bumping it to
> > 2.11.5.
> 
> When doing so, can you keep the newest versions of the 2.9 and the 2.10
> release series around?

Sure, kept just for you :-)

> Actually needing Scala 2.9.x has become rare, but
> there are quite some projects (not in the portage tree) that are still
> incompatible with Scala 2.11 and therefore still need Scala 2.10. Also:
> would it be feasible to slot the ebuilds for parallel install (like
> SLOT="2.x")?

It appears that to install in multiple slots it would have to somehow
avoid collisions on:

/usr/share/man/man1
/usr/share/scala/src

I'm unsure if the java eclasses would avoid those ones.  I think they
would avoid the collisions on:

/usr/share/scala/lib
/usr/share/scala/bin

The ebuild could append the version numbers to the /usr/bin symlinks.
Comment 5 Mark Wright gentoo-dev 2015-03-25 12:46:50 UTC
Fixed.