summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorTorben2020-06-17 22:26:40 +0200
committerTorben2020-06-17 22:26:40 +0200
commitd02fbd69266029d78a9936650a15fec4116d00c4 (patch)
tree86799dc3f31a7cf1c5e1abc4e5373a51b0b26a9f
parent633f044ff0ecba83aad84f52a86910ecdfb6f1ef (diff)
downloadaur-d02fbd69266029d78a9936650a15fec4116d00c4.tar.gz
Add modification to build processing4
-rw-r--r--.SRCINFO26
-rw-r--r--PKGBUILD55
-rw-r--r--always_use_java-11-openjdk.patch (renamed from always_use_java-8-jdk.patch)2
-rw-r--r--no_downloads.patch86
-rw-r--r--use_system_libraries.patch40
5 files changed, 132 insertions, 77 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 061e0d3b7af5..bcf7b91e637a 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
-pkgbase = processing-jdk8
- pkgdesc = Programming environment for creating images, animations and interactions (always uses Oracle JDK 8)
- pkgver = 3.5.4
- pkgrel = 3
+pkgbase = processing4-git
+ pkgdesc = Programming environment for creating images, animations and interactions
+ pkgver = r1.3cd8898
+ pkgrel = 1
url = https://www.processing.org/
arch = x86_64
license = GPL
@@ -9,24 +9,26 @@ pkgbase = processing-jdk8
makedepends = ant
makedepends = gendesk
makedepends = unzip
- depends = jdk8
+ depends = jdk11-openjdk
+ depends = java11-openjfx
+ depends = jogl
depends = libgl
- provides = processing
conflicts = processing
conflicts = processing-bin
+ conflicts = processing-jdk8
options = !strip
- source = https://github.com/processing/processing/archive/processing-0270-3.5.4.tar.gz
source = https://download.processing.org/reference.zip
- source = always_use_java-8-jdk.patch
+ source = always_use_java-11-openjdk.patch
source = derive_jdk_from_path.patch
source = disable_update_check.patch
source = no_downloads.patch
- sha256sums = 99a5d3cfccd106e79fe82cafa66b72b15c19e5747eac77e40dd0a82b032c2925
+ source = use_system_libraries.patch
sha256sums = 2014fdb12f979f79c624acc514c14ce318f07cb2cc15a63e1b4febaff733f2a5
- sha256sums = 8255ba154118884e51e3b9b7174814f7de8fcf7c380ce6f8666192adb6f2483c
+ sha256sums = 66e87536b740194954670c482d698fc3183995bf48f580078511d50d1a3f0323
sha256sums = fcd5c5ea558ceadde3f840522a5c1cb11e26569aec651e8154194cca39026611
sha256sums = 35c4538e6e57c0ea296c6cea590cabeb2b0772f9a431838df270dcc581321e30
- sha256sums = 52bdda3ce6368df469172889c53091f7284806e2a1524b012e236736de98f646
+ sha256sums = a07184b87d3d2ccd35525a0721df787973f92487bae367a0668abd3f64134263
+ sha256sums = db6d31c42c13f41b2fde531018927d994c4ae13a04848c4afb0762620b0f0903
-pkgname = processing-jdk8
+pkgname = processing4-git
diff --git a/PKGBUILD b/PKGBUILD
index 395558ce2aee..552bac28c088 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,50 +1,51 @@
# Maintainer: Torben <git at letorbi dot com>
-# Contributor: lesto <mombelli.mauro at gmail dot com>
-# Contributor: Antonio Rojas <arojas at archlinux dot org>
-# Contributor: Alexander F. Rødseth <xyproto at archlinux dot org>
-pkgname=processing-jdk8
-pkgver=3.5.4
-pkgrel=3
+pkgname=processing4-git
+pkgver=r1.3cd8898
+pkgrel=1
arch=(x86_64)
-pkgdesc='Programming environment for creating images, animations and interactions (always uses Oracle JDK 8)'
+pkgdesc='Programming environment for creating images, animations and interactions'
url='https://www.processing.org/'
license=(GPL LGPL)
-provides=(processing)
-conflicts=(processing processing-bin)
-depends=('jdk8' 'libgl')
+conflicts=(processing processing-bin processing-jdk8)
+depends=('jdk11-openjdk' 'java11-openjfx' 'jogl' 'libgl')
makedepends=('ant' 'gendesk' 'unzip')
options=(!strip)
-# The Processing version scheme for the 3.5.x series uses a special magical
-# version number above 0266 in addition to the ordinary version number.
-source=("https://github.com/processing/processing/archive/processing-0$((266+${pkgver##3.5.}))-$pkgver.tar.gz"
- 'https://download.processing.org/reference.zip'
- always_use_java-8-jdk.patch
+source=('https://download.processing.org/reference.zip'
+ always_use_java-11-openjdk.patch
derive_jdk_from_path.patch
disable_update_check.patch
- no_downloads.patch)
-sha256sums=('99a5d3cfccd106e79fe82cafa66b72b15c19e5747eac77e40dd0a82b032c2925'
- '2014fdb12f979f79c624acc514c14ce318f07cb2cc15a63e1b4febaff733f2a5'
- '8255ba154118884e51e3b9b7174814f7de8fcf7c380ce6f8666192adb6f2483c'
+ no_downloads.patch
+ use_system_libraries.patch)
+sha256sums=('2014fdb12f979f79c624acc514c14ce318f07cb2cc15a63e1b4febaff733f2a5'
+ '66e87536b740194954670c482d698fc3183995bf48f580078511d50d1a3f0323'
'fcd5c5ea558ceadde3f840522a5c1cb11e26569aec651e8154194cca39026611'
'35c4538e6e57c0ea296c6cea590cabeb2b0772f9a431838df270dcc581321e30'
- '52bdda3ce6368df469172889c53091f7284806e2a1524b012e236736de98f646')
+ 'a07184b87d3d2ccd35525a0721df787973f92487bae367a0668abd3f64134263'
+ 'db6d31c42c13f41b2fde531018927d994c4ae13a04848c4afb0762620b0f0903')
+
+pkgver() {
+ cd "$srcdir/$pkgname"
+ printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
+}
prepare() {
- gendesk -f -n --pkgname=processing --pkgdesc="$pkgdesc"
+ # The size of a full clone is more than 1GB, so we just make a shallow clone
+ git clone --depth 1 https://github.com/processing/processing4.git $pkgname
- # Symbolic link for not having to repeat the revision number
- ln -sf "processing-processing-"*"-$pkgver" $pkgname
+ # Create .desktop file
+ gendesk -f -n --pkgname=processing --pkgdesc="$pkgdesc"
# Copy reference.zip to the java directory
mkdir -p $pkgname/java
- cp "$srcdir/reference.zip" $pkgname/java/
+ cp reference.zip $pkgname/java/
# Create missing directories
mkdir -p $pkgname/build/linux/work/java
# Don't download any files during Ant's build process
patch $pkgname/build/build.xml < no_downloads.patch
+ patch $pkgname/core/build.xml < use_system_libraries.patch
# Disable update check in default preferences
patch $pkgname/build/shared/lib/defaults.txt < disable_update_check.patch
@@ -52,14 +53,14 @@ prepare() {
# Derive JDK location from java binary found in PATH
patch $pkgname/build/linux/processing < derive_jdk_from_path.patch
- # Always use Oracle's JDK to run processing
- patch $pkgname/build/linux/processing < always_use_java-8-jdk.patch
+ # Always use OpenJDK 11 to run processing
+ patch $pkgname/build/linux/processing < always_use_java-11-openjdk.patch
}
build() {
cd "$pkgname/build"
- PATH="/usr/lib/jvm/java-8-jdk/bin/:$PATH" ant build
+ PATH="/usr/lib/jvm/java-11-openjdk/bin/:$PATH" ant build
}
package() {
diff --git a/always_use_java-8-jdk.patch b/always_use_java-11-openjdk.patch
index 2931d7f93569..722254dcc156 100644
--- a/always_use_java-8-jdk.patch
+++ b/always_use_java-11-openjdk.patch
@@ -5,7 +5,7 @@
+# Always use Oracle's JDK to run processing
-+PATH="/usr/lib/jvm/java-8-jdk/bin/:$PATH"
++PATH="/usr/lib/jvm/java-11-openjdk/bin/:$PATH"
+
# JARs required from JDK (anywhere in/below the JDK home directory)
JDKLIBS="rt.jar"
diff --git a/no_downloads.patch b/no_downloads.patch
index 84fa41ee7578..5ae257d2358f 100644
--- a/no_downloads.patch
+++ b/no_downloads.patch
@@ -1,28 +1,41 @@
---- a/build/build.xml 2020-01-17 17:20:35.000000000 +0100
-+++ b/build/build.xml 2020-06-10 15:40:24.506176847 +0200
-@@ -419,12 +419,6 @@
- <isset property="version" />
- </condition>
-
-- <!--<echo message="ref ignoreable? ${reference.ignorable}" />-->
-- <get src="http://download.processing.org/reference.zip"
-- dest="../java/reference.zip"
-- ignoreerrors="${reference.ignorable}"
-- usetimestamp="true" />
--
- <unzip dest="${target.path}/modes/java"
- src="../java/reference.zip"
- overwrite="false">
-@@ -789,7 +783,7 @@
- <fail message="wrong platform (${os.name})" />
+--- build.xml.orig 2020-06-13 00:09:40.000000000 +0200
++++ build.xml 2020-06-17 12:46:43.682413239 +0200
+@@ -1009,7 +1009,7 @@
+ </if>
</target>
-- <target name="linux-build" depends="ignore-tools, check-linux-arm32, check-linux-arm64, revision-check, linux-check-os, jre-download, subprojects-build, subprojects-build-linux-arm32, subprojects-build-linux-arm64" description="Build Linux version">
+- <target name="linux-build" depends="ignore-tools, check-linux-arm32, check-linux-arm64, revision-check, linux-check-os, jdk-download, jfx-download, subprojects-build, subprojects-build-linux-arm32, subprojects-build-linux-arm64" description="Build Linux version">
+ <target name="linux-build" depends="ignore-tools, check-linux-arm32, check-linux-arm64, revision-check, linux-check-os, subprojects-build, subprojects-build-linux-arm32, subprojects-build-linux-arm64" description="Build Linux version">
<mkdir dir="linux/work" />
<copy todir="linux/work" preservelastmodified="true">
-@@ -855,58 +849,6 @@
+@@ -1049,25 +1049,6 @@
+ <fileset refid="runtime.jars" />
+ </copy>
+
+- <preparejfx />
+-
+- <!-- Pull in OpenJFX (separated from mainline Java in JDK 11). -->
+- <if>
+- <equals arg1="${jfx.available}" arg2="true" />
+- <then>
+- <copy todir="linux/work/core/library" overwrite="true">
+- <fileset dir="${jfx.path.lib}" includes="*.jar"/>
+- <fileset dir="${jfx.path.lib}" includes="*.so"/>
+- </copy>
+-
+- <mkdir dir="linux/work/core/java/legal/openjfx" />
+-
+- <copy todir="linux/work/core/java/legal/openjfx" overwrite="true">
+- <fileset dir="${jfx.path.dist}/legal" includes="**"/>
+- </copy>
+- </then>
+- </if>
+-
+ <copy file="linux/processing" todir="linux/work" />
+ <chmod perm="ugo+x" file="linux/work/processing" />
+
+@@ -1094,57 +1075,6 @@
<copy file="linux/processing-pde.xml" todir="linux/work/lib" />
<copy file="linux/appdata.xml" todir="linux/work/lib" />
<copy file="linux/desktop.template" todir="linux/work/lib" />
@@ -31,7 +44,7 @@
- Cannot use ant version of tar because it doesn't preserve properties.
- <untar compression="gzip"
- dest="linux/work"
-- src="linux/jre.tgz"
+- src="linux/jdk.tgz"
- overwrite="false"/>
--->
-
@@ -46,38 +59,37 @@
- <arg value="-xzpf" />
- -->
- <arg value="xfz" />
-- <arg value="../${jre.tgz.path}"/>
+- <arg value="../${jdk.tgz.path}"/>
- </exec>
-
-- <!-- use the jre subfolder when having downloaded a JDK file -->
-- <condition property="jre.dir" value="jdk${jdk.esoteric}/jre">
-- <!-- property might not be set, but it is for arm -->
-- <equals arg1="${jre.download.jdk}" arg2="true" />
-- </condition>
-- <condition property="jre.dir" value="jre${jdk.esoteric}">
-- <not>
-- <equals arg1="${jre.download.jdk}" arg2="true" />
-- </not>
-- </condition>
+- <property name="jdk.dir" value="jdk-${jdk.esoteric}+${jdk.build}/" />
-
- <exec executable="rsync" dir="linux">
- <arg value="-a" />
- <arg value="--delete" />
-- <arg value="${jre.dir}/" />
+- <arg value="${jdk.dir}" />
- <arg value="work/java/" />
- </exec>
-
-- <delete dir="linux/jre${jdk.esoteric}" failonerror="false" />
-- <delete dir="linux/jdk${jdk.esoteric}" failonerror="false" />
--
- <!-- Remove unused JRE bloat. -->
- <delete failonerror="true">
- <!--
- <fileset refid="javafx-basics" />
-- <fileset refid="javafx-linux-${sun.arch.data.model}" />
+- <fileset refid="javafx-linux-${jdk.data.model}" />
- -->
-- <fileset refid="jre-optional-linux" />
+- <fileset refid="jdk-optional-linux" />
- </delete>
+-
+- <exec executable="rm">
+- <arg value="-r"/>
+- <arg line="linux/jdk-${jdk.esoteric}+${jdk.build}"/>
+- </exec>
+-
+- <exec executable="rm">
+- <arg value="-r"/>
+- <arg line="${jfx.path.dist}"/>
+- </exec>
+-
</target>
<target name="linux-run" depends="linux-build"
diff --git a/use_system_libraries.patch b/use_system_libraries.patch
new file mode 100644
index 000000000000..0d9a32c60c08
--- /dev/null
+++ b/use_system_libraries.patch
@@ -0,0 +1,40 @@
+--- build_core.xml.orig 2020-06-13 00:09:40.000000000 +0200
++++ build_core.xml 2020-06-17 15:54:22.945551353 +0200
+@@ -29,7 +29,7 @@
+ <property name="jogl.url"
+ value="https://jogamp.org/deployment/archive/rc/v2.4.0-rc-20200307/jar" />
+
+- <available file="library/jogl-all.jar" property="jogl.present" />
++ <available file="/usr/share/java/jogl/jogl-all.jar" property="jogl.present" />
+
+ <!-- ok to ignore failed downloads if we at least have a version that's local -->
+ <condition property="jogl.ignorable" value="false" else="true">
+@@ -58,17 +58,17 @@
+ </target>
+
+ <path id="classpath.base">
+- <pathelement location="library/jogl-all.jar" />
+- <pathelement location="library/gluegen-rt.jar" />
+- <pathelement location="library/javafx-swt.jar" />
+- <pathelement location="library/javafx.base.jar" />
+- <pathelement location="library/javafx.controls.jar" />
+- <pathelement location="library/javafx.fxml.jar" />
+- <pathelement location="library/javafx.graphics.jar" />
+- <pathelement location="library/javafx.media.jar" />
+- <pathelement location="library/javafx.properties" />
+- <pathelement location="library/javafx.swing.jar" />
+- <pathelement location="library/javafx.web.jar" />
++ <pathelement location="/usr/share/java/jogl/jogl-all.jar" />
++ <pathelement location="/usr/share/java/jogl/gluegen-rt.jar" />
++ <pathelement location="/usr/lib/jvm/java-11-openjdk/lib/javafx-swt.jar" />
++ <pathelement location="/usr/lib/jvm/java-11-openjdk/lib/javafx.base.jar" />
++ <pathelement location="/usr/lib/jvm/java-11-openjdk/lib/javafx.controls.jar" />
++ <pathelement location="/usr/lib/jvm/java-11-openjdk/lib/javafx.fxml.jar" />
++ <pathelement location="/usr/lib/jvm/java-11-openjdk/lib/javafx.graphics.jar" />
++ <pathelement location="/usr/lib/jvm/java-11-openjdk/lib/javafx.media.jar" />
++ <pathelement location="/usr/lib/jvm/java-11-openjdk/lib/javafx.properties" />
++ <pathelement location="/usr/lib/jvm/java-11-openjdk/lib/javafx.swing.jar" />
++ <pathelement location="/usr/lib/jvm/java-11-openjdk/lib/javafx.web.jar" />
+ </path>
+
+ <path id="classpath.test">