From 23e88316cd58d3069340cca70e8cd8c526340f94 Mon Sep 17 00:00:00 2001 From: gil Date: Aug 14 2015 19:36:16 +0000 Subject: fix FTBFS rhbz#1239619 Signed-off-by: Mikolaj Izdebski --- diff --git a/json4s-3.2.7-jackson.patch b/json4s-3.2.7-jackson.patch new file mode 100644 index 0000000..254383c --- /dev/null +++ b/json4s-3.2.7-jackson.patch @@ -0,0 +1,91 @@ +diff -Nru json4s-3.2.7_2.10/jackson/src/main/scala/org/json4s/jackson/JsonMethods.scala json4s-3.2.7_2.10.jackson/jackson/src/main/scala/org/json4s/jackson/JsonMethods.scala +--- json4s-3.2.7_2.10/jackson/src/main/scala/org/json4s/jackson/JsonMethods.scala 2014-02-17 18:58:53.000000000 +0100 ++++ json4s-3.2.7_2.10.jackson/jackson/src/main/scala/org/json4s/jackson/JsonMethods.scala 2015-08-09 07:53:35.132228673 +0200 +@@ -1,7 +1,7 @@ + package org.json4s + package jackson + +-import com.fasterxml.jackson.databind.{ObjectMapper, DeserializationFeature} ++import com.fasterxml.jackson.databind.{ObjectWriter, JsonNode, ObjectMapper, DeserializationFeature} + import util.control.Exception.allCatch + + trait JsonMethods extends org.json4s.JsonMethods[JValue] { +@@ -32,7 +32,7 @@ + def compact(d: JValue): String = mapper.writeValueAsString(d) + + def pretty(d: JValue): String = { +- val writer = mapper.writerWithDefaultPrettyPrinter() ++ val writer = mapper.writerWithDefaultPrettyPrinter[ObjectWriter]() + writer.writeValueAsString(d) + } + +diff -Nru json4s-3.2.7_2.10/jackson/src/main/scala/org/json4s/jackson/Json.scala json4s-3.2.7_2.10.jackson/jackson/src/main/scala/org/json4s/jackson/Json.scala +--- json4s-3.2.7_2.10/jackson/src/main/scala/org/json4s/jackson/Json.scala 2014-02-17 18:58:53.000000000 +0100 ++++ json4s-3.2.7_2.10.jackson/jackson/src/main/scala/org/json4s/jackson/Json.scala 2015-08-09 07:50:12.847985408 +0200 +@@ -1,7 +1,7 @@ + package org.json4s + package jackson + +-import com.fasterxml.jackson.databind.ObjectMapper ++import com.fasterxml.jackson.databind.{ObjectWriter, ObjectMapper} + import java.io.{Writer => JWriter} + + object Json { +@@ -19,10 +19,10 @@ + } + + def writePretty[A <: AnyRef](a: A): String = +- mapper.writerWithDefaultPrettyPrinter.writeValueAsString(decompose(a)) ++ mapper.writerWithDefaultPrettyPrinter[ObjectWriter].writeValueAsString(decompose(a)) + + def writePretty[A <: AnyRef, W <: JWriter](a: A, out: W): W = { +- mapper.writerWithDefaultPrettyPrinter.writeValue(out, decompose(a)) ++ mapper.writerWithDefaultPrettyPrinter[ObjectWriter].writeValue(out, decompose(a)) + out + } + +diff -Nru json4s-3.2.7_2.10/jackson/src/main/scala/org/json4s/jackson/Serialization.scala json4s-3.2.7_2.10.jackson/jackson/src/main/scala/org/json4s/jackson/Serialization.scala +--- json4s-3.2.7_2.10/jackson/src/main/scala/org/json4s/jackson/Serialization.scala 2014-02-17 18:58:53.000000000 +0100 ++++ json4s-3.2.7_2.10.jackson/jackson/src/main/scala/org/json4s/jackson/Serialization.scala 2015-08-09 07:57:41.502345554 +0200 +@@ -1,6 +1,8 @@ + package org.json4s + package jackson + ++import com.fasterxml.jackson.databind.ObjectWriter ++ + import scala.reflect.Manifest + import java.io.OutputStream + +@@ -35,12 +37,12 @@ + /** Serialize to String (pretty format). + */ + def writePretty[A <: AnyRef](a: A)(implicit formats: Formats): String = +- JsonMethods.mapper.writerWithDefaultPrettyPrinter().writeValueAsString(Extraction.decompose(a)(formats)) ++ JsonMethods.mapper.writerWithDefaultPrettyPrinter[ObjectWriter].writeValueAsString(Extraction.decompose(a)(formats)) + + /** Serialize to Writer (pretty format). + */ + def writePretty[A <: AnyRef, W <: Writer](a: A, out: W)(implicit formats: Formats): W = { +- JsonMethods.mapper.writerWithDefaultPrettyPrinter.writeValue(out, Extraction.decompose(a)(formats)) ++ JsonMethods.mapper.writerWithDefaultPrettyPrinter[ObjectWriter].writeValue(out, Extraction.decompose(a)(formats)) + out + } + +diff -Nru json4s-3.2.7_2.10/jackson/src/main/scala/org/json4s/jackson/Types.scala json4s-3.2.7_2.10.jackson/jackson/src/main/scala/org/json4s/jackson/Types.scala +--- json4s-3.2.7_2.10/jackson/src/main/scala/org/json4s/jackson/Types.scala 2014-02-17 18:58:53.000000000 +0100 ++++ json4s-3.2.7_2.10.jackson/jackson/src/main/scala/org/json4s/jackson/Types.scala 2015-08-09 08:00:31.848129300 +0200 +@@ -17,9 +17,11 @@ + if (manifest.erasure.isArray) { + ArrayType.construct(factory.constructType(manifest.erasure.getComponentType), null, null) + } else { +- factory.constructParametricType( +- manifest.erasure, +- manifest.typeArguments.map {m => build(factory, m)}.toArray: _*) ++ val clazz = manifest.runtimeClass ++ factory.constructParametrizedType( ++ clazz, ++ clazz, ++ manifest.typeArguments.map (m => build(factory, m)): _*) + } + } + } diff --git a/json4s.spec b/json4s.spec index a4ccfd3..f8ba03d 100644 --- a/json4s.spec +++ b/json4s.spec @@ -6,53 +6,57 @@ # we don't want scalaz support atm %global want_scalaz 0 -Name: json4s -Version: %{json4s_version} -Release: 3%{?dist} -Summary: Common AST for Scala JSON parsers - -License: ASL 2.0 -URL: https://github.com/json4s/json4s -Source0: https://github.com/json4s/json4s/archive/v%{json4s_version}_%{scala_version}.tar.gz -Source1: https://raw.github.com/willb/climbing-nemesis/master/climbing-nemesis.py - -BuildArch: noarch -BuildRequires: sbt -BuildRequires: scala -BuildRequires: python -BuildRequires: maven-local -BuildRequires: javapackages-tools -Requires: javapackages-tools -Requires: scala - -Requires: mvn(com.thoughtworks.paranamer:paranamer) -Requires: mvn(org.scala-lang:scalap) -Requires: mvn(com.fasterxml.jackson.core:jackson-databind) -Requires: mvn(com.fasterxml.jackson.core:jackson-core) -Requires: mvn(com.fasterxml.jackson.core:jackson-annotations) -Requires: mvn(joda-time:joda-time) -Requires: mvn(org.joda:joda-convert) - -BuildRequires: mvn(com.thoughtworks.paranamer:paranamer) -BuildRequires: mvn(org.scala-lang:scalap) -BuildRequires: mvn(com.fasterxml.jackson.core:jackson-databind) -BuildRequires: mvn(com.fasterxml.jackson.core:jackson-core) -BuildRequires: mvn(com.fasterxml.jackson.core:jackson-annotations) -BuildRequires: mvn(joda-time:joda-time) -BuildRequires: mvn(org.joda:joda-convert) +Name: json4s +Version: %{json4s_version} +Release: 4%{?dist} +Summary: Common AST for Scala JSON parsers + +License: ASL 2.0 +URL: https://github.com/json4s/json4s +Source0: https://github.com/json4s/json4s/archive/v%{json4s_version}_%{scala_version}.tar.gz +Source1: https://raw.github.com/willb/climbing-nemesis/master/climbing-nemesis.py +# https://github.com/json4s/json4s/issues/186 +# Port to jackson-databind 2.5.0 +Patch0: json4s-3.2.7-jackson.patch + +BuildArch: noarch +BuildRequires: sbt +BuildRequires: scala +BuildRequires: python +BuildRequires: maven-local +BuildRequires: javapackages-tools +Requires: javapackages-tools +Requires: scala + +Requires: mvn(com.thoughtworks.paranamer:paranamer) +Requires: mvn(org.scala-lang:scalap) +Requires: mvn(com.fasterxml.jackson.core:jackson-databind) +Requires: mvn(com.fasterxml.jackson.core:jackson-core) +Requires: mvn(com.fasterxml.jackson.core:jackson-annotations) +Requires: mvn(joda-time:joda-time) +Requires: mvn(org.joda:joda-convert) + +BuildRequires: mvn(com.thoughtworks.paranamer:paranamer) +BuildRequires: mvn(org.scala-lang:scalap) +BuildRequires: mvn(com.fasterxml.jackson.core:jackson-databind) +BuildRequires: mvn(com.fasterxml.jackson.core:jackson-core) +BuildRequires: mvn(com.fasterxml.jackson.core:jackson-annotations) +BuildRequires: mvn(joda-time:joda-time) +BuildRequires: mvn(org.joda:joda-convert) +BuildRequires: mvn(javax.inject:javax.inject) %description - json4s is a common AST for Scala JSON parsers. %package javadoc -Summary: Javadoc for %{name} +Summary: Javadoc for %{name} %description javadoc Javadoc for %{name}. %prep %setup -q -n %{name}-%{version}_%{scala_version} +%patch0 -p1 # eliminate lift codeOB rm -rf native-lift @@ -62,7 +66,7 @@ sed -i -e 's/BuildInfo.organization/"org.json4s"/' jackson/src/main/scala/org/js sed -i -e 's/BuildInfo.name/"json4s"/' jackson/src/main/scala/org/json4s/jackson/Json4sScalaModule.scala sed -i -e 's/BuildInfo.version/"%{version}"/' jackson/src/main/scala/org/json4s/jackson/Json4sScalaModule.scala -sed -i -e 's/2[.]10[.][012]/2.10.3/g' project/* +sed -i -e 's/2[.]10[.][012]/2.10.4/g' project/* sed -i -e 's/0[.]13[.]0/0.13.1/g' project/build.properties || echo sbt.version=0.13.1 > project/build.properties @@ -117,17 +121,19 @@ cp %{SOURCE1} . chmod 755 climbing-nemesis.py ./climbing-nemesis.py com.thoughtworks.paranamer paranamer ivy-local --version 2.6 -./climbing-nemesis.py org.scala-lang scalap ivy-local --version 2.10.3 -./climbing-nemesis.py com.fasterxml.jackson.core jackson-databind ivy-local --ignore maven-scm-provider-gitexe -./climbing-nemesis.py com.fasterxml.jackson.core jackson-core ivy-local --ignore maven-scm-provider-gitexe -./climbing-nemesis.py com.fasterxml.jackson.core jackson-annotations ivy-local --ignore maven-scm-provider-gitexe +./climbing-nemesis.py org.scala-lang scalap ivy-local --version 2.10.4 +./climbing-nemesis.py com.fasterxml.jackson.core jackson-databind ivy-local --version 2.5.0 --ignore maven-scm-provider-gitexe +./climbing-nemesis.py com.fasterxml.jackson.core jackson-core ivy-local --version 2.5.0 --ignore maven-scm-provider-gitexe +./climbing-nemesis.py com.fasterxml.jackson.core jackson-annotations ivy-local --version 2.5.0 --ignore maven-scm-provider-gitexe ./climbing-nemesis.py joda-time joda-time ivy-local --version 2.3 ./climbing-nemesis.py org.joda joda-convert ivy-local --version 1.6 +# unresolved dependency: javax.inject#javax.inject;1 +./climbing-nemesis.py javax.inject javax.inject ivy-local --version 1 %build -export SBT_BOOT_DIR=boot -export SBT_IVY_DIR=ivy-local +export SBT_BOOT_DIR=$(pwd)/boot +export SBT_IVY_DIR=$(pwd)/ivy-local sbt package "set publishTo in Global := Some(Resolver.file(\"published\", file(\"published\"))(Resolver.ivyStylePatterns) ivys \"$(pwd)/published/[organization]/[module]/[revision]/ivy.xml\" artifacts \"$(pwd)/published/[organization]/[module]/[revision]/[artifact]-[revision].[ext]\")" publish makePom @@ -138,13 +144,17 @@ for f in $(find published -name \*.jar ) ; do done %install + mkdir -p %{buildroot}/%{_javadir}/%{name} mkdir -p %{buildroot}/%{_mavenpomdir} mkdir -p %{buildroot}/%{_javadocdir}/%{name} -for apidir in $(find . -name api -type d) ; do - pushd $apidir - cp -rp . %{buildroot}/%{_javadocdir}/%{name} +# Unable to aggregate javadoc +for apidir in ast core ext jackson native; do + pushd $apidir/target/scala-%{scala_version}/api + cp -rp . %{buildroot}/%{_javadocdir}/%{name}/$apidir/ +# Remove bundle stuff: e.g. jquery-ui.js jquery.js jquery.layout.js + find %{buildroot}/%{_javadocdir}/%{name}/$apidir/lib -name "*.js" -print -delete popd done @@ -169,21 +179,24 @@ done %files -f .mfiles %dir %{_javadir}/%{name} - -%doc LICENSE README.md +%doc README.md +%license LICENSE %files javadoc %{_javadocdir}/%{name} -%doc LICENSE - +%license LICENSE %changelog +* Sun Aug 09 2015 gil cattaneo 3.2.7-4 +- fix FTBFS rhbz#1239619 +- fix some rpmlint problem +- introduce license macro + * Wed Jun 17 2015 Fedora Release Engineering - 3.2.7-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild * Sun Jun 08 2014 Fedora Release Engineering - 3.2.7-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - * Wed Feb 19 2014 William Benton - 3.2.7-1 - initial package