Merge staging-next into staging

This commit is contained in:
github-actions[bot] 2021-03-26 12:06:44 +00:00 committed by GitHub
commit 219312a10b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
64 changed files with 806 additions and 387 deletions

@ -245,7 +245,7 @@ in
fi
if [ -z "$CJDNS_ADMIN_PASSWORD" ]; then
echo "CJDNS_ADMIN_PASSWORD=$(tr -dc A-Za-z0-9 </dev/urandom | head -c 96)" \
echo "CJDNS_ADMIN_PASSWORD=$(tr -dc A-Za-z0-9 </dev/urandom | head -c 32)" \
>> /etc/cjdns.keys
fi
'';

@ -221,6 +221,21 @@ import ./make-test-python.nix ({ pkgs, ... }: {
assert "FROM_CHILD=true" in env, "envvars from the child should be preserved"
assert "LAST_LAYER=child" in env, "envvars from the child should take priority"
with subtest(
"Ensure inherited environment variables of layered images are correctly resolved"
):
# Read environment variables as stored in image config
config = docker.succeed(
"tar -xOf ${examples.environmentVariablesLayered} manifest.json | ${pkgs.jq}/bin/jq -r .[].Config"
).strip()
out = docker.succeed(
f"tar -xOf ${examples.environmentVariablesLayered} {config} | ${pkgs.jq}/bin/jq -r '.config.Env | .[]'"
)
env = out.splitlines()
assert (
sum(entry.startswith("LAST_LAYER") for entry in env) == 1
), "envvars overridden by child should be unique"
with subtest("Ensure image with only 2 layers can be loaded"):
docker.succeed(
"docker load --input='${examples.two-layered-image}'"

@ -1,4 +1,4 @@
{ lib, stdenv, mkDerivation, fetchFromGitHub, cmake, doxygen, makeWrapper
{ lib, mkDerivation, fetchFromGitHub, cmake, doxygen, makeWrapper
, msgpack, neovim, pythonPackages, qtbase }:
mkDerivation rec {

@ -1,20 +1,20 @@
{ lib, stdenv, fetchhg, fetchFromGitHub, fetchurl, gtk2, glib, pkg-config, unzip, ncurses, zip }:
{ lib, stdenv, fetchFromGitHub, fetchurl, gtk2, glib, pkg-config, unzip, ncurses, zip }:
stdenv.mkDerivation rec {
version = "11.0_beta";
version = "11.1";
pname = "textadept11";
nativeBuildInputs = [ pkg-config unzip ];
nativeBuildInputs = [ pkg-config unzip zip ];
buildInputs = [
gtk2 ncurses glib zip
gtk2 ncurses glib
];
src = fetchFromGitHub {
name = "textadept11";
owner = "orbitalquark";
repo = "textadept";
rev = "8da5f6b4a13f14b9dd3cb9dc23ad4f7bf41e91c1";
sha256 = "0v11v3x8g6v696m3l1bm52zy2g9xzz7hlmn912sn30nhcag3raxs";
rev = "1df99d561dd2055a01efa9183bb9e1b2ad43babc";
sha256 = "0g4bh5dp391vi32aa796vszpbxyl2dm5231v9dwc8l9v0b2786qn";
};
preConfigure =
@ -40,7 +40,9 @@ stdenv.mkDerivation rec {
'';
makeFlags = [
"PREFIX=$(out) WGET=true PIXMAPS_DIR=$(out)/share/pixmaps"
"PREFIX=$(out)"
"WGET=true"
"PIXMAPS_DIR=$(out)/share/pixmaps"
];
meta = with lib; {

@ -3,13 +3,13 @@
url = "https://www.scintilla.org/scintilla445.tgz";
sha256 = "1v1kyxj7rv5rxadbg8gl8wh1jafpy7zj0wr6dcyxq9209dl6h8ag";
};
"9e2ffa159299899c9345aea15c17ba1941953871.zip" = {
url = "https://github.com/orbitalquark/scinterm/archive/9e2ffa159299899c9345aea15c17ba1941953871.zip";
sha256 = "12h7prgp689w45p4scxd8vvsyw8fkv27g6gvgis55xr44daa6122";
"6a774158d8a3c7bc7ea120bc01cdb016fa351a7e.zip" = {
url = "https://github.com/orbitalquark/scinterm/archive/6a774158d8a3c7bc7ea120bc01cdb016fa351a7e.zip";
sha256 = "083xvpw14dxbyrv4i48q76bmr44hs637qv363n6ibfs8xv1kq7iv";
};
"scintillua_4.4.5-1.zip" = {
url = "https://github.com/orbitalquark/scintillua/archive/scintillua_4.4.5-1.zip";
sha256 = "095wpbid2kvr5xgkhd5bd4sd7ljgk6gd9palrjkmdcwfgsf1lp04";
"scintillua_4.4.5-2.zip" = {
url = "https://github.com/orbitalquark/scintillua/archive/scintillua_4.4.5-2.zip";
sha256 = "1061y2gg78zb2mml8msyarxgdwbf7g8g2v08fr1qqsqi2pbb7mfc";
};
"lua-5.3.5.tar.gz" = {
url = "http://www.lua.org/ftp/lua-5.3.5.tar.gz";
@ -19,17 +19,17 @@
url = "http://www.inf.puc-rio.br/~roberto/lpeg/lpeg-1.0.2.tar.gz";
sha256 = "1zjzl7acvcdavmcg5l7wi12jd4rh95q9pl5aiww7hv0v0mv6bmj8";
};
"v1_7_0_2.zip" = {
url = "https://github.com/keplerproject/luafilesystem/archive/v1_7_0_2.zip";
sha256 = "0y44ymc7higz5dd2w3c6ib7mwmpr6yvszcl7lm12nf8x3y4snx4i";
"v1_8_0.zip" = {
url = "https://github.com/keplerproject/luafilesystem/archive/v1_8_0.zip";
sha256 = "12p1p5qpdql44y3cc035h8rs8rgdqp6nrnrixlp5544agb5bx9p3";
};
"64587546482a1a6324706d75c80b77d2f87118a4.zip" = {
url = "https://github.com/orbitalquark/gtdialog/archive/64587546482a1a6324706d75c80b77d2f87118a4.zip";
sha256 = "10mglbnn8r1cakqn9h285pwfnh7kfa98v7j8qh83c24n66blyfh9";
};
"cdk-5.0-20150928.tgz" = {
url = "http://invisible-mirror.net/archives/cdk/cdk-5.0-20150928.tgz";
sha256 = "0j74l874y33i26y5kjg3pf1vswyjif8k93pqhi0iqykpbxfsg382";
"cdk-5.0-20200923.tgz" = {
url = "http://invisible-mirror.net/archives/cdk/cdk-5.0-20200923.tgz";
sha256 = "1vdakz119a13d7p7w53hk56fdmbkhv6y9xvdapcfnbnbh3l5szq0";
};
"libtermkey-0.20.tar.gz" = {
url = "http://www.leonerd.org.uk/code/libtermkey/libtermkey-0.20.tar.gz";

@ -19,18 +19,18 @@ fi
VSCODE_VER=$(curl --fail --silent https://api.github.com/repos/Microsoft/vscode/releases/latest | jq --raw-output .tag_name)
sed -i "s/version = \".*\"/version = \"${VSCODE_VER}\"/" "$ROOT/vscode.nix"
VSCODE_LINUX_URL="https://vscode-update.azurewebsites.net/${VSCODE_VER}/linux-x64/stable"
VSCODE_LINUX_URL="https://update.code.visualstudio.com/${VSCODE_VER}/linux-x64/stable"
VSCODE_LINUX_SHA256=$(nix-prefetch-url ${VSCODE_LINUX_URL})
sed -i "s/x86_64-linux = \".\{52\}\"/x86_64-linux = \"${VSCODE_LINUX_SHA256}\"/" "$ROOT/vscode.nix"
VSCODE_DARWIN_URL="https://vscode-update.azurewebsites.net/${VSCODE_VER}/darwin/stable"
VSCODE_DARWIN_URL="https://update.code.visualstudio.com/${VSCODE_VER}/darwin/stable"
VSCODE_DARWIN_SHA256=$(nix-prefetch-url ${VSCODE_DARWIN_URL})
sed -i "s/x86_64-darwin = \".\{52\}\"/x86_64-darwin = \"${VSCODE_DARWIN_SHA256}\"/" "$ROOT/vscode.nix"
VSCODE_LINUX_AARCH64_URL="https://vscode-update.azurewebsites.net/${VSCODE_VER}/linux-arm64/stable"
VSCODE_LINUX_AARCH64_URL="https://update.code.visualstudio.com/${VSCODE_VER}/linux-arm64/stable"
VSCODE_LINUX_AARCH64_SHA256=$(nix-prefetch-url ${VSCODE_LINUX_AARCH64_URL})
sed -i "s/aarch64-linux = \".\{52\}\"/aarch64-linux = \"${VSCODE_LINUX_AARCH64_SHA256}\"/" "$ROOT/vscode.nix"
VSCODE_LINUX_ARMV7L_URL="https://vscode-update.azurewebsites.net/${VSCODE_VER}/linux-armhf/stable"
VSCODE_LINUX_ARMV7L_URL="https://update.code.visualstudio.com/${VSCODE_VER}/linux-armhf/stable"
VSCODE_LINUX_ARMV7L_SHA256=$(nix-prefetch-url ${VSCODE_LINUX_ARMV7L_URL})
sed -i "s/armv7l-linux = \".\{52\}\"/armv7l-linux = \"${VSCODE_LINUX_ARMV7L_SHA256}\"/" "$ROOT/vscode.nix"

@ -8,16 +8,16 @@
buildGoModule rec {
pname = "wtf";
version = "0.35.0";
version = "0.36.0";
src = fetchFromGitHub {
owner = "wtfutil";
repo = pname;
rev = "v${version}";
sha256 = "sha256-xzMXbF0M7asZtyo8DmM5yyNoHKy0H6amRDhu6hjHgq4=";
sha256 = "sha256-JVHcunpS+2/0d7XaUZ95m9QpVHCG1Tq8LJ9KNURSRy8=";
};
vendorSha256 = "sha256-6ij0NQMjDnZJhuqkUR7MdBLAMS5Xa2HKIgQjegKJyvc=";
vendorSha256 = "sha256-4uRhbRPfCRYwFlfucXOYhLruj7hkV4G9Sxjh9yQkDEQ=";
doCheck = false;

@ -1,6 +1,4 @@
{ stdenv, symlinkJoin, lib, makeWrapper
, writeText
}:
{ symlinkJoin, lib, makeWrapper, writeText }:
helm:

@ -19,6 +19,7 @@
, fetchurl
, fetchzip
, fetchgit
, zstd
}:
with lib;
@ -43,9 +44,9 @@ with lib;
# Those pieces of software we entirely ignore upstream's handling of, and just
# make sure they're in the path if desired.
let
k3sVersion = "1.19.4+k3s2"; # k3s git tag
k3sVersion = "1.20.4+k3s1"; # k3s git tag
traefikChartVersion = "1.81.0"; # taken from ./scripts/download at the above k3s tag
k3sRootVersion = "0.7.1"; # taken from ./scripts/download at the above k3s tag
k3sRootVersion = "0.8.1"; # taken from ./scripts/download at the above k3s tag
k3sCNIVersion = "0.8.6-k3s1"; # taken from ./scripts/version.sh at the above k3s tag
# bundled into the k3s binary
traefikChart = fetchurl {
@ -64,7 +65,7 @@ let
k3sRoot = fetchzip {
# Note: marked as apache 2.0 license
url = "https://github.com/k3s-io/k3s-root/releases/download/v${k3sRootVersion}/k3s-root-amd64.tar";
sha256 = "1wjg54816plbdwgv0dibq6dzmcakcmx0wiqijvr4f3gsxgk59zwf";
sha256 = "sha256-r3Nkzl9ccry7cgD3YWlHvEWOsWnnFGIkyRH9sx12gks=";
stripRoot = false;
};
k3sPlugins = buildGoPackage rec {
@ -95,7 +96,7 @@ let
url = "https://github.com/k3s-io/k3s";
rev = "v${k3sVersion}";
leaveDotGit = true; # ./scripts/version.sh depends on git
sha256 = "1qxjdgnq8mf54760f0vngcqa2y3b048pcmfsf1g593b2ij1kg1zi";
sha256 = "0rmn3nh8a94axv6lb2xjnn3gpq0scnvj69bvcs74azvw62fvq016";
};
# Stage 1 of the k3s build:
# Let's talk about how k3s is structured.
@ -126,7 +127,12 @@ let
src = k3sRepo;
patches = [ ./patches/0001-Use-rm-from-path-in-go-generate.patch ./patches/0002-Add-nixpkgs-patches.patch ];
# Patch build scripts so that we can use them.
# This makes things more dynamically linked (because nix can deal with
# dynamically linked dependencies just fine), removes the upload at the
# end, and skips building runc + cni, since we have our own derivations for
# those.
patches = [ ./patches/0002-Add-nixpkgs-patches.patch ];
nativeBuildInputs = [ git pkg-config ];
buildInputs = [ libseccomp ];
@ -166,9 +172,10 @@ let
src = k3sRepo;
patches = [ ./patches/0001-Use-rm-from-path-in-go-generate.patch ./patches/0002-Add-nixpkgs-patches.patch ];
# See the above comment in k3sBuildStage1
patches = [ ./patches/0002-Add-nixpkgs-patches.patch ];
nativeBuildInputs = [ git pkg-config ];
nativeBuildInputs = [ git pkg-config zstd ];
# These dependencies are embedded as compressed files in k3s at runtime.
# Propagate them to avoid broken runtime references to libraries.
propagatedBuildInputs = [ k3sPlugins k3sBuildStage1 runc ];
@ -255,10 +262,12 @@ stdenv.mkDerivation rec {
# Use a wrapper script to reference all the binaries that k3s tries to
# execute, but that we didn't bundle with it.
installPhase = ''
runHook preInstall
mkdir -p "$out/bin"
makeWrapper ${k3sBin}/bin/k3s "$out/bin/k3s" \
--prefix PATH : ${lib.makeBinPath k3sRuntimeDeps} \
--prefix PATH : "$out/bin"
runHook postInstall
'';
meta = {

@ -1,25 +0,0 @@
From e79ddef65d08599ae3fe8ff39d202ea2416650b8 Mon Sep 17 00:00:00 2001
From: Euan Kemp <euank@euank.com>
Date: Sun, 31 May 2020 17:27:05 -0700
Subject: [PATCH 1/2] Use 'rm' from path in go generate
/bin/rm is less portable. On some distros, like nixos, it doesn't exist
at all.
---
main.go | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/main.go b/main.go
index 62908bb7bb..0527222887 100644
--- a/main.go
+++ b/main.go
@@ -1,5 +1,5 @@
//go:generate go run pkg/codegen/cleanup/main.go
-//go:generate /bin/rm -rf pkg/generated
+//go:generate rm -rf pkg/generated
//go:generate go run pkg/codegen/main.go
//go:generate go fmt pkg/deploy/zz_generated_bindata.go
//go:generate go fmt pkg/static/zz_generated_bindata.go
--
2.25.4

@ -0,0 +1,22 @@
{ lib, buildGoModule, fetchFromGitHub }:
buildGoModule rec {
pname = "kubeconform";
version = "0.4.6";
src = fetchFromGitHub {
owner = "yannh";
repo = pname;
rev = "v${version}";
sha256 = "sha256-lduHYYskEPUimEX54ymOyo5jY7GGBB42YTefDMNS4qo=";
};
vendorSha256 = null;
meta = with lib; {
description = "A FAST Kubernetes manifests validator, with support for Custom Resources!";
homepage = "https://github.com/yannh/kubeconform/";
license = licenses.asl20;
maintainers = [ maintainers.j4m3s ];
};
}

@ -15,12 +15,12 @@ let
in
stdenv.mkDerivation rec {
pname = "octant";
version = "0.17.0";
version = "0.18.0";
src = fetchsrc version {
x86_64-linux = "sha256-kYS8o97HBjNgwmrG4fjsqFWxZy6ATFOhxt6j3KMZbEc=";
aarch64-linux = "sha256-/Tpna2Y8+PQt+SeOJ9NDweRWGiQXU/sN+Wh/vLYQPwM=";
x86_64-darwin = "sha256-aOUmnD+l/Cc5qTiHxFLBjCatszmPdUc4YYZ6Oy5DT3U=";
x86_64-linux = "sha256-D/pHOXR7XQoJCGqUep1lBAY4239HH35m+evFd21pcK0=";
aarch64-linux = "sha256-aL1axz3ebqrKQ3xK2UgDMQ+o6ZKgIvwy6Phici7WT2c=";
x86_64-darwin = "sha256-MFxOAAEnLur0LJJNU0SSlO+bH4f18zOfZNA49fKEQEw=";
};
dontConfigure = true;

@ -4,11 +4,11 @@ with lib;
stdenv.mkDerivation rec {
pname = "mpop";
version = "1.4.12";
version = "1.4.13";
src = fetchurl {
url = "https://marlam.de/${pname}/releases/${pname}-${version}.tar.xz";
sha256 = "sha256-X2NVtS2cNgYZYjpAxmwaVXHjk7Q/5YN1wN41QprDSAo=";
sha256 = "sha256-s0mEZsZbZQrdGm55IJsnuoY3VnOkXJalknvtaFoyfcE=";
};
nativeBuildInputs = [ pkg-config ];

@ -1,4 +1,4 @@
{ lib, stdenv, fetchurl }:
{ lib, fetchurl }:
rec {
version = "3.2.3";

@ -15,7 +15,7 @@ assert enableXXHash -> xxHash != null;
assert enableZstd -> zstd != null;
let
base = import ./base.nix { inherit lib stdenv fetchurl; };
base = import ./base.nix { inherit lib fetchurl; };
in
stdenv.mkDerivation rec {
name = "rsync-${base.version}";

@ -1,7 +1,7 @@
{ lib, stdenv, fetchurl, perl, rsync }:
let
base = import ./base.nix { inherit stdenv lib fetchurl; };
base = import ./base.nix { inherit lib fetchurl; };
in
stdenv.mkDerivation {
name = "rrsync-${base.version}";

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "umurmur";
version = "0.2.19";
version = "0.2.20";
src = fetchFromGitHub {
owner = "umurmur";
repo = "umurmur";
rev = version;
sha256 = "sha256-86wveYlM493RIuU8aKac6XTOMPv0JxlZL4qH2N2AqRU=";
sha256 = "sha256-jp5+NbGmT90ksffvpLYIX2q5cPeVidDCYMPvLHCiP68=";
};
nativeBuildInputs = [ autoreconfHook ];

@ -20,11 +20,11 @@
buildPythonApplication rec {
pname = "jellyfin-mpv-shim";
version = "1.10.1";
version = "1.10.2";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-bcTCp2K1zRgobBAi7A62VPogM6km+DixRERWEOm9Yu4=";
sha256 = "sha256-ivNkVpC+uQfbcAyQZ0xIG1k1MLIgpkiqTMVnkoYlJyY=";
};
propagatedBuildInputs = [

@ -202,7 +202,9 @@ def overlay_base_config(from_image, final_config):
# Preserve environment from base image
final_env = base_config.get("Env", []) + final_config.get("Env", [])
if final_env:
final_config["Env"] = final_env
# Resolve duplicates (last one wins) and format back as list
resolved_env = {entry.split("=", 1)[0]: entry for entry in final_env}
final_config["Env"] = list(resolved_env.values())
return final_config

@ -2,7 +2,7 @@
let
pname = "spleen";
version = "1.8.2";
version = "1.9.0";
in fetchurl {
name = "${pname}-${version}";
url = "https://github.com/fcambus/spleen/releases/download/${version}/spleen-${version}.tar.gz";
@ -19,7 +19,7 @@ in fetchurl {
# create fonts.dir so NixOS xorg module adds to fp
${mkfontscale}/bin/mkfontdir "$d"
'';
sha256 = "0195d8ssmd8hc0q941z6zwnccffxajv4vylypsndxf28f3ikawby";
sha256 = "sha256-hNPbYiU+v7kCYKVyOn+uc5cSlu9bWsC4CwFvfH6StWM=";
meta = with lib; {
description = "Monospaced bitmap fonts";

@ -0,0 +1,29 @@
{ lib, stdenv, fetchzip }:
let
pname = "vollkorn";
version = "4.105";
in
fetchzip {
name = "${pname}-${version}";
url = "http://vollkorn-typeface.com/download/vollkorn-4-105.zip";
sha256 = "0srff2nqs7353mqcpmvaq156lamfh621py4h1771n0l9ix2c8mss";
stripRoot = false;
postFetch = ''
mkdir -pv $out/share/{doc/${pname}-${version},fonts/{opentype,truetype,WOFF,WOFF2}}
unzip $downloadedFile
cp -v {Fontlog,OFL-FAQ,OFL}.txt $out/share/doc/${pname}-${version}/
cp -v PS-OTF/*.otf $out/share/fonts/opentype
cp -v TTF/*.ttf $out/share/fonts/truetype
cp -v WOFF/*.woff $out/share/fonts/WOFF
cp -v WOFF2/*.woff2 $out/share/fonts/WOFF2
'';
meta = with lib; {
homepage = "http://vollkorn-typeface.com/";
description = "The free and healthy typeface for bread and butter use";
license = licenses.ofl;
platforms = platforms.all;
maintainers = [ maintainers.schmittlauch ];
};
}

@ -63,11 +63,11 @@ gccStdenv.mkDerivation rec {
lib.optional (!gccStdenv.isDarwin) "--enable-poll";
configurePhase = ''
export CC=${gccStdenv.cc.targetPrefix}gcc \
CXX=${gccStdenv.cc.targetPrefix}g++ \
CPP=${gccStdenv.cc.targetPrefix}cpp \
CXXCPP=${gccStdenv.cc.targetPrefix}cpp \
LD=${gccStdenv.cc.targetPrefix}ld \
export CC=${gccStdenv.cc}/bin/${gccStdenv.cc.targetPrefix}gcc \
CXX=${gccStdenv.cc}/bin/${gccStdenv.cc.targetPrefix}g++ \
CPP=${gccStdenv.cc}/bin/${gccStdenv.cc.targetPrefix}cpp \
CXXCPP=${gccStdenv.cc}/bin/${gccStdenv.cc.targetPrefix}cpp \
LD=${gccStdenv.cc}/bin/${gccStdenv.cc.targetPrefix}ld \
XMKMF=${coreutils}/bin/false
unset CFLAGS LDFLAGS LIBS CPPFLAGS CXXFLAGS

@ -1,22 +1,10 @@
# https://nim-lang.github.io/Nim/packaging.html
# https://nim-lang.org/docs/nimc.html
{ stdenv, lib, fetchurl, fetchgit, fetchFromGitHub, makeWrapper, gdb, openssl
, pcre, readline, boehmgc, sqlite, nim-unwrapped, nimble-unwrapped }:
{ lib, buildPackages, stdenv, fetchurl, fetchgit, fetchFromGitHub, makeWrapper
, openssl, pcre, readline, boehmgc, sqlite, nim-unwrapped }:
let
version = "1.4.4";
src = fetchurl {
url = "https://nim-lang.org/download/nim-${version}.tar.xz";
sha256 = "03k642nnjca0s6jlbn1v4jld51mbkix97jli4ky74gqlxyfp4wvd";
};
meta = with lib; {
description = "Statically typed, imperative programming language";
homepage = "https://nim-lang.org/";
license = licenses.mit;
maintainers = with maintainers; [ ehmry ];
};
parseCpu = platform:
with platform;
# Derive a Nim CPU identifier
@ -83,197 +71,251 @@ let
nimHost = parsePlatform stdenv.hostPlatform;
nimTarget = parsePlatform stdenv.targetPlatform;
wrapperInputs = rec {
bootstrapCompiler = stdenv.mkDerivation rec {
pname = "nim-bootstrap";
version = "0.20.0";
bootstrap = stdenv.mkDerivation rec {
pname = "nim-bootstrap";
version = "0.20.0";
src = fetchgit {
# A Git checkout is much smaller than a GitHub tarball.
url = "https://github.com/nim-lang/csources.git";
rev = "v" + version;
sha256 = "0i6vsfy1sgapx43n226q8m0pvn159sw2mhp50zm3hhb9zfijanis";
};
enableParallelBuilding = true;
installPhase = ''
runHook preInstall
install -Dt $out/bin bin/nim
runHook postInstall
'';
src = fetchgit {
# A Git checkout is much smaller than a GitHub tarball.
url = "https://github.com/nim-lang/csources.git";
rev = "v${version}";
sha256 = "0i6vsfy1sgapx43n226q8m0pvn159sw2mhp50zm3hhb9zfijanis";
};
unwrapped = stdenv.mkDerivation {
pname = "nim-unwrapped";
inherit version src;
buildInputs = [ boehmgc openssl pcre readline sqlite ];
patches = [
./NIM_CONFIG_DIR.patch
# Override compiler configuration via an environmental variable
./nixbuild.patch
# Load libraries at runtime by absolute path
];
configurePhase = ''
runHook preConfigure
cp ${bootstrap}/bin/nim bin/
echo 'define:nixbuild' >> config/nim.cfg
runHook postConfigure
'';
kochArgs = [
"--cpu:${nimHost.cpu}"
"--os:${nimHost.os}"
"-d:release"
"-d:useGnuReadline"
] ++ lib.optional (stdenv.isDarwin || stdenv.isLinux)
"-d:nativeStacktrace";
buildPhase = ''
runHook preBuild
local HOME=$TMPDIR
./bin/nim c koch
./koch boot $kochArgs --parallelBuild:$NIX_BUILD_CORES
./koch toolsNoExternal $kochArgs --parallelBuild:$NIX_BUILD_CORES
runHook postBuild
'';
installPhase = ''
runHook preInstall
install -Dt $out/bin bin/*
ln -sf $out/nim/bin/nim $out/bin/nim
./install.sh $out
runHook postInstall
'';
inherit meta;
};
nimble-unwrapped = stdenv.mkDerivation rec {
pname = "nimble-unwrapped";
version = "0.13.1";
src = fetchFromGitHub {
owner = "nim-lang";
repo = "nimble";
rev = "v" + version;
sha256 = "1idb4r0kjbqv16r6bgmxlr13w2vgq5332hmnc8pjbxiyfwm075x8";
};
nativeBuildInputs = [ nim-unwrapped ];
buildInputs = [ openssl ];
nimFlags = [ "--cpu:${nimHost.cpu}" "--os:${nimHost.os}" "-d:release" ];
buildPhase = ''
runHook preBuild
HOME=$NIX_BUILD_TOP nim c $nimFlags src/nimble
runHook postBuild
'';
installPhase = ''
runHook preBuild
install -Dt $out/bin src/nimble
runHook postBuild
'';
};
enableParallelBuilding = true;
installPhase = ''
runHook preInstall
install -Dt $out/bin bin/nim
runHook postInstall
'';
};
wrapped = let
nim' = nim-unwrapped;
nimble' = nimble-unwrapped;
in {
nim-unwrapped = stdenv.mkDerivation rec {
pname = "nim-unwrapped";
version = "1.4.4";
strictDeps = true;
src = fetchurl {
url = "https://nim-lang.org/download/nim-${version}.tar.xz";
sha256 = "03k642nnjca0s6jlbn1v4jld51mbkix97jli4ky74gqlxyfp4wvd";
};
buildInputs = [ boehmgc openssl pcre readline sqlite ];
patches = [
./NIM_CONFIG_DIR.patch
# Override compiler configuration via an environmental variable
./nixbuild.patch
# Load libraries at runtime by absolute path
];
configurePhase = ''
runHook preConfigure
cp ${bootstrapCompiler}/bin/nim bin/
echo 'define:nixbuild' >> config/nim.cfg
runHook postConfigure
'';
kochArgs = [
"--cpu:${nimHost.cpu}"
"--os:${nimHost.os}"
"-d:release"
"-d:useGnuReadline"
] ++ lib.optional (stdenv.isDarwin || stdenv.isLinux) "-d:nativeStacktrace";
buildPhase = ''
runHook preBuild
local HOME=$TMPDIR
./bin/nim c koch
./koch boot $kochArgs --parallelBuild:$NIX_BUILD_CORES
./koch toolsNoExternal $kochArgs --parallelBuild:$NIX_BUILD_CORES
runHook postBuild
'';
installPhase = ''
runHook preInstall
install -Dt $out/bin bin/*
ln -sf $out/nim/bin/nim $out/bin/nim
./install.sh $out
runHook postInstall
'';
meta = with lib; {
description = "Statically typed, imperative programming language";
homepage = "https://nim-lang.org/";
license = licenses.mit;
maintainers = with maintainers; [ ehmry ];
};
};
nimble-unwrapped = stdenv.mkDerivation rec {
pname = "nimble-unwrapped";
version = "0.13.1";
strictDeps = true;
src = fetchFromGitHub {
owner = "nim-lang";
repo = "nimble";
rev = "v${version}";
sha256 = "1idb4r0kjbqv16r6bgmxlr13w2vgq5332hmnc8pjbxiyfwm075x8";
};
depsBuildBuild = [ nim-unwrapped ];
buildInputs = [ openssl ];
nimFlags = [ "--cpu:${nimHost.cpu}" "--os:${nimHost.os}" "-d:release" ];
buildPhase = ''
runHook preBuild
HOME=$NIX_BUILD_TOP nim c $nimFlags src/nimble
runHook postBuild
'';
installPhase = ''
runHook preBuild
install -Dt $out/bin src/nimble
runHook postBuild
'';
};
nim = let
nim' = buildPackages.nim-unwrapped;
nimble' = buildPackages.nimble-unwrapped;
inherit (stdenv) targetPlatform;
in stdenv.mkDerivation {
name = "${targetPlatform.config}-nim-wrapper-${nim'.version}";
inherit (nim') version;
preferLocalBuild = true;
strictDeps = true;
nativeBuildInputs = [ makeWrapper ];
patches = [
./nim.cfg.patch
# Remove configurations that clash with ours
];
unpackPhase = ''
runHook preUnpack
tar xf ${nim'.src} nim-$version/config/nim.cfg
tar xf ${nim'.src} nim-$version/config
cd nim-$version
runHook postUnpack
'';
dontConfigure = true;
wrapperArgs = [
"--prefix PATH : ${lib.makeBinPath [ stdenv.cc gdb ]}:${
placeholder "out"
}/bin"
"--prefix LD_LIBRARY_PATH : ${
lib.makeLibraryPath [ stdenv.cc.libc openssl ]
}"
"--set NIM_CONFIG_PATH ${placeholder "out"}/etc/nim"
''--set NIX_HARDENING_ENABLE "''${NIX_HARDENING_ENABLE/fortify}"''
# Fortify hardening appends -O2 to gcc flags which is unwanted for unoptimized nim builds.
];
buildPhase = with stdenv;
let
ccType = if cc.isGNU then
"gcc"
else if cc.isClang then
"clang"
else
abort "no Nim configuration available for ${cc.name}";
in ''
buildPhase =
# Configure the Nim compiler to use $CC and $CXX as backends
# The compiler is configured by two configuration files, each with
# a different DSL. The order of evaluation matters and that order
# is not documented, so duplicate the configuration across both files.
''
runHook preBuild
cat >> config/nim.cfg << EOF
cat >> config/config.nims << WTF
define:nixbuild
os = ${nimTarget.os}
cpu = ${nimTarget.cpu}
cc = ${ccType}
EOF
switch("os", "${nimTarget.os}")
switch("cpu", "${nimTarget.cpu}")
switch("define", "nixbuild")
mkdir -p $out/bin $out/etc/nim
export cc=$CC
export cxx=$CXX
substituteAll config/nim.cfg $out/etc/nim/nim.cfg \
--replace "cc = gcc" ""
# Configure the compiler using the $CC set by Nix at build time
import strutils
let cc = getEnv"CC"
if cc.contains("gcc"):
switch("cc", "gcc")
elif cc.contains("clang"):
switch("cc", "clang")
WTF
for binpath in ${nim'}/bin/nim?*; do
local binname=`basename $binpath`
makeWrapper \
$binpath $out/bin/${targetPlatform.config}-$binname \
$wrapperArgs
ln -s $out/bin/${targetPlatform.config}-$binname $out/bin/$binname
done
mv config/nim.cfg config/nim.cfg.old
cat > config/nim.cfg << WTF
os = "${nimTarget.os}"
cpu = "${nimTarget.cpu}"
define:"nixbuild"
WTF
makeWrapper \
${nim'}/nim/bin/nim $out/bin/${targetPlatform.config}-nim \
$wrapperArgs
ln -s $out/bin/${targetPlatform.config}-nim $out/bin/nim
cat >> config/nim.cfg < config/nim.cfg.old
rm config/nim.cfg.old
makeWrapper \
${nim'}/bin/testament $out/bin/${targetPlatform.config}-testament \
$wrapperArgs
ln -s $out/bin/${targetPlatform.config}-testament $out/bin/testament
cat >> config/nim.cfg << WTF
makeWrapper \
${nimble'}/bin/nimble $out/bin/${targetPlatform.config}-nimble \
--suffix PATH : $out/bin
ln -s $out/bin/${targetPlatform.config}-nimble $out/bin/nimble
clang.cpp.exe %= "\$CXX"
clang.cpp.linkerexe %= "\$CXX"
clang.exe %= "\$CC"
clang.linkerexe %= "\$CC"
gcc.cpp.exe %= "\$CXX"
gcc.cpp.linkerexe %= "\$CXX"
gcc.exe %= "\$CC"
gcc.linkerexe %= "\$CC"
WTF
runHook postBuild
'';
dontInstall = true;
wrapperArgs = [
"--prefix PATH : ${lib.makeBinPath [ buildPackages.gdb ]}:${
placeholder "out"
}/bin"
# Used by nim-gdb
meta = meta // {
"--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ openssl pcre ]}"
# These libraries may be referred to by the standard library.
# This is broken for cross-compilation because the package
# set will be shifted back by nativeBuildInputs.
"--set NIM_CONFIG_PATH ${placeholder "out"}/etc/nim"
# Use the custom configuration
''--set NIX_HARDENING_ENABLE "''${NIX_HARDENING_ENABLE/fortify}"''
# Fortify hardening appends -O2 to gcc flags which is unwanted for unoptimized nim builds.
];
installPhase = ''
runHook preInstall
mkdir -p $out/bin $out/etc
cp -r config $out/etc/nim
for binpath in ${nim'}/bin/nim?*; do
local binname=`basename $binpath`
makeWrapper \
$binpath $out/bin/${targetPlatform.config}-$binname \
$wrapperArgs
ln -s $out/bin/${targetPlatform.config}-$binname $out/bin/$binname
done
makeWrapper \
${nim'}/nim/bin/nim $out/bin/${targetPlatform.config}-nim \
$wrapperArgs
ln -s $out/bin/${targetPlatform.config}-nim $out/bin/nim
makeWrapper \
${nim'}/bin/testament $out/bin/${targetPlatform.config}-testament \
$wrapperArgs
ln -s $out/bin/${targetPlatform.config}-testament $out/bin/testament
makeWrapper \
${nimble'}/bin/nimble $out/bin/${targetPlatform.config}-nimble \
--suffix PATH : $out/bin
ln -s $out/bin/${targetPlatform.config}-nimble $out/bin/nimble
runHook postInstall
'';
passthru = {
nim = nim';
nimble = nimble';
};
meta = nim'.meta // {
description = nim'.meta.description
+ " (${targetPlatform.config} wrapper)";
platforms = lib.platforms.unix;
platforms = with lib.platforms; unix ++ genode;
};
};
in wrapped // wrapperInputs
}

@ -0,0 +1,70 @@
diff --git a/config/nim.cfg b/config/nim.cfg
index a33a2f0a9..e069193ff 100644
--- a/config/nim.cfg
+++ b/config/nim.cfg
@@ -8,26 +8,12 @@
# Environment variables can be accessed like so:
# gcc.path %= "$CC_PATH"
-cc = gcc
-
# additional options always passed to the compiler:
--parallel_build: "0" # 0 to auto-detect number of processors
hint[LineTooLong]=off
#hint[XDeclaredButNotUsed]=off
-# Examples of how to setup a cross-compiler:
-
-# Cross-compiling for Raspberry Pi.
-# (This compiler is available in gcc-arm-linux-gnueabihf package on Ubuntu)
-arm.linux.gcc.exe = "arm-linux-gnueabihf-gcc"
-arm.linux.gcc.linkerexe = "arm-linux-gnueabihf-gcc"
-
-# For OpenWRT, you will also need to adjust PATH to point to your toolchain.
-mips.linux.gcc.exe = "mips-openwrt-linux-gcc"
-mips.linux.gcc.linkerexe = "mips-openwrt-linux-gcc"
-
-
path="$lib/deprecated/core"
path="$lib/deprecated/pure"
path="$lib/pure/collections"
@@ -111,7 +97,7 @@ path="$lib/pure"
@end
@if unix:
- @if not bsd or haiku:
+ @if not bsd or genode or haiku:
# -fopenmp
gcc.options.linker = "-ldl"
gcc.cpp.options.linker = "-ldl"
@@ -295,29 +281,6 @@ vcc.cpp.options.size = "/O1"
# Configuration for the Tiny C Compiler:
tcc.options.always = "-w"
-# Configuration for the Genode toolchain
-@if genode:
- noCppExceptions # avoid std C++
- tlsEmulation:on # no TLS segment register magic
- @if i386 or amd64:
- gcc.exe = "genode-x86-gcc"
- gcc.cpp.exe = "genode-x86-g++"
- gcc.cpp.linkerexe = "genode-x86-ld"
- @elif arm:
- gcc.exe = "genode-arm-gcc"
- gcc.cpp.exe = "genode-arm-g++"
- gcc.cpp.linkerexe = "genode-arm-ld"
- @elif arm64:
- gcc.exe = "genode-aarch64-gcc"
- gcc.cpp.exe = "genode-aarch64-g++"
- gcc.cpp.linkerexe = "genode-aarch64-ld"
- @elif riscv64:
- gcc.exe = "genode-riscv-gcc"
- gcc.cpp.exe = "genode-riscv-g++"
- gcc.cpp.linkerexe = "genode-riscv-ld"
- @end
-@end
-
@if arm or arm64:
--define:nimEmulateOverflowChecks
@end

@ -0,0 +1,24 @@
{ lib, mkCoqDerivation, coq, mathcomp, version ? null }:
with lib;
mkCoqDerivation {
pname = "fourcolor";
owner = "math-comp";
release."1.2.3".rev = "v1.2.3";
release."1.2.3".sha256 = "sha256-gwKfUa74fIP7j+2eQgnLD7AswjCtOFGHGaIWb4qI0n4=";
inherit version;
defaultVersion = with versions; switch mathcomp.version [
{ case = pred.inter (isGe "1.11.0") (isLt "1.13"); out = "1.2.3"; }
] null;
propagatedBuildInputs = [ mathcomp.algebra ];
meta = {
description = "Formal proof of the Four Color Theorem ";
maintainers = with maintainers; [ siraben ];
license = licenses.cecill-b;
platforms = platforms.unix;
};
}

@ -1,5 +1,4 @@
{ lib
, stdenv
, mkDerivation
, fetchFromGitHub
, cmake

@ -9,13 +9,13 @@
stdenv.mkDerivation rec {
pname = "allegro";
version = "5.2.6.0";
version = "5.2.7.0";
src = fetchFromGitHub {
owner = "liballeg";
repo = "allegro5";
rev = version;
sha256 = "1xbhvriyh10ka2j7jgjkpa6mlzp6av909hhr9sk317vjvf0z0mqz";
sha256 = "sha256-JdnzEW+qAhAljR+WfmgE3P9xeR2HvjS64tFgCC0tNA0=";
};
buildInputs = [

@ -1,4 +1,4 @@
{ stdenv, lib, fetchzip, which, ocsigen_server, ocaml,
{ stdenv, lib, fetchzip, fetchpatch, which, ocsigen_server, ocaml,
lwt_react,
opaline, ppx_deriving, findlib
, ocaml-migrate-parsetree
@ -23,6 +23,14 @@ stdenv.mkDerivation rec
sha256 = "00m6v2k4mg8705dy41934lznl6gj91i6dk7p1nkaccm51nna25kz";
};
patches = [
# Compatibility with js_of_ocaml >= 3.9.0, remove at next release
(fetchpatch {
url = "https://github.com/ocsigen/eliom/commit/4106a4217956f7b74a8ef3f73a1e1f55e02ade45.patch";
sha256 = "1cgbvpljn9x6zxirxf3rdjrsdwy319ykz3qq03c36cc40hy2w13p";
})
];
buildInputs = [ ocaml which findlib js_of_ocaml-ocamlbuild
ocaml-migrate-parsetree
js_of_ocaml-ppx_deriving_json opaline

@ -0,0 +1,49 @@
commit b273c9f7ab10475787db4d6e09bd4b71b374d0ec
Author: sternenseemann <0rpkxez4ksa01gb3typccl0i@systemli.org>
Date: Thu Mar 18 01:28:46 2021 +0100
Let user specify solo5-binding to use
This is a little feature for the configure script I wanted to have for
the NixOS package: It allows the user to set PKG_CONFIG_DEPS before
running configure.sh to disable the autodetection mechanism. This is
useful for NixOS as we have all bindings bundled in the solo5 package,
so the result would also be solo5-bindings-xen. Additionally, it allows
us to do the binding selection declaratively and minimize the risk of
accidentally switching backend.
PKG_CONFIG_DEPS seems like a bit of an unappropriate variable name for a
user “interface”, let me know if you want a dedicated environment
variable for this in case there will be more PKG_CONFIG_DEPS.
diff --git a/configure.sh b/configure.sh
index c254f7b..c675a02 100755
--- a/configure.sh
+++ b/configure.sh
@@ -11,13 +11,19 @@ if pkg_exists solo5-bindings-hvt solo5-bindings-spt solo5-bindings-virtio solo5-
echo "ERROR: Only one of solo5-bindings-hvt, solo5-bindings-spt, solo5-bindings-virtio, solo5-bindings-muen, solo5-bindings-genode, solo5-bindings-xen can be installed." 1>&2
exit 1
fi
-PKG_CONFIG_DEPS=
-pkg_exists solo5-bindings-hvt && PKG_CONFIG_DEPS=solo5-bindings-hvt
-pkg_exists solo5-bindings-spt && PKG_CONFIG_DEPS=solo5-bindings-spt
-pkg_exists solo5-bindings-muen && PKG_CONFIG_DEPS=solo5-bindings-muen
-pkg_exists solo5-bindings-virtio && PKG_CONFIG_DEPS=solo5-bindings-virtio
-pkg_exists solo5-bindings-genode && PKG_CONFIG_DEPS=solo5-bindings-genode
-pkg_exists solo5-bindings-xen && PKG_CONFIG_DEPS=solo5-bindings-xen
+if [ -z "${PKG_CONFIG_DEPS}" ]; then
+ PKG_CONFIG_DEPS=
+ pkg_exists solo5-bindings-hvt && PKG_CONFIG_DEPS=solo5-bindings-hvt
+ pkg_exists solo5-bindings-spt && PKG_CONFIG_DEPS=solo5-bindings-spt
+ pkg_exists solo5-bindings-muen && PKG_CONFIG_DEPS=solo5-bindings-muen
+ pkg_exists solo5-bindings-virtio && PKG_CONFIG_DEPS=solo5-bindings-virtio
+ pkg_exists solo5-bindings-genode && PKG_CONFIG_DEPS=solo5-bindings-genode
+ pkg_exists solo5-bindings-xen && PKG_CONFIG_DEPS=solo5-bindings-xen
+else
+ pkg_exists "${PKG_CONFIG_DEPS}" \
+ || (echo "ERROR: ${PKG_CONFIG_DEPS} is not installed" 1>&2; exit 1) \
+ || exit 1
+fi
if [ -z "${PKG_CONFIG_DEPS}" ]; then
echo "ERROR: No supported Solo5 bindings package found." 1>&2
echo "ERROR: solo5-bindings-hvt, solo5-bindings-spt, solo5-bindings-virtio, solo5-bindings-muen, solo5-bindings-genode or solo5-bindings-xen must be installed." 1>&2

@ -0,0 +1,87 @@
{ lib
, stdenv
, fetchFromGitHub
, ocaml
, pkg-config
, solo5
, target ? "xen"
}:
# note: this is not technically an ocaml-module,
# but can be built with different compilers, so
# the ocamlPackages set is very useful.
let
pname = "ocaml-freestanding";
in
if lib.versionOlder ocaml.version "4.08"
then builtins.throw "${pname} is not available for OCaml ${ocaml.version}"
else
stdenv.mkDerivation rec {
name = "ocaml${ocaml.version}-${pname}-${version}";
inherit pname;
version = "0.6.4";
src = fetchFromGitHub {
owner = "mirage";
repo = pname;
rev = "v${version}";
sha256 = "0w3x2wfd04qr6mci4cp1gfqw33yysp8gamgkpgbgwslr0skryiq5";
};
postUnpack = ''
# get ocaml-src from the ocaml drv instead of via ocamlfind
mkdir -p "${src.name}/ocaml"
tar --strip-components=1 -xf ${ocaml.src} -C "${src.name}/ocaml"
'';
patches = [
./no-opam.patch
./configurable-binding.patch
];
nativeBuildInputs = [
ocaml
pkg-config
];
buildInputs = [ solo5 ];
configurePhase = ''
runHook preConfigure
env PKG_CONFIG_DEPS=solo5-bindings-${target} sh configure.sh
runHook postConfigure
'';
preBuild = ''
# perform substitutions, so opam isn't needed
for flags in flags/cflags.tmp flags/libs.tmp; do
substitute "$flags.in" "$flags" \
--replace "%{prefix}%" "$out" \
--replace "%{ocaml-freestanding:lib}%" "$out/lib"
done
'';
installPhase = ''
runHook preInstall
./install.sh "$out"
runHook postInstall
'';
meta = with lib; {
description = "Freestanding OCaml runtime";
license = licenses.mit;
maintainers = [ maintainers.sternenseemann ];
homepage = "https://github.com/mirage/ocaml-freestanding";
platforms = builtins.map ({ arch, os }: "${arch}-${os}")
(cartesianProductOfSets {
arch = [ "aarch64" "x86_64" ];
os = [ "linux" ];
} ++ [
{ arch = "x86_64"; os = "freebsd"; }
{ arch = "x86_64"; os = "openbsd"; }
]);
};
}

@ -0,0 +1,84 @@
commit 637b7ce639d54e617170433aa9596176b167d085
Author: sternenseemann <0rpkxez4ksa01gb3typccl0i@systemli.org>
Date: Thu Mar 18 01:07:49 2021 +0100
Allow building without ocamlfind and opam
This change is the result of my first go at packaging ocaml-freestanding
for NixOS. Our build infrastructure for ocaml there is completely
independent of opam at the moment, so depending on opam for the build
time is not an option, especially in this case where the information it
would give us would be garbage.
Fortunately the build environment plays nicely with pkg-config which is
already heavily used by ocaml-freestanding. This patch leaves pkg-config
to its own devices if opam is not present (it can be assisted by a
manually set PKG_CONFIG_PATH environment variable).
Additionally, in configure.sh we check if the target ocaml source
directory already exists. This allows for building ocaml-freestanding
without the ocaml-src package (which would be unnecessarily cumbersome
to package for NixOS) and ocamlfind (one less dependency is always a
nice bonus). The Makefile needs no fix since the target ocaml/Makefile
won't be built if it's already present.
diff --git a/Makefile b/Makefile
index b07b8c6..a68b31d 100644
--- a/Makefile
+++ b/Makefile
@@ -2,6 +2,12 @@
include Makeconf
+ifneq ($(shell command -v opam),)
+ # only set if opam is available and PKG_CONFIG_PATH isn't
+ # already set in the environment or on the command line
+ PKG_CONFIG_PATH ?= $(shell opam config var prefix)/lib/pkgconfig
+endif
+
FREESTANDING_LIBS=openlibm/libopenlibm.a \
ocaml/runtime/libasmrun.a \
nolibc/libnolibc.a
@@ -73,8 +79,7 @@ flags/libs.tmp: flags/libs.tmp.in
opam config subst $@
flags/libs: flags/libs.tmp Makeconf
- env PKG_CONFIG_PATH="$(shell opam config var prefix)/lib/pkgconfig" \
- pkg-config $(PKG_CONFIG_DEPS) --libs >> $<
+ pkg-config $(PKG_CONFIG_DEPS) --libs >> $<
awk -v RS= -- '{ \
sub("@@PKG_CONFIG_EXTRA_LIBS@@", "$(PKG_CONFIG_EXTRA_LIBS)", $$0); \
print "(", $$0, ")" \
@@ -84,8 +89,7 @@ flags/cflags.tmp: flags/cflags.tmp.in
opam config subst $@
flags/cflags: flags/cflags.tmp Makeconf
- env PKG_CONFIG_PATH="$(shell opam config var prefix)/lib/pkgconfig" \
- pkg-config $(PKG_CONFIG_DEPS) --cflags >> $<
+ pkg-config $(PKG_CONFIG_DEPS) --cflags >> $<
awk -v RS= -- '{ \
print "(", $$0, ")" \
}' $< >$@
diff --git a/configure.sh b/configure.sh
index 4d154ed..c254f7b 100755
--- a/configure.sh
+++ b/configure.sh
@@ -1,6 +1,8 @@
#!/bin/sh
-export PKG_CONFIG_PATH=$(opam config var prefix)/lib/pkgconfig
+if command -v opam &> /dev/null; then
+ export PKG_CONFIG_PATH=$(opam config var prefix)/lib/pkgconfig
+fi
pkg_exists() {
pkg-config --exists "$@"
}
@@ -21,7 +23,7 @@ if [ -z "${PKG_CONFIG_DEPS}" ]; then
echo "ERROR: solo5-bindings-hvt, solo5-bindings-spt, solo5-bindings-virtio, solo5-bindings-muen, solo5-bindings-genode or solo5-bindings-xen must be installed." 1>&2
exit 1
fi
-ocamlfind query ocaml-src >/dev/null || exit 1
+[ -e "$(dirname "$0")/ocaml" ] || ocamlfind query ocaml-src >/dev/null || exit 1
FREESTANDING_CFLAGS="$(pkg-config --cflags ${PKG_CONFIG_DEPS})"
BUILD_ARCH="$(uname -m)"

@ -1,14 +1,14 @@
{ mkDerivation, fetchurl, makeWrapper, lib, php }:
let
pname = "php-cs-fixer";
version = "2.18.3";
version = "2.18.4";
in
mkDerivation {
inherit pname version;
src = fetchurl {
url = "https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases/download/v${version}/php-cs-fixer.phar";
sha256 = "sha256-Bdk1+X+SKcVS/zxEqlgnR3zjq/l0ht7icE4sQ1hjn8g=";
sha256 = "sha256-ZgnWv7Xd+0XgZ/IPdjVpAEraNNJq2KHB3aUUIG1SirU=";
};
phases = [ "installPhase" ];

@ -1,14 +1,14 @@
{ mkDerivation, fetchurl, makeWrapper, lib, php }:
let
pname = "phpstan";
version = "0.12.81";
version = "0.12.82";
in
mkDerivation {
inherit pname version;
src = fetchurl {
url = "https://github.com/phpstan/phpstan/releases/download/${version}/phpstan.phar";
sha256 = "sha256-mdqVrTrxWE2AuLVqgumA7V+JjzGW9ukkFM7klJSLeDE=";
sha256 = "sha256-fX7YK4z6xUhSJ2jTCy7bRK13TxXSn/qo7E5DeZlv2Nw=";
};
phases = [ "installPhase" ];

@ -5,12 +5,13 @@
}:
buildPythonPackage rec {
pname = "Adafruit-PlatformDetect";
version = "3.4.0";
pname = "adafruit-platformdetect";
version = "3.4.1";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-+rZUIZA2P7NZ4jbJsenGlD0OZi5fXFQ/Y5vJo4bmvMo=";
pname = "Adafruit-PlatformDetect";
inherit version;
sha256 = "31275dcf949c8b00598aaf2b0da65d970a0cba28e7cb45691d5f354b8e82fe85";
};
nativeBuildInputs = [ setuptools-scm ];

@ -11,11 +11,11 @@
buildPythonPackage rec {
pname = "apispec";
version = "4.2.0";
version = "4.3.0";
src = fetchPypi {
inherit pname version;
sha256 = "fbbd069caa22c0270bc71a5330b46b5a4e1984d8345b9236ca02fbca23094647";
sha256 = "5ec0fe72f1422a1198973fcbb48d0eb5c7390f4b0fbe55474fce999ad6826a9b";
};
checkInputs = [

@ -1,7 +1,7 @@
{ lib, buildPythonPackage, fetchFromGitHub, isPy27 }:
buildPythonPackage rec {
version = "2.2.0";
version = "2.2.1";
pname = "elementpath";
disabled = isPy27; # uses incompatible class syntax
@ -9,7 +9,7 @@ buildPythonPackage rec {
owner = "sissaschool";
repo = "elementpath";
rev = "v${version}";
sha256 = "1xfn5yasi849vs06ffxq6phapm6gc3p8yvdyvqmb47gbnji5mpb5";
sha256 = "15yjl18n81zddd27789mcy12gnja3cqycjdykybwgd9i0ysj96gl";
};
# avoid circular dependency with xmlschema which directly depends on this

@ -1,15 +1,27 @@
{ lib, buildPythonPackage, fetchzip, pytest, asttokens }:
{ lib
, buildPythonPackage
, fetchFromGitHub
, asttokens
}:
buildPythonPackage rec {
pname = "executing";
version = "0.4.3";
version = "0.5.4";
src = fetchzip {
url = "https://github.com/alexmojaki/executing/archive/v${version}.tar.gz";
sha256 = "1fqfc26nl703nsx2flzf7x4mgr3rpbd8pnn9c195rca648zhi3nh";
src = fetchFromGitHub {
owner = "alexmojaki";
repo = pname;
rev = "v${version}";
sha256 = "1hqx94h6l2wg9sljiaajfay2nr62sqa819w3bxrz8cdki1abdygv";
};
checkInputs = [ pytest asttokens ];
preBuild = ''
export SETUPTOOLS_SCM_PRETEND_VERSION="${version}"
'';
# Tests appear to run fine (Ran 22 tests in 4.076s) with setuptoolsCheckPhase
# but crash with pytestCheckHook
checkInputs = [ asttokens ];
meta = with lib; {
description = "Get information about what a frame is currently doing, particularly the AST node being executed";

@ -16,12 +16,12 @@
buildPythonPackage rec {
pname = "fakeredis";
version = "1.4.5";
version = "1.5.0";
disabled = pythonOlder "3.5";
src = fetchPypi {
inherit pname version;
sha256 = "0slb23zxn47a4z8b7jq7gq40g4zsn52y9h29zdqs29b85394gjq1";
sha256 = "1ac0cef767c37f51718874a33afb5413e69d132988cb6a80c6e6dbeddf8c7623";
};
propagatedBuildInputs = [

@ -11,11 +11,11 @@
buildPythonPackage rec {
pname = "google-cloud-speech";
version = "2.1.0";
version = "2.2.0";
src = fetchPypi {
inherit pname version;
sha256 = "4a77a79e990004af96e789565b174f9b971f00afa23142f6673722dae0910b0c";
sha256 = "013279a411644545ee0d67a5c077d0f19db58b846d758f36a8cc759f9c9e0a19";
};
propagatedBuildInputs = [ libcst google-api-core proto-plus ];

@ -1,5 +1,4 @@
{ lib
, stdenv
, brotli
, buildPythonPackage
, certifi

@ -1,5 +1,4 @@
{ lib
, stdenv
, brotli
, buildPythonPackage
, cryptography

@ -14,13 +14,13 @@
buildGoModule rec {
pname = "buildah";
version = "1.19.8";
version = "1.20.0";
src = fetchFromGitHub {
owner = "containers";
repo = "buildah";
rev = "v${version}";
sha256 = "sha256-xhnhc4vhKw5T93076vS+pszIOpj22KzaPyzCvuHMaPE=";
sha256 = "12gmn61mfrr58071x3cdsksad6swn1b23ghih128hjdpdzk1zxs3";
};
outputs = [ "out" "man" ];

@ -18,11 +18,11 @@ let
}.${lib.versions.majorMinor php.version} or (throw "Unsupported PHP version.");
in stdenv.mkDerivation rec {
pname = "php-blackfire";
version = "1.49.1";
version = "1.53.0";
src = fetchurl {
url = "https://packages.blackfire.io/debian/pool/any/main/b/blackfire-php/blackfire-php_${version}_amd64.deb";
sha256 = "5Z6CUj/HfSj+pC9iDEmU/OKCYePSAazU9q9M3glnOZU=";
sha256 = "ApKj5gulTCzWh7oSAM+JWQnWviHCnHV3OJHegpXJL54=";
};
nativeBuildInputs = [

@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
export HOME=$TMPDIR
nim -d:release -p:${astpatternmatching}/src -p:${jsonschema}/src \
c --threads:on -d:nimcore -d:nimsuggest -d:debugCommunication \
-d:debugLogging -d:explicitSourcePath=${srcOnly nim.unwrapped} -d:tempDir=/tmp src/nimlsp
-d:debugLogging -d:explicitSourcePath=${srcOnly nim.passthru.nim} -d:tempDir=/tmp src/nimlsp
'';
installPhase = ''

@ -1,16 +1,16 @@
{ lib, fetchurl, buildDunePackage
, cmdliner, cppo, yojson, ppxlib
, ocaml, cmdliner, cppo, yojson, ppxlib
, menhir
}:
buildDunePackage rec {
pname = "js_of_ocaml-compiler";
version = "3.8.0";
version = "3.9.1";
useDune2 = true;
src = fetchurl {
url = "https://github.com/ocsigen/js_of_ocaml/releases/download/${version}/js_of_ocaml-${version}.tbz";
sha256 = "069jyiayxcgwnips3adxb3d53mzd4rrq2783b9fgmsiyzm545lcy";
sha256 = "0ib551kfsjlp9vr3fk36hrbq7xxyl8bj6vcn3ccr0s370bsmgpm6";
};
nativeBuildInputs = [ cppo menhir ];

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "crispy-doom";
version = "5.10.0";
version = "5.10.1";
src = fetchFromGitHub {
owner = "fabiangreffrath";
repo = pname;
rev = "${pname}-${version}";
sha256 = "sha256-hRdd5ZrcVBU7tn1juvrLdbenULzu6OsXefG0oLjjFIg=";
sha256 = "sha256-5doytVxemqaXWXiqDSQUEAe71xmY0pOLASj/NJNyM5g=";
};
postPatch = ''

@ -5,8 +5,8 @@ let
gimx-config = fetchFromGitHub {
owner = "matlo";
repo = "GIMX-configurations";
rev = "f31bba7d3be57519540be290cd69ba6a8dc4e4d4";
sha256 = "0wpxx2qxyiiblz2qrl5swg00ls1aq7i5vzlk0qlnqdq8ss8jssax";
rev = "c20300f24d32651d369e2b27614b62f4b856e4a0";
sha256 = "02wcjk8da188x7y0jf3p0arjdh9zbb0lla3fxdb28b1xyybfvx5p";
};
in stdenv.mkDerivation rec {
@ -51,15 +51,15 @@ in stdenv.mkDerivation rec {
mkdir -p $out/share
cp -r ./loader/firmware $out/share/firmware
cp -r ${gimx-config}/Linux $out/share/config
patch ${gimx-config}/Linux/Dualshock4.xml ${./ds4.patch} -o $out/share/DS4_noff.xml
patch ${gimx-config}/Linux/Dualshock4.xml ${./noff.patch} -o $out/share/ds4.xml
makeWrapper $out/bin/gimx $out/bin/gimx-with-confs \
--set GIMXCONF $out/share
--set GIMXCONF $out/share/config
makeWrapper $out/bin/gimx $out/bin/gimx-test-ds4 \
--set GIMXCONF $out/share \
--add-flags "--nograb" --add-flags "--curses" \
--add-flags "-p /dev/ttyUSB0" --add-flags "-c DS4_noff.xml"
--add-flags "-p /dev/ttyUSB0" --add-flags "-c ds4.xml"
'';
meta = with lib; {

@ -1,11 +1,7 @@
{ lib, stdenv
, fetchFromGitHub
, autoreconfHook
, ccnet
, curl
, fuse
, glib
, intltool
, libevent
, libsearpc
, libuuid
@ -13,7 +9,6 @@
, python3
, sqlite
, vala
, which
}:
stdenv.mkDerivation rec {

@ -1,6 +1,16 @@
{ lib, stdenv, fetchurl, pkg-config, libseccomp, util-linux, qemu }:
let version = "0.6.8";
let
version = "0.6.8";
# list of all theoretically available targets
targets = [
"genode"
"hvt"
"muen"
"spt"
"virtio"
"xen"
];
in stdenv.mkDerivation {
pname = "solo5";
inherit version;
@ -29,21 +39,26 @@ in stdenv.mkDerivation {
export DESTDIR=$out
export PREFIX=$out
make install-tools
${lib.optionalString stdenv.hostPlatform.isLinux "make ${
(lib.concatMapStringsSep " " (x: "install-opam-${x}") [ "hvt" "spt" ])
}"}
# get CONFIG_* vars from Makeconf which also parse in sh
grep '^CONFIG_' Makeconf > nix_tmp_targetconf
source nix_tmp_targetconf
# install opam / pkg-config files for all enabled targets
${lib.concatMapStrings (bind: ''
[ -n "$CONFIG_${lib.toUpper bind}" ] && make install-opam-${bind}
'') targets}
runHook postInstall
'';
doCheck = true;
doCheck = stdenv.hostPlatform.isLinux;
checkInputs = [ util-linux qemu ];
checkPhase = if stdenv.hostPlatform.isLinux then
''
checkPhase = ''
runHook preCheck
patchShebangs tests
./tests/bats-core/bats ./tests/tests.bats
''
else
null;
runHook postCheck
'';
meta = with lib; {
description = "Sandboxed execution environment";

@ -1,4 +1,4 @@
{ stdenv, lib, fetchFromGitHub, makeWrapper, python3Packages }:
{ lib, fetchFromGitHub, makeWrapper, python3Packages }:
python3Packages.buildPythonApplication rec {
pname = "xkeysnail";

@ -73,7 +73,7 @@ let
};
pluginsWithoutDeps = [
"bench" "bpd" "bpm" "bucket" "cue" "duplicates" "edit" "embedart"
"bareasc" "bench" "bpd" "bpm" "bucket" "duplicates" "edit" "embedart"
"export" "filefilter" "fish" "freedesktop" "fromfilename" "ftintitle" "fuzzy"
"hook" "ihate" "importadded" "importfeeds" "info" "inline" "ipfs"
"mbcollection" "mbsubmit" "mbsync" "metasync" "missing" "parentwork" "permissions" "play"
@ -105,13 +105,13 @@ in pythonPackages.buildPythonApplication rec {
# unstable does not require bs1770gain[2].
# [1]: https://discourse.beets.io/t/forming-a-beets-core-team/639
# [2]: https://github.com/NixOS/nixpkgs/pull/90504
version = "unstable-2021-03-08";
version = "unstable-2021-03-24";
src = fetchFromGitHub {
owner = "beetbox";
repo = "beets";
rev = "debd382837ef1d30574c2234710d536bb299f979";
sha256 = "sha256-I6ejW3f72fdzWoz7g4n8pDYz2NiHGrorLegUQhQOSiI=";
rev = "854b4ab48324afe8884fcd11fa47bd6258d2f4f7";
sha256 = "sha256-y5EWVNF4bd9fNvU6VkucMpenyFZuqdPkrqQDgG9ZPJY=";
};
propagatedBuildInputs = [

@ -16,11 +16,11 @@ let
'';
in stdenv.mkDerivation rec {
pname = "remind";
version = "03.03.01";
version = "03.03.05";
src = fetchurl {
url = "https://dianne.skoll.ca/projects/remind/download/remind-${version}.tar.gz";
sha256 = "0y4l960529sl3sn4r4g36qpy3jk5h1x4algjy7an7sfiqb8n98fi";
sha256 = "sha256-Ye0X2Gvek/pyaNVxGKL773OWJvC4I6F5nEsRQgzWbsE=";
};
nativeBuildInputs = optional tkremind makeWrapper;

@ -1,27 +0,0 @@
{lib, stdenv, fetchurl, which, autoreconfHook, pkg-config, vala, python3, libsearpc, libzdb, libuuid, libevent, sqlite, openssl}:
stdenv.mkDerivation rec {
version = "6.1.8";
seafileVersion = "6.1.8";
pname = "ccnet";
src = fetchurl {
url = "https://github.com/haiwen/ccnet/archive/v${version}.tar.gz";
sha256 = "0qlpnrz30ldrqnvbj59d54qdghxpxc5lsq6kf3dw2b93jnzkcmmm";
};
nativeBuildInputs = [ pkg-config which autoreconfHook vala python3 libsearpc ];
propagatedBuildInputs = [ libsearpc libzdb libuuid libevent sqlite openssl ];
configureFlags = [ "--enable-server" ];
strictDeps = true;
meta = with lib; {
homepage = "https://github.com/haiwen/ccnet";
description = "A framework for writing networked applications in C";
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = [ ];
};
}

@ -1,4 +1,4 @@
{ lib, stdenv, skawarePackages
{ lib, skawarePackages
# Whether to build the TLS/SSL tools and what library to use
# acceptable values: "bearssl", "libressl", false

@ -1,4 +1,4 @@
# frozen_string_literal: true
source "https://rubygems.org"
gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.0.36"
gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.0.37"

@ -1,9 +1,9 @@
GIT
remote: https://github.com/rapid7/metasploit-framework
revision: 49e599f499bd466af4d47d2d60a4dc80e158a52d
ref: refs/tags/6.0.36
revision: eae71004c4a1720d9af1513ca750cfe116d99a7b
ref: refs/tags/6.0.37
specs:
metasploit-framework (6.0.36)
metasploit-framework (6.0.37)
actionpack (~> 5.2.2)
activerecord (~> 5.2.2)
activesupport (~> 5.2.2)
@ -30,9 +30,9 @@ GIT
metasploit-concern
metasploit-credential
metasploit-model
metasploit-payloads (= 2.0.37)
metasploit-payloads (= 2.0.39)
metasploit_data_models
metasploit_payloads-mettle (= 1.0.6)
metasploit_payloads-mettle (= 1.0.7)
mqtt
msgpack
nessus_rest
@ -123,22 +123,22 @@ GEM
arel-helpers (2.12.0)
activerecord (>= 3.1.0, < 7)
aws-eventstream (1.1.1)
aws-partitions (1.434.0)
aws-partitions (1.435.0)
aws-sdk-core (3.113.0)
aws-eventstream (~> 1, >= 1.0.2)
aws-partitions (~> 1, >= 1.239.0)
aws-sigv4 (~> 1.1)
jmespath (~> 1.0)
aws-sdk-ec2 (1.229.0)
aws-sdk-ec2 (1.230.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.1)
aws-sdk-iam (1.50.0)
aws-sdk-iam (1.51.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.1)
aws-sdk-kms (1.43.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.92.0)
aws-sdk-s3 (1.93.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.1)
@ -212,7 +212,7 @@ GEM
activemodel (~> 5.2.2)
activesupport (~> 5.2.2)
railties (~> 5.2.2)
metasploit-payloads (2.0.37)
metasploit-payloads (2.0.39)
metasploit_data_models (4.1.2)
activerecord (~> 5.2.2)
activesupport (~> 5.2.2)
@ -223,7 +223,7 @@ GEM
railties (~> 5.2.2)
recog (~> 2.0)
webrick
metasploit_payloads-mettle (1.0.6)
metasploit_payloads-mettle (1.0.7)
method_source (1.0.0)
mini_portile2 (2.5.0)
minitest (5.14.4)
@ -323,7 +323,7 @@ GEM
metasm
rex-core
rex-text
rex-socket (0.1.26)
rex-socket (0.1.29)
rex-core
rex-sslscan (0.1.6)
rex-core

@ -8,13 +8,13 @@ let
};
in stdenv.mkDerivation rec {
pname = "metasploit-framework";
version = "6.0.36";
version = "6.0.37";
src = fetchFromGitHub {
owner = "rapid7";
repo = "metasploit-framework";
rev = version;
sha256 = "sha256-c0OlZkTFgyfh4DVm93CRbFYPLeGTD/8QZo4p0luVbQ0=";
sha256 = "sha256-q6/1GW02C1z5nQwAKXU7xbVVviwXwS+XS7ZfNjJryiA=";
};
nativeBuildInputs = [ makeWrapper ];

@ -114,10 +114,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1ia9b013blnwzz46hbnrqgkzf77vj60i93hbmf7a51jy2fvrcjl1";
sha256 = "13hy3xhff1cqlzv5hi3lz7vb11wh10m6221hq471d8m94chmmkjs";
type = "gem";
};
version = "1.434.0";
version = "1.435.0";
};
aws-sdk-core = {
groups = ["default"];
@ -134,20 +134,20 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0xi63wz30zch7wnimb2l1qi85a5gdrp8qb7jl5ildygswjbwqcvj";
sha256 = "1c7qqly2f94db3643xwjj9mcb34vilx11awbv40v2f8z7xisvvz3";
type = "gem";
};
version = "1.229.0";
version = "1.230.0";
};
aws-sdk-iam = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "046c7p26q63q33w9w5x4kgx75xq02v5g5isax2bp2hs05ix8wnql";
sha256 = "0x2768blsy8lpib9pi2f2d67flabar3bq6chmbj07iqzpwvpz569";
type = "gem";
};
version = "1.50.0";
version = "1.51.0";
};
aws-sdk-kms = {
groups = ["default"];
@ -164,10 +164,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1zs7sa7sh6zqkqlmjr9xjpjgcn9iqlpnilnj7vvlmh057f2mjhgy";
sha256 = "0iy2f9z43pc6fgwmga2cz8nf9gy2pwcw4jib141vp8z8dhylqj94";
type = "gem";
};
version = "1.92.0";
version = "1.93.0";
};
aws-sigv4 = {
groups = ["default"];
@ -514,12 +514,12 @@
platforms = [];
source = {
fetchSubmodules = false;
rev = "49e599f499bd466af4d47d2d60a4dc80e158a52d";
sha256 = "03bdjmdx4acfcq8gy3wkw4nhymkcj5qgfrimw3hjg0y58ikaahvk";
rev = "eae71004c4a1720d9af1513ca750cfe116d99a7b";
sha256 = "086adcr3cpxn9fbjzh8p5jz5bdf57dsjj00ckpwmq2rndlczbbxb";
type = "git";
url = "https://github.com/rapid7/metasploit-framework";
};
version = "6.0.36";
version = "6.0.37";
};
metasploit-model = {
groups = ["default"];
@ -536,10 +536,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1mf1c50j2gszxspnn9f2d356z8aaiv9s9x8lpdi05cf6syvhsa2k";
sha256 = "1ibvh45sbmzdn6gsd3dgj1a67mhgy6p3hvjbh9b2qb7ijc14gv49";
type = "gem";
};
version = "2.0.37";
version = "2.0.39";
};
metasploit_data_models = {
groups = ["default"];
@ -556,10 +556,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1mxhybic6myh993fs4jmp0hz998ryf362y0b33wqanff1n8aj75k";
sha256 = "1ivxz2wl9k0j7ba7xas0bfm44c1iczfvlgyxhsgqbpqkqwc374vg";
type = "gem";
};
version = "1.0.6";
version = "1.0.7";
};
method_source = {
groups = ["default"];
@ -1066,10 +1066,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0mgk44f55w2g536nkxbg62qq5cfr05qxldglfr3yf94qkkanl2gg";
sha256 = "0ar9vm8pwjz7c11kr3pjnxbgk68f2i5k1r9j3r34pfq9n26s79gr";
type = "gem";
};
version = "0.1.26";
version = "0.1.29";
};
rex-sslscan = {
groups = ["default"];

@ -1,14 +1,14 @@
{ fetchurl, lib, stdenv, libuuid, popt, icu, ncurses }:
{ fetchurl, lib, stdenv, libuuid, popt, icu, ncurses, nixosTests }:
stdenv.mkDerivation rec {
pname = "gptfdisk";
version = "1.0.6";
version = "1.0.7";
src = fetchurl {
# https://www.rodsbooks.com/gdisk/${name}.tar.gz also works, but the home
# page clearly implies a preference for using SourceForge's bandwidth:
url = "mirror://sourceforge/gptfdisk/${pname}-${version}.tar.gz";
sha256 = "sha256-3cVR1kOlPwvURANF064yxJsEp5fpwBA26kYLa7QWjKg=";
sha256 = "sha256-dUAEt/hbJ5KHx6w8BGmx1+Dq4EOpei5YewVgyl84KMA=";
};
postPatch = ''
@ -37,10 +37,15 @@ stdenv.mkDerivation rec {
done
'';
passthru.tests = lib.optionalAttrs stdenv.hostPlatform.isx86 {
installer-simpleLabels = nixosTests.installer.simpleLabels;
};
meta = with lib; {
description = "Set of text-mode partitioning tools for Globally Unique Identifier (GUID) Partition Table (GPT) disks";
license = licenses.gpl2;
homepage = "https://www.rodsbooks.com/gdisk/";
platforms = platforms.all;
maintainers = [ maintainers.ehmry ];
};
}

@ -92,6 +92,7 @@ mapAliases ({
cargo-tree = throw "cargo-tree has been removed, use the builtin `cargo tree` command instead."; # added 2020-08-20
casperjs = throw "casperjs has been removed, it was abandoned by upstream and broken.";
catfish = xfce.catfish; # added 2019-12-22
ccnet = throw "ccnet has been removed because seafile does not depend on it anymore"; # added 2021-03-25
cgmanager = throw "cgmanager was deprecated by lxc and therefore removed from nixpkgs."; # added 2020-06-05
checkbashism = checkbashisms; # added 2016-08-16
chronos = throw "chronos has been removed from nixpkgs, as it was unmaintained"; # added 2020-08-15

@ -1938,8 +1938,6 @@ in
cbor-diag = callPackage ../development/tools/cbor-diag { };
ccnet = callPackage ../tools/networking/ccnet { };
cassowary = callPackage ../tools/networking/cassowary { };
croc = callPackage ../tools/networking/croc { };
@ -10906,9 +10904,8 @@ in
muon = callPackage ../development/compilers/muon { };
nim = callPackage ../development/compilers/nim { };
nim-unwrapped = nim.unwrapped;
nimble-unwrapped = nim.nimble-unwrapped;
inherit (callPackages ../development/compilers/nim { })
nim-unwrapped nimble-unwrapped nim;
nrpl = callPackage ../development/tools/nrpl { };
@ -21466,6 +21463,8 @@ in
vistafonts-chs = callPackage ../data/fonts/vista-fonts-chs { };
vollkorn = callPackage ../data/fonts/vollkorn { };
weather-icons = callPackage ../data/fonts/weather-icons { };
wireless-regdb = callPackage ../data/misc/wireless-regdb { };
@ -23691,6 +23690,8 @@ in
kubernix = callPackage ../applications/networking/cluster/kubernix { };
kubeconform = callPackage ../applications/networking/cluster/kubeconform { };
kubectl = callPackage ../applications/networking/cluster/kubectl { };
kubectl-doctor = callPackage ../applications/networking/cluster/kubectl-doctor { };

@ -33,6 +33,7 @@ let
equations = callPackage ../development/coq-modules/equations { };
fiat_HEAD = callPackage ../development/coq-modules/fiat/HEAD.nix {};
flocq = callPackage ../development/coq-modules/flocq {};
fourcolor = callPackage ../development/coq-modules/fourcolor {};
gappalib = callPackage ../development/coq-modules/gappalib {};
heq = callPackage ../development/coq-modules/heq {};
hierarchy-builder = callPackage ../development/coq-modules/hierarchy-builder {};

@ -785,6 +785,8 @@ let
ocamlfuse = callPackage ../development/ocaml-modules/ocamlfuse { };
ocaml-freestanding = callPackage ../development/ocaml-modules/ocaml-freestanding { };
ocaml_gettext = callPackage ../development/ocaml-modules/ocaml-gettext { };
gettext-stub = callPackage ../development/ocaml-modules/ocaml-gettext/stub.nix { };