summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorTorben2022-01-20 11:01:31 +0100
committerTorben2022-01-20 11:07:59 +0100
commitf2a4243b1be8f83d7e46a7c0acc3e391e91939d7 (patch)
tree2c0bb7df87efe4194e3892460228516e826cb6f6
parente380a01e28dc69587731f0af4d973d736ac49f6f (diff)
downloadaur-f2a4243b1be8f83d7e46a7c0acc3e391e91939d7.tar.gz
Upgrade to 4.0.b3; Import patches from -git package
-rw-r--r--.SRCINFO27
-rw-r--r--.gitignore1
-rw-r--r--PKGBUILD56
-rw-r--r--disable_native_dialogs.patch11
-rw-r--r--fix_theme_engine.patch20
-rw-r--r--no_ffmpeg_download.patch11
-rw-r--r--no_jdk_download.patch66
-rw-r--r--no_jfx_download.patch11
-rw-r--r--use_system_jdk.patch20
-rw-r--r--use_system_libraries.patch26
10 files changed, 215 insertions, 34 deletions
diff --git a/.SRCINFO b/.SRCINFO
index ca2ce3f5ed15..643246dbc842 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,26 +1,37 @@
pkgbase = processing4
pkgdesc = Programming environment for creating images, animations and interactions
- pkgver = 4.0b2
- pkgrel = 3
+ pkgver = 4.0b3
+ pkgrel = 1
url = https://github.com/processing/processing4
arch = x86_64
license = GPL
license = LGPL
makedepends = ant
- makedepends = jdk11-openjdk
makedepends = gendesk
makedepends = unzip
- depends = libgl
+ depends = jdk-openjdk
+ depends = java-openjfx
provides = processing
+ provides = processing4
conflicts = processing
options = !strip
- source = https://github.com/processing/processing4/archive/processing-1277-4.0b2.tar.gz
+ source = https://github.com/processing/processing4/archive/processing-1278-4.0b3.tar.gz
source = https://download.processing.org/reference.zip
source = disable_update_check.patch
- source = disable_native_dialogs.patch
- sha256sums = 060a126877d63ddb048cd389c505f0d502ba4f00bb59be38b99250b1f7006b2d
+ source = fix_theme_engine.patch
+ source = no_ffmpeg_download.patch
+ source = no_jdk_download.patch
+ source = no_jfx_download.patch
+ source = use_system_jdk.patch
+ source = use_system_libraries.patch
+ sha256sums = 1f328895ca20b7b077f10faaac8d342f985c3ae80133b2384324c02ffbd185da
sha256sums = fabe7420a714f450a6b1430f13fc46f14ba52db57af360365c6a7fd96d0b642f
sha256sums = 35c4538e6e57c0ea296c6cea590cabeb2b0772f9a431838df270dcc581321e30
- sha256sums = 500d00811031c0445416b6112972aa1f7a377092dd3b8565d79ead3fdfc62451
+ sha256sums = 24b8a3e18b6e3a0de9422e4dbde46cceb91385f7ad6bdc89ec0a9614e082c977
+ sha256sums = b0742db84e6a6b148b56df6d4d1e8a3266461fe0f514f703301a310e99f1d126
+ sha256sums = c390900419ac9ad188700075a09b658f672d2f3471c8ced0be4f3008ee375d5f
+ sha256sums = dc733c1cb5a41cb06ef0f9ea01d701fd9ac7713b5817b4fe79d7076a505a7c44
+ sha256sums = d2877ad894f76594675534026ee91581f6357a3892afe2fd0efcf86de746c7cb
+ sha256sums = 15119264b6ae7b154f033261ba93535c2d1b5e2b9d849f3999dd7881cc9e49cb
pkgname = processing4
diff --git a/.gitignore b/.gitignore
index 819b71006ebb..5c3b3669e3c6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,5 @@
/*.pkg.tar.xz
+/*.pkg.tar.zst
/*.tar.gz
/*.zip
/src
diff --git a/PKGBUILD b/PKGBUILD
index 4d8c1a532446..bd3cdf6d821a 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,48 +1,67 @@
# Maintainer: Torben <git at letorbi dot com>
pkgname=processing4
-pkgver=4.0b2
-pkgrel=3
+pkgver=4.0b3
+pkgrel=1
arch=(x86_64)
pkgdesc='Programming environment for creating images, animations and interactions'
url='https://github.com/processing/processing4'
license=(GPL LGPL)
-provides=('processing')
+provides=('processing' 'processing4')
conflicts=('processing')
-depends=('libgl')
-makedepends=('ant' 'jdk11-openjdk' 'gendesk' 'unzip')
+depends=( 'jdk-openjdk' 'java-openjfx')
+makedepends=('ant' 'gendesk' 'unzip')
options=(!strip)
source=("https://github.com/processing/processing4/archive/processing-$((1275+${pkgver##4.0b}))-$pkgver.tar.gz"
'https://download.processing.org/reference.zip'
disable_update_check.patch
- disable_native_dialogs.patch)
-sha256sums=('060a126877d63ddb048cd389c505f0d502ba4f00bb59be38b99250b1f7006b2d'
+ fix_theme_engine.patch
+ no_ffmpeg_download.patch
+ no_jdk_download.patch
+ no_jfx_download.patch
+ use_system_jdk.patch
+ use_system_libraries.patch)
+sha256sums=('1f328895ca20b7b077f10faaac8d342f985c3ae80133b2384324c02ffbd185da'
'fabe7420a714f450a6b1430f13fc46f14ba52db57af360365c6a7fd96d0b642f'
'35c4538e6e57c0ea296c6cea590cabeb2b0772f9a431838df270dcc581321e30'
- '500d00811031c0445416b6112972aa1f7a377092dd3b8565d79ead3fdfc62451')
+ '24b8a3e18b6e3a0de9422e4dbde46cceb91385f7ad6bdc89ec0a9614e082c977'
+ 'b0742db84e6a6b148b56df6d4d1e8a3266461fe0f514f703301a310e99f1d126'
+ 'c390900419ac9ad188700075a09b658f672d2f3471c8ced0be4f3008ee375d5f'
+ 'dc733c1cb5a41cb06ef0f9ea01d701fd9ac7713b5817b4fe79d7076a505a7c44'
+ 'd2877ad894f76594675534026ee91581f6357a3892afe2fd0efcf86de746c7cb'
+ '15119264b6ae7b154f033261ba93535c2d1b5e2b9d849f3999dd7881cc9e49cb')
prepare() {
+ # Symbolic link for not having to repeat the revision number
+ ln -sf "$pkgname-processing-$((1275+${pkgver##4.0b}))-$pkgver" $pkgname
+
# Create .desktop file
gendesk -f -n --pkgname=processing --pkgdesc="$pkgdesc" --name="Processing" --exec="processing %f" --mimetypes="text/x-processing"
- # Symbolic link for not having to repeat the revision number
- ln -sf "processing4-processing-"*"-$pkgver" $pkgname
-
# Copy reference.zip to the java directory
mkdir -p $pkgname/java
cp reference.zip $pkgname/java/
+ # Don't download JDK and JFX files during Ant's build process
+ patch $pkgname/build/build.xml < no_jdk_download.patch
+ patch $pkgname/java/libraries/javafx/build.xml < no_jfx_download.patch
+ patch $pkgname/build/shared/tools/MovieMaker/build.xml < no_ffmpeg_download.patch
+
+ # Use system libraries during build process
+ patch $pkgname/core/build.xml < use_system_libraries.patch
+ patch $pkgname/build/shared/tools/ThemeEngine/build.xml < fix_theme_engine.patch
+
+ # Use system JDK to start processing
+ patch $pkgname/build/linux/processing < use_system_jdk.patch
+
# Disable update check in default preferences
patch $pkgname/build/shared/lib/defaults.txt < disable_update_check.patch
-
- # Disable native dialogs in default preferences
- patch $pkgname/build/shared/lib/defaults.txt < disable_native_dialogs.patch
}
build() {
cd "$pkgname/build"
- ant build
+ JAVA_HOME="/usr/lib/jvm/java-17-openjdk" ant build
}
package() {
@@ -62,4 +81,11 @@ package() {
# Symbolic links in /usr/bin
ln -s "/usr/share/processing/processing" "$pkgdir/usr/bin/processing"
ln -s "/usr/share/processing/processing-java" "$pkgdir/usr/bin/processing-java"
+
+ # Link processing's internal java-command to the system's one
+ mkdir -p "$pkgdir/usr/share/processing/java/bin/"
+ ln -s /usr/lib/jvm/java-17-openjdk/bin/java "$pkgdir/usr/share/processing/java/bin/java"
+
+ # Link processing's internal ffmpeg-command to the system's one
+ ln -s /usr/bin/ffmpeg "$pkgdir/usr/share/processing/tools/MovieMaker/tool/"
}
diff --git a/disable_native_dialogs.patch b/disable_native_dialogs.patch
deleted file mode 100644
index 678740dd05b4..000000000000
--- a/disable_native_dialogs.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/build/shared/lib/defaults.txt
-+++ b/build/shared/lib/defaults.txt
-@@ -74,7 +74,7 @@
- recent.count = 10
-
- # Default to the native (AWT) file selector where possible
--chooser.files.native = true
-+chooser.files.native = false
- # We were shutting this off on macOS because it broke Copy/Paste:
- # https://github.com/processing/processing/issues/1035
- # https://github.com/processing/processing4/issues/77
diff --git a/fix_theme_engine.patch b/fix_theme_engine.patch
new file mode 100644
index 000000000000..231d12d5ffc0
--- /dev/null
+++ b/fix_theme_engine.patch
@@ -0,0 +1,20 @@
+--- a/build/shared/tools/ThemeEngine/build.xml
++++ b/build/shared/tools/ThemeEngine/build.xml
+@@ -6,7 +6,7 @@
+ <property name="core.bin.path" location="../../../../core/bin" />
+
+ <property name="javafx.path"
+- location="../../../../java/libraries/javafx/library/macosx" />
++ location="/usr/lib/jvm/java-17-openjdk/lib/" />
+
+ <target name="clean" description="Clean the build directories">
+ <delete dir="bin" />
+@@ -26,7 +26,7 @@
+ <pathelement location="${app.bin.path}" />
+ <pathelement location="${core.bin.path}" />
+
+- <fileset dir="${javafx.path}/modules">
++ <fileset dir="${javafx.path}">
+ <include name="**/*.jar" />
+ </fileset>
+ </classpath>
diff --git a/no_ffmpeg_download.patch b/no_ffmpeg_download.patch
new file mode 100644
index 000000000000..c3649bcf0a1c
--- /dev/null
+++ b/no_ffmpeg_download.patch
@@ -0,0 +1,11 @@
+--- a/build/share/tools/MovieMaker/build.xml
++++ b/build/share/tools/MovieMaker/build.xml
+@@ -74,7 +74,7 @@
+ nowarn="true" />
+ </target>
+
+- <target name="build" depends="compile, prepare-ffmpeg" description="Build Movie Maker Tool">
++ <target name="build" depends="compile" description="Build Movie Maker Tool">
+ <mkdir dir="tool" />
+ <jar basedir="bin" destfile="tool/MovieMaker.jar" />
+ </target>
diff --git a/no_jdk_download.patch b/no_jdk_download.patch
new file mode 100644
index 000000000000..f76c1a58bb05
--- /dev/null
+++ b/no_jdk_download.patch
@@ -0,0 +1,66 @@
+--- build.xml.orig 2022-01-20 10:53:16.417109453 +0100
++++ build.xml.mod 2022-01-20 10:51:11.613210989 +0100
+@@ -1024,7 +1024,7 @@
+ </if>
+ </target>
+
+- <target name="linux-build" depends="ignore-tools, check-linux-arm32, check-linux-arm64, revision-check, linux-check-os, jdk-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">
+@@ -1111,54 +1111,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" />
+-
+-<!--
+- Cannot use ant version of tar because it doesn't preserve properties.
+- <untar compression="gzip"
+- dest="linux/work"
+- src="linux/jdk.tgz"
+- overwrite="false"/>
+--->
+-
+-<!--
+- http://www.gnu.org/software/tar/manual/html_section/transform.html
+--->
+- <exec executable="tar" dir="linux">
+- <!-- Change directory -->
+- <!--
+- <arg value="-C" />
+- <arg value="linux/work" />
+- <arg value="-xzpf" />
+- -->
+- <arg value="xfz" />
+- <arg value="../${jdk.archive.path}"/>
+- </exec>
+-
+- <property name="jdk.dir" value="jdk-${jdk.detail}+${jdk.build}/" />
+-
+- <exec executable="rsync" dir="linux">
+- <arg value="-a" />
+- <arg value="--delete" />
+- <arg value="${jdk.dir}" />
+- <arg value="work/java/" />
+- </exec>
+-
+- <!-- Remove unused JRE bloat. -->
+- <delete failonerror="true">
+- <fileset refid="jdk-optional-linux" />
+- </delete>
+-
+- <exec executable="rm">
+- <arg value="-r"/>
+- <arg line="linux/jdk-${jdk.detail}+${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/no_jfx_download.patch b/no_jfx_download.patch
new file mode 100644
index 000000000000..d000da10b992
--- /dev/null
+++ b/no_jfx_download.patch
@@ -0,0 +1,11 @@
+--- a/java/libraries/javafx/build.xml
++++ b/java/libraries/javafx/build.xml
+@@ -167,7 +167,6 @@
+ nowarn="true" />
+ </target>
+
+- <target name="build" depends="compile" description="Build JavaFX renderer">
+- <jar basedir="bin" destfile="library/javafx.jar" />
++ <target name="build" description="Build JavaFX renderer">
+ </target>
+ </project>
diff --git a/use_system_jdk.patch b/use_system_jdk.patch
new file mode 100644
index 000000000000..5ac14aec6ce9
--- /dev/null
+++ b/use_system_jdk.patch
@@ -0,0 +1,20 @@
+--- a/build/linux/processing
++++ b/build/linux/processing
+@@ -66,7 +66,7 @@ APPDIR=`dirname "$APPDIR"`
+ log APPDIR
+
+ # Try using a local JDK from the same directory as this script
+-JDKDIR=`readlink -f "$APPDIR/java"`
++JDKDIR=`readlink -f /usr/lib/jvm/java-17-openjdk`
+ make_jdkcp "$JDKDIR"
+ log SUCCESS
+
+@@ -113,6 +113,6 @@ else
+ fi
+ cd "$APPDIR"
+
+- #java -splash:lib/about-1x.png -Djna.nosys=true -Djava.library.path=lib:modes/java/libraries/javafx/library/linux64 --module-path=modes/java/libraries/javafx/library/linux64/modules --add-modules=javafx.base,javafx.controls,javafx.fxml,javafx.graphics,javafx.media,javafx.swing,javafx.web -Xmx512m processing.app.Base "$SKETCH" &
+- java -Djna.nosys=true -Dpython.console.encoding=UTF-8 -Djava.library.path=lib:modes/java/libraries/javafx/library/linux64 --module-path=modes/java/libraries/javafx/library/linux64/modules --add-modules=javafx.base,javafx.controls,javafx.fxml,javafx.graphics,javafx.media,javafx.swing,javafx.web -Xmx512m processing.app.ui.Splash "$SKETCH" &
++ #java -splash:lib/about-1x.png -Djna.nosys=true -Djava.library.path=lib:/usr/lib/jvm/java-17-openjdk/lib --module-path=/usr/lib/jvm/java-17-openjdk/lib/javafx.base.jar:/usr/lib/jvm/java-17-openjdk/lib/javafx.controls.jar:/usr/lib/jvm/java-17-openjdk/lib/javafx.fxml.jar:/usr/lib/jvm/java-17-openjdk/lib/javafx.graphics.jar:/usr/lib/jvm/java-17-openjdk/lib/javafx.media.jar:/usr/lib/jvm/java-17-openjdk/lib/javafx.swing.jar:/usr/lib/jvm/java-17-openjdk/lib/javafx.web -Xmx512m processing.app.Base "$SKETCH" &
++ java -Djna.nosys=true -Dpython.console.encoding=UTF-8 -Djava.library.path=lib:/usr/lib/jvm/java-17-openjdk/lib --module-path=/usr/lib/jvm/java-17-openjdk/lib/javafx.base.jar:/usr/lib/jvm/java-17-openjdk/lib/javafx.controls.jar:/usr/lib/jvm/java-17-openjdk/lib/javafx.fxml.jar:/usr/lib/jvm/java-17-openjdk/lib/javafx.graphics.jar:/usr/lib/jvm/java-17-openjdk/lib/javafx.media.jar:/usr/lib/jvm/java-17-openjdk/lib/javafx.swing.jar:/usr/lib/jvm/java-17-openjdk/lib/javafx.web -Xmx512m processing.app.ui.Splash "$SKETCH" &
+ fi
diff --git a/use_system_libraries.patch b/use_system_libraries.patch
new file mode 100644
index 000000000000..67d2871b301b
--- /dev/null
+++ b/use_system_libraries.patch
@@ -0,0 +1,26 @@
+diff --git a/core/build.xml b/core/build.xml
+index db633fff9..f984ae71c 100644
+--- a/core/build.xml
++++ b/core/build.xml
+@@ -66,14 +66,14 @@
+ <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="/usr/lib/jvm/java-17-openjdk/lib/javafx.base.jar" />
++ <pathelement location="/usr/lib/jvm/java-17-openjdk/lib/javafx.controls.jar" />
++ <pathelement location="/usr/lib/jvm/java-17-openjdk/lib/javafx.fxml.jar" />
++ <pathelement location="/usr/lib/jvm/java-17-openjdk/lib/javafx.graphics.jar" />
++ <pathelement location="/usr/lib/jvm/java-17-openjdk/lib/javafx.media.jar" />
+ <!-- error? it's not a .jar, but is this how config is handled? [fry 210619] -->
+- <pathelement location="library/javafx.properties" />
+- <pathelement location="library/javafx.swing.jar" />
++ <pathelement location="/usr/lib/jvm/java-17-openjdk/lib/javafx.properties" />
++ <pathelement location="/usr/lib/jvm/java-17-openjdk/lib/javafx.swing.jar" />
+ <!-- <pathelement location="library/javafx.web.jar" /> -->
+ </path>
+