The Z3 source code is effectively compiled into two completely separate
objects: the z3 binary file, and the libz3.so library -- but the binary is not
linked against the shared library, it simply incorporates all of the object
files. The Z3 code base results in an ~25MB object on x86_64-linux. As a
result, splitting bin/ and lib/ results in a 50% reduction in closure size.
(The include/ directory is also surprisingly large at .5MB...)
This also splits the python API into a completely separate .python attribute,
as well.
Signed-off-by: Austin Seipp <aseipp@pobox.com>
These have been submitted upstream,
but seconds before writing this message
so naturally no upstream response "yet" :).
Regardless of response, fetch patches
from the corresponding PR's for context
and of course hopefully they'll
be included in next version.
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 (#71)
* improve program observer (#19)
* support for binary, octal, and hexadecimal numbers (#65)
* the backend has to be opened/closed now
* release python's GIL while grounding (#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
* treewide: http -> https sources
This updates the source urls of all top-level packages from http to
https where possible.
* buildtorrent: fix url and tab -> spaces
Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools.
This update was made based on information from https://repology.org/metapackage/lean/versions.
These checks were done:
- built on NixOS
- ran ‘/nix/store/kdbjdracd2m6fv18k9kc5bcmr0p60glx-lean-3.4.1/bin/lean -h’ got 0 exit code
- ran ‘/nix/store/kdbjdracd2m6fv18k9kc5bcmr0p60glx-lean-3.4.1/bin/lean --help’ got 0 exit code
- ran ‘/nix/store/kdbjdracd2m6fv18k9kc5bcmr0p60glx-lean-3.4.1/bin/leanpkg help’ got 0 exit code
- found 3.4.1 with grep in /nix/store/kdbjdracd2m6fv18k9kc5bcmr0p60glx-lean-3.4.1
- directory tree listing: https://gist.github.com/198504c00746718749b3019653fe78fd
Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools.
This update was made based on information from https://repology.org/metapackage/ott/versions.
These checks were done:
- built on NixOS
- ran ‘/nix/store/2lbl8zpp2lrrh9pgh2gnyhimq6i86rl1-ott-0.28/bin/ott --help’ got 0 exit code
- ran ‘/nix/store/2lbl8zpp2lrrh9pgh2gnyhimq6i86rl1-ott-0.28/bin/ott.opt --help’ got 0 exit code
- found 0.28 with grep in /nix/store/2lbl8zpp2lrrh9pgh2gnyhimq6i86rl1-ott-0.28
- directory tree listing: https://gist.github.com/177f63b8c23bae6301ced29fb0e617c4
Aspino patched `libglucose` for their own uses, however they currently
depend on glucose v4.0.
(see e31c3b4e57/patches)
The patches don't apply properly on `glucose-4.1` anymore, furthermore
the new source directory caused the `bootstrap.sh` from `aspino` which
was supposed to apply the patches and recompile the setup to break.
Furthermore some minor changes to the derivation were introduced:
- upgraded from `2016-01-31` to `2017-03-09`
- the name contains an `-unstable-` infix as upstream has no releases
- instead of a `patchPhase` the `postPatch` hook will be used for
`substituteInPlace` to keep advanced patching features from `nixpkgs`
available.
- `patchShebangs` will be called to avoid impurities because of the
implicit reliance on `/bin/sh`
- added myself as second maintainer to have more people available in
case of any further breackage
See https://hydra.nixos.org/build/70688471/log
See ticket #36453
Semi-automatic update generated by https://github.com/ryantm/nix-update tools. These checks were done:
- built on NixOS
- Warning: no binary found that responded to help or version flags. (This warning appears even if the package isn't expected to have binaries.)
- found 1.2b1 in filename of file in /nix/store/jx5s7w6bmd6lfqvxl2lly3ggd4k9ncax-ltl2ba-1.2b1
Semi-automatic update. These checks were performed:
- built on NixOS
- ran `/nix/store/p13fvkr38qrak3ng6lpmj4z1palhr2in-cryptoverif-1.28/bin/cryptoverif --help` got 0 exit code
- found 1.28 with grep in /nix/store/p13fvkr38qrak3ng6lpmj4z1palhr2in-cryptoverif-1.28
- found 1.28 in filename of file in /nix/store/p13fvkr38qrak3ng6lpmj4z1palhr2in-cryptoverif-1.28
DRAT-trim is a tool which can be used to make SAT solvers (such as
glucose and glucose-syrup, which are in nixpkgs) more useful by
checking their work. It has become well-accepted in the SAT solver
development community and has been used in the annual SAT competitions
for the last few years.
Note that clasp (included in clingo) is already packaged separately, but
only an earlier version. As it is used by OPAM, but will stop being used
by OPAM later (and I want to grab the name for Clasp the Common Lisp
implementation), I decided to package clingo as a whole (as recommended),
but to leave clasp until OPAM stops needing it.
Projects like the AIGER toolkit want to use the picosat.o object file in order
to do SAT solving. Install this, along with the header and version information,
so a build of the AIGER can use it. This means that picosat does not need to be
built twice.
Signed-off-by: Austin Seipp <aseipp@pobox.com>
* master: (81 commits)
Add NixOS 17.09 AMIs
gradle: 4.2 -> 4.2.1
maintainers.nix: use my GitHub handle as maintainer name
fcitx-engines.rime: init at 0.3.2
brise: init at 2017-09-16
librime: init at 1.2.9
marisa: init at 0.2.4
opencc: build shared library and programs
josm: 12712 -> 12914
exa: 0.7.0 -> 0.8.0
krb5: add deprecation date for old configuration
rustRegistry: 2017-09-10 -> 2017-10-03
go-ethereum: Fix libusb segmentation faults on Darwin
tor-browser-bundle-bin: 7.0.5 -> 7.0.6
libsodium: 1.0.13 -> 1.0.15
tor-browser-bundle: geoip support
tor-browser-bundle: support transports obfs2,obfs3
tor-browser-bundle: bump https-everywhere to 2017.9.12
tint2: limit platforms to Linux since macOS is not supported and fails the tests
eclipse-plugin-vrapper: init at 0.72.0
...