tvl-depot/third_party/default.nix
2020-06-11 21:13:04 +00:00

178 lines
3.6 KiB
Nix

# This file controls the import of external dependencies (i.e.
# third-party code) into my package tree.
#
# This includes *all packages needed from nixpkgs*.
{ ... }:
let
# Tracking nixos-unstable as of 2020-06-10.
nixpkgsCommit = "467ce5a9f45aaf96110b41eb863a56866e1c2c3c";
nixpkgsSrc = fetchTarball {
url = "https://github.com/NixOS/nixpkgs-channels/archive/${nixpkgsCommit}.tar.gz";
sha256 = "0qz7wgi61pdb335n18xm8rfwddckwv0vg8n7fii5abrrx47vnqcj";
};
nixpkgs = import nixpkgsSrc {
config.allowUnfree = true;
config.allowBroken = true;
};
# Tracking nixos-20.03 as of 2020-05-22
stableCommit = "48723f48ab92381f0afd50143f38e45cf3080405";
stableNixpkgsSrc = fetchTarball {
url = "https://github.com/NixOS/nixpkgs-channels/archive/${stableCommit}.tar.gz";
sha256 = "0h3b3l867j3ybdgimfn76lw7w6yjhszd5x02pq5827l659ihcf53";
};
stableNixpkgs = import stableNixpkgsSrc {};
exposed = {
# Inherit the packages from nixos-unstable that should be available inside
# of the repo. They become available under `pkgs.third_party.<name>`
inherit (nixpkgs)
age
autoconf
autoreconfHook
bashInteractive
bat
buildGoModule
buildGoPackage
buildPackages
bzip2
c-ares
cacert
cachix
cairo
cargo
cgit
clang-tools
clang_10
cmake
coreutils
cudatoolkit
darwin
dockerTools
fetchFromGitHub
fetchurl
fetchzip
fira
fira-code
fira-mono
fontconfig
freetype
gerrit
gettext
glibc
gmock
gnutar
go
google-cloud-sdk
graphviz
gzip
haskell
iana-etc
imagemagickBig
jetbrains-mono
jq
kontemplate
lib
libredirect
luajit
luatex
makeFontsConf
makeWrapper
mdbook
meson
mime-types
moreutils
nano
nginx
ninja
nix
openssh
openssl
overrideCC
pandoc
parallel
pkgconfig
pounce
python3
python3Packages
remarshal
rink
ripgrep
rsync
runCommand
runCommandNoCC
rustPlatform
rustc
sbcl
sqlite
stern
symlinkJoin
systemd
tdlib
terraform_0_12
texlive
thttpd
tree
which
writeShellScript
writeShellScriptBin
writeText
writeTextFile
xorg
xz
zlib
zstd;
# Inherit packages that should come from a stable channel
inherit (stableNixpkgs)
emacs26
emacs26-nox
emacsPackages
emacsPackagesGen;
# Required by //third_party/nix
inherit (nixpkgs)
aws-sdk-cpp
bison
boehmgc
boost # urgh
brotli
busybox-sandbox-shell
curl
docbook5
docbook_xsl_ns
editline
flex
libseccomp
libsodium
libxml2
libxslt
mercurial
perl
perlPackages
utillinuxMinimal;
};
in exposed.lib.fix(self: exposed // {
callPackage = nixpkgs.lib.callPackageWith self;
# Provide the source code of nixpkgs, but do not provide an imported
# version of it.
inherit nixpkgsCommit nixpkgsSrc stableNixpkgsSrc;
# Packages to be overridden
originals = {
inherit (nixpkgs) grpc notmuch;
inherit (stableNixpkgs) git;
ffmpeg = nixpkgs.ffmpeg-full;
};
# Use LLVM 10
llvmPackages = nixpkgs.llvmPackages_10;
clangStdenv = nixpkgs.llvmPackages_10.stdenv;
stdenv = nixpkgs.llvmPackages_10.stdenv;
# Make NixOS available
nixos = import "${nixpkgsSrc}/nixos";
})