about summary refs log tree commit diff
path: root/pkgs/applications/editors/jedit
diff options
context:
space:
mode:
authorVincent Laporte <Vincent.Laporte@gmail.com>2014-11-08 14:00:55 +0000
committerVincent Laporte <Vincent.Laporte@gmail.com>2014-11-13 07:53:37 +0000
commit6e737145d7ebf7bf70c25e99c0bf10486d9c316f (patch)
treeb46eeca5ed8b899e0908d67227e5abd5aee2bd1b /pkgs/applications/editors/jedit
parent13490c946784f1b43ee3a26ddfcd53fb9c8160dd (diff)
jEdit: update from 4.4.2 to 5.1.0
Diffstat (limited to 'pkgs/applications/editors/jedit')
-rw-r--r--pkgs/applications/editors/jedit/build.xml.patch252
-rw-r--r--pkgs/applications/editors/jedit/default.nix51
2 files changed, 286 insertions, 17 deletions
diff --git a/pkgs/applications/editors/jedit/build.xml.patch b/pkgs/applications/editors/jedit/build.xml.patch
new file mode 100644
index 0000000000000..2dabaaaed0c98
--- /dev/null
+++ b/pkgs/applications/editors/jedit/build.xml.patch
@@ -0,0 +1,252 @@
+--- a/build.xml	2013-07-28 18:03:55.000000000 +0100
++++ b/build.xml	2014-11-12 21:54:48.443482074 +0000
+@@ -42,16 +42,6 @@
+ 	<property name="textAreaPackage"
+ 		  location="../textarea"/>
+ 
+-	<!-- Ivy Properties -->
+-	<property name="config.ivy.version"
+-		  value="2.2.0"/>
+-	<property name="ivy.jar.dir"
+-		  location="${lib.dir}/ivy"/>
+-	<property name="ivy.jar.filename"
+-		  value="ivy-${config.ivy.version}.jar"/>
+-	<property name="ivy.jar.file"
+-		  location="${ivy.jar.dir}/${ivy.jar.filename}"/>
+-
+ 	<!-- Miscellaneous -->
+ 	<property name="jar.filename"
+ 		  value="${ant.project.name}.jar"/>
+@@ -89,51 +79,8 @@
+ 			  value="true"/>
+ 	</target>
+ 
+-	<target name="check-ivy"
+-		depends="init">
+-		<available property="ivy.jar.present"
+-			   file="${ivy.jar.file}"
+-			   type="file"/>
+-	</target>
+-
+-	<target name="download-ivy"
+-		depends="init,check-ivy"
+-		unless="ivy.jar.present">
+-		<mkdir dir="${ivy.jar.dir}"/>
+-		<get src="http://repo2.maven.org/maven2/org/apache/ivy/ivy/${config.ivy.version}/ivy-${config.ivy.version}.jar"
+-		     dest="${ivy.jar.file}"
+-		     usetimestamp="true"/>
+-	</target>
+-
+-	<target name="init-ivy"
+-		depends="init,download-ivy"
+-		unless="${ivy.done}">
+-		<property name="ivy.retrieve.pattern"
+-			  value="${lib.dir}/[conf]/[artifact](-[classifier]).[ext]"/>
+-		<taskdef resource="org/apache/ivy/ant/antlib.xml"
+-			 classpath="${ivy.jar.file}"
+-			 loaderref="ivy.loader"
+-			 uri="antlib:org.apache.ivy.ant"/>
+-		<ivy:settings file="ivysettings.xml"/>
+-	</target>
+-
+-	<target name="retrieve"
+-		description="retrieve the dependencies"
+-		depends="init,init-ivy"
+-		unless="${ivy.done}">
+-		<ivy:retrieve sync="true"/>
+-		<ivy:retrieve pattern="${lib.dir}/ivy/[artifact]-[revision].[ext]"
+-			      organisation="org.apache.ivy"
+-			      module="ivy"
+-			      revision="${config.ivy.version}"
+-			      conf="default"
+-			      inline="true"/>
+-		<property name="ivy.done"
+-			  value="true"/>
+-	</target>
+-
+ 	<target name="setup"
+-		depends="init,retrieve">
++		depends="init">
+ 		<taskdef resource="net/sf/antcontrib/antlib.xml"
+ 			 uri="antlib:net.sf.antcontrib">
+ 			<classpath>
+@@ -238,37 +185,6 @@
+ 		</javac>
+ 	</target>
+ 
+-	<target name="compile-test"
+-		depends="init,retrieve,compile">
+-		<mkdir dir="${classes.dir}/test"/>
+-		<depend srcDir="${basedir}/test"
+-			destDir="${classes.dir}/test"
+-			cache="${classes.dir}"/>
+-		<dependset>
+-			<srcfilelist files="build.xml"/>
+-			<srcfilelist files="ivy.xml"/>
+-			<targetfileset dir="${classes.dir}/test"/>
+-		</dependset>
+-		<javac srcdir="test"
+-		       destdir="${classes.dir}/test"
+-		       debug="true"
+-		       debuglevel="${config.build.debuglevel}"
+-		       nowarn="${config.build.nowarn}"
+-		       deprecation="${config.build.deprecation}"
+-		       source="${target.java.version}"
+-		       target="${target.java.version}"
+-		       compiler="modern"
+-		       encoding="UTF-8"
+-		       includeAntRuntime="false">
+-			<classpath id="classpath.test">
+-				<fileset dir="${lib.dir}/test"
+-					 includes="*.jar"/>
+-				<pathelement location="${classes.dir}/core"/>
+-			</classpath>
+-			<compilerarg line="${config.build.compilerarg}"/>
+-		</javac>
+-	</target>
+-
+ 	<target name="prepare-textArea"
+ 		depends="init">
+ 		<delete includeemptydirs="true"
+@@ -425,32 +341,8 @@
+ 		</javac>
+ 	</target>
+ 
+-	<target name="test"
+-		depends="init,retrieve,compile,compile-test"
+-		description="run unit tests">
+-		<delete dir="${build.dir}/test/raw-reports"/>
+-		<mkdir dir="${build.dir}/test/raw-reports"/>
+-		<junit printsummary="true"
+-		       failureproperty="tests.failed"
+-		       enabletestlistenerevents="true">
+-			<classpath refid="classpath.test"/>
+-			<classpath location="${classes.dir}/test"/>
+-			<formatter type="xml"/>
+-			<batchtest todir="${build.dir}/test/raw-reports">
+-				<fileset dir="test"/>
+-			</batchtest>
+-		</junit>
+-		<mkdir dir="${build.dir}/test/merged-reports"/>
+-		<junitreport todir="${build.dir}/test/merged-reports">
+-			<fileset dir="${build.dir}/test/raw-reports"/>
+-			<report todir="${build.dir}/test/reports"/>
+-		</junitreport>
+-		<fail message="Unit test(s) failed! See reports at ${build.dir}/test/reports/index.html"
+-		      if="tests.failed"/>
+-	</target>
+-
+ 	<target name="build"
+-		depends="init,retrieve,setup,compile"
++		depends="init,setup,compile"
+ 		description="build the jEdit JAR-file with full debug-information">
+ 		<mkdir dir="${jar.location}"/>
+ 		<jar destfile="${jar.location}/${jar.filename}"
+@@ -508,7 +400,7 @@
+ 	</target>
+ 
+ 	<target name="build-exe-launcher"
+-		depends="init,retrieve,setup,filter-package-files"
++		depends="init,setup,filter-package-files"
+ 		description="build the EXE launcher">
+ 		<contrib:if>
+ 			<os family="windows"/>
+@@ -611,7 +503,7 @@
+ 	</target>
+ 
+ 	<target name="unpack-docbook-xsl"
+-		depends="init,retrieve">
++		depends="init">
+ 		<unzip src="${lib.dir}/docbook/docbook-xsl-resources.zip"
+ 		       dest="${build.dir}/docbook-xsl/"/>
+ 	</target>
+@@ -655,7 +547,7 @@
+ 	</presetdef>
+ 
+ 	<target name="generate-doc-faq"
+-		depends="init,retrieve,setup,unpack-docbook-xsl">
++		depends="init,setup,unpack-docbook-xsl">
+ 		<dependset.html>
+ 			<srcfileset dir="doc/FAQ"/>
+ 			<targetfileset dir="${jar.location}/doc/FAQ"/>
+@@ -679,7 +571,7 @@
+ 	</target>
+ 
+ 	<target name="generate-doc-news"
+-		depends="init,retrieve,setup,unpack-docbook-xsl">
++		depends="init,setup,unpack-docbook-xsl">
+ 		<dependset.html>
+ 			<srcfileset dir="doc/whatsnew"/>
+ 			<targetfileset dir="${jar.location}/doc/whatsnew"/>
+@@ -703,7 +595,7 @@
+ 	</target>
+ 
+ 	<target name="generate-doc-users-guide"
+-		depends="init,retrieve,setup,unpack-docbook-xsl">
++		depends="init,setup,unpack-docbook-xsl">
+ 		<dependset.html>
+ 			<srcfileset dir="doc/users-guide"/>
+ 			<targetfileset dir="${jar.location}/doc/users-guide"/>
+@@ -838,7 +730,7 @@
+ 	</target>
+ 
+ 	<target name="generate-pdf-users-guide"
+-		depends="init,retrieve,setup,unpack-docbook-xsl">
++		depends="init,setup,unpack-docbook-xsl">
+ 		<fail message="Please set the property &quot;paper.type&quot;"
+ 		      unless="paper.type"/>
+ 		<contrib:switch value="${paper.type}">
+@@ -1143,7 +1035,7 @@
+ 	</target>
+ 
+ 	<target name="compile-jarbundler"
+-		depends="init,retrieve">
++		depends="init">
+ 		<mkdir dir="${classes.dir}/jarbundler"/>
+ 		<depend srcDir="${basedir}"
+ 			destDir="${classes.dir}/jarbundler"
+@@ -1173,7 +1065,7 @@
+ 	</target>
+ 
+ 	<target name="dist-mac-finish"
+-		depends="init,retrieve,setup"
++		depends="init,setup"
+ 		description="finish building the Mac OS X disk image (DMG-file) on Mac OS X">
+ 		<fail message="The disk image (DMG-file) for easy distribution on Mac OS X can only be built on Mac OS X currently">
+ 			<condition>
+@@ -1271,7 +1163,7 @@
+ 	</target>
+ 
+ 	<target name="dist-mac"
+-		depends="init,retrieve,setup,prepare-dist-files"
++		depends="init,setup,prepare-dist-files"
+ 		description="build the Mac OS X disk image (DMG-file)">
+ 		<antcall target="compile-jarbundler">
+ 			<param name="config.build.debuglevel"
+@@ -1386,7 +1278,7 @@
+ 	</target>
+ 
+ 	<target name="prepare-dist-files"
+-		depends="init,retrieve,setup">
++		depends="init,setup">
+ 		<antcall target="build">
+ 			<param name="config.build.debuglevel"
+ 			       value="lines,source"/>
+@@ -1567,7 +1459,7 @@
+ 	</target>
+ 
+ 	<target name="dist-deb"
+-		depends="init,retrieve,setup,prepare-dist-files"
++		depends="init,setup,prepare-dist-files"
+ 		description="build the DEB Package">
+ 		<antcall target="compile-ar">
+ 			<param name="config.build.debuglevel"
+@@ -1813,7 +1705,7 @@
+ 	</target>
+ 
+ 	<target name="dist-sign-deb-Release"
+-		depends="init,retrieve,setup"
++		depends="init,setup"
+ 		description="sign the DEB Release file">
+ 		<contrib:if>
+ 			<not>
diff --git a/pkgs/applications/editors/jedit/default.nix b/pkgs/applications/editors/jedit/default.nix
index 8a57f650fb4a0..0e11c577fc853 100644
--- a/pkgs/applications/editors/jedit/default.nix
+++ b/pkgs/applications/editors/jedit/default.nix
@@ -1,32 +1,47 @@
-{ stdenv, fetchurl, ant, jdk }:
+{stdenv, fetchurl, ant, jdk, commonsBsf, commonsLogging}:
 
