cassandra-driver requires an older version of cython than the one
present in nixpkgs.
Next cassandra-driver version will support cython 0.29
82c84255ff
We use `dpkg` 1.19.2 since 23661254e45d6eb47acad16a174637803637917a.
This version dropped pkg_db_reset` in `<dpkg/dpkg_db.h>` which broke compilation with the
following errors:
```
/build/source/osquery/tables/system/linux/deb_packages.cpp: In function 'void osquery::tables::dpkg_setup(pkg_array*)':
/build/source/osquery/tables/system/linux/deb_packages.cpp:83:3: error: 'pkg_array_init_from_db' was not declared in this scope
pkg_array_init_from_db(packages);
^~~~~~~~~~~~~~~~~~~~~~
/build/source/osquery/tables/system/linux/deb_packages.cpp:83:3: note: suggested alternative: 'pkg_array_init_from_hash'
pkg_array_init_from_db(packages);
^~~~~~~~~~~~~~~~~~~~~~
pkg_array_init_from_hash
/build/source/osquery/tables/system/linux/deb_packages.cpp: In function 'void osquery::tables::dpkg_teardown(pkg_array*)':
/build/source/osquery/tables/system/linux/deb_packages.cpp:93:3: error: 'pkg_db_reset' was not declared in this scope
pkg_db_reset();
^~~~~~~~~~~~
/build/source/osquery/tables/system/linux/deb_packages.cpp:93:3: note: suggested alternative: 'pkg_hash_reset'
pkg_db_reset();
^~~~~~~~~~~~
pkg_hash_reset
make[2]: *** [osquery/tables/CMakeFiles/osquery_system_tables.dir/build.make:115: osquery/tables/CMakeFiles/osquery_system_tables.dir/system/linux/deb_packages.cpp.o] Error 1
```
As there's currently no upstream fix, it's better to use an older
version of `dpkg` for now.
The build missed `openssl` as input and failed with an error like this:
```
/nix/store/7n1h80xkbjhcijzp0iylk0nc7w05vy8k-net-snmp-5.8/include/net-snmp/library/scapi.h:14:10: fatal error: openssl/ossl_typ.h: No such file or directory
#include <openssl/ossl_typ.h> /* EVP_MD */
^~~~~~~~~~~~~~~~~~~~
compilation terminated.
```
This also unbreaks `osquery` (https://hydra.nixos.org/build/88547811).
See also https://hydra.nixos.org/build/88562937
The 'modules.conf' file in the root of the source determines which
modules to build. Not all of the build inputs have been correctly
moved into their respective module as this requires a bit of work and
trial-and-error.
2 of the tests fail when sandboxing is enabled, we might want to allow
this case in the profile if there are more cases but for now just
disable the tests on darwin.
warning: TIOCSCTTY failed, slave might not be set as controlling terminal: Operation not permitted at /private/tmp/nix-build-perl5.28.1-IO-Tty-1.12.drv-0/IO-Tty-1.12/blib/lib/IO/Pty.pm line 121.
Error: could not connect pty as controlling terminal!
no controlling terminal at t/test.t line 68.
sysread() failed: at t/test.t line 91.
# Looks like your test exited with 255 just after 2.