Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

handling of python buildInputs #65

Closed
chaoflow opened this issue Jul 20, 2012 · 1 comment
Closed

handling of python buildInputs #65

chaoflow opened this issue Jul 20, 2012 · 1 comment

Comments

@chaoflow
Copy link
Member

Currently python packages in propagatedBuildInputs are included into PYTHONPATH and are referenced by a file in the output (propagated-build-native-inputs), which makes them run-time dependencies:

https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/python-modules/generic/wrap.sh:

_addToPythonPath() {
    local dir="$1"
    if [ -n "${pythonPathsSeen[$dir]}" ]; then return; fi
    pythonPathsSeen[$dir]=1
    addToSearchPath program_PYTHONPATH $dir/lib/@libPrefix@/site-packages
    addToSearchPath program_PATH $dir/bin
    local prop="$dir/nix-support/propagated-build-native-inputs"
    if [ -e $prop ]; then
        local i
        for i in $(cat $prop); do
            _addToPythonPath $i
        done
    fi
}

For ELF programs nix can figure out the run-time dependencies by scanning the executables, this fails for python as the dependencies are not referenced in any file.

DISCUSSION:

  • pth files could include such references and would handle PYTHONPATH manipulation
  • a nix-support/python-build-inputs could list python buildInputs, turning them into run-time dependencies and further they would be used in the above _addToPythonPath
@chaoflow
Copy link
Member Author

pth files it is

wkennington pushed a commit to wkennington/nixpkgs that referenced this issue Aug 29, 2016
wkennington pushed a commit to wkennington/nixpkgs that referenced this issue Aug 29, 2016
r-ryantm pushed a commit to r-ryantm/nixpkgs that referenced this issue Jul 4, 2018
Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools.

This update was made based on information from https://repology.org/metapackage/clingo/versions.

Version release notes (from GitHub):
# Packages

- The easiest way to obtain Python enabled clingo packages is using [Anaconda][ana]. Packages are available in the [Potassco channel][pch]. First [install either Anaconda or Miniconda][ins] and then run: `conda install -c potassco clingo`.
- Packages for clingo are available in the Linux distributions [Debian][deb], [Ubuntu][ubu], and [Arch Linux (AUR)][aur].
- For Mac OS X, clingo packages are available in [homebrew][hbr] and [macports][mac].

# Changes

* change C API to use numeric instead of symbolic literals
  * affects assumptions and assigning/releasing externals (breaks backward compatibility)
  * added overloads to C++, python and lua API to support both numeric and symbolic version (preserves backward compatibility for most code)
* the python, C and C++ APIs now allow for customizing clingo by implementing a custom main function but reusing the rest of the application including the standard output
* add API function to detect conflicting programs
* add message logger to python and lua interface
* add support for primes in the beginning of identifiers and variable names
* add per solver registration of watches during propagator initialization
* add a directive to selectivel suppress undefined atom warnings
* add support for user defined statistics
* add _to_c functions for python API to be able to call C functions from python
* only create ground representations for requested program parts when grounding (NixOS#71)
* improve program observer (NixOS#19)
* support for binary, octal, and hexadecimal numbers (NixOS#65)
* the backend has to be opened/closed now
* release python's GIL while grounding (NixOS#82)
* TruthValue.{True,False} becomes TruthValue.{\_True,\_False} in python API
* improve API and it's documentation

[deb]: https://www.debian.org/
[ubu]: https://www.ubuntu.com/
[aur]: https://aur.archlinux.org/
[hbr]: https://brew.sh/
[mac]: https://www.macports.org/
[ana]: https://conda.io
[pch]: https://anaconda.org/potassco/clingo
[ins]: https://conda.io/docs/user-guide/install/index.html

These checks were done:

- built on NixOS
- /nix/store/484fg7w1fr5xh2avc4g7811mxq3v3p9x-clingo-5.3.0/bin/lpconvert passed the binary check.
- /nix/store/484fg7w1fr5xh2avc4g7811mxq3v3p9x-clingo-5.3.0/bin/clasp passed the binary check.
- /nix/store/484fg7w1fr5xh2avc4g7811mxq3v3p9x-clingo-5.3.0/bin/reify passed the binary check.
- /nix/store/484fg7w1fr5xh2avc4g7811mxq3v3p9x-clingo-5.3.0/bin/gringo passed the binary check.
- /nix/store/484fg7w1fr5xh2avc4g7811mxq3v3p9x-clingo-5.3.0/bin/clingo passed the binary check.
- 5 of 5 passed binary check by having a zero exit code.
- 0 of 5 passed binary check by having the new version present in output.
- found 5.3.0 with grep in /nix/store/484fg7w1fr5xh2avc4g7811mxq3v3p9x-clingo-5.3.0
- directory tree listing: https://gist.github.com/bba2eaf1d132fbdd88a2710a6030c419
- du listing: https://gist.github.com/230340bfa02557290a60cfc6d2e7e977
ethancedwards8 pushed a commit to ethancedwards8/nixpkgs that referenced this issue Apr 2, 2021
Hopefully this helps to make it more obvious that the file will not be
created by nix-darwin. See NixOS#65
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant