summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO20
-rw-r--r--PKGBUILD45
-rw-r--r--put_version_into_build_xml.py56
3 files changed, 121 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..09625412eb41
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,20 @@
+pkgbase = jpexs-decompiler-git
+ pkgdesc = Opensource flash SWF decompiler and editor
+ pkgver = 20150629
+ pkgrel = 1
+ url = https://www.free-decompiler.com/flash/
+ arch = any
+ license = GPL3
+ makedepends = git
+ makedepends = apache-ant
+ makedepends = java-environment=8
+ makedepends = python
+ depends = java-runtime=8
+ depends = bash
+ source = jpexs-decompiler::git+https://github.com/jindrapetrik/jpexs-decompiler
+ source = put_version_into_build_xml.py
+ md5sums = SKIP
+ md5sums = SKIP
+
+pkgname = jpexs-decompiler-git
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..6250e18fa137
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,45 @@
+# Maintainer: Yen Chi Hsuan <yan12125 at gmail dot com>
+
+pkgname=jpexs-decompiler-git
+_pkgname=jpexs-decompiler
+_github_addr=jindrapetrik/jpexs-decompiler
+pkgver=20150629
+pkgrel=1
+pkgdesc="Opensource flash SWF decompiler and editor"
+arch=("any")
+url="https://www.free-decompiler.com/flash/"
+license=('GPL3')
+makedepends=('git' 'apache-ant' 'java-environment=8' 'python')
+depends=('java-runtime=8' 'bash') # bash for ffdec.sh
+source=(
+ "${_pkgname}"::"git+https://github.com/$_github_addr"
+ 'put_version_into_build_xml.py'
+)
+md5sums=('SKIP' 'SKIP')
+
+pkgver() {
+ cd "${srcdir}/${_pkgname}"
+ git log -1 --format='%cd' --date=short | tr -d -- '-'
+}
+
+prepare() {
+ cd "${srcdir}/${_pkgname}"
+ python ../put_version_into_build_xml.py
+}
+
+build() {
+ msg2 "Note: requires JDK 8 for building"
+
+ cd "${srcdir}/${_pkgname}"
+ ant build
+}
+
+package() {
+ cd "${srcdir}/${_pkgname}"
+ install -Dm755 "resources/ffdec.sh" "${pkgdir}/usr/bin/ffdec"
+ install -Ddm755 "${pkgdir}/usr/share/java/${_pkgname}"
+ for f in dist/* ; do
+ cp -dr --no-preserve=ownership "$f" "${pkgdir}/usr/share/java/${_pkgname}"
+ done
+ install -Dm644 "license.txt" "${pkgdir}/usr/share/licenses/${_pkgname}/license.txt"
+}
diff --git a/put_version_into_build_xml.py b/put_version_into_build_xml.py
new file mode 100644
index 000000000000..2408c86c8dc2
--- /dev/null
+++ b/put_version_into_build_xml.py
@@ -0,0 +1,56 @@
+import os
+import re
+import subprocess
+import sys
+import xml.etree.ElementTree as ET
+
+
+def main():
+ build_xml_filename = 'build.xml'
+ if not os.access(build_xml_filename, os.R_OK | os.W_OK):
+ print(
+ '%s not found. Skipping' % build_xml_filename,
+ file=sys.stderr)
+ return
+
+ tree = ET.parse(build_xml_filename)
+
+ try:
+ git_version = subprocess.check_output(
+ ['git', 'describe', '--long', '--tags'])
+ except subprocess.CalledProcessError:
+ print('Call to git failed. Skipping...', file=sys.stderr)
+ return
+
+ mobj = re.match(
+ r'''(?x)
+ version
+ (?P<major>\d)\.
+ (?P<minor>\d)\.
+ (?P<release>\d)-
+ (?P<build>\d+)-.*''',
+ git_version.decode('utf-8'))
+
+ if not mobj:
+ print('unexpected git version %s. Skipping...' % git_version)
+ return
+
+ versions = {
+ 'major': mobj.group('major'),
+ 'minor': mobj.group('minor'),
+ 'release': mobj.group('release'),
+ 'build': mobj.group('build'),
+ }
+
+ print('Set version to %s.%s.%s' % (
+ versions['major'], versions['minor'], versions['release']))
+
+ for version_type in versions.keys():
+ path = './target/property[@name="version.%s"]' % version_type
+ for element in tree.findall(path):
+ element.set('value', str(versions[version_type]))
+
+ tree.write(build_xml_filename, encoding='UTF-8', xml_declaration=True)
+
+if __name__ == '__main__':
+ main()