There's no need for us to reinvent the wheel here.
niv pins are in //third_party/sources, and niv commands need to be run
with `niv -s third_party/sources/sources.json` to operate on the
correct file.
Note that niv by default wants to put the loader file in
//nix/sources.nix. This file has been moved to
//third_party/sources/default.nix which makes niv throw a warning, but
everything still works as intended.
Change-Id: I2b2a6f8edf33c429a6d7be9d174ba1996d9a0193
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5143
Reviewed-by: grfn <grfn@gws.fyi>
Reviewed-by: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Autosubmit: tazjin <tazjin@tvl.su>
Use a nixos-unstable revision the channel has not yet advanced to (but
the tested jobset has succeeded already), so we'll benefit from the
polkit security update.
* //users/grfn/home/games: replace multimc with polymc.
Seems like this is the conclusion in in the trademark saga.
* //third_party/terrform-provider-glesys: use new mkProvider interface
See https://github.com/nixos/nixpkgs/commit/e7dbfd7ece0e
Change-Id: Ieb76a3d73c42ce1fa34050ac797fa4e3a905e8ef
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5075
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
Reviewed-by: grfn <grfn@gws.fyi>
This change is required for using our package set in exported josh
workspaces. It has no functional impact on depot itself.
Change-Id: Id48b40f067b5d53a2b7386a0ba1146a72268b923
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4990
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Temporarily use a master commit as some interesting failures have been
fixed there (yubikey-manager and notmuch).
* //users/tazjin/nixos/camden: The acme module was moved around, so we
need to adjust the disabled module path.
Change-Id: I21c6a1963ffe4205f3577f531ce10b778a82e2ff
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4865
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
* 3p/lisp/closer-mop: closer-mop no longer builds with ECL (see linked
issue), so let's mark it as broken for now.
Change-Id: I97c29d718682cec4ecc682ff1593d0ce9aca0010
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4607
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
* //third_party/overlays/tvl: drop override for treefmt, as the channel
now contains treefmt 0.3.0
Change-Id: I84e52f5dccd22eb4318f7f79fc4c2f4751c6bdc1
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4519
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
* //third_party/{abseil_cpp, grpc}: fix linker problem by passing the
C++ standard to use explicitly. nixpkgs upstream stopped passing this
to abseil between bumps and the way this problem manifests itself is
linker errors, because… C++, I suppose.
Change-Id: I932ea70befee90984ae2e575dfc23f5c601cd289
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3769
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
Reviewed-by: grfn <grfn@gws.fyi>
... bumping these in the same commit to avoid double-recompilation of
Emacs stuff.
Change-Id: Ieab114115b788c36e9d42246445cf17b960c11de
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3741
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
depot-nixpkgs-update did not update the unstable channel properly, since
nixos.org still has caching issues: The channel has updated (e. g. the
nixos-unstable branch in nixpkgs), but channels.nixos.org is still
pointing to a stale version. See:
* https://github.com/NixOS/nixpkgs/issues/140026
* https://github.com/NixOS/nixos-org-configurations/issues/169
I've updated the channel manually here, since that version of nixpkgs
has a fix for bqn-mode I'm interested in.
Hopefully this problem is sorted out soon since depot-nixpkgs-update
relies on the HTTP channel “API” to obtain the date of the channel (as
opposed to the date of the commit).
Change-Id: Iae55e4a7f77b479e08dbe9eb82752ecc4f470d81
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3656
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
I tried to remove the awscli2 override, the build no longer fails but
just hangs infinitely on unstable now, so it's staying in for the time
being.
Change-Id: I871b0f5bffe0edf4db815ca4df2c3f142bc9e13d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3630
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
... instead of the one from the overlay, which can be out of sync.
This requires the TVL overlay to be applied after the Emacs overlay.
Change-Id: Idac403ea612e334c14b45759dc216699a506678f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3484
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Reviewed-by: tazjin <mail@tazj.in>
This lets us benefit from the recent OpenSSL security-related
update [1]. Since nixos-unstable is still stuck, we temporarily
use nixos-unstable-small as our unstable channel.
Fixes necessary:
* //users/sterni/nix/char:
Someone has decided to drop writers.writeC upstream [2],
so we reimplement it ad-hoc using runCommandCC
[1]: https://www.openssl.org/news/secadv/20210824.txt
[2]: 982f46985e
Change-Id: Id84756e2e370296b7a27e1a3f1744f58f8fe3c47
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3463
Reviewed-by: sterni <sternenseemann@systemli.org>
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
Adds ECL as a second supported implementation, specifically a statically
linked ECL. This is interesting because we can create statically linked
binaries, but has a few drawbacks which doesn't make it generally
useful:
* Loading things is very slow: The statically linked ECL only has byte
compilation available, so when we do load things or use the REPL it is
significantly worse than with e. g. SBCL.
* We can't load shared objects via the FFI since ECL's dffi is not
available when linked statically. This means that as it stands, we
can't build a statically linked //web/panettone for example.
Since ECL is quite slow anyways, I think these drawbacks are worth it
since the biggest reason for using ECL would be to get a statically
linked binary. If we change our minds, it shouldn't be too hard to
provide ecl-static and ecl-dynamic as separate implementations.
ECL is LGPL and some libraries it uses as part of its runtime are as
well. I've outlined in the ecl-static overlay why this should be of no
concern in the context of depot even though we are statically linking.
Currently everything is building except projects that are using cffi to
load shared libaries which have gotten an appropriate
`badImplementations` entry. To get the rest building the following
changes were made:
* Anywhere a dependency on UIOP is expressed as `bundled "uiop"` we now
use `bundled "asdf"` for all implementations except SBCL. From my
testing, SBCL seems to be the only implementation to support using
`(require 'uiop)` to only load the UIOP package. Where both a
dependency on ASDF and UIOP exists, we just delete the UIOP one.
`(require 'asdf)` always causes UIOP to be available.
* Where appropriate only conditionally compile SBCL-specific code and
if any build the corresponding files for ECL.
* //lisp/klatre: Use the standard condition parse-error for all
implementations except SBCL in try-parse-integer.
* //3p/lisp/ironclad: disable SBCL assembly optimization hack for all
other platforms as it may interfere with compilation.
* //3p/lisp/trivial-mimes: prevent call to asdf function by substituting
it out of the source since it always errors out in ECL and we hardcode
the correct path elsewhere anyways.
As it stands ECL still suffers from a very weird problem which happens
when compiling postmodern and moptilities:
https://gitlab.com/embeddable-common-lisp/ecl/-/issues/651
Change-Id: I0285924f92ac154126b4c42145073c3fb33702ed
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3297
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
Reviewed-by: eta <tvl@eta.st>
Wanted to port my emacs config to depot, but missing a dependency from
the channel. Adjustments:
* Downgrade grfn's Kernel to 5.10: The ck1 patch is not yet available
for 5.13 unfortunately and the 5.12 set has been removed upstream.
Change-Id: Ifaf315427bda2af590549ca0abec02a79f19a3ec
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3375
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
Reviewed-by: grfn <grfn@gws.fyi>
This makes it possible to use the hashes in things that should, for
example, be keyed on the nixpkgs version (such as cache-folders for
Nixery).
Change-Id: I500d13a4d96b0c28fcf6ca383d2a86515565da36
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3341
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
This channel version contains a couple of ECL fixes which I'm after.
Change-Id: Id9f5dba2da99cfbd673417b72a55c56f9a55d875
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3299
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
I used //tools/depot-nixpkgs-update for this - thanks again, sterni!
Included fixes:
* temporary workaround for building notmuch python package, fixed in
upstream already (but channel hasn't advanced there)
* Disable fprintd in grfn.system.yeren, as the fprintd-tod package
currently has a version mismatch in nixpkgs
Co-authored-by: Griffin Smith <grfn@gws.fyi>
Change-Id: If6d71b08ace9db57daadfe3b69b9cd4aec6a5a4e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3274
Reviewed-by: grfn <grfn@gws.fyi>
Reviewed-by: tazjin <mail@tazj.in>
Reviewed-by: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
* 3p/buzz: bump to latest master (1.6.0)
* 3p/emacs/explain-pause-mode: adjust to package-build update
MELPA's package build now cares about git revisions, but calling VC
commands in a nix build is usually a bad idea. Thus upstream nixpkgs
passes `$commit` to the `buildPhase` and otherwise fails with an
error message that doesn't really point to the issue. Upstream change:
9140d4b06f
* 3p/overlays/emacs: udpate to 2021-07-25 to support the package-build
update. Without this emacsPackages.xelb (for tazjin's exwm) would fail.
Change-Id: I7cd782fe7d66ed4ea78c529b79fe761d921f46a8
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3253
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
Reviewed-by: grfn <grfn@gws.fyi>
Didn't bother to update the stable channel as it is unused currently.
Changes required:
* tazjin/frog, grfn/modules/obs:
Remove obs-v4l2sink as it has been integrated into upstream OBS and
the package removed from nixpkgs subsequently (at least according to
the `builtins.throw`-message).
Change-Id: I4335ed060eef2c4ff8ac55a68d894bcc3d8ef4a3
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3243
Tested-by: BuildkiteCI
Reviewed-by: grfn <grfn@gws.fyi>
Reviewed-by: tazjin <mail@tazj.in>
Includes the following depot changes & fixes:
* stable moves to NixOS 21.05
* stable isn't used anymore (but we'll keep the mechanism)
* haskell overlay's `random` override is removed (YAY!)
* grfn/iso: Switch to regular kernel rather than
latest kernel, as latest kernel is currently marked as broken due to zfs
* grfn/home: Use julia_16-bin temporarily
julia 1.5 (current julia-stable, source built release in nixpkgs)
doesn't pass its own test suite. Julia 1.6 doesn't have a source built
package in nixpkgs yet, so julia_16-bin appears to be the only working
julia derivation currently.
* tazjin/tverskoy: Use zfs unstable, as stable zfs doesn't work with the
latest kernel
Co-Authored-By: Griffin Smith <grfn@gws.fyi>
Co-Authored-By: sterni <sternenseemann@systemli.org>
Change-Id: I6f2e3d9f75077e4755de6bde9104d44b584cbe4c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3174
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Reviewed-by: tazjin <mail@tazj.in>
Reviewed-by: grfn <grfn@gws.fyi>
* users/grfn/system/home/yeren: remove obsolete awscli2 overrides
* ops: make new isSystemUser || isNormalUser assertion happy
* users/grfn/system/system/mugwump: make buildkite agents system users
* users/tazjin/nixos/camden: set isSystemUser = true for git
* users/tazjin/emacs: Remove missing & broken packages
* third_party/openldap: remove, as the argon2 module is now enabled upstream
* third_party/gerrit_plugins: Pinned new unstable hashes
* third_party/nix, third_party/grpc: Disabled CI as these are broken
* third_party/overlays/emacs: Bumped version to stay in sync with channel
* third_party/buzz: Update LIBCLANG_PATH to reference libclang.lib,
since libclang's default output no longer contains libclang.so
* users/grfn/system/home: Install julia-stable instead of julia (which
aliases to julia-lts), as the latter depends on an insecure version of
libgit
Change-Id: Iff33b0ecb0ef07a82d1de35e23c40d2f4bf0f8ed
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3001
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Reviewed-by: grfn <grfn@gws.fyi>
This adds adisbladis' Emacs overlay, which makes bleeding-edge
functionality such as native compilation of Elisp available.
Change-Id: I29861cb4da37bf8bf7fdb6fba5f2525c7a024356
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3002
Reviewed-by: adisbladis <adisbladis@gmail.com>
Tested-by: BuildkiteCI
Fixes included:
* exposed gtest in the package set, required for protobuf
* pinned SBCL to version 2.0.8: The channel moved it to >2.1, and a
bunch of warnings seemed to be killing our builds - we should
investigate this later.
* removed kernel patches from //users/tazjin/frog: this machine is
currently out of service anyways, not worth fixing while it's offline
* removed steam & lutris from frog (they're currently broken)
* removed Haskell overrides for hedgehog-classes & hgeometry-combinatorial
* use gRPC sources from upstream and inject Abseil via Nix instead
* fix for renamed grpc import in //third_party/nix
* use libfprint-tod from upstream nixpkgs in glittershark/yeren and
delete glittershark/pkgs/fprintd entirely, since all of the patches used
there are available and working from upstream now (and stopped working
here after the bump)
Change-Id: Ia90e6f774f7b88bc9e60d28351b900ca43ee2695
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2901
Reviewed-by: glittershark <grfn@gws.fyi>
Reviewed-by: tazjin <mail@tazj.in>
Reviewed-by: sterni <sternenseemann@systemli.org>
Reviewed-by: lukegb <lukegb@tvl.fyi>
Tested-by: BuildkiteCI
This lets the import of the depot root accept an additional argument
called `externalArgs`, which can be used to pass additional arguments
into a depot package set.
This is used in //third_party/nixpkgs for replacing the source of the
nixos-unstable channel with a path. With this we can bisect the
nixpkgs used in third_party easily.
Change-Id: I4f65eb3d6b521ed9f437649b7b068f1e6ab8210f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2925
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Please read b/108 to make sense of this.
This gets rid of the explicit list of exposed packages from nixpkgs,
and instead makes the entire package set available at
`third_party.nixpkgs`.
To accommodate this, a LOT of things have to be very slightly shuffled
around. Some of this was done in already submitted CLs, but this
change is unfortunately still quite noisy.
Pay extra attention to:
* overlay-like functionality that was partially moved to actual
overlays (partially as in, the minimum required to get a green
build)
* modified uses of the package set path, esp. in NixOS systems
Special notes:
* xanthous has been disabled in CI because of issues with the Haskell
overlay
* //third_party/nix has been disabled because of other unclear
dependency issues
Both of these will be tackled in a followup CL.
Change-Id: I2f9c60a4d275fdb5209264be0addfd7e06c53118
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2910
Reviewed-by: glittershark <grfn@gws.fyi>
Reviewed-by: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI