From 393966b3cde3ccd1af7d1431798f7186df70fafc Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Mon, 5 Aug 2019 11:52:31 -0400 Subject: [PATCH] import scala-2.10.6-14.module+el8+2477+516cbbff --- .gitignore | 3 + .scala.metadata | 3 + SOURCES/generate-tarball.sh | 26 + SOURCES/scala-2.10-jline.patch | 107 +++ SOURCES/scala-2.10.0-tooltemplate.patch | 21 + SOURCES/scala-2.10.2-java7.patch | 198 +++++ SOURCES/scala-2.10.3-compiler-pom.patch | 15 + SOURCES/scala-2.10.3-use_system_jline.patch | 109 +++ SOURCES/scala-2.10.4-build_xml.patch | 675 ++++++++++++++++++ SOURCES/scala-2.10.6-scaladoc-resources.patch | 25 + SOURCES/scala-bootstript.xml | 152 ++++ SOURCES/scala-library-2.10.0-bnd.properties | 3 + SOURCES/scala-mime-info.xml | 8 + SOURCES/scala.ant.d | 1 + SOURCES/scala.gitinfo | 2 + SOURCES/scala.keys | 4 + SOURCES/scala.mime | 2 + SPECS/scala.spec | 641 +++++++++++++++++ 18 files changed, 1995 insertions(+) create mode 100644 .gitignore create mode 100644 .scala.metadata create mode 100755 SOURCES/generate-tarball.sh create mode 100644 SOURCES/scala-2.10-jline.patch create mode 100644 SOURCES/scala-2.10.0-tooltemplate.patch create mode 100644 SOURCES/scala-2.10.2-java7.patch create mode 100644 SOURCES/scala-2.10.3-compiler-pom.patch create mode 100644 SOURCES/scala-2.10.3-use_system_jline.patch create mode 100644 SOURCES/scala-2.10.4-build_xml.patch create mode 100644 SOURCES/scala-2.10.6-scaladoc-resources.patch create mode 100644 SOURCES/scala-bootstript.xml create mode 100644 SOURCES/scala-library-2.10.0-bnd.properties create mode 100644 SOURCES/scala-mime-info.xml create mode 100644 SOURCES/scala.ant.d create mode 100644 SOURCES/scala.gitinfo create mode 100644 SOURCES/scala.keys create mode 100644 SOURCES/scala.mime create mode 100644 SPECS/scala.spec 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/.scala.metadata b/.scala.metadata new file mode 100644 index 0000000..f33eb96 --- /dev/null +++ b/.scala.metadata @@ -0,0 +1,3 @@ +847973d0b034305d15ab21ae193e120e6d172c8b SOURCES/scala-2.10.3-bootstrap.tgz +970f779f155719838e81a267a7418a958fd4c13f SOURCES/scala-2.10.4.tgz +4ce90dfbe5b6fe8474cbad67932c39cee20ee6dc SOURCES/scala-2.10.6.tar.gz diff --git a/SOURCES/generate-tarball.sh b/SOURCES/generate-tarball.sh new file mode 100755 index 0000000..06dd204 --- /dev/null +++ b/SOURCES/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/SOURCES/scala-2.10-jline.patch b/SOURCES/scala-2.10-jline.patch new file mode 100644 index 0000000..59ec518 --- /dev/null +++ b/SOURCES/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/SOURCES/scala-2.10.0-tooltemplate.patch b/SOURCES/scala-2.10.0-tooltemplate.patch new file mode 100644 index 0000000..81337a2 --- /dev/null +++ b/SOURCES/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/SOURCES/scala-2.10.2-java7.patch b/SOURCES/scala-2.10.2-java7.patch new file mode 100644 index 0000000..323ca42 --- /dev/null +++ b/SOURCES/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/SOURCES/scala-2.10.3-compiler-pom.patch b/SOURCES/scala-2.10.3-compiler-pom.patch new file mode 100644 index 0000000..fbc0cee --- /dev/null +++ b/SOURCES/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/SOURCES/scala-2.10.3-use_system_jline.patch b/SOURCES/scala-2.10.3-use_system_jline.patch new file mode 100644 index 0000000..c8a43eb --- /dev/null +++ b/SOURCES/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/SOURCES/scala-2.10.4-build_xml.patch b/SOURCES/scala-2.10.4-build_xml.patch new file mode 100644 index 0000000..4d9a04b --- /dev/null +++ b/SOURCES/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/SOURCES/scala-2.10.6-scaladoc-resources.patch b/SOURCES/scala-2.10.6-scaladoc-resources.patch new file mode 100644 index 0000000..86a7da6 --- /dev/null +++ b/SOURCES/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/SOURCES/scala-bootstript.xml b/SOURCES/scala-bootstript.xml new file mode 100644 index 0000000..282d412 --- /dev/null +++ b/SOURCES/scala-bootstript.xml @@ -0,0 +1,152 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SOURCES/scala-library-2.10.0-bnd.properties b/SOURCES/scala-library-2.10.0-bnd.properties new file mode 100644 index 0000000..eacc122 --- /dev/null +++ b/SOURCES/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/SOURCES/scala-mime-info.xml b/SOURCES/scala-mime-info.xml new file mode 100644 index 0000000..914f6cc --- /dev/null +++ b/SOURCES/scala-mime-info.xml @@ -0,0 +1,8 @@ + + + + + Scala source code + + + diff --git a/SOURCES/scala.ant.d b/SOURCES/scala.ant.d new file mode 100644 index 0000000..9be890a --- /dev/null +++ b/SOURCES/scala.ant.d @@ -0,0 +1 @@ +scala diff --git a/SOURCES/scala.gitinfo b/SOURCES/scala.gitinfo new file mode 100644 index 0000000..fd0ff1a --- /dev/null +++ b/SOURCES/scala.gitinfo @@ -0,0 +1,2 @@ +b66a39653b9bccab72036ba58fec5fd7d596d313 +20140209 diff --git a/SOURCES/scala.keys b/SOURCES/scala.keys new file mode 100644 index 0000000..a5fe0ea --- /dev/null +++ b/SOURCES/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/SOURCES/scala.mime b/SOURCES/scala.mime new file mode 100644 index 0000000..5d7d426 --- /dev/null +++ b/SOURCES/scala.mime @@ -0,0 +1,2 @@ +text/x-scala + ext: scala diff --git a/SPECS/scala.spec b/SPECS/scala.spec new file mode 100644 index 0000000..4380fc4 --- /dev/null +++ b/SPECS/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.