• 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

Click to reduce…

no relevant anymore (check with jnanar), closing.

Click to expand… Click to reduce…

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"""