1. 18 Jul, 2021 3 commits
  2. 17 Jul, 2021 4 commits
  3. 08 Jul, 2021 4 commits
  4. 11 Jun, 2021 3 commits
  5. 16 Apr, 2021 1 commit
    • Luka Čehovin Zajc's avatar
      Clone library dependency list when extending · f62801c6
      Luka Čehovin Zajc authored
      This small change fixes a problem when a common list object is used in setup.py to declare dependencies for multiple extension objects. In this case the library dependencies get accumulated in the same list which causes problems in more complex builds.
      f62801c6
  6. 14 Mar, 2021 5 commits
  7. 05 Mar, 2021 2 commits
  8. 27 Feb, 2021 4 commits
  9. 26 Feb, 2021 1 commit
    • Kaleb Barrett's avatar
      Create info module for each DSO · 42641e32
      Kaleb Barrett authored
      Generates an info module per DSO built with information on the original
      dot separated name, the stem and full path to the DSO. The info module
      also adds the directory containing the DSO to the DLL path on Windows
      once the info module is loaded.
      
      The name for the info module is configurable per DSO and defaults to
      `"{stem}_dso.py"`. Setting the name to `None` turns off info moduel
      generation for the DSO.
      
      The change does not attempt to create proper package structure to ensure
      the info modules are importable, that is up to the user.
      42641e32
  10. 24 Feb, 2021 1 commit
  11. 24 Jan, 2021 1 commit
  12. 22 Jan, 2021 4 commits
  13. 14 Dec, 2020 2 commits
  14. 02 Oct, 2020 1 commit
  15. 01 Oct, 2020 1 commit
  16. 20 May, 2020 2 commits
  17. 15 May, 2020 1 commit
    • Kirill Smelkov's avatar
      build_dso: Fix support for develop install (pip install -e) · 84e06348
      Kirill Smelkov authored
      When a package is installed in development mode by `pip install -e`, it
      calls `python setup.py develop` under the covers
      
          https://setuptools.readthedocs.io/en/latest/setuptools.html#development-mode
      
      However it currently skips build_dso in that mode which leads to build
      failure if anything - e.g. extension - is depending on a dso:
      
          + pip install -v -e .
          Created temporary directory: /tmp/pip-ephem-wheel-cache-OJgoBO
          Created temporary directory: /tmp/pip-req-tracker-CrRj5z
          Created requirements tracker '/tmp/pip-req-tracker-CrRj5z'
          Created temporary directory: /tmp/pip-install-hiu8rq
          Obtaining file:///home/kirr/src/tools/py/pypa/setuptools_dso/example
            Added file:///home/kirr/src/tools/py/pypa/setuptools_dso/example to build tracker '/tmp/pip-req-tracker-CrRj5z'
            Running setup.py (path:/home/kirr/src/tools/py/pypa/setuptools_dso/example/setup.py) egg_info for package from file:///home/kirr/src/tools/py/pypa/setuptools_dso/example
              Running command python setup.py egg_info
              running egg_info
              creating src/dsodemo.egg-info
              writing src/dsodemo.egg-info/PKG-INFO
              writing top-level names to src/dsodemo.egg-info/top_level.txt
              writing dependency_links to src/dsodemo.egg-info/dependency_links.txt
              writing manifest file 'src/dsodemo.egg-info/SOURCES.txt'
              reading manifest file 'src/dsodemo.egg-info/SOURCES.txt'
              writing manifest file 'src/dsodemo.egg-info/SOURCES.txt'
            Source in /home/kirr/src/tools/py/pypa/setuptools_dso/example has version 0.1, which satisfies requirement dsodemo==0.1 from file:///home/kirr/src/tools/py/pypa/setuptools_dso/example
            Removed dsodemo==0.1 from file:///home/kirr/src/tools/py/pypa/setuptools_dso/example from build tracker '/tmp/pip-req-tracker-CrRj5z'
          Installing collected packages: dsodemo
            Running setup.py develop for dsodemo
              Running command /home/kirr/src/tools/py/pypa/setuptools_dso/env/bin/python -c "import setuptools, tokenize;__file__='/home/kirr/src/tools/py/pypa/setuptools_dso/example/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" develop --no-deps
              running develop
              Checking .pth file support in /home/kirr/src/tools/py/pypa/setuptools_dso/env/lib/python2.7/site-packages/
              /home/kirr/src/tools/py/pypa/setuptools_dso/env/bin/python -E -c pass
              TEST PASSED: /home/kirr/src/tools/py/pypa/setuptools_dso/env/lib/python2.7/site-packages/ appears to support .pth files
              running egg_info
              writing src/dsodemo.egg-info/PKG-INFO
              writing top-level names to src/dsodemo.egg-info/top_level.txt
              writing dependency_links to src/dsodemo.egg-info/dependency_links.txt
              reading manifest file 'src/dsodemo.egg-info/SOURCES.txt'
              writing manifest file 'src/dsodemo.egg-info/SOURCES.txt'
              running build_ext
              Traceback (most recent call last):
                File "<string>", line 1, in <module>
                File "/home/kirr/src/tools/py/pypa/setuptools_dso/example/setup.py", line 26, in <module>
                  x_dsos = [dso],
                File "/home/kirr/src/tools/py/pypa/setuptools_dso/env/local/lib/python2.7/site-packages/setuptools_dso/__init__.py", line 37, in setup
                  _setup(**kws)
                File "/home/kirr/src/tools/py/pypa/setuptools_dso/env/local/lib/python2.7/site-packages/setuptools/__init__.py", line 145, in setup
                  return distutils.core.setup(**attrs)
                File "/usr/lib/python2.7/distutils/core.py", line 151, in setup
                  dist.run_commands()
                File "/usr/lib/python2.7/distutils/dist.py", line 953, in run_commands
                  self.run_command(cmd)
                File "/usr/lib/python2.7/distutils/dist.py", line 972, in run_command
                  cmd_obj.run()
                File "/home/kirr/src/tools/py/pypa/setuptools_dso/env/local/lib/python2.7/site-packages/setuptools/command/develop.py", line 38, in run
                  self.install_for_development()
                File "/home/kirr/src/tools/py/pypa/setuptools_dso/env/local/lib/python2.7/site-packages/setuptools/command/develop.py", line 140, in install_for_development
                  self.run_command('build_ext')
                File "/usr/lib/python2.7/distutils/cmd.py", line 326, in run_command
                  self.distribution.run_command(command)
                File "/usr/lib/python2.7/distutils/dist.py", line 972, in run_command
                  cmd_obj.run()
                File "/home/kirr/src/tools/py/pypa/setuptools_dso/env/local/lib/python2.7/site-packages/setuptools_dso/dsocmd.py", line 395, in run
                  _build_ext.run(self)
                File "/home/kirr/src/tools/py/pypa/setuptools_dso/env/local/lib/python2.7/site-packages/setuptools/command/build_ext.py", line 78, in run
                  _build_ext.run(self)
                File "/usr/lib/python2.7/distutils/command/build_ext.py", line 340, in run
                  self.build_extensions()
                File "/usr/lib/python2.7/distutils/command/build_ext.py", line 449, in build_extensions
                  self.build_extension(ext)
                File "/home/kirr/src/tools/py/pypa/setuptools_dso/env/local/lib/python2.7/site-packages/setuptools_dso/dsocmd.py", line 406, in build_extension
                  self.dso2lib_pre(ext)
                File "/home/kirr/src/tools/py/pypa/setuptools_dso/env/local/lib/python2.7/site-packages/setuptools_dso/dsocmd.py", line 146, in dso2lib_pre
                  raise RuntimeError("Unable to find DSO %s needed by extension %s"%(dso, ext.name))
              RuntimeError: Unable to find DSO dsodemo.lib.demo needed by extension dsodemo.ext.dtest
      
      -> Fix it by making build_ext to depend on build_dso.
      84e06348