From 5c726db2c85ab7efec83889ecf5f6badc49ac35c Mon Sep 17 00:00:00 2001 From: James Antill Date: Mon, 8 Aug 2022 14:07:52 -0400 Subject: [PATCH] Import rpm: 67ca63b5f7a41b8ecc23d8a83001970536821592 --- .gitignore | 3 + fsc.in | 45 ++ generate-tarball.sh | 26 + get-source.sh | 22 + scala-2.10-jline.patch | 107 ++++ scala-2.10.0-bnd.patch | 22 + scala-2.10.0-java7.patch | 237 +++++++++ scala-2.10.0-tooltemplate.patch | 21 + scala-2.10.0-use_system_jline.patch | 135 ++++++ scala-2.10.1-bc.patch | 28 ++ scala-2.10.2-java7.patch | 198 ++++++++ scala-2.10.3-build_xml.patch | 635 ++++++++++++++++++++++++ scala-2.10.3-compiler-pom.patch | 15 + scala-2.10.3-use_system_jline.patch | 109 +++++ scala-2.10.4-build_xml.patch | 675 ++++++++++++++++++++++++++ scala-2.10.6-scaladoc-resources.patch | 25 + scala-bootstript.xml | 152 ++++++ scala-library-2.10.0-bnd.properties | 3 + scala-mime-info.xml | 8 + scala-tooltemplate.patch | 66 +++ scala.ant.d | 1 + scala.gitinfo | 2 + scala.in | 46 ++ scala.keys | 4 + scala.mime | 2 + scala.spec | 641 ++++++++++++++++++++++++ scalac.in | 45 ++ scaladoc.in | 45 ++ sources | 3 + 29 files changed, 3321 insertions(+) create mode 100644 .gitignore create mode 100644 fsc.in create mode 100755 generate-tarball.sh create mode 100755 get-source.sh create mode 100644 scala-2.10-jline.patch create mode 100644 scala-2.10.0-bnd.patch create mode 100644 scala-2.10.0-java7.patch create mode 100644 scala-2.10.0-tooltemplate.patch create mode 100644 scala-2.10.0-use_system_jline.patch create mode 100644 scala-2.10.1-bc.patch create mode 100644 scala-2.10.2-java7.patch create mode 100644 scala-2.10.3-build_xml.patch create mode 100644 scala-2.10.3-compiler-pom.patch create mode 100644 scala-2.10.3-use_system_jline.patch create mode 100644 scala-2.10.4-build_xml.patch create mode 100644 scala-2.10.6-scaladoc-resources.patch create mode 100644 scala-bootstript.xml create mode 100644 scala-library-2.10.0-bnd.properties create mode 100644 scala-mime-info.xml create mode 100644 scala-tooltemplate.patch create mode 100644 scala.ant.d create mode 100644 scala.gitinfo create mode 100644 scala.in create mode 100644 scala.keys create mode 100644 scala.mime create mode 100644 scala.spec create mode 100644 scalac.in create mode 100644 scaladoc.in create mode 100644 sources diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..688d60c --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +SOURCES/scala-2.10.3-bootstrap.tgz +SOURCES/scala-2.10.4.tgz +SOURCES/scala-2.10.6.tar.gz diff --git a/fsc.in b/fsc.in new file mode 100644 index 0000000..fd304cc --- /dev/null +++ b/fsc.in @@ -0,0 +1,45 @@ +#!/bin/sh + +############################################################################## +# Fast Scala compiler 2.6.1-RC2 +############################################################################## +# (c) 2002-2007 LAMP/EPFL +# +# This is free software; see the distribution for copying conditions. +# There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. +############################################################################## + +[ -r @@JAVADIR@@-utils/java-functions ] \ + && . @@JAVADIR@@-utils/java-functions || exit 1 + +set_javacmd || exit 3 +check_java_env || exit 4 +set_jvm_dirs || exit 5 + +SCALA_HOME="@@DATADIR@@/scala" + +# Constructing the extension classpath +EXTENSION_CLASSPATH="" +if [ -z "$EXTENSION_CLASSPATH" ] ; then + for ext in `ls -d "$SCALA_HOME"/lib/*` ; do + if [ -z "$EXTENSION_CLASSPATH" ] ; then + EXTENSION_CLASSPATH="$ext" + else + EXTENSION_CLASSPATH="$EXTENSION_CLASSPATH:$ext" + fi + done +fi + +BOOT_CLASSPATH="`build-classpath scala/scala-library`" + +if [ $? != 0 ]; then + echo $"Could not find the scala library jar." >&2 + echo $"Please check that Java is configured properly." >&2 + exit 6 +fi + +# Reminder: substitution ${JAVA_OPTS:=-Xmx256M -Xms16M} DO NOT work on Solaris +[ -n "$JAVA_OPTS" ] || JAVA_OPTS="" + +$JAVACMD $JAVA_OPTS -Xbootclasspath/a:"$BOOT_CLASSPATH" -cp "$EXTENSION_CLASSPATH" -Dscala.home="$SCALA_HOME" -Denv.classpath="$CLASSPATH" -Denv.emacs="$EMACS" scala.tools.nsc.CompileClient "$@" diff --git a/generate-tarball.sh b/generate-tarball.sh new file mode 100755 index 0000000..06dd204 --- /dev/null +++ b/generate-tarball.sh @@ -0,0 +1,26 @@ +#!/bin/bash +set -e + +name=scala +version="$(sed -n 's/Version:\s*//p' *.spec)" + +# RETRIEVE +wget "https://github.com/scala/scala/archive/v${version}.tar.gz" -O "${name}-${version}.orig.tar.gz" + +rm -rf tarball-tmp +mkdir tarball-tmp +cd tarball-tmp +tar xf "../${name}-${version}.orig.tar.gz" + +# CLEAN TARBALL +find -name '*.jar' -delete +find -name '*.class' -delete +# Possibly proprietary code +find -name '*.dll' -delete +find -name '*.so' -delete +# Contains minified js of uncertain origin +rm -r */src/compiler/scala/tools/nsc/doc/html/resource/lib + +tar cf "../${name}-${version}.tar.gz" * +cd .. +rm -r tarball-tmp "${name}-${version}.orig.tar.gz" diff --git a/get-source.sh b/get-source.sh new file mode 100755 index 0000000..273f983 --- /dev/null +++ b/get-source.sh @@ -0,0 +1,22 @@ +#!/bin/sh +set -x + +VER=$(fedpkg verrel | sed -e 's/^scala\-\(.*\)\-.*$/\1/') + +FNS=scala-$VER + +rm -rf $FNS/ +git clone git://github.com/scala/scala.git $FNS +cd $FNS +git checkout v$VER +git log --pretty=format:"%H%n%ci" v$VER | head -n 2 | \ + sed -e 's/\-//g' -e 's/\s\+.*//g' >../scala.gitinfo +cd .. +tar -zcf $FNS.tgz --exclude $FNS/.git $FNS/ +cd $FNS +./pull-binary-libs.sh +rm -rf lib/jline.jar +tar -zcf ../$FNS-bootstrap.tgz --exclude .git lib/*.jar +cd .. +rm -rf $FNS/ +fedpkg new-sources $FNS.tgz $FNS-bootstrap.tgz diff --git a/scala-2.10-jline.patch b/scala-2.10-jline.patch new file mode 100644 index 0000000..59ec518 --- /dev/null +++ b/scala-2.10-jline.patch @@ -0,0 +1,107 @@ +diff --git a/src/compiler/scala/tools/nsc/interpreter/JLineReader.scala b/src/compiler/scala/tools/nsc/interpreter/JLineReader.scala +index 10f9724..2970276 100644 +--- a/src/compiler/scala/tools/nsc/interpreter/JLineReader.scala ++++ b/src/compiler/scala/tools/nsc/interpreter/JLineReader.scala +@@ -42,7 +42,7 @@ class JLineReader(_completion: => Completion) extends InteractiveReader { + def readOneKey(prompt: String) = { + this.print(prompt) + this.flush() +- this.readVirtualKey() ++ this.readCharacter() + } + def eraseLine() = consoleReader.resetPromptLine("", "", 0) + def redrawLineAndFlush(): Unit = { flush() ; drawLine() ; flush() } +diff --git a/src/compiler/scala/tools/nsc/interpreter/session/FileBackedHistory.scala b/src/compiler/scala/tools/nsc/interpreter/session/FileBackedHistory.scala +index dddfb1b..e598ac5 100644 +--- a/src/compiler/scala/tools/nsc/interpreter/session/FileBackedHistory.scala ++++ b/src/compiler/scala/tools/nsc/interpreter/session/FileBackedHistory.scala +@@ -13,7 +13,7 @@ import FileBackedHistory._ + /** TODO: file locking. + */ + trait FileBackedHistory extends JLineHistory with JPersistentHistory { +- def maxSize: Int ++ def maxSize: Int = 2500 + protected lazy val historyFile: File = defaultFile + private var isPersistent = true + +diff --git a/src/compiler/scala/tools/nsc/interpreter/session/JLineHistory.scala b/src/compiler/scala/tools/nsc/interpreter/session/JLineHistory.scala +index 18e0ee7..fc33192 100644 +--- a/src/compiler/scala/tools/nsc/interpreter/session/JLineHistory.scala ++++ b/src/compiler/scala/tools/nsc/interpreter/session/JLineHistory.scala +@@ -13,7 +13,6 @@ package session + trait JLineHistory extends JHistory with History { + def size: Int + def isEmpty: Boolean +- def index: Int + def clear(): Unit + def get(index: Int): CharSequence + def add(line: CharSequence): Unit +@@ -42,7 +41,8 @@ object JLineHistory { + addLineToFile(item) + } + } +- override def toString = "History(size = " + size + ", index = " + index + ")" ++ override def toString = "History(size = " + size + ", _index = " + index + ")" ++ override def maxSize: Int = 2500 + } + + def apply(): JLineHistory = try new JLineFileHistory catch { case x: Exception => new SimpleHistory() } +diff --git a/src/compiler/scala/tools/nsc/interpreter/session/SimpleHistory.scala b/src/compiler/scala/tools/nsc/interpreter/session/SimpleHistory.scala +index 9f4e2b9..8933849 100644 +--- a/src/compiler/scala/tools/nsc/interpreter/session/SimpleHistory.scala ++++ b/src/compiler/scala/tools/nsc/interpreter/session/SimpleHistory.scala +@@ -10,7 +10,7 @@ package session + import scala.collection.mutable.{ Buffer, ListBuffer } + import scala.collection.JavaConverters._ + +-class SimpleHistory extends JLineHistory { ++class SimpleHistory extends JMemoryHistory with JLineHistory { + private var _index: Int = 0 + private val buf: Buffer[String] = new ListBuffer[String] + private def toEntries(): Seq[JEntry] = buf.zipWithIndex map { case (x, i) => Entry(i, x) } +@@ -32,27 +32,27 @@ class SimpleHistory extends JLineHistory { + def maxSize: Int = 2500 + def last = if (isEmpty) fail("last") else buf.last + +- def size = buf.size +- def index = _index +- def isEmpty = buf.isEmpty +- def clear() = buf.clear() +- def get(idx: Int): CharSequence = buf(idx) +- def add(item: CharSequence): Unit = buf += item +- def replace(item: CharSequence): Unit = { ++ override def size = buf.size ++ override def index = _index ++ override def isEmpty = buf.isEmpty ++ override def clear() = buf.clear() ++ override def get(idx: Int): CharSequence = buf(idx) ++ override def add(item: CharSequence): Unit = buf += item ++ override def replace(item: CharSequence): Unit = { + buf trimEnd 1 + add(item) + } +- def entries(idx: Int): JListIterator[JEntry] = toEntries().asJava.listIterator(idx) +- def entries(): JListIterator[JEntry] = toEntries().asJava.listIterator() +- def iterator: JIterator[JEntry] = toEntries().iterator.asJava +- +- def current() = if (index >= 0 && index < buf.size) buf(index) else fail("current()") +- def previous() = (index > 0) && minusOne +- def next() = (index <= lastIndex) && plusOne +- def moveToFirst() = (size > 0) && (index != 0) && setTo(0) +- def moveToLast() = (size > 0) && (index < lastIndex) && setTo(lastIndex) +- def moveTo(idx: Int) = (idx > 0) && (idx <= lastIndex) && setTo(idx) +- def moveToEnd(): Unit = setTo(size) ++ override def entries(idx: Int): JListIterator[JEntry] = toEntries().asJava.listIterator(idx) ++ override def entries(): JListIterator[JEntry] = toEntries().asJava.listIterator() ++ override def iterator: JIterator[JEntry] = toEntries().iterator.asJava ++ ++ override def current() = if (index >= 0 && index < buf.size) buf(index) else fail("current()") ++ override def previous() = (index > 0) && minusOne ++ override def next() = (index <= lastIndex) && plusOne ++ override def moveToFirst() = (size > 0) && (index != 0) && setTo(0) ++ override def moveToLast() = (size > 0) && (index < lastIndex) && setTo(lastIndex) ++ override def moveTo(idx: Int) = (idx > 0) && (idx <= lastIndex) && setTo(idx) ++ override def moveToEnd(): Unit = setTo(size) + + // scala legacy interface + def asList: List[JEntry] = toEntries().toList diff --git a/scala-2.10.0-bnd.patch b/scala-2.10.0-bnd.patch new file mode 100644 index 0000000..cf06ee9 --- /dev/null +++ b/scala-2.10.0-bnd.patch @@ -0,0 +1,22 @@ +diff -up scala-2.10.0-sources/build.xml.bndx scala-2.10.0-sources/build.xml +--- scala-2.10.0-sources/build.xml.bndx 2013-01-07 22:47:24.862355735 +0100 ++++ scala-2.10.0-sources/build.xml 2013-01-07 22:55:35.930399829 +0100 +@@ -280,9 +280,6 @@ INITIALISATION + + + +- +- +- + + + +@@ -297,7 +294,7 @@ INITIALISATION + + + +- ++ + + + diff --git a/scala-2.10.0-java7.patch b/scala-2.10.0-java7.patch new file mode 100644 index 0000000..62ccde5 --- /dev/null +++ b/scala-2.10.0-java7.patch @@ -0,0 +1,237 @@ +diff -up scala-2.10.0-RC3-sources/build.xml.jdk7 scala-2.10.0-RC3-sources/build.xml +--- scala-2.10.0-RC3-sources/build.xml.jdk7 2012-12-08 16:10:10.948127863 +0100 ++++ scala-2.10.0-RC3-sources/build.xml 2012-12-08 16:16:20.267162236 +0100 +@@ -1087,7 +1087,7 @@ QUICK BUILD (QUICK) + + + +- ++ + + + +- ++ + + + +@@ -1726,7 +1726,7 @@ OSGi Artifacts + + + +- ++ + + + +@@ -1869,7 +1869,7 @@ BOOTSTRAPPING BUILD (STRAP) + + + +- ++ + s.toFloat, s => s.toString) + implicit def doubleEditor(c: ComboBox[Double]): Editor[Double] = new BuiltInEditor(c)(s => s.toDouble, s => s.toString) + +- def newConstantModel[A](items: Seq[A]): ComboBoxModel = { +- new AbstractListModel with ComboBoxModel { ++ def newConstantModel[A](items: Seq[A]): ComboBoxModel[A] = { ++ new AbstractListModel[A] with ComboBoxModel[A] { + private var selected: A = if (items.isEmpty) null.asInstanceOf[A] else items(0) +- def getSelectedItem: AnyRef = selected.asInstanceOf[AnyRef] ++ def getSelectedItem = selected.asInstanceOf[AnyRef] + def setSelectedItem(a: Any) { + if ((selected != null && selected != a) || + selected == null && a != null) { +@@ -129,7 +129,7 @@ object ComboBox { + fireContentsChanged(this, -1, -1) + } + } +- def getElementAt(n: Int) = items(n).asInstanceOf[AnyRef] ++ def getElementAt(n: Int) = items(n).asInstanceOf[A] + def getSize = items.size + } + } +@@ -157,7 +157,7 @@ object ComboBox { + * @see javax.swing.JComboBox + */ + class ComboBox[A](items: Seq[A]) extends Component with Publisher { +- override lazy val peer: JComboBox = new JComboBox(ComboBox.newConstantModel(items)) with SuperMixin ++ override lazy val peer: JComboBox[A] = new JComboBox(ComboBox.newConstantModel(items)) with SuperMixin + + object selection extends Publisher { + def index: Int = peer.getSelectedIndex +@@ -182,7 +182,8 @@ class ComboBox[A](items: Seq[A]) extends + * of the component to its own defaults _after_ the renderer has been + * configured. That's Swing's principle of most suprise. + */ +- def renderer: ListView.Renderer[A] = ListView.Renderer.wrap(peer.getRenderer) ++ def renderer: ListView.Renderer[A] = ListView.Renderer.wrap[A](peer.getRenderer.asInstanceOf[ListCellRenderer[A]]) ++ // def renderer: ListView.Renderer[A] = ListView.Renderer.wrap(peer.getRenderer) + def renderer_=(r: ListView.Renderer[A]) { peer.setRenderer(r.peer) } + + /* XXX: currently not safe to expose: +@@ -201,8 +202,8 @@ class ComboBox[A](items: Seq[A]) extends + peer.setEditor(editor(this).comboBoxPeer) + } + +- def prototypeDisplayValue: Option[A] = toOption[A](peer.getPrototypeDisplayValue) ++ def prototypeDisplayValue: Option[A] = Option(peer.getPrototypeDisplayValue) + def prototypeDisplayValue_=(v: Option[A]) { +- peer.setPrototypeDisplayValue((v map toAnyRef).orNull) ++ peer.setPrototypeDisplayValue((v map toAnyRef).orNull.asInstanceOf[A]) + } + } +diff -up scala-2.10.0-RC3-sources/src/swing/scala/swing/ListView.scala.jdk7 scala-2.10.0-RC3-sources/src/swing/scala/swing/ListView.scala +--- scala-2.10.0-RC3-sources/src/swing/scala/swing/ListView.scala.jdk7 2012-11-05 02:49:19.000000000 +0100 ++++ scala-2.10.0-RC3-sources/src/swing/scala/swing/ListView.scala 2012-12-07 22:58:13.267919851 +0100 +@@ -24,21 +24,21 @@ object ListView { + val MultiInterval = Value(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION) + } + +- def wrap[A](c: JList) = new ListView[A] { ++ def wrap[A](c: JList[A]) = new ListView[A] { + override lazy val peer = c + } + + object Renderer { +- def wrap[A](r: ListCellRenderer): Renderer[A] = new Wrapped[A](r) ++ def wrap[A](r: ListCellRenderer[A]): Renderer[A] = new Wrapped[A](r) + + /** + * Wrapper for javax.swing.ListCellRenderers + */ +- class Wrapped[A](override val peer: ListCellRenderer) extends Renderer[A] { +- def componentFor(list: ListView[_], isSelected: Boolean, focused: Boolean, a: A, index: Int) = { ++ class Wrapped[A](override val peer: ListCellRenderer[A]) extends Renderer[A] { ++ def componentFor(list: ListView[_ <: A], isSelected: Boolean, focused: Boolean, a: A, index: Int) = { + Component.wrap(peer.getListCellRendererComponent(list.peer, a, index, isSelected, focused).asInstanceOf[JComponent]) ++ } + } +- } + + /** + * Returns a renderer for items of type A. The given function +@@ -55,8 +55,8 @@ object ListView { + * + */ + def apply[A,B](f: A => B)(implicit renderer: Renderer[B]): Renderer[A] = new Renderer[A] { +- def componentFor(list: ListView[_], isSelected: Boolean, focused: Boolean, a: A, index: Int): Component = +- renderer.componentFor(list, isSelected, focused, f(a), index) ++ def componentFor(list: ListView[_ <: A], isSelected: Boolean, focused: Boolean, a: A, index: Int): Component = ++ renderer.componentFor(list.asInstanceOf[ListView[_ <: B]], isSelected, focused, f(a), index) + } + } + +@@ -69,11 +69,11 @@ object ListView { + * @see javax.swing.ListCellRenderer + */ + abstract class Renderer[-A] { +- def peer: ListCellRenderer = new ListCellRenderer { +- def getListCellRendererComponent(list: JList, a: Any, index: Int, isSelected: Boolean, focused: Boolean) = +- componentFor(ListView.wrap[A](list), isSelected, focused, a.asInstanceOf[A], index).peer ++ def peer: ListCellRenderer[_ >: A] = new ListCellRenderer[A] { ++ def getListCellRendererComponent(list: JList[_ <: A], a: A, index: Int, isSelected: Boolean, focused: Boolean) = ++ componentFor(ListView.wrap[A](list.asInstanceOf[JList[A]]), isSelected, focused, a, index).peer + } +- def componentFor(list: ListView[_], isSelected: Boolean, focused: Boolean, a: A, index: Int): Component ++ def componentFor(list: ListView[_ <: A], isSelected: Boolean, focused: Boolean, a: A, index: Int): Component + } + + /** +@@ -110,7 +110,7 @@ object ListView { + /** + * Configures the component before returning it. + */ +- def componentFor(list: ListView[_], isSelected: Boolean, focused: Boolean, a: A, index: Int): Component = { ++ def componentFor(list: ListView[_ <: A], isSelected: Boolean, focused: Boolean, a: A, index: Int): Component = { + preConfigure(list, isSelected, focused, a, index) + configure(list, isSelected, focused, a, index) + component +@@ -123,10 +123,10 @@ object ListView { + * that renders the string returned from an item's toString. + */ + implicit object GenericRenderer extends Renderer[Any] { +- override lazy val peer: ListCellRenderer = new DefaultListCellRenderer +- def componentFor(list: ListView[_], isSelected: Boolean, focused: Boolean, a: Any, index: Int): Component = { +- val c = peer.getListCellRendererComponent(list.peer, a, index, isSelected, focused).asInstanceOf[JComponent] +- Component.wrap(c) ++ override lazy val peer: ListCellRenderer[Any] = (new DefaultListCellRenderer).asInstanceOf[ListCellRenderer[Any]] ++ def componentFor(list: ListView[_ <: Any], isSelected: Boolean, focused: Boolean, a: Any, index: Int): Component = { ++ val c = peer.getListCellRendererComponent(list.peer, a, index, isSelected, focused) ++ Component.wrap(c.asInstanceOf[JComponent]) + } + } + } +@@ -142,34 +142,34 @@ object ListView { + */ + class ListView[A] extends Component { + import ListView._ +- override lazy val peer: JList = new JList with SuperMixin ++ override lazy val peer: JList[A] = new JList[A] with SuperMixin + + def this(items: Seq[A]) = { + this() + listData = items + } + +- protected class ModelWrapper(val items: Seq[A]) extends AbstractListModel { +- def getElementAt(n: Int) = items(n).asInstanceOf[AnyRef] ++ protected class ModelWrapper[A](val items: Seq[A]) extends AbstractListModel[A] { ++ def getElementAt(n: Int) = items(n) + def getSize = items.size + } + + def listData: Seq[A] = peer.getModel match { +- case model: ModelWrapper => model.items +- case model @ _ => new Seq[A] { selfSeq => ++ case model: ModelWrapper[a] => model.items ++ case model => new Seq[A] { selfSeq => + def length = model.getSize + def iterator = new Iterator[A] { + var idx = 0 + def next = { idx += 1; apply(idx-1) } + def hasNext = idx < selfSeq.length + } +- def apply(n: Int) = model.getElementAt(n).asInstanceOf[A] ++ def apply(n: Int): A = model.getElementAt(n) + } + } + + def listData_=(items: Seq[A]) { +- peer.setModel(new AbstractListModel { +- def getElementAt(n: Int) = items(n).asInstanceOf[AnyRef] ++ peer.setModel(new AbstractListModel[A] { ++ def getElementAt(n: Int) = items(n) + def getSize = items.size + }) + } +@@ -216,7 +216,7 @@ class ListView[A] extends Component { + def adjusting = peer.getSelectionModel.getValueIsAdjusting + } + +- def renderer: ListView.Renderer[A] = ListView.Renderer.wrap(peer.getCellRenderer) ++ def renderer: ListView.Renderer[A] = ListView.Renderer.wrap[A](peer.getCellRenderer.asInstanceOf[ListCellRenderer[A]]) + def renderer_=(r: ListView.Renderer[A]) { peer.setCellRenderer(r.peer) } + + def fixedCellWidth = peer.getFixedCellWidth diff --git a/scala-2.10.0-tooltemplate.patch b/scala-2.10.0-tooltemplate.patch new file mode 100644 index 0000000..81337a2 --- /dev/null +++ b/scala-2.10.0-tooltemplate.patch @@ -0,0 +1,21 @@ +diff -up scala-2.10.0-RC3/src/compiler/scala/tools/ant/templates/tool-unix.tmpl.tool scala-2.10.0-RC3/src/compiler/scala/tools/ant/templates/tool-unix.tmpl +--- scala-2.10.0-RC3/src/compiler/scala/tools/ant/templates/tool-unix.tmpl.tool 2012-11-21 17:01:54.000000000 +0100 ++++ scala-2.10.0-RC3/src/compiler/scala/tools/ant/templates/tool-unix.tmpl 2012-11-25 14:55:22.583111734 +0100 +@@ -68,7 +68,16 @@ if uname | grep -q ^MINGW; then + fi + + # Finding the root folder for this Scala distribution +-SCALA_HOME="$(findScalaHome)" ++export JAVA_HOMe=/usr/share/jvm/java ++ ++[ -r @@JAVADIR@@-utils/java-functions ] && . @@JAVADIR@@-utils/java-functions || exit 1 ++ ++set_javacmd || exit 3 ++check_java_env || exit 4 ++set_jvm_dirs || exit 5 ++ ++export SCALA_HOME=@@DATADIR@@/scala ++ + SEP=":" + + # Possible additional command line options diff --git a/scala-2.10.0-use_system_jline.patch b/scala-2.10.0-use_system_jline.patch new file mode 100644 index 0000000..bc68fc9 --- /dev/null +++ b/scala-2.10.0-use_system_jline.patch @@ -0,0 +1,135 @@ +diff -up scala-2.10.0-RC5/build.xml.sysjline scala-2.10.0-RC5/build.xml +--- scala-2.10.0-RC5/build.xml.sysjline 2012-12-07 19:39:49.000000000 +0100 ++++ scala-2.10.0-RC5/build.xml 2012-12-07 20:40:26.749580408 +0100 +@@ -206,7 +206,7 @@ PROPERTIES + + + +- ++ + + + +@@ -259,7 +259,6 @@ INITIALISATION + + + +- + + + +@@ -423,7 +422,7 @@ INITIALISATION + + + +- ++ + + + +@@ -1535,7 +1534,6 @@ PACKED QUICK BUILD (PACK) + + + +- + + + +diff -up scala-2.10.0-RC5/src/compiler/scala/tools/nsc/interpreter/ConsoleReaderHelper.scala.sysjline scala-2.10.0-RC5/src/compiler/scala/tools/nsc/interpreter/ConsoleReaderHelper.scala +--- scala-2.10.0-RC5/src/compiler/scala/tools/nsc/interpreter/ConsoleReaderHelper.scala.sysjline 2012-12-07 19:39:50.000000000 +0100 ++++ scala-2.10.0-RC5/src/compiler/scala/tools/nsc/interpreter/ConsoleReaderHelper.scala 2012-12-07 19:51:05.782792214 +0100 +@@ -6,8 +6,8 @@ + package scala.tools.nsc + package interpreter + +-import scala.tools.jline.console.{ ConsoleReader, CursorBuffer } +-import scala.tools.jline.console.completer.CompletionHandler ++import jline.console.{ ConsoleReader, CursorBuffer } ++import jline.console.completer.CompletionHandler + import Completion._ + + trait ConsoleReaderHelper extends ConsoleReader { +diff -up scala-2.10.0-RC5/src/compiler/scala/tools/nsc/interpreter/Delimited.scala.sysjline scala-2.10.0-RC5/src/compiler/scala/tools/nsc/interpreter/Delimited.scala +--- scala-2.10.0-RC5/src/compiler/scala/tools/nsc/interpreter/Delimited.scala.sysjline 2012-12-07 19:39:50.000000000 +0100 ++++ scala-2.10.0-RC5/src/compiler/scala/tools/nsc/interpreter/Delimited.scala 2012-12-07 19:51:05.782792214 +0100 +@@ -6,7 +6,7 @@ + package scala.tools.nsc + package interpreter + +-import scala.tools.jline.console.completer.ArgumentCompleter.{ ArgumentDelimiter, ArgumentList } ++import jline.console.completer.ArgumentCompleter.{ ArgumentDelimiter, ArgumentList } + + class JLineDelimiter extends ArgumentDelimiter { + def toJLine(args: List[String], cursor: Int) = args match { +diff -up scala-2.10.0-RC5/src/compiler/scala/tools/nsc/interpreter/JLineCompletion.scala.sysjline scala-2.10.0-RC5/src/compiler/scala/tools/nsc/interpreter/JLineCompletion.scala +--- scala-2.10.0-RC5/src/compiler/scala/tools/nsc/interpreter/JLineCompletion.scala.sysjline 2012-12-07 19:39:50.000000000 +0100 ++++ scala-2.10.0-RC5/src/compiler/scala/tools/nsc/interpreter/JLineCompletion.scala 2012-12-07 19:51:05.783792215 +0100 +@@ -6,8 +6,8 @@ + package scala.tools.nsc + package interpreter + +-import scala.tools.jline._ +-import scala.tools.jline.console.completer._ ++import jline._ ++import jline.console.completer._ + import Completion._ + import scala.collection.mutable.ListBuffer + +diff -up scala-2.10.0-RC5/src/compiler/scala/tools/nsc/interpreter/JLineReader.scala.sysjline scala-2.10.0-RC5/src/compiler/scala/tools/nsc/interpreter/JLineReader.scala +--- scala-2.10.0-RC5/src/compiler/scala/tools/nsc/interpreter/JLineReader.scala.sysjline 2012-12-07 19:39:50.000000000 +0100 ++++ scala-2.10.0-RC5/src/compiler/scala/tools/nsc/interpreter/JLineReader.scala 2012-12-07 19:51:05.783792215 +0100 +@@ -6,8 +6,8 @@ + package scala.tools.nsc + package interpreter + +-import scala.tools.jline.console.ConsoleReader +-import scala.tools.jline.console.completer._ ++import jline.console.ConsoleReader ++import jline.console.completer._ + import session._ + import scala.collection.JavaConverters._ + import Completion._ +diff -up scala-2.10.0-RC5/src/compiler/scala/tools/nsc/interpreter/Parsed.scala.sysjline scala-2.10.0-RC5/src/compiler/scala/tools/nsc/interpreter/Parsed.scala +--- scala-2.10.0-RC5/src/compiler/scala/tools/nsc/interpreter/Parsed.scala.sysjline 2012-12-07 19:39:50.000000000 +0100 ++++ scala-2.10.0-RC5/src/compiler/scala/tools/nsc/interpreter/Parsed.scala 2012-12-07 19:51:05.783792215 +0100 +@@ -6,7 +6,7 @@ + package scala.tools.nsc + package interpreter + +-import scala.tools.jline.console.completer.ArgumentCompleter.{ ArgumentDelimiter, ArgumentList } ++import jline.console.completer.ArgumentCompleter.{ ArgumentDelimiter, ArgumentList } + import util.returning + + /** One instance of a command buffer. +diff -up scala-2.10.0-RC5/src/compiler/scala/tools/nsc/interpreter/ReplProps.scala.sysjline scala-2.10.0-RC5/src/compiler/scala/tools/nsc/interpreter/ReplProps.scala +--- scala-2.10.0-RC5/src/compiler/scala/tools/nsc/interpreter/ReplProps.scala.sysjline 2012-12-07 19:39:50.000000000 +0100 ++++ scala-2.10.0-RC5/src/compiler/scala/tools/nsc/interpreter/ReplProps.scala 2012-12-07 19:51:05.783792215 +0100 +@@ -13,8 +13,8 @@ class ReplProps { + private def bool(name: String) = BooleanProp.keyExists(name) + private def int(name: String) = IntProp(name) + +- val jlineDebug = bool("scala.tools.jline.internal.Log.debug") +- val jlineTrace = bool("scala.tools.jline.internal.Log.trace") ++ val jlineDebug = bool("jline.internal.Log.debug") ++ val jlineTrace = bool("jline.internal.Log.trace") + + val info = bool("scala.repl.info") + val debug = bool("scala.repl.debug") +diff -up scala-2.10.0-RC5/src/compiler/scala/tools/nsc/interpreter/session/package.scala.sysjline scala-2.10.0-RC5/src/compiler/scala/tools/nsc/interpreter/session/package.scala +--- scala-2.10.0-RC5/src/compiler/scala/tools/nsc/interpreter/session/package.scala.sysjline 2012-12-07 19:39:49.000000000 +0100 ++++ scala-2.10.0-RC5/src/compiler/scala/tools/nsc/interpreter/session/package.scala 2012-12-07 19:51:05.784792216 +0100 +@@ -14,10 +14,10 @@ package object session { + type JIterator[T] = java.util.Iterator[T] + type JListIterator[T] = java.util.ListIterator[T] + +- type JEntry = scala.tools.jline.console.history.History.Entry +- type JHistory = scala.tools.jline.console.history.History +- type JMemoryHistory = scala.tools.jline.console.history.MemoryHistory +- type JPersistentHistory = scala.tools.jline.console.history.PersistentHistory ++ type JEntry = jline.console.history.History.Entry ++ type JHistory = jline.console.history.History ++ type JMemoryHistory = jline.console.history.MemoryHistory ++ type JPersistentHistory = jline.console.history.PersistentHistory + + private[interpreter] implicit def charSequenceFix(x: CharSequence): String = x.toString + } diff --git a/scala-2.10.1-bc.patch b/scala-2.10.1-bc.patch new file mode 100644 index 0000000..68227f6 --- /dev/null +++ b/scala-2.10.1-bc.patch @@ -0,0 +1,28 @@ +diff -u orig/bincompat-backward.whitelist.conf new/bincompat-backward.whitelist.conf +--- orig/bincompat-backward.whitelist.conf 2013-09-11 12:59:13.684010082 -0500 ++++ new/bincompat-backward.whitelist.conf 2013-09-11 12:59:08.751002599 -0500 +@@ -1,6 +1,10 @@ + filter { + problems=[ + # Scala library ++ { ++ matchName="scala.xml.dtd.ElementValidator.scala$xml$dtd$ElementValidator$$find$2" ++ problemName=IncompatibleMethTypeProblem ++ }, + { + # can only be called from Stream::distinct, which cannot itself be inlined, so distinct is the only feasible call-site + matchName="scala.collection.immutable.Stream.scala$collection$immutable$Stream$$loop$4" +diff -u orig/bincompat-forward.whitelist.conf new/bincompat-forward.whitelist.conf +--- orig/bincompat-forward.whitelist.conf 2013-09-11 12:59:13.684010082 -0500 ++++ new/bincompat-forward.whitelist.conf 2013-09-11 12:59:08.751002599 -0500 +@@ -5,6 +5,10 @@ + # matchName="scala.collection.mutable.MutableList.tailImpl" + # problemName=MissingMethodProblem + # }, ++ { ++ matchName="scala.xml.dtd.ElementValidator.scala$xml$dtd$ElementValidator$$find$2" ++ problemName=IncompatibleMethTypeProblem ++ }, + { + # can only be called from Stream::distinct, which cannot itself be inlined, so distinct is the only feasible call-site + matchName="scala.collection.immutable.Stream.scala$collection$immutable$Stream$$loop$6" diff --git a/scala-2.10.2-java7.patch b/scala-2.10.2-java7.patch new file mode 100644 index 0000000..323ca42 --- /dev/null +++ b/scala-2.10.2-java7.patch @@ -0,0 +1,198 @@ +diff -up scala-2.10.0-RC3-sources/src/swing/scala/swing/ComboBox.scala.jdk7 scala-2.10.0-RC3-sources/src/swing/scala/swing/ComboBox.scala +--- scala-2.10.0-RC3-sources/src/swing/scala/swing/ComboBox.scala.jdk7 2012-11-05 02:49:19.000000000 +0100 ++++ scala-2.10.0-RC3-sources/src/swing/scala/swing/ComboBox.scala 2012-12-07 23:29:32.821949227 +0100 +@@ -9,7 +9,7 @@ + package scala.swing + + import event._ +-import javax.swing.{JList, JComponent, JComboBox, JTextField, ComboBoxModel, AbstractListModel, ListCellRenderer} ++import javax.swing.{ JComponent, JComboBox, JTextField, ComboBoxModel, AbstractListModel, ListCellRenderer } + import java.awt.event.ActionListener + + object ComboBox { +@@ -118,10 +118,10 @@ object ComboBox { + implicit def floatEditor(c: ComboBox[Float]): Editor[Float] = new BuiltInEditor(c)(s => s.toFloat, s => s.toString) + implicit def doubleEditor(c: ComboBox[Double]): Editor[Double] = new BuiltInEditor(c)(s => s.toDouble, s => s.toString) + +- def newConstantModel[A](items: Seq[A]): ComboBoxModel = { +- new AbstractListModel with ComboBoxModel { ++ def newConstantModel[A](items: Seq[A]): ComboBoxModel[A] = { ++ new AbstractListModel[A] with ComboBoxModel[A] { + private var selected: A = if (items.isEmpty) null.asInstanceOf[A] else items(0) +- def getSelectedItem: AnyRef = selected.asInstanceOf[AnyRef] ++ def getSelectedItem = selected.asInstanceOf[AnyRef] + def setSelectedItem(a: Any) { + if ((selected != null && selected != a) || + selected == null && a != null) { +@@ -129,7 +129,7 @@ object ComboBox { + fireContentsChanged(this, -1, -1) + } + } +- def getElementAt(n: Int) = items(n).asInstanceOf[AnyRef] ++ def getElementAt(n: Int) = items(n).asInstanceOf[A] + def getSize = items.size + } + } +@@ -157,7 +157,7 @@ object ComboBox { + * @see javax.swing.JComboBox + */ + class ComboBox[A](items: Seq[A]) extends Component with Publisher { +- override lazy val peer: JComboBox = new JComboBox(ComboBox.newConstantModel(items)) with SuperMixin ++ override lazy val peer: JComboBox[A] = new JComboBox(ComboBox.newConstantModel(items)) with SuperMixin + + object selection extends Publisher { + def index: Int = peer.getSelectedIndex +@@ -182,7 +182,8 @@ class ComboBox[A](items: Seq[A]) extends + * of the component to its own defaults _after_ the renderer has been + * configured. That's Swing's principle of most suprise. + */ +- def renderer: ListView.Renderer[A] = ListView.Renderer.wrap(peer.getRenderer) ++ def renderer: ListView.Renderer[A] = ListView.Renderer.wrap[A](peer.getRenderer.asInstanceOf[ListCellRenderer[A]]) ++ // def renderer: ListView.Renderer[A] = ListView.Renderer.wrap(peer.getRenderer) + def renderer_=(r: ListView.Renderer[A]) { peer.setRenderer(r.peer) } + + /* XXX: currently not safe to expose: +@@ -201,8 +202,8 @@ class ComboBox[A](items: Seq[A]) extends + peer.setEditor(editor(this).comboBoxPeer) + } + +- def prototypeDisplayValue: Option[A] = toOption[A](peer.getPrototypeDisplayValue) ++ def prototypeDisplayValue: Option[A] = Option(peer.getPrototypeDisplayValue) + def prototypeDisplayValue_=(v: Option[A]) { +- peer.setPrototypeDisplayValue((v map toAnyRef).orNull) ++ peer.setPrototypeDisplayValue((v map toAnyRef).orNull.asInstanceOf[A]) + } + } +diff -up scala-2.10.0-RC3-sources/src/swing/scala/swing/ListView.scala.jdk7 scala-2.10.0-RC3-sources/src/swing/scala/swing/ListView.scala +--- scala-2.10.0-RC3-sources/src/swing/scala/swing/ListView.scala.jdk7 2012-11-05 02:49:19.000000000 +0100 ++++ scala-2.10.0-RC3-sources/src/swing/scala/swing/ListView.scala 2012-12-07 22:58:13.267919851 +0100 +@@ -24,21 +24,21 @@ object ListView { + val MultiInterval = Value(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION) + } + +- def wrap[A](c: JList) = new ListView[A] { ++ def wrap[A](c: JList[A]) = new ListView[A] { + override lazy val peer = c + } + + object Renderer { +- def wrap[A](r: ListCellRenderer): Renderer[A] = new Wrapped[A](r) ++ def wrap[A](r: ListCellRenderer[A]): Renderer[A] = new Wrapped[A](r) + + /** + * Wrapper for javax.swing.ListCellRenderers + */ +- class Wrapped[A](override val peer: ListCellRenderer) extends Renderer[A] { +- def componentFor(list: ListView[_], isSelected: Boolean, focused: Boolean, a: A, index: Int) = { ++ class Wrapped[A](override val peer: ListCellRenderer[A]) extends Renderer[A] { ++ def componentFor(list: ListView[_ <: A], isSelected: Boolean, focused: Boolean, a: A, index: Int) = { + Component.wrap(peer.getListCellRendererComponent(list.peer, a, index, isSelected, focused).asInstanceOf[JComponent]) ++ } + } +- } + + /** + * Returns a renderer for items of type A. The given function +@@ -55,8 +55,8 @@ object ListView { + * + */ + def apply[A,B](f: A => B)(implicit renderer: Renderer[B]): Renderer[A] = new Renderer[A] { +- def componentFor(list: ListView[_], isSelected: Boolean, focused: Boolean, a: A, index: Int): Component = +- renderer.componentFor(list, isSelected, focused, f(a), index) ++ def componentFor(list: ListView[_ <: A], isSelected: Boolean, focused: Boolean, a: A, index: Int): Component = ++ renderer.componentFor(list.asInstanceOf[ListView[_ <: B]], isSelected, focused, f(a), index) + } + } + +@@ -69,11 +69,11 @@ object ListView { + * @see javax.swing.ListCellRenderer + */ + abstract class Renderer[-A] { +- def peer: ListCellRenderer = new ListCellRenderer { +- def getListCellRendererComponent(list: JList, a: Any, index: Int, isSelected: Boolean, focused: Boolean) = +- componentFor(ListView.wrap[A](list), isSelected, focused, a.asInstanceOf[A], index).peer ++ def peer: ListCellRenderer[_ >: A] = new ListCellRenderer[A] { ++ def getListCellRendererComponent(list: JList[_ <: A], a: A, index: Int, isSelected: Boolean, focused: Boolean) = ++ componentFor(ListView.wrap[A](list.asInstanceOf[JList[A]]), isSelected, focused, a, index).peer + } +- def componentFor(list: ListView[_], isSelected: Boolean, focused: Boolean, a: A, index: Int): Component ++ def componentFor(list: ListView[_ <: A], isSelected: Boolean, focused: Boolean, a: A, index: Int): Component + } + + /** +@@ -110,7 +110,7 @@ object ListView { + /** + * Configures the component before returning it. + */ +- def componentFor(list: ListView[_], isSelected: Boolean, focused: Boolean, a: A, index: Int): Component = { ++ def componentFor(list: ListView[_ <: A], isSelected: Boolean, focused: Boolean, a: A, index: Int): Component = { + preConfigure(list, isSelected, focused, a, index) + configure(list, isSelected, focused, a, index) + component +@@ -123,10 +123,10 @@ object ListView { + * that renders the string returned from an item's toString. + */ + implicit object GenericRenderer extends Renderer[Any] { +- override lazy val peer: ListCellRenderer = new DefaultListCellRenderer +- def componentFor(list: ListView[_], isSelected: Boolean, focused: Boolean, a: Any, index: Int): Component = { +- val c = peer.getListCellRendererComponent(list.peer, a, index, isSelected, focused).asInstanceOf[JComponent] +- Component.wrap(c) ++ override lazy val peer: ListCellRenderer[Any] = (new DefaultListCellRenderer).asInstanceOf[ListCellRenderer[Any]] ++ def componentFor(list: ListView[_ <: Any], isSelected: Boolean, focused: Boolean, a: Any, index: Int): Component = { ++ val c = peer.getListCellRendererComponent(list.peer, a, index, isSelected, focused) ++ Component.wrap(c.asInstanceOf[JComponent]) + } + } + } +@@ -142,34 +142,34 @@ object ListView { + */ + class ListView[A] extends Component { + import ListView._ +- override lazy val peer: JList = new JList with SuperMixin ++ override lazy val peer: JList[A] = new JList[A] with SuperMixin + + def this(items: Seq[A]) = { + this() + listData = items + } + +- protected class ModelWrapper(val items: Seq[A]) extends AbstractListModel { +- def getElementAt(n: Int) = items(n).asInstanceOf[AnyRef] ++ protected class ModelWrapper[A](val items: Seq[A]) extends AbstractListModel[A] { ++ def getElementAt(n: Int) = items(n) + def getSize = items.size + } + + def listData: Seq[A] = peer.getModel match { +- case model: ModelWrapper => model.items +- case model @ _ => new Seq[A] { selfSeq => ++ case model: ModelWrapper[a] => model.items ++ case model => new Seq[A] { selfSeq => + def length = model.getSize + def iterator = new Iterator[A] { + var idx = 0 + def next = { idx += 1; apply(idx-1) } + def hasNext = idx < selfSeq.length + } +- def apply(n: Int) = model.getElementAt(n).asInstanceOf[A] ++ def apply(n: Int): A = model.getElementAt(n) + } + } + + def listData_=(items: Seq[A]) { +- peer.setModel(new AbstractListModel { +- def getElementAt(n: Int) = items(n).asInstanceOf[AnyRef] ++ peer.setModel(new AbstractListModel[A] { ++ def getElementAt(n: Int) = items(n) + def getSize = items.size + }) + } +@@ -216,7 +216,7 @@ class ListView[A] extends Component { + def adjusting = peer.getSelectionModel.getValueIsAdjusting + } + +- def renderer: ListView.Renderer[A] = ListView.Renderer.wrap(peer.getCellRenderer) ++ def renderer: ListView.Renderer[A] = ListView.Renderer.wrap[A](peer.getCellRenderer.asInstanceOf[ListCellRenderer[A]]) + def renderer_=(r: ListView.Renderer[A]) { peer.setCellRenderer(r.peer) } + + def fixedCellWidth = peer.getFixedCellWidth diff --git a/scala-2.10.3-build_xml.patch b/scala-2.10.3-build_xml.patch new file mode 100644 index 0000000..0d5995f --- /dev/null +++ b/scala-2.10.3-build_xml.patch @@ -0,0 +1,635 @@ +diff -up scala-2.10.3/build.xml.bld scala-2.10.3/build.xml +--- scala-2.10.3/build.xml.bld 2013-10-15 19:53:47.000000000 +0200 ++++ scala-2.10.3/build.xml 2014-03-04 06:56:08.811763572 +0100 +@@ -1,6 +1,6 @@ + + +- ++ + + SuperSabbus for Scala core, builds the scala library and compiler. It can also package it as a simple distribution, tests it for stable bootstrapping and against the Scala test suite. + +@@ -44,8 +44,8 @@ TODO: + +- +- ++ ++ + + + +@@ -68,7 +68,7 @@ TODO: + + + +- ++ + + + +@@ -95,8 +95,6 @@ TODO: + + + +- +- + + + +@@ -122,8 +120,8 @@ TODO: + + + +- +- ++ ++ + + + +@@ -182,86 +180,62 @@ TODO: + + + +- +- +- +- +- +- +- + + + +- +- + +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ + + ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ + + + ++ + + + ++ ++ ++ ++ ++ ++ ++ + + + +@@ -560,13 +541,6 @@ TODO: + + + +- +- +- +- +- +- +- + + + +@@ -589,12 +563,10 @@ TODO: + + + +- + + + + +- + + + +@@ -631,18 +603,6 @@ TODO: + + + +- +- +- +- +- +- +- +- +- +- +- +- + + + +@@ -717,10 +677,6 @@ TODO: + + + +- +- +- +- + + + +@@ -749,7 +705,7 @@ TODO: + + + +- ++ + + + +- +- +- + + +- ++ + + + +- +- +- +- +- +- +- +- +- +- +- +- +- + +- ++ + + + +@@ -1315,7 +1250,7 @@ TODO: + +- ++ + + + +@@ -1362,7 +1297,6 @@ TODO: + + + +- + + + +@@ -1370,10 +1304,7 @@ TODO: + + + +- +- +- +- ++ + + + +@@ -1503,81 +1434,6 @@ TODO: + + + +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- + +@@ -1588,69 +1444,25 @@ TODO: + + + +- +- +- +- +- +- +- +- + + + + +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ++ + + + +- +- +- +- +- ++ + + + + +- +- +- + + + +- ++ + + + +@@ -1672,6 +1484,7 @@ TODO: + + + ++ + + + +@@ -1729,25 +1542,12 @@ TODO: + + + +- +- +- +- +- +- +- + + + + + + +- +- +- +- +- +- + + + +@@ -1791,13 +1591,13 @@ TODO: + + + +- ++ + + + +- ++ + + + +@@ -1820,19 +1620,11 @@ TODO: + + + +- + +- + + + + +- +- +- +- +- + + + +@@ -2018,10 +1810,9 @@ TODO: + + + +- ++ + + +- + + + +@@ -2038,7 +1829,6 @@ TODO: + + + +- + + + diff --git a/scala-2.10.3-compiler-pom.patch b/scala-2.10.3-compiler-pom.patch new file mode 100644 index 0000000..fbc0cee --- /dev/null +++ b/scala-2.10.3-compiler-pom.patch @@ -0,0 +1,15 @@ +diff -up scala-2.10.3/src/build/maven/scala-compiler-pom.xml.compiler-pom scala-2.10.3/src/build/maven/scala-compiler-pom.xml +--- scala-2.10.3/src/build/maven/scala-compiler-pom.xml.compiler-pom 2013-12-09 18:00:10.765090809 +0100 ++++ scala-2.10.3/src/build/maven/scala-compiler-pom.xml 2013-12-09 18:02:31.251138135 +0100 +@@ -43,9 +43,9 @@ + @VERSION@ + + +- org.scala-lang ++ jline + jline +- @VERSION@ ++ 2.10 + true + + diff --git a/scala-2.10.3-use_system_jline.patch b/scala-2.10.3-use_system_jline.patch new file mode 100644 index 0000000..c8a43eb --- /dev/null +++ b/scala-2.10.3-use_system_jline.patch @@ -0,0 +1,109 @@ +diff -up scala-2.10.3/src/compiler/scala/tools/nsc/interpreter/ConsoleReaderHelper.scala.sysjline scala-2.10.3/src/compiler/scala/tools/nsc/interpreter/ConsoleReaderHelper.scala +--- scala-2.10.3/src/compiler/scala/tools/nsc/interpreter/ConsoleReaderHelper.scala.sysjline 2013-10-10 21:03:24.000000000 +0200 ++++ scala-2.10.3/src/compiler/scala/tools/nsc/interpreter/ConsoleReaderHelper.scala 2013-10-13 15:28:24.478283303 +0200 +@@ -6,8 +6,8 @@ + package scala.tools.nsc + package interpreter + +-import scala.tools.jline.console.{ ConsoleReader, CursorBuffer } +-import scala.tools.jline.console.completer.CompletionHandler ++import jline.console.{ ConsoleReader, CursorBuffer } ++import jline.console.completer.CompletionHandler + import Completion._ + + trait ConsoleReaderHelper extends ConsoleReader { +diff -up scala-2.10.3/src/compiler/scala/tools/nsc/interpreter/Delimited.scala.sysjline scala-2.10.3/src/compiler/scala/tools/nsc/interpreter/Delimited.scala +--- scala-2.10.3/src/compiler/scala/tools/nsc/interpreter/Delimited.scala.sysjline 2013-10-10 21:03:24.000000000 +0200 ++++ scala-2.10.3/src/compiler/scala/tools/nsc/interpreter/Delimited.scala 2013-10-13 15:28:24.483282990 +0200 +@@ -6,7 +6,7 @@ + package scala.tools.nsc + package interpreter + +-import scala.tools.jline.console.completer.ArgumentCompleter.{ ArgumentDelimiter, ArgumentList } ++import jline.console.completer.ArgumentCompleter.{ ArgumentDelimiter, ArgumentList } + + class JLineDelimiter extends ArgumentDelimiter { + def toJLine(args: List[String], cursor: Int) = args match { +diff -up scala-2.10.3/src/compiler/scala/tools/nsc/interpreter/JLineCompletion.scala.sysjline scala-2.10.3/src/compiler/scala/tools/nsc/interpreter/JLineCompletion.scala +--- scala-2.10.3/src/compiler/scala/tools/nsc/interpreter/JLineCompletion.scala.sysjline 2013-10-10 21:03:24.000000000 +0200 ++++ scala-2.10.3/src/compiler/scala/tools/nsc/interpreter/JLineCompletion.scala 2013-10-13 15:28:24.487282739 +0200 +@@ -6,8 +6,8 @@ + package scala.tools.nsc + package interpreter + +-import scala.tools.jline._ +-import scala.tools.jline.console.completer._ ++import jline._ ++import jline.console.completer._ + import Completion._ + import scala.collection.mutable.ListBuffer + +diff -up scala-2.10.3/src/compiler/scala/tools/nsc/interpreter/JLineReader.scala.sysjline scala-2.10.3/src/compiler/scala/tools/nsc/interpreter/JLineReader.scala +--- scala-2.10.3/src/compiler/scala/tools/nsc/interpreter/JLineReader.scala.sysjline 2013-10-10 21:03:24.000000000 +0200 ++++ scala-2.10.3/src/compiler/scala/tools/nsc/interpreter/JLineReader.scala 2013-10-13 15:30:16.619034744 +0200 +@@ -6,8 +6,8 @@ + package scala.tools.nsc + package interpreter + +-import scala.tools.jline.console.ConsoleReader +-import scala.tools.jline.console.completer._ ++import jline.console.ConsoleReader ++import jline.console.completer._ + import session._ + import scala.collection.JavaConverters._ + import Completion._ +@@ -71,6 +71,9 @@ class JLineReader(_completion: => Comple + def eraseLine() = consoleReader.eraseLine() + // Alternate implementation, not sure if/when I need this. + // def eraseLine() = while (consoleReader.delete()) { } +- def readOneLine(prompt: String) = consoleReader readLine prompt ++ def readOneLine(prompt: String) = { ++ consoleReader.setExpandEvents(false) ++ consoleReader readLine prompt ++ } + def readOneKey(prompt: String) = consoleReader readOneKey prompt + } +diff -up scala-2.10.3/src/compiler/scala/tools/nsc/interpreter/Parsed.scala.sysjline scala-2.10.3/src/compiler/scala/tools/nsc/interpreter/Parsed.scala +--- scala-2.10.3/src/compiler/scala/tools/nsc/interpreter/Parsed.scala.sysjline 2013-10-10 21:03:24.000000000 +0200 ++++ scala-2.10.3/src/compiler/scala/tools/nsc/interpreter/Parsed.scala 2013-10-13 15:28:24.496282176 +0200 +@@ -6,7 +6,7 @@ + package scala.tools.nsc + package interpreter + +-import scala.tools.jline.console.completer.ArgumentCompleter.{ ArgumentDelimiter, ArgumentList } ++import jline.console.completer.ArgumentCompleter.{ ArgumentDelimiter, ArgumentList } + import util.returning + + /** One instance of a command buffer. +diff -up scala-2.10.3/src/compiler/scala/tools/nsc/interpreter/ReplProps.scala.sysjline scala-2.10.3/src/compiler/scala/tools/nsc/interpreter/ReplProps.scala +--- scala-2.10.3/src/compiler/scala/tools/nsc/interpreter/ReplProps.scala.sysjline 2013-10-10 21:03:24.000000000 +0200 ++++ scala-2.10.3/src/compiler/scala/tools/nsc/interpreter/ReplProps.scala 2013-10-13 15:28:24.500281925 +0200 +@@ -13,8 +13,8 @@ class ReplProps { + private def bool(name: String) = BooleanProp.keyExists(name) + private def int(name: String) = IntProp(name) + +- val jlineDebug = bool("scala.tools.jline.internal.Log.debug") +- val jlineTrace = bool("scala.tools.jline.internal.Log.trace") ++ val jlineDebug = bool("jline.internal.Log.debug") ++ val jlineTrace = bool("jline.internal.Log.trace") + + val info = bool("scala.repl.info") + val debug = bool("scala.repl.debug") +diff -up scala-2.10.3/src/compiler/scala/tools/nsc/interpreter/session/package.scala.sysjline scala-2.10.3/src/compiler/scala/tools/nsc/interpreter/session/package.scala +--- scala-2.10.3/src/compiler/scala/tools/nsc/interpreter/session/package.scala.sysjline 2013-10-10 21:03:24.000000000 +0200 ++++ scala-2.10.3/src/compiler/scala/tools/nsc/interpreter/session/package.scala 2013-10-13 15:28:24.504281675 +0200 +@@ -14,10 +14,10 @@ package object session { + type JIterator[T] = java.util.Iterator[T] + type JListIterator[T] = java.util.ListIterator[T] + +- type JEntry = scala.tools.jline.console.history.History.Entry +- type JHistory = scala.tools.jline.console.history.History +- type JMemoryHistory = scala.tools.jline.console.history.MemoryHistory +- type JPersistentHistory = scala.tools.jline.console.history.PersistentHistory ++ type JEntry = jline.console.history.History.Entry ++ type JHistory = jline.console.history.History ++ type JMemoryHistory = jline.console.history.MemoryHistory ++ type JPersistentHistory = jline.console.history.PersistentHistory + + private[interpreter] implicit def charSequenceFix(x: CharSequence): String = x.toString + } diff --git a/scala-2.10.4-build_xml.patch b/scala-2.10.4-build_xml.patch new file mode 100644 index 0000000..4d9a04b --- /dev/null +++ b/scala-2.10.4-build_xml.patch @@ -0,0 +1,675 @@ +--- a/build.xml 2014-09-15 16:38:35.523938086 -0500 ++++ b/build.xml 2014-09-18 14:37:16.648133327 -0500 +@@ -1,6 +1,6 @@ + + +- ++ + + SuperSabbus for Scala core, builds the scala library and compiler. It can also package it as a simple distribution, tests it for stable bootstrapping and against the Scala test suite. + +@@ -44,8 +44,8 @@ + +- +- ++ ++ + + + +@@ -68,7 +68,7 @@ + + + +- ++ + + + +@@ -89,14 +89,13 @@ + + + ++ + + + + +- +- + + + +@@ -122,8 +121,8 @@ + + + +- +- ++ ++ + + + +@@ -181,91 +180,57 @@ + + + +- +- +- +- +- +- +- +- + + + + +- +- +- +- +- ++ + +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ++ ++ ++ ++ ++ ++ ++ ++ ++ + +- +- +- +- +- +- +- ++ ++ ++ ++ ++ ++ ++ + +- +- ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ + + + +@@ -337,7 +302,7 @@ + + + +- ++ + + + +@@ -466,6 +431,13 @@ + + There must be a variable of the shape @{stage}.compiler.path for all @{stage} in starr, locker, quick, strap. + --> ++ ++ ++ ++ ++ ++ ++ + + + +@@ -576,13 +548,6 @@ + + + +- +- +- +- +- +- +- + + + +@@ -605,12 +570,10 @@ + + + +- + + + + +- + + + +@@ -647,18 +610,6 @@ + + + +- +- +- +- +- +- +- +- +- +- +- +- + + + +@@ -733,10 +684,6 @@ + + + +- +- +- +- + + + +@@ -765,7 +712,8 @@ + + + +- ++ ++ + + + +- +- +- + + +- ++ + + + +- +- +- +- +- +- +- +- +- +- +- +- +- + +- ++ + + + +@@ -1331,7 +1258,7 @@ + +- ++ + + + +@@ -1378,7 +1305,6 @@ + + + +- + + + +@@ -1386,10 +1312,7 @@ + + + +- +- +- +- ++ + + + +@@ -1519,81 +1442,6 @@ + + + +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- + +@@ -1604,71 +1452,37 @@ + + + +- +- +- +- +- +- +- +- + + + + +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ++ + + + +- +- +- +- +- ++ + + + + +- +- +- + + + +- ++ + + ++ ++ ++ pack.bin.tool.path is ${packBinToolPath} ++ ++ ++ ++ ++ ++ ++ + + + +@@ -1688,6 +1502,7 @@ + + + ++ + + + +@@ -1740,15 +1555,14 @@ + + + +- +- +- +- ++ ++ ++ ++ ++ + +- +- ++ + +- + + + +@@ -1758,12 +1572,6 @@ + + + +- +- +- +- +- +- + + + +@@ -1771,10 +1579,12 @@ + + + ++ + + + + ++ + + + +- ++ + + + +- ++ + + + +@@ -1836,7 +1646,6 @@ + + + +- + + + +@@ -2027,10 +1836,9 @@ + + + +- ++ + + +- + + + +@@ -2047,7 +1855,6 @@ + + + +- + + + diff --git a/scala-2.10.6-scaladoc-resources.patch b/scala-2.10.6-scaladoc-resources.patch new file mode 100644 index 0000000..86a7da6 --- /dev/null +++ b/scala-2.10.6-scaladoc-resources.patch @@ -0,0 +1,25 @@ +From f9b8176c668d3dff01da73fe65308bc50e355226 Mon Sep 17 00:00:00 2001 +From: Mikolaj Izdebski +Date: Fri, 12 Oct 2018 16:43:59 +0000 +Subject: [PATCH] Stop scaladoc from bundling web assets in generated docs + +--- + src/compiler/scala/tools/nsc/doc/html/HtmlFactory.scala | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/src/compiler/scala/tools/nsc/doc/html/HtmlFactory.scala b/src/compiler/scala/tools/nsc/doc/html/HtmlFactory.scala +index 4630c3d..648a588 100644 +--- a/src/compiler/scala/tools/nsc/doc/html/HtmlFactory.scala ++++ b/src/compiler/scala/tools/nsc/doc/html/HtmlFactory.scala +@@ -121,8 +121,6 @@ class HtmlFactory(val universe: doc.Universe, index: doc.Index) { + + DiagramGenerator.initialize(universe.settings) + +- libResources foreach (s => copyResource("lib/" + s)) +- + new page.Index(universe, index) writeFor this + new page.IndexScript(universe, index) writeFor this + +-- +2.17.2 + diff --git a/scala-bootstript.xml b/scala-bootstript.xml new file mode 100644 index 0000000..282d412 --- /dev/null +++ b/scala-bootstript.xml @@ -0,0 +1,152 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/scala-library-2.10.0-bnd.properties b/scala-library-2.10.0-bnd.properties new file mode 100644 index 0000000..eacc122 --- /dev/null +++ b/scala-library-2.10.0-bnd.properties @@ -0,0 +1,3 @@ +Bundle-Name: Scala Distribution +Bundle-SymbolicName: org.scala-ide.scala.library +Export-Package: scala.* diff --git a/scala-mime-info.xml b/scala-mime-info.xml new file mode 100644 index 0000000..914f6cc --- /dev/null +++ b/scala-mime-info.xml @@ -0,0 +1,8 @@ + + + + + Scala source code + + + diff --git a/scala-tooltemplate.patch b/scala-tooltemplate.patch new file mode 100644 index 0000000..0390a1e --- /dev/null +++ b/scala-tooltemplate.patch @@ -0,0 +1,66 @@ +diff -ur ../scala-2.7.4.final-sources.orig/src/compiler/scala/tools/ant/templates/tool-unix.tmpl ./src/compiler/scala/tools/ant/templates/tool-unix.tmpl +--- ../scala-2.7.4.final-sources.orig/src/compiler/scala/tools/ant/templates/tool-unix.tmpl 2009-03-16 05:55:45.000000000 -0600 ++++ ./src/compiler/scala/tools/ant/templates/tool-unix.tmpl 2009-05-18 21:34:52.000000000 -0600 +@@ -8,31 +8,14 @@ + # PARTICULAR PURPOSE. + ############################################################################## + +-cygwin=false; +-case "`uname`" in +- CYGWIN*) cygwin=true ;; +-esac +- +-# Finding the root folder for this Scala distribution +-SOURCE=$0; +-SCRIPT=`basename "$SOURCE"`; +-while [ -h "$SOURCE" ]; do +- SCRIPT=`basename "$SOURCE"`; +- LOOKUP=`ls -ld "$SOURCE"`; +- TARGET=`expr "$LOOKUP" : '.*-> \(.*\)$'`; +- if expr "${TARGET:-.}/" : '/.*/$' > /dev/null; then +- SOURCE=${TARGET:-.}; +- else +- SOURCE=`dirname "$SOURCE"`/${TARGET:-.}; +- fi; +-done; +-SCALA_HOME=`dirname "$SOURCE"`/..; +-SCALA_HOME=`cd "$SCALA_HOME"; pwd`; +-# Remove spaces from SCALA_HOME on windows +-if $cygwin; then +- SCALA_HOME=`cygpath --windows --short-name "$SCALA_HOME"` +- SCALA_HOME=`cygpath --unix "$SCALA_HOME"` +-fi ++[ -r @@JAVADIR@@-utils/java-functions ] \ ++ && . @@JAVADIR@@-utils/java-functions || exit 1 ++ ++set_javacmd || exit 3 ++check_java_env || exit 4 ++set_jvm_dirs || exit 5 ++ ++SCALA_HOME="@@DATADIR@@/scala" + + # Constructing the extension classpath + TOOL_CLASSPATH="@classpath@" +@@ -46,21 +29,8 @@ + done + fi + +-if $cygwin; then +- if [ "$OS" = "Windows_NT" ] && cygpath -m .>/dev/null 2>/dev/null ; then +- format=mixed +- else +- format=windows +- fi +- SCALA_HOME=`cygpath --$format "$SCALA_HOME"` +- TOOL_CLASSPATH=`cygpath --path --$format "$TOOL_CLASSPATH"` +-fi + + # Reminder: substitution ${JAVA_OPTS:=-Xmx256M -Xms16M} DO NOT work on Solaris + [ -n "$JAVA_OPTS" ] || JAVA_OPTS="@javaflags@" + +-if [ -z "$JAVACMD" -a -n "$JAVA_HOME" -a -x "$JAVA_HOME/bin/java" ]; then +- JAVACMD="$JAVA_HOME/bin/java" +-fi +- +-exec "${JAVACMD:=java}" $JAVA_OPTS -cp "$TOOL_CLASSPATH" -Dscala.home="$SCALA_HOME" -Denv.classpath="$CLASSPATH" -Denv.emacs="$EMACS" @properties@ @class@ @toolflags@ "$@@" ++exec "${JAVACMD}" $JAVA_OPTS -cp "$TOOL_CLASSPATH" -Dscala.home="$SCALA_HOME" -Denv.classpath="$CLASSPATH" -Denv.emacs="$EMACS" @properties@ @class@ @toolflags@ "$@@" diff --git a/scala.ant.d b/scala.ant.d new file mode 100644 index 0000000..9be890a --- /dev/null +++ b/scala.ant.d @@ -0,0 +1 @@ +scala diff --git a/scala.gitinfo b/scala.gitinfo new file mode 100644 index 0000000..fd0ff1a --- /dev/null +++ b/scala.gitinfo @@ -0,0 +1,2 @@ +b66a39653b9bccab72036ba58fec5fd7d596d313 +20140209 diff --git a/scala.in b/scala.in new file mode 100644 index 0000000..46acc0b --- /dev/null +++ b/scala.in @@ -0,0 +1,46 @@ +#!/bin/sh + +############################################################################## +# Scala code runner 2.6.1-RC2 +############################################################################## +# (c) 2002-2007 LAMP/EPFL +# +# This is free software; see the distribution for copying conditions. +# There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. +############################################################################## + +[ -r @@JAVADIR@@-utils/java-functions ] \ + && . @@JAVADIR@@-utils/java-functions || exit 1 + +set_javacmd || exit 3 +check_java_env || exit 4 +set_jvm_dirs || exit 5 + +SCALA_HOME="@@DATADIR@@/scala" + +# Constructing the extension classpath +EXTENSION_CLASSPATH="" +if [ -z "$EXTENSION_CLASSPATH" ] ; then + for ext in `ls -d "$SCALA_HOME"/lib/*` ; do + if [ -z "$EXTENSION_CLASSPATH" ] ; then + EXTENSION_CLASSPATH="$ext" + else + EXTENSION_CLASSPATH="$EXTENSION_CLASSPATH:$ext" + fi + done +fi +EXTENSION_CLASSPATH="$EXTENSION_CLASSPATH:`build-classpath jline`" + +BOOT_CLASSPATH="`build-classpath scala/scala-library jline`" + +if [ $? != 0 ]; then + echo $"Could not find the scala library jar." >&2 + echo $"Please check that Java is configured properly." >&2 + exit 6 +fi + +# Reminder: substitution ${JAVA_OPTS:=-Xmx256M -Xms16M} DO NOT work on Solaris +[ -n "$JAVA_OPTS" ] || JAVA_OPTS="-Xmx256M -Xms16M" + +$JAVACMD $JAVA_OPTS -Xbootclasspath/a:"$BOOT_CLASSPATH" -cp "$EXTENSION_CLASSPATH" -Dscala.home="$SCALA_HOME" -Denv.classpath="$CLASSPATH" -Denv.emacs="$EMACS" scala.tools.nsc.MainGenericRunner "$@" diff --git a/scala.keys b/scala.keys new file mode 100644 index 0000000..a5fe0ea --- /dev/null +++ b/scala.keys @@ -0,0 +1,4 @@ +text/x-scala + description=Scala source code + category=Software Development/Source Code + can_be_executable=TRUE diff --git a/scala.mime b/scala.mime new file mode 100644 index 0000000..5d7d426 --- /dev/null +++ b/scala.mime @@ -0,0 +1,2 @@ +text/x-scala + ext: scala diff --git a/scala.spec b/scala.spec new file mode 100644 index 0000000..4380fc4 --- /dev/null +++ b/scala.spec @@ -0,0 +1,641 @@ +%global fullversion %{version} +%global release_repository http://nexus.scala-tools.org/content/repositories/releases +%global snapshot_repository http://nexus.scala-tools.org/content/repositories/snapshots +%global jansi_jar %{_javadir}/jansi/jansi.jar +%global jline2_jar %{_javadir}/jline/jline.jar +%global scaladir %{_datadir}/scala + +%global want_jdk8 1 +%global bootstrap_build 0 + +Name: scala +Version: 2.10.6 +Release: 14%{?dist} +Summary: A hybrid functional/object-oriented language for the JVM +BuildArch: noarch +# License was confirmed to be standard BSD by fedora-legal +# https://www.redhat.com/archives/fedora-legal-list/2007-December/msg00012.html +# files in forkjoin module are under CC0 +# files in threadpool module are under Public Domain +License: BSD and CC0 and Public Domain +URL: http://www.scala-lang.org/ + +# ./generate-tarball.sh +Source0: %{name}-%{version}.tar.gz +Source1: scala-library-2.10.0-bnd.properties +# Bootstrap file generated by ./get-sources.sh +Source2: scala-2.10.3-bootstrap.tgz +# git information generated by ./get-sources.sh +Source3: scala.gitinfo + + +# we need this binary copy of the scala 2.10.4 compiler +# for bootstrapping under Java 8; this can be removed if +# necessary after Scala 2.10.5 is released if it uses 2.10.4 +# for bootstrapping. +Source4: http://www.scala-lang.org/files/archive/scala-2.10.4.tgz + +# Remove bundled binaries which are possibly proprietary +Source5: generate-tarball.sh + +# Source0: http://www.scala-lang.org/downloads/distrib/files/scala-sources-%%{fullversion}.tgz +# Change the default classpath (SCALA_HOME) +Patch1: scala-2.10.0-tooltemplate.patch +# Use system jline2 instead of bundled jline2 +Patch2: scala-2.10.3-use_system_jline.patch +# change org.scala-lang jline in org.sonatype.jline jline +Patch3: scala-2.10.3-compiler-pom.patch +# Patch Swing module for JDK 1.7 +Patch4: scala-2.10.2-java7.patch +# fix incompatibilities with JLine 2.7 +Patch6: scala-2.10-jline.patch +# work around a known bug when running binary-compatibility tests against +# non-optimized builds (we can't do optimized builds due to another bug): +# http://grokbase.com/t/gg/scala-internals/1347g1jahq/2-10-x-bc-test-fails +# Patch7: scala-2.10.1-bc.patch +Patch8: scala-2.10.4-build_xml.patch +# Stop scaladoc from trying to bundle non-existent resources that were +# removed due to being in object form only, whithout sources +Patch9: scala-2.10.6-scaladoc-resources.patch + +Source21: scala.keys +Source22: scala.mime +Source23: scala-mime-info.xml +Source24: scala.ant.d + +Source31: scala-bootstript.xml + +BuildRequires: java-devel >= 1:1.7.0 +BuildRequires: ant +BuildRequires: ant-junit +BuildRequires: ant-contrib +BuildRequires: jline >= 2.10 +BuildRequires: aqute-bnd +BuildRequires: junit +BuildRequires: javapackages-local + +%if !(0%{?bootstrap_build}) +BuildRequires: scala +%endif + +# Require full javapackages-tools since scripts use +# /usr/share/java-utils/java-functions +Requires: javapackages-tools +Requires: jansi + +Requires: java-headless >= 1:1.7.0 +Requires: jline >= 2.10 + +%{?filter_setup: +%filter_from_requires /ant/d; +%filter_setup +} + +%description +Scala is a general purpose programming language designed to express common +programming patterns in a concise, elegant, and type-safe way. It smoothly +integrates features of object-oriented and functional languages. It is also +fully interoperable with Java. + +%package apidoc +Summary: Documentation for the Scala programming language + +%description apidoc +Scala is a general purpose programming language for the JVM that blends +object-oriented and functional programming. This package provides +reference and API documentation for the Scala programming language. + +%package swing +Summary: The swing library for the scala programming languages +Requires: scala = %{version}-%{release} +Requires: java >= 1:1.7.0 + +%description swing +This package contains the swing library for the scala programming languages. This library is required to develope GUI-releate applications in scala. The release provided by this package +is not the original version from upstream because this version is not compatible with JDK-1.7. + +%package -n ant-scala +Summary: Development files for Scala +Requires: scala = %{version}-%{release}, ant + +%description -n ant-scala +Scala is a general purpose programming language for the JVM that blends +object-oriented and functional programming. This package enables support for +the scala ant tasks. + +%if 0 +%package examples +Summary: Examples for the Scala programming language +# Otherwise it will pick up some perl module +Autoprov: 0 +Requires: scala = %{version}-%{release} +Requires: ant + +%description examples +Scala is a general purpose programming language for the JVM that blends +object-oriented and functional programming. This package contains examples for +the Scala programming language + +%package swing-examples +Summary: Examples for the Scala Swing library +Requires: scala = %{version}-%{release} +Requires: ant + +%description swing-examples +This package contains examples for the Swing library of the Scala language which is required +to create GUI applications in the Scala programming language. +%endif + +%prep + +%global _default_patch_fuzz 2 + +%setup -q +%patch1 -p1 -b .tool +%patch2 -p1 -b .sysjline +%patch3 -p1 -b .compiler-pom +%patch4 -p1 -b .jdk7 +%patch6 -p1 -b .rvk +# %patch7 -p1 -b .bc +%patch8 -p1 -b .bld +%patch9 -p1 -b .scaladoc + +echo "starr.version=2.10.4\nstarr.use.released=0" > starr.number + +pushd src +rm -rf jline +popd + +sed -i '/is not supported by/d' build.xml +sed -i '/exec.*pull-binary-libs.sh/d' build.xml + +%if 0%{?bootstrap_build} +%global do_bootstrap -DdoBootstrapBuild=yes +tar -xzvf %{SOURCE2} +%if %{want_jdk8} +tar -xzvf %{SOURCE4} --strip-components=1 scala-2.10.4/lib +%endif +%else +%global do_bootstrap %{nil} +%endif + +pushd lib +# fjbg.jar ch.epfl.lamp +# forkjoin.jar scala.concurrent.forkjoin available @ https://bugzilla.redhat.com/show_bug.cgi?id=854234 as jsr166y +# find -not \( -name 'scala-compiler.jar' -or -name 'scala-library.jar' -or -name 'midpapi10.jar' -or \ +# -name 'msil.jar' -or -name 'fjbg.jar' -or -name 'forkjoin.jar' \) -and -name '*.jar' -delete + + +# midpapi10.jar https://bugzilla.redhat.com/show_bug.cgi?id=807242 ? +# msil.jar ch.epfl.lamp.compiler +# scala-compiler.jar +# scala-library-src.jar +# scala-library.jar +%if !(0%{?bootstrap_build}) + rm -rf scala-compiler.jar + ln -s $(build-classpath scala/scala-compiler.jar) scala-compiler.jar + rm -rf scala-library.jar + ln -s $(build-classpath scala/scala-library.jar) scala-library.jar + rm -rf scala-reflect.jar + ln -s $(build-classpath scala/scala-reflect.jar) scala-reflect.jar +%endif + pushd ant + rm -rf ant.jar + rm -rf ant-contrib.jar + ln -s $(build-classpath ant.jar) ant.jar + ln -s $(build-classpath ant/ant-contrib) ant-contrib.jar +# rm -rf ant-dotnet-1.0.jar +# rm -rf maven-ant-tasks-2.1.1.jar +# rm -rf vizant.jar + popd +popd + +cp -rf %{SOURCE31} . + + +sed -i -e 's!@JLINE@!%{jline2_jar}!g' build.xml + +echo echo $(head -n 1 %{SOURCE3}) > tools/get-scala-commit-sha +echo echo $(tail -n 1 %{SOURCE3}) > tools/get-scala-commit-date +chmod 755 tools/get-scala-* + +%build + +export ANT_OPTS="-Xms2048m -Xmx2048m %{do_bootstrap}" + +# NB: the "build" task is (unfortunately) necessary +# build-opt will fail due to a scala optimizer bug +# and its interaction with the system jline +# ant -f scala-bootstript.xml build +ant build docs || exit 1 +pushd build/pack/lib +mv scala-library.jar scala-library.jar.no +bnd wrap --properties %{SOURCE1} --output scala-library.jar \ + --version "%{version}" scala-library.jar.no +popd + +%check + +# these tests fail, but their failures appear spurious +rm -f test/files/run/parserJavaIdent.scala +rm -rf test/files/presentation/implicit-member +rm -rf test/files/presentation/t5708 +rm -rf test/files/presentation/ide-bug-1000349 +rm -rf test/files/presentation/ide-bug-1000475 +rm -rf test/files/presentation/callcc-interpreter +rm -rf test/files/presentation/ide-bug-1000531 +rm -rf test/files/presentation/visibility +rm -rf test/files/presentation/ping-pong + +rm -f test/osgi/src/ReflectionToolboxTest.scala + +# fails under mock but not under rpmbuild +rm -f test/files/run/t6223.scala + +## Most test dependencies still aren't available in Fedora +# ant test + +%install + +install -d $RPM_BUILD_ROOT%{_bindir} +for prog in scaladoc fsc scala scalac scalap; do + install -p -m 755 build/pack/bin/$prog $RPM_BUILD_ROOT%{_bindir} +done + +install -p -m 755 -d $RPM_BUILD_ROOT%{scaladir}/lib + +# Add symlinks in lib directory +%mvn_file ':{*}:jar:' %{name}/@1 %{scaladir}/lib/@1 +# Add compat symlinks to POMs because climbing-nemesis uses the old JPP naming convention +%mvn_file ':{*}:pom:' %{name}/@1 JPP.%{name}-@1 + +%mvn_package :scala-swing swing + +# XXX: add scala-partest when it works again +for libname in scala-compiler \ + scala-library \ + scala-reflect \ + scalap \ + scala-swing ; do + sed -i "s|@VERSION@|%{fullversion}|" src/build/maven/$libname-pom.xml + sed -i "s|@RELEASE_REPOSITORY@|%{release_repository}|" src/build/maven/$libname-pom.xml + sed -i "s|@SNAPSHOT_REPOSITORY@|%{snapshot_repository}|" src/build/maven/$libname-pom.xml + %mvn_artifact src/build/maven/$libname-pom.xml build/pack/lib/$libname.jar +done +ln -s $(abs2rel %{jline2_jar} %{scaladir}/lib) $RPM_BUILD_ROOT%{scaladir}/lib +ln -s $(abs2rel %{jansi_jar} %{scaladir}/lib) $RPM_BUILD_ROOT%{scaladir}/lib + +%mvn_install + +install -d $RPM_BUILD_ROOT%{_sysconfdir}/ant.d +install -p -m 644 %{SOURCE24} $RPM_BUILD_ROOT%{_sysconfdir}/ant.d/scala + +%if 0 +cp -pr docs/examples $RPM_BUILD_ROOT%{_datadir}/scala/ +%endif + +install -d $RPM_BUILD_ROOT%{_datadir}/mime-info +install -p -m 644 %{SOURCE21} %{SOURCE22} $RPM_BUILD_ROOT%{_datadir}/mime-info/ + +install -d $RPM_BUILD_ROOT%{_datadir}/mime/packages/ +install -p -m 644 %{SOURCE23} $RPM_BUILD_ROOT%{_datadir}/mime/packages/ + +sed -i -e 's,@JAVADIR@,%{_javadir},g' -e 's,@DATADIR@,%{_datadir},g' $RPM_BUILD_ROOT%{_bindir}/* + +install -d $RPM_BUILD_ROOT%{_mandir}/man1 +install -p -m 644 build/scaladoc/manual/man/man1/* $RPM_BUILD_ROOT%{_mandir}/man1 + +%post +touch --no-create %{_datadir}/mime/packages &> /dev/null || : + +%postun +if [ $1 -eq 0 ]; then +update-mime-database %{_datadir}/mime &> /dev/null || : +fi + +%posttrans +update-mime-database %{?fedora:-n} %{_datadir}/mime &> /dev/null || : + +%files -f .mfiles +%{_bindir}/* +%dir %{_datadir}/%{name} +%dir %{_datadir}/%{name}/lib +%{_datadir}/%{name}/lib/j*.jar +%{_datadir}/mime-info/* +%{_datadir}/mime/packages/* +%{_mandir}/man1/* +%license docs/LICENSE + +%files swing -f .mfiles-swing +%license docs/LICENSE + +%files -n ant-scala +# Following is plain config because the ant task classpath could change from +# release to release +%config %{_sysconfdir}/ant.d/* +%license docs/LICENSE + +%files apidoc +%doc build/scaladoc/library/* +%license docs/LICENSE + +%if 0 +%files examples +%{_datadir}/scala/examples +%exclude %{_datadir}/scala/examples/swing +%license docs/LICENSE + +%files swing-examples +%{_datadir}/scala/examples/swing +%license docs/LICENSE +%endif + +%changelog +* Fri Oct 12 2018 Mikolaj Izdebski - 2.10.6-14 +- Re-enable docs generation during build + +* Fri Oct 12 2018 Mikolaj Izdebski - 2.10.6-13 +- Stop scaladoc from trying to bundle non-existent resources +- Temporarly disable docs generation during build + +* Tue Jul 31 2018 Severin Gehwolf - 2.10.6-12 +- Require full javapackages-tools for scripts. + +* Tue Jul 31 2018 Michael Simacek - 2.10.6-11 +- Correct license tag to include CC0 and Public Domain +- Repack tarball to remove possibly proprietary binaries +- Use %%license macro + +* Sat Jul 14 2018 Fedora Release Engineering - 2.10.6-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Tue Jul 3 2018 Mikolaj Izdebski - 2.10.6-9 +- Include bootstrap sources in SRPM + +* Fri Feb 09 2018 Fedora Release Engineering - 2.10.6-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Wed Jan 31 2018 Michael Simacek - 2.10.6-7 +- Port from deprecated add_maven_depmap to mvn_install +- Remove unused BR felix-framework +- Fix unowned directory + +* Thu Dec 7 2017 Mikolaj Izdebski - 2.10.6-6 +- Add missing BR on javapackages-local +- Resolves: rhbz#1512883 + +* Thu Jul 27 2017 Fedora Release Engineering - 2.10.6-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Jul 07 2017 Igor Gnatenko - 2.10.6-4 +- Rebuild due to bug in RPM (RHBZ #1468476) + +* Sat Feb 11 2017 Fedora Release Engineering - 2.10.6-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Thu Jan 5 2017 Mikolaj Izdebski - 2.10.6-2 +- Update to current packaging guidelines +- Remove legacy build conditionals +- Remove file requires +- Remove usage of shutil (not available on RHEL) + +* Wed Nov 16 2016 William Benton - 2.10.6-1 +- upstream version bump + +* Thu Feb 04 2016 Fedora Release Engineering - 2.10.4-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Thu Jul 16 2015 Michael Simacek - 2.10.4-8 +- Use aqute-bnd-2.4.1 + +* Thu Jul 9 2015 William Benton - 2.10.4-7 +- non-bootstrap build + +* Thu Jul 9 2015 William Benton - 2.10.4-6 +- bootstrap build + +* Fri Jun 19 2015 Fedora Release Engineering - 2.10.4-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Sun May 24 2015 Peter Robinson 2.10.4-4 +- Drop ExcludeArch for ARM, can't be both noarch and arch exclusive + +* Wed Oct 1 2014 William Benton - 2.10.4-3 +- non-bootstrap build + +* Sat Sep 27 2014 Rex Dieter 2.10.4-2 +- update/optimize mime scriptlets + +* Mon Sep 15 2014 William Benton - 2.10.4-1 +- updated to upstream version 2.10.4 +- fixes for Java 8 compatibility: use scala 2.10.4 for bootstrapping + +* Sun Jun 08 2014 Fedora Release Engineering - 2.10.3-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Fri Feb 21 2014 Jochen Schmitt - 2.10.3-11 +- Implenting usage of headless java (#1068518) +- Fix rpmdeps version sanity check issue + +* Mon Dec 9 2013 Jochen Schmitt - 2.10.3-10 +- Activate compiler-pom patch again + +* Sun Dec 8 2013 Jochen Schmitt - 2.10.3-9 +- Put the swing library into a seperate subpackage + +* Wed Nov 27 2013 Jochen Schmitt - 2.10.3-8 +- Filter osgi(org.apache.ant) Req. (#975598) + +* Thu Oct 31 2013 Jochen Schmitt - 2.10.3-7 +- Fix wrong condition for jline Req. + +* Wed Oct 30 2013 Jochen Schmitt - 2.10.3-6 +- Jline2 is now jline in Rawhide +- Fix an issue with jansi.jar in F-20 (#1025062) + +* Tue Oct 22 2013 Jochen Schmitt - 2.10.3-5 +- Fix typo + +* Mon Oct 21 2013 Jochen Schmitt - 2.10.3-4 +- Fix jline2.jar path for Rawhide (#1021465) +- Add jpackage-utils as a BR + +* Tue Oct 15 2013 Jochen Schmitt - 2.10.3-3 +- Fix change classpath of jansi.jar +- Dynamicly setting of version in bnd.properties +- automatic generation of gitdate and gitsha + +* Sun Oct 13 2013 Jochen Schmitt - 2.10.3-2 +- Fix REPL crash issue when entering an exclaimation mark (#890069) + +* Thu Oct 10 2013 Jochen Schmitt - 2.10.3-1 +- New upstream release + +* Thu Sep 26 2013 William Benton - 2.10.2-1 +- upstream version 2.10.2 + +* Thu Sep 12 2013 William Benton - 2.10.1-4 +- updated upstream source location (thanks to Antoine Gourlay for the observation) + +* Wed Sep 11 2013 William Benton - 2.10.1-3 +- Fixes to build and install on F19 + +* Sun Aug 04 2013 Fedora Release Engineering - 2.10.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Sat Mar 16 2013 Jochen Schmitt - 2.10.1-1 +- New upstream releae + +* Thu Feb 14 2013 Fedora Release Engineering - 2.10.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Mon Jan 7 2013 Jochen Schmitt - 2.10.0-1 +- New upstream release +- Add patch to use system aQuate-bnd.jar file + +* Thu Dec 13 2012 Jochen Schmitt - 2.10.0-0.5 +- New upstream release + +* Fri Dec 7 2012 Jochen Schmitt - 2.10.0-0.3 +- New upstream release + +* Thu Sep 13 2012 gil cattaneo 2.9.2-1 +- update to 2.9.2 +- added maven poms +- adapted to current guideline +- built with java 7 support +- removed ant-nodeps from buildrequires +- disabled swing module + +* Sat Jul 21 2012 Fedora Release Engineering - 2.9.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Sat Jan 14 2012 Fedora Release Engineering - 2.9.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Sun Nov 27 2011 Jochen Schmitt - 2.9.1-2 +- Build explicit agains java-1.6.0 + +* Thu Nov 3 2011 Jochen Schmitt - 2.9.1-1 +- New upstream release + +* Wed Feb 09 2011 Fedora Release Engineering - 2.8.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Thu Dec 9 2010 Jochen Schmitt - 2.8.1-1 +- New upstream release (#661853) + +* Sun Aug 15 2010 Geoff Reedy - 2.8.0-1 +- Update to upstream 2.8.0 release + +* Thu Oct 29 2009 Geoff Reedy - 2.7.7-1 +- Update to upstream 2.7.7 release + +* Sat Sep 19 2009 Geoff Reedy - 2.7.5-1 +- Update to upstream 2.7.5 release + +* Sun Jul 26 2009 Fedora Release Engineering - 2.7.4-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Mon May 18 2009 Geoff Reedy - 2.7.4-5 +- fix problem in tooltemplate patch + +* Mon May 18 2009 Geoff Reedy - 2.7.4-4 +- make jline implicitly available to match upstream behavior + +* Mon May 18 2009 Geoff Reedy - 2.7.4-3 +- fix problem with substitutions to scripts in %%install + +* Mon May 18 2009 Geoff Reedy - 2.7.4-2 +- fix launcher scripts by modifying template, not overriding them + +* Tue May 12 2009 Geoff Reedy - 2.7.4-1 +- update to 2.7.4 final + +* Wed Feb 25 2009 Fedora Release Engineering - 2.7.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Wed Jan 21 2009 Geoff Reedy - 2.7.3-1 +- update to 2.7.3 final + +* Sun Nov 09 2008 Geoff Reedy - 2.7.2-1 +- update to 2.7.2 final + +* Mon Nov 03 2008 Geoff Reedy - 2.7.2-0.3.RC6 +- bump release to fix upgrade path + +* Sat Nov 01 2008 Geoff Reedy - 2.7.2-0.1.RC6 +- update to 2.7.2-RC6 + +* Thu Oct 30 2008 Geoff Reedy - 2.7.2-0.1.RC5 +- update to 2.7.2-RC5 + +* Sat Sep 06 2008 Geoff Reedy - 2.7.2-0.2.RC1 +- All code is now under BSD license +- Remove dll so and exe binaries in prep +- Add BuildRequires required by Java packaging guidelines +- Add missing defattr for examples and ant-scala + +* Wed Aug 20 2008 Geoff Reedy - 2.7.2-0.1.RC1 +- update to 2.7.2-RC1 + +* Wed Aug 13 2008 Geoff Reedy - 2.7.1-3 +- regenerate classpath in manifest patch to apply cleanly to 2.7.1 + +* Wed Aug 13 2008 Geoff Reedy - 2.7.1-2 +- no changes, accidental release bump + +* Mon May 05 2008 Geoff Reedy - 2.7.1-1 +- Update to 2.7.1 + +* Fri May 02 2008 Geoff Reedy - 2.7.0-2 +- Use java-sdk-openjdk for non-fc8 builds + +* Mon Mar 10 2008 Geoff Reedy - 2.7.0-1 +- Update to 2.7.0 +- License now correctly indicated as BSD and LGPLv2+ +- Include LICENSE file in apidoc subpackage + +* Mon Feb 11 2008 Geoff Reedy - 2.6.1-8 +- Adhere more strongly to the emacs package guidelines +- Include some comments regarding the boot-strapping process + +* Wed Jan 16 2008 Geoff Reedy - 2.6.1-7 +- Add dist tag to release +- Fix directory ownership issues in %%_datadir/scala +- Remove source code from -devel package +- Rename -devel package to ant-scala +- Fix packaging of gtksourceview2 language spec +- Preserve timestamps when installing and cping +- Add patch to remove Class-Path entries from jar manifests +- Fix line endings in enscript/README + +* Sun Jan 13 2008 Geoff Reedy - 2.6.1-6 +- Include further information about inclusion of binary distribution +- Unpack only those files needed from the binary distribution +- Include note about license approval + +* Thu Dec 27 2007 Geoff Reedy - 2.6.1-5 +- Add emacs(bin) BR +- Patch out call to subversion in build.xml +- Add pkgconfig to BuildRequires + +* Thu Dec 27 2007 Geoff Reedy - 2.6.1-4 +- Reformat emacs-scala description +- Expand tabs to spaces +- Fix -devel symlinks +- Better base package summary + +* Wed Dec 26 2007 Geoff Reedy - 2.6.1-3 +- Add ant config to devel package +- Require icedtea for build +- Move examples to %%{_datadir}/scala/examples +- Clean up package descriptions +- Add base package requirement for scala-examples and scala-devel + +* Wed Dec 26 2007 Geoff Reedy - 2.6.1-2 +- Fix post scripts +- Use spaces instead of tabs + +* Wed Dec 26 2007 Geoff Reedy - 2.6.1-1 +- Initial build. diff --git a/scalac.in b/scalac.in new file mode 100644 index 0000000..8755ba0 --- /dev/null +++ b/scalac.in @@ -0,0 +1,45 @@ +#!/bin/sh + +############################################################################## +# Scala compiler 2.6.1-RC2 +############################################################################## +# (c) 2002-2007 LAMP/EPFL +# +# This is free software; see the distribution for copying conditions. +# There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. +############################################################################## + +[ -r @@JAVADIR@@-utils/java-functions ] \ + && . @@JAVADIR@@-utils/java-functions || exit 1 + +set_javacmd || exit 3 +check_java_env || exit 4 +set_jvm_dirs || exit 5 + +SCALA_HOME="@@DATADIR@@/scala" + +# Constructing the extension classpath +EXTENSION_CLASSPATH="" +if [ -z "$EXTENSION_CLASSPATH" ] ; then + for ext in `ls -d "$SCALA_HOME"/lib/*` ; do + if [ -z "$EXTENSION_CLASSPATH" ] ; then + EXTENSION_CLASSPATH="$ext" + else + EXTENSION_CLASSPATH="$EXTENSION_CLASSPATH:$ext" + fi + done +fi + +BOOT_CLASSPATH="`build-classpath scala/scala-library jline`" + +if [ $? != 0 ]; then + echo $"Could not find the scala library jar." >&2 + echo $"Please check that Java is configured properly." >&2 + exit 6 +fi + +# Reminder: substitution ${JAVA_OPTS:=-Xmx256M -Xms16M} DO NOT work on Solaris +[ -n "$JAVA_OPTS" ] || JAVA_OPTS="-Xmx256M -Xms16M" + +$JAVACMD $JAVA_OPTS -Xbootclasspath/a:"$BOOT_CLASSPATH" -cp "$EXTENSION_CLASSPATH" -Dscala.home="$SCALA_HOME" -Denv.classpath="$CLASSPATH" -Denv.emacs="$EMACS" scala.tools.nsc.Main "$@" diff --git a/scaladoc.in b/scaladoc.in new file mode 100644 index 0000000..da23eae --- /dev/null +++ b/scaladoc.in @@ -0,0 +1,45 @@ +#!/bin/sh + +############################################################################## +# Scala doc generator 2.6.1-RC2 +############################################################################## +# (c) 2002-2007 LAMP/EPFL +# +# This is free software; see the distribution for copying conditions. +# There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. +############################################################################## + +[ -r @@JAVADIR@@-utils/java-functions ] \ + && . @@JAVADIR@@-utils/java-functions || exit 1 + +set_javacmd || exit 3 +check_java_env || exit 4 +set_jvm_dirs || exit 5 + +SCALA_HOME="@@DATADIR@@/scala" + +# Constructing the extension classpath +EXTENSION_CLASSPATH="" +if [ -z "$EXTENSION_CLASSPATH" ] ; then + for ext in `ls -d "$SCALA_HOME"/lib/*` ; do + if [ -z "$EXTENSION_CLASSPATH" ] ; then + EXTENSION_CLASSPATH="$ext" + else + EXTENSION_CLASSPATH="$EXTENSION_CLASSPATH:$ext" + fi + done +fi + +BOOT_CLASSPATH="`build-classpath scala/scala-library`" + +if [ $? != 0 ]; then + echo $"Could not find the scala library jar." >&2 + echo $"Please check that Java is configured properly." >&2 + exit 6 +fi + +# Reminder: substitution ${JAVA_OPTS:=-Xmx256M -Xms16M} DO NOT work on Solaris +[ -n "$JAVA_OPTS" ] || JAVA_OPTS="-Xmx256M -Xms16M" + +$JAVACMD $JAVA_OPTS -Xbootclasspath/a:"$BOOT_CLASSPATH" -cp "$EXTENSION_CLASSPATH" -Dscala.home="$SCALA_HOME" -Denv.classpath="$CLASSPATH" -Denv.emacs="$EMACS" scala.tools.nsc.Main -Ydoc "$@" diff --git a/sources b/sources new file mode 100644 index 0000000..55aa8c1 --- /dev/null +++ b/sources @@ -0,0 +1,3 @@ +SHA1 (scala-2.10.3-bootstrap.tgz) = 847973d0b034305d15ab21ae193e120e6d172c8b +SHA1 (scala-2.10.4.tgz) = 970f779f155719838e81a267a7418a958fd4c13f +SHA1 (scala-2.10.6.tar.gz) = 4ce90dfbe5b6fe8474cbad67932c39cee20ee6dc