2019-12-17 11:31:11 +08:00
|
|
|
%global _default_patch_fuzz 2
|
|
|
|
|
%{?filter_setup: %filter_from_requires /ant/d; %filter_setup}
|
|
|
|
|
|
|
|
|
|
Name: scala
|
|
|
|
|
Version: 2.10.6
|
2020-02-24 01:59:03 -05:00
|
|
|
Release: 14
|
2019-12-17 11:31:11 +08:00
|
|
|
Summary: Combination of object-oriented and functional programming
|
|
|
|
|
License: BSD and CC0 and Public Domain
|
|
|
|
|
URL: http://www.scala-lang.org/
|
|
|
|
|
Source0: %{name}-%{version}.tar.gz
|
|
|
|
|
Source1: scala-library-2.10.0-bnd.properties
|
2020-02-24 01:59:03 -05:00
|
|
|
Source2: scala.gitinfo
|
|
|
|
|
Source3: scala.keys
|
|
|
|
|
Source4: scala.mime
|
|
|
|
|
Source5: scala-mime-info.xml
|
|
|
|
|
Source6: scala.ant.d
|
|
|
|
|
Source7: scala-bootstript.xml
|
2019-12-17 11:31:11 +08:00
|
|
|
Patch0: scala-2.10.0-tooltemplate.patch
|
|
|
|
|
Patch1: scala-2.10.3-use_system_jline.patch
|
|
|
|
|
Patch2: scala-2.10.3-compiler-pom.patch
|
|
|
|
|
Patch3: scala-2.10.2-java7.patch
|
|
|
|
|
Patch4: scala-2.10-jline.patch
|
|
|
|
|
Patch5: scala-2.10.4-build_xml.patch
|
2020-03-10 02:21:15 -04:00
|
|
|
Patch6: scala-2.10.6-scaladoc-resources.patch
|
2019-12-26 16:38:01 +08:00
|
|
|
Patch6000: CVE-2017-15288-pre.patch
|
|
|
|
|
Patch6001: CVE-2017-15288.patch
|
2019-12-17 11:31:11 +08:00
|
|
|
BuildArch: noarch
|
|
|
|
|
|
|
|
|
|
BuildRequires: java-devel >= 1:1.7.0, ant, ant-junit, ant-contrib, jline >= 2.10, aqute-bnd, junit, javapackages-local, scala
|
|
|
|
|
Requires: jpackage-utils, jansi, java-headless >= 1:1.7.0, jline >= 2.10
|
|
|
|
|
Provides: %{name}-apidoc%{?_isa} %{name}-apidoc
|
|
|
|
|
Obsoletes: %{name}-apidoc
|
|
|
|
|
Provides: %{name}-swing%{?_isa} %{name}-swing
|
|
|
|
|
Obsoletes: %{name}-swing
|
|
|
|
|
Provides: ant-scala%{?_isa} ant-scala
|
|
|
|
|
Obsoletes: ant-scala
|
|
|
|
|
|
|
|
|
|
%description
|
|
|
|
|
Scala combines object-oriented and functional programming in one concise, high-level language.
|
|
|
|
|
Scala's static types help avoid bugs in complex applications, and its JVM and JavaScript runtimes
|
|
|
|
|
let you build high-performance systems with easy access to huge ecosystems of libraries.
|
|
|
|
|
It provides a common, uniform, and all-encompassing framework for collection types.
|
|
|
|
|
This framework enables you to work with data in memory at a high level, with the basic building
|
|
|
|
|
blocks of a program being whole collections, instead of individual elements.
|
|
|
|
|
This style of programming requires some learning. Fortunately, the adaptation is helped by several
|
|
|
|
|
nice properties of the Scala collections. They are easy to use, concise, safe, fast, universal.
|
|
|
|
|
|
|
|
|
|
%prep
|
|
|
|
|
%autosetup -p1
|
|
|
|
|
|
|
|
|
|
echo "starr.version=2.10.4\nstarr.use.released=0" > starr.number
|
|
|
|
|
|
|
|
|
|
cd src
|
|
|
|
|
rm -rf jline
|
|
|
|
|
cd -
|
|
|
|
|
|
|
|
|
|
sed -i '/is not supported by/d' build.xml
|
|
|
|
|
sed -i '/exec.*pull-binary-libs.sh/d' build.xml
|
|
|
|
|
|
|
|
|
|
pushd lib
|
|
|
|
|
rm -rf scala-compiler.jar scala-library.jar scala-reflect.jar
|
|
|
|
|
ln -s $(build-classpath scala/scala-compiler.jar) scala-compiler.jar
|
|
|
|
|
ln -s $(build-classpath scala/scala-library.jar) scala-library.jar
|
|
|
|
|
ln -s $(build-classpath scala/scala-reflect.jar) scala-reflect.jar
|
|
|
|
|
pushd ant
|
|
|
|
|
rm -rf ant.jar ant-contrib.jar
|
|
|
|
|
ln -s $(build-classpath ant.jar) ant.jar
|
|
|
|
|
ln -s $(build-classpath ant/ant-contrib) ant-contrib.jar
|
|
|
|
|
popd
|
|
|
|
|
popd
|
|
|
|
|
|
2020-02-24 01:59:03 -05:00
|
|
|
cp -rf %{SOURCE7} .
|
2019-12-17 11:31:11 +08:00
|
|
|
|
|
|
|
|
sed -i -e 's!@JLINE@!%{_javadir}/jline/jline.jar!g' build.xml
|
|
|
|
|
|
2020-02-24 01:59:03 -05:00
|
|
|
echo echo $(head -n 1 %{SOURCE2}) > tools/get-scala-commit-sha
|
|
|
|
|
echo echo $(tail -n 1 %{SOURCE2}) > tools/get-scala-commit-date
|
2019-12-17 11:31:11 +08:00
|
|
|
|
|
|
|
|
chmod 755 tools/get-scala-*
|
|
|
|
|
|
|
|
|
|
%build
|
|
|
|
|
export ANT_OPTS="-Xms2048m -Xmx2048m %{nil}"
|
|
|
|
|
|
|
|
|
|
ant build || exit 1
|
|
|
|
|
cd 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
|
|
|
|
|
cd -
|
|
|
|
|
|
|
|
|
|
%check
|
|
|
|
|
pushd test/files/run
|
|
|
|
|
rm -rf parserJavaIdent.scala t6223.scala
|
|
|
|
|
pushd ../presentation
|
|
|
|
|
rm -rf implicit-member t5708 ide-bug-1000349 ide-bug-1000475 ide-bug-1000531 visibility ping-pong callcc-interpreter
|
|
|
|
|
pushd ../../osgi/src
|
|
|
|
|
rm -rf ReflectionToolboxTest.scala
|
|
|
|
|
popd
|
|
|
|
|
popd
|
|
|
|
|
popd
|
|
|
|
|
|
|
|
|
|
%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%{_datadir}/scala/lib
|
|
|
|
|
|
|
|
|
|
%mvn_file ':{*}:jar:' %{name}/@1 %{_datadir}/scala/lib/@1
|
|
|
|
|
%mvn_file ':{*}:pom:' %{name}/@1 JPP.%{name}-@1
|
|
|
|
|
|
|
|
|
|
%mvn_package :scala-swing swing
|
|
|
|
|
|
|
|
|
|
for libname in scala-compiler scala-library scala-reflect scalap scala-swing ; do
|
|
|
|
|
sed -i "s|@VERSION@|%{version}|" src/build/maven/$libname-pom.xml
|
|
|
|
|
sed -i "s|@RELEASE_REPOSITORY@|http://nexus.scala-tools.org/content/repositories/releases|" src/build/maven/$libname-pom.xml
|
|
|
|
|
sed -i "s|@SNAPSHOT_REPOSITORY@|http://nexus.scala-tools.org/content/repositories/snapshots|" src/build/maven/$libname-pom.xml
|
|
|
|
|
%mvn_artifact src/build/maven/$libname-pom.xml build/pack/lib/$libname.jar
|
|
|
|
|
done
|
|
|
|
|
ln -s $(abs2rel %{_javadir}/jline/jline.jar %{_datadir}/scala/lib) $RPM_BUILD_ROOT%{_datadir}/scala/lib
|
|
|
|
|
ln -s $(abs2rel %{_javadir}/jansi/jansi.jar %{_datadir}/scala/lib) $RPM_BUILD_ROOT%{_datadir}/scala/lib
|
|
|
|
|
|
|
|
|
|
%mvn_install
|
|
|
|
|
install -d $RPM_BUILD_ROOT%{_sysconfdir}/ant.d
|
2020-02-24 01:59:03 -05:00
|
|
|
install -p -m 644 %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/ant.d/scala
|
2019-12-17 11:31:11 +08:00
|
|
|
|
|
|
|
|
install -d $RPM_BUILD_ROOT%{_datadir}/mime-info
|
2020-02-24 01:59:03 -05:00
|
|
|
install -p -m 644 %{SOURCE3} %{SOURCE4} $RPM_BUILD_ROOT%{_datadir}/mime-info/
|
2019-12-17 11:31:11 +08:00
|
|
|
|
|
|
|
|
install -d $RPM_BUILD_ROOT%{_datadir}/mime/packages/
|
2020-02-24 01:59:03 -05:00
|
|
|
install -p -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_datadir}/mime/packages/
|
2019-12-17 11:31:11 +08:00
|
|
|
|
|
|
|
|
sed -i -e 's,@JAVADIR@,%{_javadir},g' -e 's,@DATADIR@,%{_datadir},g' $RPM_BUILD_ROOT%{_bindir}/*
|
|
|
|
|
|
|
|
|
|
%post
|
|
|
|
|
touch --no-create %{_datadir}/mime/packages > /dev/null 2>&1 || :
|
|
|
|
|
|
|
|
|
|
%postun
|
|
|
|
|
if [ $1 -eq 0 ]; then
|
|
|
|
|
update-mime-database %{_datadir}/mime > /dev/null 2>&1 || :
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
%posttrans
|
2020-02-24 01:59:03 -05:00
|
|
|
update-mime-database -n %{_datadir}/mime > /dev/null 2>&1 || :
|
2019-12-17 11:31:11 +08:00
|
|
|
|
|
|
|
|
%files -f .mfiles
|
|
|
|
|
%license docs/LICENSE
|
|
|
|
|
%config %{_sysconfdir}/ant.d/*
|
|
|
|
|
%{_bindir}/*
|
|
|
|
|
%dir %{_datadir}/%{name}
|
|
|
|
|
%dir %{_datadir}/%{name}/lib
|
|
|
|
|
%{_datadir}/%{name}/lib/*.jar
|
|
|
|
|
%{_datadir}/mime-info/*
|
|
|
|
|
%{_datadir}/mime/packages/*
|
|
|
|
|
%{_javadir}/%{name}/*
|
|
|
|
|
/usr/share/maven*
|
|
|
|
|
|
|
|
|
|
%changelog
|
2020-02-24 01:59:03 -05:00
|
|
|
* Tue Feb 18 2020 Senlin Xia <xiasenlin1@huawei.com> - 2.10.6-14
|
2020-02-24 02:01:42 -05:00
|
|
|
- remove unused files
|