jedit: 5.2.0 -> 5.6.0-unstable-2023-11-19, adopt and rewrite
This commit is contained in:
parent
65d8de75bd
commit
142c5ec2dd
|
@ -1,257 +0,0 @@
|
||||||
--- a/build.xml 2015-02-04 08:47:37.000000000 +0100
|
|
||||||
+++ b/build.xml 2015-02-17 14:06:42.455283148 +0100
|
|
||||||
@@ -43,16 +43,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"/>
|
|
||||||
@@ -90,51 +80,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>
|
|
||||||
@@ -239,37 +186,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"
|
|
||||||
@@ -423,33 +339,8 @@
|
|
||||||
</javac>
|
|
||||||
</target>
|
|
||||||
|
|
||||||
- <target name="test"
|
|
||||||
- depends="init,retrieve,compile,compile-test"
|
|
||||||
- description="run unit tests"
|
|
||||||
- unless="skip.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}"
|
|
||||||
@@ -504,11 +395,10 @@
|
|
||||||
</copy>
|
|
||||||
</contrib:then>
|
|
||||||
</contrib:if>
|
|
||||||
- <antcall target="test" />
|
|
||||||
</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"/>
|
|
||||||
@@ -622,7 +512,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>
|
|
||||||
@@ -668,7 +558,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"/>
|
|
||||||
@@ -692,7 +582,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"/>
|
|
||||||
@@ -716,7 +606,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"/>
|
|
||||||
@@ -851,7 +741,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 "paper.type""
|
|
||||||
unless="paper.type"/>
|
|
||||||
<contrib:switch value="${paper.type}">
|
|
||||||
@@ -1154,7 +1044,7 @@
|
|
||||||
</target>
|
|
||||||
|
|
||||||
<target name="compile-jarbundler"
|
|
||||||
- depends="init,retrieve">
|
|
||||||
+ depends="init">
|
|
||||||
<mkdir dir="${classes.dir}/jarbundler"/>
|
|
||||||
<depend srcDir="${basedir}"
|
|
||||||
destDir="${classes.dir}/jarbundler"
|
|
||||||
@@ -1180,7 +1070,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>
|
|
||||||
@@ -1295,7 +1185,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"
|
|
||||||
@@ -1411,7 +1301,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"/>
|
|
||||||
@@ -1592,7 +1482,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"
|
|
||||||
@@ -1838,7 +1728,7 @@
|
|
||||||
</target>
|
|
||||||
|
|
||||||
<target name="dist-sign-deb-Release"
|
|
||||||
- depends="init,retrieve,setup"
|
|
||||||
+ depends="init,setup"
|
|
||||||
description="sign the DEB Release file">
|
|
||||||
<contrib:if>
|
|
||||||
<not>
|
|
|
@ -1,63 +1,118 @@
|
||||||
{ lib, stdenv, fetchurl, ant, jdk, commonsBsf, commonsLogging, bsh }:
|
{
|
||||||
|
lib,
|
||||||
|
stdenv,
|
||||||
|
fetchsvn,
|
||||||
|
ant,
|
||||||
|
jdk,
|
||||||
|
jre,
|
||||||
|
xmlstarlet,
|
||||||
|
makeWrapper,
|
||||||
|
stripJavaArchivesHook,
|
||||||
|
}:
|
||||||
|
|
||||||
let
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
version = "5.2.0";
|
|
||||||
bcpg = fetchurl {
|
|
||||||
url = "mirror://maven/org/bouncycastle/bcpg-jdk16/1.46/bcpg-jdk16-1.46.jar";
|
|
||||||
sha256 = "16xhmwks4l65m5x150nd23y5lyppha9sa5fj65rzhxw66gbli82d";
|
|
||||||
};
|
|
||||||
jsr305 = fetchurl {
|
|
||||||
url = "mirror://maven/com/google/code/findbugs/jsr305/2.0.0/jsr305-2.0.0.jar";
|
|
||||||
sha256 = "0s74pv8qjc42c7q8nbc0c3b1hgx0bmk3b8vbk1z80p4bbgx56zqy";
|
|
||||||
};
|
|
||||||
in
|
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
|
||||||
pname = "jedit";
|
pname = "jedit";
|
||||||
inherit version;
|
version = "5.6.0-unstable-2023-11-19";
|
||||||
src = fetchurl {
|
|
||||||
url = "mirror://sourceforge/jedit/jedit${version}source.tar.bz2";
|
src = fetchsvn {
|
||||||
sha256 = "03wmbh90rl5lsc35d7jwcp9j5qyyzq1nccxf4fal8bmnx8n4si0x";
|
url = "https://svn.code.sf.net/p/jedit/svn/jEdit/trunk";
|
||||||
|
rev = "25703";
|
||||||
|
hash = "sha256-z1KTZqKl6Dlqayw/3h/JvHQK3kSfio02R8V6aCb4g4Q=";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ ant jdk commonsBsf commonsLogging ];
|
ivyDeps = stdenv.mkDerivation {
|
||||||
|
name = "${finalAttrs.pname}-${finalAttrs.version}-ivy-deps";
|
||||||
|
inherit (finalAttrs) src;
|
||||||
|
|
||||||
# This patch removes from the build process:
|
nativeBuildInputs = [
|
||||||
# - the automatic download of dependencies (see configurePhase);
|
ant
|
||||||
# - the tests
|
jdk
|
||||||
patches = [ ./build.xml.patch ];
|
xmlstarlet
|
||||||
|
];
|
||||||
|
|
||||||
configurePhase = ''
|
# set defaultCacheDir to something that can exist
|
||||||
mkdir -p lib/ant-contrib/ lib/scripting lib/compile lib/default-plugins
|
# this directory won't get copied, but needs to be set properly
|
||||||
cp ${ant}/lib/ant/lib/ant-contrib-*.jar lib/ant-contrib/
|
configurePhase = ''
|
||||||
cp ${bsh} ${bcpg} lib/scripting/
|
runHook preConfigure
|
||||||
cp ${jsr305} lib/compile/
|
|
||||||
|
xmlstarlet ed --subnode /ivysettings -t elem -n caches ivysettings.xml \
|
||||||
|
| xmlstarlet ed --insert /ivysettings/caches -t attr -n defaultCacheDir -v "$(pwd)/ivy-cache" \
|
||||||
|
> ivysettings.xml.tmp
|
||||||
|
mv ivysettings.xml.tmp ivysettings.xml
|
||||||
|
|
||||||
|
runHook postConfigure
|
||||||
|
'';
|
||||||
|
|
||||||
|
buildPhase = ''
|
||||||
|
runHook preBuild
|
||||||
|
ant retrieve
|
||||||
|
runHook postBuild
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
mkdir -p $out/lib
|
||||||
|
cp -r lib/* $out/lib
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
|
||||||
|
outputHashMode = "recursive";
|
||||||
|
outputHashAlgo = "sha256";
|
||||||
|
outputHash = "sha256-J5i5IhXlXw84y/4K6Vt84au4eVXVLupmtfscO+y1Fi0=";
|
||||||
|
};
|
||||||
|
|
||||||
|
# ignore a test failing because of the build environment
|
||||||
|
postPatch = ''
|
||||||
|
substituteInPlace test/org/gjt/sp/jedit/MiscUtilitiesTest.java \
|
||||||
|
--replace-fail "public class MiscUtilitiesTest" "@org.junit.Ignore public class MiscUtilitiesTest"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
buildPhase = "ant build";
|
nativeBuildInputs = [
|
||||||
|
ant
|
||||||
|
jdk
|
||||||
|
makeWrapper
|
||||||
|
stripJavaArchivesHook
|
||||||
|
];
|
||||||
|
|
||||||
|
buildPhase = ''
|
||||||
|
runHook preBuild
|
||||||
|
ln -s ${finalAttrs.ivyDeps}/lib ./lib
|
||||||
|
ant build -Divy.done=true
|
||||||
|
runHook postBuild
|
||||||
|
'';
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
mkdir -p $out/share/jEdit
|
mkdir -p $out/share/jEdit
|
||||||
cp -r build/jedit.jar doc icons keymaps macros modes startup $out/share/jEdit
|
cp -r build/jedit.jar doc 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
|
install -Dm644 icons/jedit-icon48.png $out/share/icons/hicolor/48x48/apps/jedit.png
|
||||||
mkdir -p $out/share/applications
|
install -Dm644 package-files/linux/deb/jedit.desktop -t $out/share/applications
|
||||||
mv package-files/linux/deb/jedit.desktop $out/share/applications/jedit.desktop
|
|
||||||
|
|
||||||
# specify the correct JAVA_HOME
|
sed -i $out/share/applications/jedit.desktop \
|
||||||
sed -i '1a JAVA_HOME=${jdk}' package-files/linux/jedit
|
-e "s|Icon=.*|Icon=jedit|g" \
|
||||||
sed -i "s|/usr/share/jEdit/@jar.filename@|$out/share/jEdit/jedit.jar|g" package-files/linux/jedit
|
-e "s|Exec=.*|Exec=jedit|g"
|
||||||
mkdir -p $out/bin
|
|
||||||
cp package-files/linux/jedit $out/bin/jedit
|
install -Dm755 package-files/linux/jedit -t $out/bin
|
||||||
chmod +x $out/bin/jedit
|
substituteInPlace $out/bin/jedit \
|
||||||
|
--replace-fail "/usr/share/jEdit/@jar.filename@" "$out/share/jEdit/jedit.jar"
|
||||||
|
|
||||||
|
wrapProgram $out/bin/jedit --set JAVA_HOME ${jre}
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = {
|
||||||
description = "Mature programmer's text editor (Java based)";
|
description = "A programmer's text editor written in Java";
|
||||||
homepage = "http://www.jedit.org";
|
homepage = "http://www.jedit.org";
|
||||||
sourceProvenance = with sourceTypes; [ binaryBytecode ];
|
license = lib.licenses.gpl2Only;
|
||||||
license = licenses.gpl2;
|
mainProgram = "jedit";
|
||||||
platforms = platforms.unix;
|
maintainers = with lib.maintainers; [ tomasajt ];
|
||||||
maintainers = [ ];
|
platforms = lib.platforms.unix;
|
||||||
|
sourceProvenance = with lib.sourceTypes; [
|
||||||
|
fromSource
|
||||||
|
binaryBytecode # ivyDeps contains .jar dependencies
|
||||||
|
];
|
||||||
};
|
};
|
||||||
}
|
})
|
||||||
|
|
Loading…
Reference in New Issue
Block a user