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
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)
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.
(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")?
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.
Fixed.