This "un-breaks" sage while also updating it to 8.0.
It compiles sage with its dependencies as one big pile, which is not
the best approach but definately better than nothing for now.
To be able to shrink the huge output pile a little, it also splits
docs from the rest of the output.
The `make regression` line was failing because the expression was
downloading a core-system-only, no-libraries source tarball. I
switched to using fetchFromGitHub, which downloads the full source
code -- the core system as well as the "community books",
i.e. libraries -- but the libraries unfortunately do not build yet
because they have more dependencies than the core system, and they
also run into some impurity problems during the build process.
This commit changes the ACL2 package so that at least the user will
obtain the latest version of the core system, even though they won't
get the community books. In a later commit I hope to fix this; it
will require either changes to ACL2 itself, or a patch to be applied
to ACL2 in nixpkgs.
ACL2 7.4 has no trouble building on the current version of SBCL in
nixpkgs, so I let it do so instead of using the ancient SBCL version
1.2.0 from 2014.
I also added myself as a maintainer to this package, since I'm an
active contributor to the ACL2 project and am interested in seeing it
working on Nix.
* maintainers: add flokli
* sphinx_guzzle_theme: init at 0.7.11
This adds sphinx_guzzle_theme, which is used for sphinx documentation in
various projects, including BorgBackup.
Add testssl.sh which is a nice utility for testing TLS/SSL
capabilities of servers without having to use any kind of
web-service. It's very useful for testing setups of services before
deployment and such.
This does break the API of being able to import any lib file and get
its libs, however I'm not sure people did this.
I made this while exploring being able to swap out docFn with a stub
in #2305, to avoid functor performance problems. I don't know if that
is going to move forward (or if it is a problem or not,) but after
doing all this work figured I'd put it up anyway :)
Two notable advantages to this approach:
1. when a lib inherits another lib's functions, it doesn't
automatically get put in to the scope of lib
2. when a lib implements a new obscure functions, it doesn't
automatically get put in to the scope of lib
Using the test script (later in this commit) I got the following diff
on the API:
+ diff master fixed-lib
11764a11765,11766
> .types.defaultFunctor
> .types.defaultTypeMerge
11774a11777,11778
> .types.isOptionType
> .types.isType
11781a11786
> .types.mkOptionType
11788a11794
> .types.setType
11795a11802
> .types.types
This means that this commit _adds_ to the API, however I can't find a
way to fix these last remaining discrepancies. At least none are
_removed_.
Test script (run with nix-repl in the PATH):
#!/bin/sh
set -eux
repl() {
suff=${1:-}
echo "(import ./lib)$suff" \
| nix-repl 2>&1
}
attrs_to_check() {
repl "${1:-}" \
| tr ';' $'\n' \
| grep "\.\.\." \
| cut -d' ' -f2 \
| sed -e "s/^/${1:-}./" \
| sort
}
summ() {
repl "${1:-}" \
| tr ' ' $'\n' \
| sort \
| uniq
}
deep_summ() {
suff="${1:-}"
depth="${2:-4}"
depth=$((depth - 1))
summ "$suff"
for attr in $(attrs_to_check "$suff" | grep -v "types.types"); do
if [ $depth -eq 0 ]; then
summ "$attr" | sed -e "s/^/$attr./"
else
deep_summ "$attr" "$depth" | sed -e "s/^/$attr./"
fi
done
}
(
cd nixpkgs
#git add .
#git commit -m "Auto-commit, sorry" || true
git checkout fixed-lib
deep_summ > ../fixed-lib
git checkout master
deep_summ > ../master
)
if diff master fixed-lib; then
echo "SHALLOW MATCH!"
fi
(
cd nixpkgs
git checkout fixed-lib
repl .types
)
* nixos/usbguard: create package and module
No usbguard module or package existed for NixOS previously. USBGuard
will protect you from BadUSB attacks. (assuming configuration is done
correctly)
* nixos/usbguard: remove extra packages
Users can override this by themselves.
* nixos/usbguard: add maintainer and fix style
A portion of Bitcoin users (including the super-majority of the
miners) decided to hard fork to segwit2x around this November. At that
time this will not be compatible with the Bitcoin Core client. 1.14.5
is known as "the Production Release".
* modules sks and pgpkeyserver-lite:
runs the sks keyserver with optional nginx proxy for webgui.
* Add calbrecht to maintainers
* module sks: fix default hkpAddress value
* module pgpkeyserver-lite: make hkpAddress a string type option
and use (builtins.head services.sks.hkpAddress) as default value
* module sks: remove leftover service dependencies