-let version = "4.4.2"; in
+let
+  version = "5.1.0";
+  bsh = fetchurl {
+    url = http://www.beanshell.org/bsh-2.0b4.jar;
+    sha256 = "1di7hj2yms1m3wa8k70jpw0wzfnrgibpqnvdk33ahfaqi03mqfci";
+  };
+  bcpg = fetchurl {
+    url = http://central.maven.org/maven2/org/bouncycastle/bcpg-jdk16/1.46/bcpg-jdk16-1.46.jar;
+    sha256 = "16xhmwks4l65m5x150nd23y5lyppha9sa5fj65rzhxw66gbli82d";
+  };
+  jsr305 = fetchurl {
+    url = http://central.maven.org/maven2/com/google/code/findbugs/jsr305/2.0.0/jsr305-2.0.0.jar;
+    sha256 = "0s74pv8qjc42c7q8nbc0c3b1hgx0bmk3b8vbk1z80p4bbgx56zqy";
+  };
+in
 
 stdenv.mkDerivation {
   name = "jedit-${version}";
-
   src = fetchurl {
     url = "mirror://sourceforge/jedit/jedit${version}source.tar.bz2";
-    sha256 = "5e9ad9c32871b77ef0b9fe46dcfcea57ec52558d36113b7280194a33430b8ceb";
+    sha256 = "015rn4339mp4wrd901x56nr42wfcy429pg54n835c6n34b2jjdc6";
   };
 
-  buildInputs = [ ant jdk ];
+  buildInputs = [ ant jdk commonsBsf commonsLogging ];
+
+  # This patch removes from the build process:
+  #  - the automatic download of dependencies (see configurePhase);
+  #  - the tests
+  patches = [ ./build.xml.patch ];
 
-  sourceRoot = "jEdit";
+  configurePhase = ''
+    mkdir -p lib/ant-contrib/ lib/scripting lib/compile lib/default-plugins
+    cp ${ant}/lib/ant/lib/ant-contrib-*.jar lib/ant-contrib/
+    cp ${bsh} ${bcpg} lib/scripting/
+    cp ${jsr305} lib/compile/
+  '';
 
   buildPhase = "ant build";
 
   installPhase = ''
     mkdir -p $out/share/jEdit
-    cp build/jedit.jar $out/share/jEdit
-    mkdir -p $out/share/jEdit/modes
-    cp -r modes/* $out/share/jEdit/modes
-    mkdir -p $out/share/jEdit/icons
-    cp -r icons/* $out/share/jEdit/icons
-    mkdir -p $out/share/jEdit/macros
-    cp -r macros/* $out/share/jEdit/macros
-    mkdir -p $out/share/jEdit/doc
-    cp -r doc/* $out/share/jEdit/doc
+    cp -r build/jedit.jar doc icons keymaps macros modes startup $out/share/jEdit
 
     sed -i "s|Icon=.*|Icon=$out/share/jEdit/icons/jedit-icon48.png|g" package-files/linux/deb/jedit.desktop
     mkdir -p $out/share/applications
@@ -44,9 +59,11 @@ stdenv.mkDerivation {
     chmod +x $out/bin/jedit
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Mature programmer's text editor (Java based)";
     homepage = http://www.jedit.org;
-    license = "GPL";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.vbgl ];
   };
 }