summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Bermond2020-08-28 00:37:09 +0000
committerDaniel Bermond2020-08-28 00:37:09 +0000
commitba93f36dd06a3103c5de53de899b46dba14d5ef4 (patch)
treed0cf6d39555a4c98612951141db40e8d3f54cd51
downloadaur-ba93f36dd06a3103c5de53de899b46dba14d5ef4.tar.gz
Initial commit of izpack-git
-rw-r--r--.SRCINFO24
-rw-r--r--010-izpack-compile.patch139
-rw-r--r--PKGBUILD86
3 files changed, 249 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..2e4a39784790
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,24 @@
+pkgbase = izpack-git
+ pkgdesc = Tool for packaging applications on the Java platform as cross-platform installers (git version)
+ pkgver = 5.1.3.r59.ga5e9e8054
+ pkgrel = 1
+ url = http://izpack.org/
+ arch = any
+ license = Apache
+ checkdepends = gtk2
+ checkdepends = gnome-themes-standard
+ makedepends = git
+ makedepends = maven
+ depends = sh
+ depends = java-environment=8
+ depends = hicolor-icon-theme
+ optdepends = python: for wrapper utils
+ optdepends = p7zip: for izpack2exe wrapper
+ optdepends = upx: for izpack2exe wrapper
+ source = git+https://github.com/izpack/izpack.git
+ source = 010-izpack-compile.patch
+ sha256sums = SKIP
+ sha256sums = 42609fa684456afe770d43670fcc1ffcce099f25a76cea00df3f8323aa95f582
+
+pkgname = izpack-git
+
diff --git a/010-izpack-compile.patch b/010-izpack-compile.patch
new file mode 100644
index 000000000000..fac26e3090a6
--- /dev/null
+++ b/010-izpack-compile.patch
@@ -0,0 +1,139 @@
+--- a/izpack-dist/src/main/resources/bin/compile
++++ b/izpack-dist/src/main/resources/bin/compile
+@@ -14,130 +14,11 @@
+ # See the License for the specific language governing permissions and
+ # limitations under the License.
+
+-# allow command line pre-set opts
+-if [ -z "$IZPACK_OPTS" ] ; then
+- IZPACK_OPTS=""
+-fi
++MAIN_CLASS='com.izforge.izpack.compiler.bootstrap.CompilerLauncher'
+
+-# load user izpack configuration (may specify IZPACK_HOME
+-if [ -f "$HOME/.izpackrc" ] ; then
+- . $HOME/.izpackrc
+-fi
+-
+-# OS specific support. $var _must_ be set to either true or false.
+-cygwin=false;
+-darwin=false;
+-case "`uname`" in
+- CYGWIN*) cygwin=true ;;
+- Darwin*) darwin=true
+- if [ -z "$JAVA_VERSION" ] ; then
+- JAVA_VERSION="CurrentJDK"
+- else
+- echo "Using Java version: $JAVA_VERSION"
+- fi
+- if [ -z "$JAVA_HOME" ] ; then
+- JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/${JAVA_VERSION}/Home
+- fi
+- ;;
+-esac
+-
+-if [ -z "$IZPACK_HOME" ] ; then
+- # try to find IZPACK
+- if [ -d /opt/izpack ] ; then
+- IZPACK_HOME=/opt/izpack
+- fi
+-
+- if [ -d "${HOME}/izpack" ] ; then
+- IZPACK_HOME="${HOME}/izpack"
+- fi
+-
+- ## resolve links - $0 may be a link to izpack's home
+- PRG="$0"
+- progname=`basename "$0"`
+- saveddir=`pwd`
+-
+- # need this for relative symlinks
+- dirname_prg=`dirname "$PRG"`
+- cd "$dirname_prg"
+-
+- while [ -h "$PRG" ] ; do
+- ls=`ls -ld "$PRG"`
+- link=`expr "$ls" : '.*-> \(.*\)$'`
+- if expr "$link" : '/.*' > /dev/null; then
+- PRG="$link"
+- else
+- PRG=`dirname "$PRG"`"/$link"
+- fi
+- done
+-
+- IZPACK_HOME=`dirname "$PRG"`/..
+-
+- cd "$saveddir"
+-
+- # make it fully qualified
+- IZPACK_HOME=`cd "$IZPACK_HOME" && pwd`
+-fi
+-
+-# For Cygwin, ensure paths are in UNIX format before anything is touched
+-if $cygwin ; then
+- [ -n "$IZPACK_HOME" ] &&
+- IZPACK_HOME=`cygpath --unix "$IZPACK_HOME"`
+- [ -n "$JAVA_HOME" ] &&
+- JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
+- [ -n "$CLASSPATH" ] &&
+- CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
+-fi
+-
+-if [ -z "$JAVACMD" ] ; then
+- if [ -n "$JAVA_HOME" ] ; then
+- if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+- # IBM's JDK on AIX uses strange locations for the executables
+- JAVACMD="$JAVA_HOME/jre/sh/java"
+- else
+- JAVACMD="$JAVA_HOME/bin/java"
+- fi
+- else
+- JAVACMD=`which java 2> /dev/null `
+- if [ -z "$JAVACMD" ] ; then
+- JAVACMD=java
+- fi
+- fi
+-fi
+-
+-if [ ! -x "$JAVACMD" ] ; then
+- echo "Error: JAVA_HOME is not defined correctly."
+- echo " We cannot execute $JAVACMD"
+- exit 1
+-fi
+-
+-if [ -z "$JAVA_HOME" ] ; then
+- echo "Warning: JAVA_HOME environment variable is not set."
+- echo " If build fails because sun.* classes could not be found"
+- echo " you will need to set the JAVA_HOME environment variable"
+- echo " to the installation directory of java."
+-fi
+-
+-# For Cygwin, switch paths to Windows format before running java
+-if $cygwin; then
+- [ -n "$IZPACK_HOME" ] &&
+- IZPACK_HOME=`cygpath --windows "$IZPACK_HOME"`
+- [ -n "$JAVA_HOME" ] &&
+- JAVA_HOME=`cygpath --windows "$JAVA_HOME"`
+- [ -n "$CLASSPATH" ] &&
+- CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
+-fi
+-
+-# For Darwin, use classes.jar for TOOLS_JAR
+-TOOLS_JAR="${JAVA_HOME}/lib/tools.jar"
+-if $darwin; then
+- TOOLS_JAR="/System/Library/Frameworks/JavaVM.framework/Versions/${JAVA_VERSION}/Classes/classes.jar"
+-fi
+-
+-MAIN_CLASS=com.izforge.izpack.compiler.bootstrap.CompilerLauncher
+-
+-"$JAVACMD" -Xmx512m \
++exec java -Xmx512m \
+ $IZPACK_OPTS \
+- -classpath "${IZPACK_HOME}/lib/*" \
+- "-Dtools.jar=$TOOLS_JAR" \
+- "-Dizpack.home=${IZPACK_HOME}" \
+- $MAIN_CLASS "$@"
++ -classpath '/opt/izpack/lib/*' \
++ -Dtools.jar='/usr/lib/jvm/default-runtime/lib/tools.jar' \
++ -Dizpack.home='/opt/izpack' \
++ "$MAIN_CLASS" "$@"
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..900dc6432868
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,86 @@
+# Maintainer: Daniel Bermond <dbermond@archlinux.org>
+
+pkgname=izpack-git
+pkgver=5.1.3.r59.ga5e9e8054
+pkgrel=1
+pkgdesc='Tool for packaging applications on the Java platform as cross-platform installers (git version)'
+arch=('any')
+url='http://izpack.org/'
+license=('Apache')
+depends=('sh' 'java-environment=8' 'hicolor-icon-theme')
+optdepends=('python: for wrapper utils'
+ 'p7zip: for izpack2exe wrapper'
+ 'upx: for izpack2exe wrapper')
+makedepends=('git' 'maven')
+checkdepends=('gtk2' 'gnome-themes-standard')
+source=('git+https://github.com/izpack/izpack.git'
+ '010-izpack-compile.patch')
+sha256sums=('SKIP'
+ '42609fa684456afe770d43670fcc1ffcce099f25a76cea00df3f8323aa95f582')
+
+prepare() {
+ patch -d izpack -Np1 -i "${srcdir}/010-izpack-compile.patch"
+}
+
+pkgver() {
+ git -C izpack describe --long --tags | sed 's/^izpack-//;s/\([^-]*-g\)/r\1/;s/-/./g'
+}
+
+build() {
+ mvn -f izpack \
+ -Dproject.build.outputTimestamp="$SOURCE_DATE_EPOCH" \
+ -DskipTests='true' \
+ clean package
+}
+
+check() {
+ mvn -f izpack \
+ -Dproject.build.outputTimestamp="$SOURCE_DATE_EPOCH" \
+ test
+}
+
+package() {
+ # install
+ local _ver
+ _ver="$(find izpack/izpack-dist/target -type f -name 'izpack-dist-*.jar' -print0 |
+ sort -z | head -zn1 | sed -z 's/\.jar$//;s/.*izpack-dist-//')"
+ rm -rf "${pkgdir}/opt/izpack"
+ printf '%s\n' '0' '1' '1' '1' "${pkgdir}/opt/izpack" \
+ 'O' '1' 'Y' '1' 'N' 'N' 'Y' "${pkgdir}/opt/izpack/auto-install.xml" |
+ java -jar "izpack/izpack-dist/target/izpack-dist-${_ver}.jar" -console
+
+ # fix permissions
+ chmod a+x "${pkgdir}/opt/izpack/utils/wrappers/izpack2app/izpack2app.py"
+ chmod a+x "${pkgdir}/opt/izpack/utils/wrappers/izpack2exe/izpack2exe.py"
+ chmod a+x "${pkgdir}/opt/izpack/utils/wrappers/izpack2jnlp/izpack2jnlp.py"
+
+ # remove unneeded/unwanted files
+ rm -r "${pkgdir}/opt/izpack/Uninstaller"
+ rm "${pkgdir}/opt/izpack/bin"/{*.bat,start.sh}
+ rm "${pkgdir}/opt/izpack/utils/wrappers/izpack2exe"/{7za,upx}{,.exe}
+
+ # remove $pkgdir reference from auto-install.xml
+ sed -Ei "s|${pkgdir}(/opt/izpack)|\1|" "${pkgdir}/opt/izpack/auto-install.xml"
+
+ # wrapper utils doc
+ install -D -m644 izpack/src/doc-reST/izpack-utils.txt -t "${pkgdir}/usr/share/doc/${pkgname}"
+
+ # symlinks
+ local _dest
+ local _file
+ local _res
+ while read -r -d '' _file
+ do
+ _res="$(printf '%s' "$_file" | sed 's/\.png$//;s/^.*_//')"
+ _dest="$(printf '%s' "$_file" | sed ";s/_${_res}//;s/_/-/")"
+ mkdir -p "${pkgdir}/usr/share/icons/hicolor/${_res}x${_res}/mimetypes"
+ ln -s "../../../../../../opt/izpack/icons/${_file}" \
+ "${pkgdir}/usr/share/icons/hicolor/${_res}x${_res}/mimetypes/${_dest}"
+ done < <(find "${pkgdir}/opt/izpack/icons" -type f -name '*.png' -print0 |
+ sed -z "s|${pkgdir}/opt/izpack/icons/||")
+ mkdir -p "${pkgdir}/usr"/{bin,share/licenses}
+ ln -s "../../opt/izpack/bin/compile" "${pkgdir}/usr/bin/izpack-compile"
+ ln -s "../../../opt/izpack/legal" "${pkgdir}/usr/share/licenses/${pkgname}"
+ ln -s /usr/bin/7za "${pkgdir}/opt/izpack/utils/wrappers/izpack2exe/7za"
+ ln -s /usr/bin/upx "${pkgdir}/opt/izpack/utils/wrappers/izpack2exe/upx"
+}