diff options
-rw-r--r-- | .SRCINFO | 20 | ||||
-rw-r--r-- | PKGBUILD | 45 | ||||
-rw-r--r-- | put_version_into_build_xml.py | 56 |
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() |