# HG changeset patch # User Arnaud Joset # Date 1522658395 -7200 # Node ID 2566f17a0e59efbe1c4bfd95736b999578961fa9 # Parent 1c09f41e2f52b42f921d1f9356905df185759405 server (setup): New setup.py compatible with archlinux PKGBUILD. This file use a new "arch" option in LIBERVIA_INSTALL environment variable (which is set when libervia is installed with PKGBUILD. This setup.py solves the following issues: - os.symlink(os.path.dirname(libervia.__file__), os.path.join(tmp_dir,"libervia")) fails with PKGBUILD because the module libervia is not accessible. - self.custom_create_links() fails with PKGBUILD because the permissions of bin directory is read-only. diff -r 1c09f41e2f52 -r 2566f17a0e59 setup.py --- a/setup.py Mon Apr 02 09:09:43 2018 +0200 +++ b/setup.py Mon Apr 02 10:39:55 2018 +0200 @@ -116,10 +116,11 @@ os.chdir(os.path.join('src', 'browser')) # we must have only certain package in the path, so we create a tmp dir to link only what we need tmp_dir = tempfile.mkdtemp() - import sat, sat_frontends, libervia + import sat, sat_frontends os.symlink(os.path.dirname(sat.__file__), os.path.join(tmp_dir,"sat")) # FIXME: only work on unixes os.symlink(os.path.dirname(sat_frontends.__file__), os.path.join(tmp_dir,"sat_frontends")) # FIXME: only work on unixes - os.symlink(os.path.dirname(libervia.__file__), os.path.join(tmp_dir,"libervia")) # FIXME: only work on unixes + libervia_files = os.path.abspath("../../src") + os.symlink(libervia_files, os.path.join(tmp_dir,"libervia")) # FIXME: only work on unixes for module in ('libervia_main', 'libervia_test'): build_args = ['pyjsbuild', module] + (['-d'] if JS_DEBUG in install_opt else []) + ['--no-compile-inplace', '-I', tmp_dir, '-o', self.pyjamas_output_dir] result = subprocess.call(build_args) @@ -168,7 +169,8 @@ return self.copy_data_files() self.custom_auto_options() - self.custom_create_links() + if not "arch" in install_opt: + self.custom_create_links() def confirm(self, message): """Ask the user for a confirmation"""