diff --git a/debian/build_pe_modules.py b/debian/build_pe_modules.py new file mode 100644 index 00000000..a5140f47 --- /dev/null +++ b/debian/build_pe_modules.py @@ -0,0 +1,24 @@ +import sys +import os +import os.path as op +import shutil +import importlib + +from setuptools import setup, Extension + +sys.path.insert(1, op.abspath('src')) + +from hscommon.build import move_all + +exts = [ + Extension("_block", [op.join('modules', 'block.c'), op.join('modules', 'common.c')]), + Extension("_cache", [op.join('modules', 'cache.c'), op.join('modules', 'common.c')]), + Extension("_block_qt", [op.join('modules', 'block_qt.c')]), +] +setup( + script_args = ['build_ext', '--inplace'], + ext_modules = exts, +) +move_all('_block_qt*', op.join('src', 'qt', 'pe')) +move_all('_cache*', op.join('src', 'core_pe')) +move_all('_block*', op.join('src', 'core_pe')) \ No newline at end of file diff --git a/debian/control b/debian/control index 426d7eeb..08d712fb 100644 --- a/debian/control +++ b/debian/control @@ -2,7 +2,7 @@ Source: {pkgname} Section: devel Priority: extra Maintainer: Virgil Dupras -Build-Depends: debhelper (>= 7) +Build-Depends: debhelper (>= 7), python3-dev Standards-Version: 3.8.1 Homepage: http://www.hardcoded.net diff --git a/debian/rules b/debian/rules index 565393fc..2416bb5e 100755 --- a/debian/rules +++ b/debian/rules @@ -41,6 +41,8 @@ install: build dh_prep dh_installdirs + touch build_pe_modules.py + python3 build_pe_modules.py chmod +x src/run.py cp -R src/ $(CURDIR)/debian/{pkgname}/usr/share/{execname} cp $(CURDIR)/debian/{execname}.desktop $(CURDIR)/debian/{pkgname}/usr/share/applications diff --git a/package.py b/package.py index 3138d461..6e9303d0 100644 --- a/package.py +++ b/package.py @@ -16,7 +16,7 @@ from argparse import ArgumentParser from hscommon.plat import ISWINDOWS, ISLINUX from hscommon.build import (add_to_pythonpath, print_and_do, copy_packages, build_debian_changelog, copy_qt_plugins, get_module_version, filereplace, copy, setup_package_argparser, - package_cocoa_app_in_dmg) + package_cocoa_app_in_dmg, copy_all) def parse_args(): parser = ArgumentParser() @@ -90,6 +90,11 @@ def package_debian(edition): if edition == 'me': packages.append('hsaudiotag') copy_packages(packages, srcpath) + if edition == 'pe': + os.mkdir(op.join(destpath, 'modules')) + copy_all(op.join('core_pe', 'modules', '*.*'), op.join(destpath, 'modules')) + copy(op.join('qt', 'pe', 'modules', 'block.c'), op.join(destpath, 'modules', 'block_qt.c')) + copy(op.join('debian', 'build_pe_modules.py'), op.join(destpath, 'build_pe_modules.py')) debdest = op.join(destpath, 'debian') os.makedirs(debdest) debopts = json.load(open(op.join('debian', ed('{}.json'))))