• Description
  • Patches
id

4

publisher

goffi@goffi.org/d2c160f2-e949-4430-991b-ebdefbe78794

title
Libervia: New setup.py compatible with archlinux PKGBUILD. This file define a new variable: ENV_LIBERVIA_INSTALL which is equal to "arch" when libervia is installed
author
Jnanar
created
2018-04-02T08:42:22Z
updated
2018-06-22T12:42:04Z
labels
libervia
status
closed
body

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.

comments_uri
xmpp:pubsub.goffi.org?;node=urn%3Axmpp%3Amicroblog%3A0%3Acomments%2Forg.salut-a-toi.merge_requests%3A0_oifMdJWg3bqv2bg4pVwde6
no relevant anymore (check with jnanar), closing.

You are not logged. You need to log in to comment.

Arnaud Joset

Libervia: New setup.py compatible with archlinux PKGBUILD. This file define a new variable: ENV_LIBERVIA_INSTALL which is equal to "arch" 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 --git a/setup.py b/setup.py
--- a/setup.py
+++ b/setup.py
@@ -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"""