Merge master into staging-next
This commit is contained in:
commit
312ad6d25c
26 changed files with 325 additions and 93 deletions
|
@ -20,7 +20,12 @@ buildImage {
|
||||||
fromImageName = null;
|
fromImageName = null;
|
||||||
fromImageTag = "latest";
|
fromImageTag = "latest";
|
||||||
|
|
||||||
contents = pkgs.redis;
|
copyToRoot = pkgs.buildEnv {
|
||||||
|
name = "image-root";
|
||||||
|
paths = [ pkgs.redis ];
|
||||||
|
pathsToLink = [ "/bin" ];
|
||||||
|
};
|
||||||
|
|
||||||
runAsRoot = ''
|
runAsRoot = ''
|
||||||
#!${pkgs.runtimeShell}
|
#!${pkgs.runtimeShell}
|
||||||
mkdir -p /data
|
mkdir -p /data
|
||||||
|
@ -46,7 +51,7 @@ The above example will build a Docker image `redis/latest` from the given base i
|
||||||
|
|
||||||
- `fromImageTag` can be used to further specify the tag of the base image within the repository, in case an image contains multiple tags. By default it's `null`, in which case `buildImage` will peek the first tag available for the base image.
|
- `fromImageTag` can be used to further specify the tag of the base image within the repository, in case an image contains multiple tags. By default it's `null`, in which case `buildImage` will peek the first tag available for the base image.
|
||||||
|
|
||||||
- `contents` is a derivation that will be copied in the new layer of the resulting image. This can be similarly seen as `ADD contents/ /` in a `Dockerfile`. By default it's `null`.
|
- `copyToRoot` is a derivation that will be copied in the new layer of the resulting image. This can be similarly seen as `ADD contents/ /` in a `Dockerfile`. By default it's `null`.
|
||||||
|
|
||||||
- `runAsRoot` is a bash script that will run as root in an environment that overlays the existing layers of the base image with the new resulting layer, including the previously copied `contents` derivation. This can be similarly seen as `RUN ...` in a `Dockerfile`.
|
- `runAsRoot` is a bash script that will run as root in an environment that overlays the existing layers of the base image with the new resulting layer, including the previously copied `contents` derivation. This can be similarly seen as `RUN ...` in a `Dockerfile`.
|
||||||
|
|
||||||
|
@ -81,7 +86,11 @@ pkgs.dockerTools.buildImage {
|
||||||
name = "hello";
|
name = "hello";
|
||||||
tag = "latest";
|
tag = "latest";
|
||||||
created = "now";
|
created = "now";
|
||||||
contents = pkgs.hello;
|
copyToRoot = pkgs.buildEnv {
|
||||||
|
name = "image-root";
|
||||||
|
paths = [ pkgs.hello ];
|
||||||
|
pathsToLink = [ "/bin" ];
|
||||||
|
};
|
||||||
|
|
||||||
config.Cmd = [ "/bin/hello" ];
|
config.Cmd = [ "/bin/hello" ];
|
||||||
}
|
}
|
||||||
|
|
|
@ -303,6 +303,15 @@
|
||||||
and require manual remediation.
|
and require manual remediation.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<literal>dockerTools.buildImage</literal> deprecates the
|
||||||
|
misunderstood <literal>contents</literal> parameter, in favor
|
||||||
|
of <literal>copyToRoot</literal>. Use
|
||||||
|
<literal>copyToRoot = buildEnv { ... };</literal> or similar
|
||||||
|
if you intend to add packages to <literal>/bin</literal>.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
memtest86+ was updated from 5.00-coreboot-002 to 6.00-beta2.
|
memtest86+ was updated from 5.00-coreboot-002 to 6.00-beta2.
|
||||||
|
|
|
@ -114,6 +114,9 @@ Use `configure.packages` instead.
|
||||||
|
|
||||||
- Matrix Synapse now requires entries in the `state_group_edges` table to be unique, in order to prevent accidentally introducing duplicate information (for example, because a database backup was restored multiple times). If your Synapse database already has duplicate rows in this table, this could fail with an error and require manual remediation.
|
- Matrix Synapse now requires entries in the `state_group_edges` table to be unique, in order to prevent accidentally introducing duplicate information (for example, because a database backup was restored multiple times). If your Synapse database already has duplicate rows in this table, this could fail with an error and require manual remediation.
|
||||||
|
|
||||||
|
- `dockerTools.buildImage` deprecates the misunderstood `contents` parameter, in favor of `copyToRoot`.
|
||||||
|
Use `copyToRoot = buildEnv { ... };` or similar if you intend to add packages to `/bin`.
|
||||||
|
|
||||||
- memtest86+ was updated from 5.00-coreboot-002 to 6.00-beta2. It is now the upstream version from https://www.memtest.org/, as coreboot's fork is no longer available.
|
- memtest86+ was updated from 5.00-coreboot-002 to 6.00-beta2. It is now the upstream version from https://www.memtest.org/, as coreboot's fork is no longer available.
|
||||||
|
|
||||||
- Add udev rules for the Teensy family of microcontrollers.
|
- Add udev rules for the Teensy family of microcontrollers.
|
||||||
|
|
|
@ -24,7 +24,11 @@ let
|
||||||
hello1 = remoteCrossPkgs.dockerTools.buildImage {
|
hello1 = remoteCrossPkgs.dockerTools.buildImage {
|
||||||
name = "hello1";
|
name = "hello1";
|
||||||
tag = "latest";
|
tag = "latest";
|
||||||
contents = remoteCrossPkgs.hello;
|
copyToRoot = remoteCrossPkgs.buildEnv {
|
||||||
|
name = "image-root";
|
||||||
|
pathsToLink = [ "/bin" ];
|
||||||
|
paths = [ remoteCrossPkgs.hello ];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
hello2 = remoteCrossPkgs.dockerTools.buildLayeredImage {
|
hello2 = remoteCrossPkgs.dockerTools.buildLayeredImage {
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
python3Packages.buildPythonApplication rec {
|
python3Packages.buildPythonApplication rec {
|
||||||
pname = "pyradio";
|
pname = "pyradio";
|
||||||
version = "0.8.9.21";
|
version = "0.8.9.22";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "coderholic";
|
owner = "coderholic";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "refs/tags/${version}";
|
rev = "refs/tags/${version}";
|
||||||
sha256 = "sha256-uaQG840R4twPkE3GYLpcF0MHVH5JaLn5CSAd1DrNOvQ=";
|
sha256 = "sha256-QBgXg2SNEQX1ngY+cEWqStC0zsFZ0Er81tuhTszbHWM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ installShellFiles ];
|
nativeBuildInputs = [ installShellFiles ];
|
||||||
|
|
|
@ -2,11 +2,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "logseq";
|
pname = "logseq";
|
||||||
version = "0.7.5";
|
version = "0.7.6";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/logseq/logseq/releases/download/${version}/logseq-linux-x64-${version}.AppImage";
|
url = "https://github.com/logseq/logseq/releases/download/${version}/logseq-linux-x64-${version}.AppImage";
|
||||||
sha256 = "sha256-uMlvpEEzanJ3zTEZKNE2zEfqvGC4IWL97b0AkTfwZeU=";
|
sha256 = "sha256-3YCO0pQT5vUkscQEE4+XrfEkQJro8DpQ5xDLglfqJjI=";
|
||||||
name = "${pname}-${version}.AppImage";
|
name = "${pname}-${version}.AppImage";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -6,18 +6,18 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "arkade";
|
pname = "arkade";
|
||||||
version = "0.8.28";
|
version = "0.8.29";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "alexellis";
|
owner = "alexellis";
|
||||||
repo = "arkade";
|
repo = "arkade";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-Tw/FxrmBpC+FDvfvDT1xQtcQwlxUpQHDMzTs3TrugYg=";
|
sha256 = "sha256-VCscevLGRpBgqxhRNcvIkCdroE0MawG1fROVOLjZLW0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
CGO_ENABLED = 0;
|
CGO_ENABLED = 0;
|
||||||
|
|
||||||
vendorSha256 = "sha256-E+fjDW7UIAYDiDI8Eb8atAtccEIRcV5hqYdSxRYM9fc=";
|
vendorSha256 = "sha256-CoIlqDMmhZY+B5SEabmnbP2QUu1jkFluCzLp3Y8Z7n0=";
|
||||||
|
|
||||||
# Exclude pkg/get: tests downloading of binaries which fail when sandbox=true
|
# Exclude pkg/get: tests downloading of binaries which fail when sandbox=true
|
||||||
subPackages = [
|
subPackages = [
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "cmctl";
|
pname = "cmctl";
|
||||||
version = "1.8.1";
|
version = "1.8.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "cert-manager";
|
owner = "cert-manager";
|
||||||
repo = "cert-manager";
|
repo = "cert-manager";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-IR+z3+f9Pa7wQAP4EVya7fb7FnndaUY7F2ckTzpEuCA=";
|
sha256 = "sha256-sfC1acnCrcQ4A1tXXcjh47Af6xeJqjdGXy0gK21ZSFg=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "sha256-UYw9WdQ6VwzuuiOsa1yovkLZG7NmLYSW51p8UhmQMeI=";
|
vendorSha256 = "sha256-UYw9WdQ6VwzuuiOsa1yovkLZG7NmLYSW51p8UhmQMeI=";
|
||||||
|
|
|
@ -22,7 +22,7 @@ python3Packages.buildPythonApplication rec {
|
||||||
# Tests appear to be broken with import errors within the project structure
|
# Tests appear to be broken with import errors within the project structure
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
||||||
nativeBuildInputs = [ wrapGAppsHook ];
|
nativeBuildInputs = [ wrapGAppsHook gobject-introspection ];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
gobject-introspection
|
gobject-introspection
|
||||||
|
@ -38,19 +38,9 @@ python3Packages.buildPythonApplication rec {
|
||||||
pygobject3
|
pygobject3
|
||||||
];
|
];
|
||||||
|
|
||||||
dontWrapGapps = true;
|
|
||||||
|
|
||||||
pythonPath = with python3Packages; requiredPythonModules [ dbus-python xlib pygobject3 ];
|
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
rm $out/bin/autokey-qt
|
# remove Qt version which we currently do not support
|
||||||
buildPythonPath "$out $pythonPath"
|
rm $out/bin/autokey-qt $out/share/applications/autokey-qt.desktop
|
||||||
makeWrapperArgs+=(
|
|
||||||
"''${gappsWrapperArgs[@]}"
|
|
||||||
# for autokey-shell ModuleNotFoundError: No module named 'autokey'
|
|
||||||
--prefix "PYTHONPATH" ":" "$out/lib/${python3Packages.python.libPrefix}/site-packages"
|
|
||||||
--prefix "PYTHONPATH" ":" "$program_PYTHONPATH"
|
|
||||||
)
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
|
|
|
@ -0,0 +1,40 @@
|
||||||
|
From 69a6ab80cf0908c2a44430c297932ef3659a1655 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Jiajie Chen <c@jia.je>
|
||||||
|
Date: Wed, 22 Jun 2022 16:24:10 +0800
|
||||||
|
Subject: [PATCH 1/2] Fix detection of quartz in gdk-3.0 target
|
||||||
|
|
||||||
|
The GTK+3 built by Nix targets ``broadway quartz`` instead of only `quartz`,
|
||||||
|
thus the target check is wrong. The script is modified to look up `quartz` in a
|
||||||
|
loop. The variable name is renamed to `targets` in `gdk-3.0.pc` as well.
|
||||||
|
|
||||||
|
---
|
||||||
|
configure | 6 +++++-
|
||||||
|
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/configure b/configure
|
||||||
|
index 628a80f..9cb88d5 100755
|
||||||
|
--- a/configure
|
||||||
|
+++ b/configure
|
||||||
|
@@ -7361,7 +7361,10 @@ $as_echo "yes" >&6; }
|
||||||
|
fi
|
||||||
|
GTK_VER=`$PKG_CONFIG gtk+-3.0 --modversion`
|
||||||
|
|
||||||
|
- _gdk_tgt=`$PKG_CONFIG --variable=target gdk-3.0`
|
||||||
|
+ # gdk-3.0 may have multiple targets e.g. "broadway quartz"
|
||||||
|
+ _gdk_tgts=`$PKG_CONFIG --variable=targets gdk-3.0`
|
||||||
|
+ for _gdk_tgt in $_gdk_tgts;
|
||||||
|
+ do
|
||||||
|
if test "x$_gdk_tgt" = xquartz; then
|
||||||
|
|
||||||
|
pkg_failed=no
|
||||||
|
@@ -7466,6 +7469,7 @@ fi
|
||||||
|
COCOA_GTK_LDFLAGS="-framework Cocoa -framework ApplicationServices"
|
||||||
|
|
||||||
|
fi
|
||||||
|
+ done
|
||||||
|
|
||||||
|
if test x$with_gconf = xyes; then
|
||||||
|
|
||||||
|
--
|
||||||
|
2.36.1
|
||||||
|
|
|
@ -0,0 +1,101 @@
|
||||||
|
From 6045177a0d4753bb7a6a6ffc3f1a4a3e96129c6d Mon Sep 17 00:00:00 2001
|
||||||
|
From: Jiajie Chen <c@jia.je>
|
||||||
|
Date: Wed, 22 Jun 2022 17:03:29 +0800
|
||||||
|
Subject: [PATCH 2/2] Check GDK_WINDOWING_X11 macro when using GtkPlug
|
||||||
|
|
||||||
|
---
|
||||||
|
src/main.c | 5 +++++
|
||||||
|
src/twinwave.c | 12 ++++++++++--
|
||||||
|
2 files changed, 15 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/main.c b/src/main.c
|
||||||
|
index 81bf505..b89f629 100644
|
||||||
|
--- a/src/main.c
|
||||||
|
+++ b/src/main.c
|
||||||
|
@@ -2080,10 +2080,15 @@ if(!GLOBALS->socket_xid)
|
||||||
|
#ifdef WAVE_USE_XID
|
||||||
|
else
|
||||||
|
{
|
||||||
|
+#ifdef GDK_WINDOWING_X11
|
||||||
|
GLOBALS->mainwindow = gtk_plug_new(GLOBALS->socket_xid);
|
||||||
|
gtk_widget_show(GLOBALS->mainwindow);
|
||||||
|
|
||||||
|
g_signal_connect(XXX_GTK_OBJECT(GLOBALS->mainwindow), "destroy", /* formerly was "destroy" */G_CALLBACK(plug_destroy),"Plug destroy");
|
||||||
|
+#else
|
||||||
|
+ fprintf(stderr, "GTKWAVE | GtkPlug widget is unavailable\n");
|
||||||
|
+ exit(1);
|
||||||
|
+#endif
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
diff --git a/src/twinwave.c b/src/twinwave.c
|
||||||
|
index 590c7f6..d5c60f2 100644
|
||||||
|
--- a/src/twinwave.c
|
||||||
|
+++ b/src/twinwave.c
|
||||||
|
@@ -143,15 +143,19 @@ if(GDK_IS_WAYLAND_DISPLAY(gdk_display_get_default()))
|
||||||
|
use_embedded = 0;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
+#if defined(__GTK_SOCKET_H__) && defined(GDK_WINDOWING_X11)
|
||||||
|
{
|
||||||
|
xsocket[0] = gtk_socket_new ();
|
||||||
|
xsocket[1] = gtk_socket_new ();
|
||||||
|
gtk_widget_show (xsocket[0]);
|
||||||
|
gtk_widget_show (xsocket[1]);
|
||||||
|
}
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
+#if defined(__GTK_SOCKET_H__) && defined(GDK_WINDOWING_X11)
|
||||||
|
if(!twinwayland)
|
||||||
|
g_signal_connect(XXX_GTK_OBJECT(xsocket[0]), "plug-removed", G_CALLBACK(plug_removed), NULL);
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
#if GTK_CHECK_VERSION(3,0,0)
|
||||||
|
main_vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 5);
|
||||||
|
@@ -208,7 +212,7 @@ if(hMapFile != NULL)
|
||||||
|
memset(&pi, 0, sizeof(PROCESS_INFORMATION));
|
||||||
|
|
||||||
|
sprintf(buf, "0+%08X", shmid);
|
||||||
|
-#ifdef MINGW_USE_XID
|
||||||
|
+#if defined(MINGW_USE_XID) && defined(__GTK_SOCKET_H__) && defined(GDK_WINDOWING_X11)
|
||||||
|
sprintf(buf2, "%x", gtk_socket_get_id (GTK_SOCKET(xsocket[0])));
|
||||||
|
#else
|
||||||
|
sprintf(buf2, "%x", 0);
|
||||||
|
@@ -279,7 +283,7 @@ if(hMapFile != NULL)
|
||||||
|
memset(&pi, 0, sizeof(PROCESS_INFORMATION));
|
||||||
|
|
||||||
|
sprintf(buf, "1+%08X", shmid);
|
||||||
|
-#ifdef MINGW_USE_XID
|
||||||
|
+#if defined(MINGW_USE_XID) && defined(__GTK_SOCKET_H__) && defined(GDK_WINDOWING_X11)
|
||||||
|
sprintf(buf2, "%x", gtk_socket_get_id (GTK_SOCKET(xsocket[1])));
|
||||||
|
#else
|
||||||
|
sprintf(buf2, "%x", 0);
|
||||||
|
@@ -429,10 +433,12 @@ if(shmid >=0)
|
||||||
|
sprintf(buf, "0+%08X", shmid);
|
||||||
|
if(use_embedded)
|
||||||
|
{
|
||||||
|
+#if defined(__GTK_SOCKET_H__) && defined(GDK_WINDOWING_X11)
|
||||||
|
#ifdef MAC_INTEGRATION
|
||||||
|
sprintf(buf2, "%x", gtk_socket_get_id (GTK_SOCKET(xsocket[0])));
|
||||||
|
#else
|
||||||
|
sprintf(buf2, "%lx", (long)gtk_socket_get_id (GTK_SOCKET(xsocket[0])));
|
||||||
|
+#endif
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
else
|
||||||
|
@@ -467,10 +473,12 @@ if(shmid >=0)
|
||||||
|
sprintf(buf, "1+%08X", shmid);
|
||||||
|
if(use_embedded)
|
||||||
|
{
|
||||||
|
+#if defined(__GTK_SOCKET_H__) && defined(GDK_WINDOWING_X11)
|
||||||
|
#ifdef MAC_INTEGRATION
|
||||||
|
sprintf(buf2, "%x", gtk_socket_get_id (GTK_SOCKET(xsocket[1])));
|
||||||
|
#else
|
||||||
|
sprintf(buf2, "%lx", (long)gtk_socket_get_id (GTK_SOCKET(xsocket[1])));
|
||||||
|
+#endif
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
else
|
||||||
|
--
|
||||||
|
2.36.1
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
, glib
|
, glib
|
||||||
, gperf
|
, gperf
|
||||||
, gtk3
|
, gtk3
|
||||||
|
, gtk-mac-integration
|
||||||
, judy
|
, judy
|
||||||
, lib
|
, lib
|
||||||
, pkg-config
|
, pkg-config
|
||||||
|
@ -23,7 +24,16 @@ stdenv.mkDerivation rec {
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config wrapGAppsHook ];
|
nativeBuildInputs = [ pkg-config wrapGAppsHook ];
|
||||||
buildInputs = [ bzip2 glib gperf gtk3 judy tcl tk xz ];
|
buildInputs = [ bzip2 glib gperf gtk3 judy tcl tk xz ]
|
||||||
|
++ lib.optional stdenv.isDarwin gtk-mac-integration;
|
||||||
|
|
||||||
|
# fix compilation under Darwin
|
||||||
|
# remove these patches upon next release
|
||||||
|
# https://github.com/gtkwave/gtkwave/pull/136
|
||||||
|
patches = [
|
||||||
|
./0001-Fix-detection-of-quartz-in-gdk-3.0-target.patch
|
||||||
|
./0002-Check-GDK_WINDOWING_X11-macro-when-using-GtkPlug.patch
|
||||||
|
];
|
||||||
|
|
||||||
configureFlags = [
|
configureFlags = [
|
||||||
"--with-tcl=${tcl}/lib"
|
"--with-tcl=${tcl}/lib"
|
||||||
|
@ -36,7 +46,7 @@ stdenv.mkDerivation rec {
|
||||||
description = "VCD/Waveform viewer for Unix and Win32";
|
description = "VCD/Waveform viewer for Unix and Win32";
|
||||||
homepage = "http://gtkwave.sourceforge.net";
|
homepage = "http://gtkwave.sourceforge.net";
|
||||||
license = lib.licenses.gpl2Plus;
|
license = lib.licenses.gpl2Plus;
|
||||||
maintainers = with lib.maintainers; [ thoughtpolice ];
|
maintainers = with lib.maintainers; [ thoughtpolice jiegec ];
|
||||||
platforms = lib.platforms.linux;
|
platforms = lib.platforms.linux ++ lib.platforms.darwin;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -332,7 +332,7 @@ rec {
|
||||||
, # JSON containing configuration and metadata for this layer.
|
, # JSON containing configuration and metadata for this layer.
|
||||||
baseJson
|
baseJson
|
||||||
, # Files to add to the layer.
|
, # Files to add to the layer.
|
||||||
contents ? null
|
copyToRoot ? null
|
||||||
, # When copying the contents into the image, preserve symlinks to
|
, # When copying the contents into the image, preserve symlinks to
|
||||||
# directories (see `rsync -K`). Otherwise, transform those symlinks
|
# directories (see `rsync -K`). Otherwise, transform those symlinks
|
||||||
# into directories.
|
# into directories.
|
||||||
|
@ -344,7 +344,8 @@ rec {
|
||||||
}:
|
}:
|
||||||
runCommand "docker-layer-${name}"
|
runCommand "docker-layer-${name}"
|
||||||
{
|
{
|
||||||
inherit baseJson contents extraCommands;
|
inherit baseJson extraCommands;
|
||||||
|
contents = copyToRoot;
|
||||||
nativeBuildInputs = [ jshon rsync tarsum ];
|
nativeBuildInputs = [ jshon rsync tarsum ];
|
||||||
}
|
}
|
||||||
''
|
''
|
||||||
|
@ -390,7 +391,8 @@ rec {
|
||||||
, # Script to run as root. Bash.
|
, # Script to run as root. Bash.
|
||||||
runAsRoot
|
runAsRoot
|
||||||
, # Files to add to the layer. If null, an empty layer will be created.
|
, # Files to add to the layer. If null, an empty layer will be created.
|
||||||
contents ? null
|
# To add packages to /bin, use `buildEnv` or similar.
|
||||||
|
copyToRoot ? null
|
||||||
, # When copying the contents into the image, preserve symlinks to
|
, # When copying the contents into the image, preserve symlinks to
|
||||||
# directories (see `rsync -K`). Otherwise, transform those symlinks
|
# directories (see `rsync -K`). Otherwise, transform those symlinks
|
||||||
# into directories.
|
# into directories.
|
||||||
|
@ -418,9 +420,9 @@ rec {
|
||||||
|
|
||||||
inherit fromImage fromImageName fromImageTag diskSize;
|
inherit fromImage fromImageName fromImageTag diskSize;
|
||||||
|
|
||||||
preMount = lib.optionalString (contents != null && contents != [ ]) ''
|
preMount = lib.optionalString (copyToRoot != null && copyToRoot != [ ]) ''
|
||||||
echo "Adding contents..."
|
echo "Adding contents..."
|
||||||
for item in ${escapeShellArgs (map (c: "${c}") (toList contents))}; do
|
for item in ${escapeShellArgs (map (c: "${c}") (toList copyToRoot))}; do
|
||||||
echo "Adding $item..."
|
echo "Adding $item..."
|
||||||
rsync -a${if keepContentsDirlinks then "K" else "k"} --chown=0:0 $item/ layer/
|
rsync -a${if keepContentsDirlinks then "K" else "k"} --chown=0:0 $item/ layer/
|
||||||
done
|
done
|
||||||
|
@ -500,7 +502,7 @@ rec {
|
||||||
, # Tag of the parent image; will be read from the image otherwise.
|
, # Tag of the parent image; will be read from the image otherwise.
|
||||||
fromImageTag ? null
|
fromImageTag ? null
|
||||||
, # Files to put on the image (a nix store path or list of paths).
|
, # Files to put on the image (a nix store path or list of paths).
|
||||||
contents ? null
|
copyToRoot ? null
|
||||||
, # When copying the contents into the image, preserve symlinks to
|
, # When copying the contents into the image, preserve symlinks to
|
||||||
# directories (see `rsync -K`). Otherwise, transform those symlinks
|
# directories (see `rsync -K`). Otherwise, transform those symlinks
|
||||||
# into directories.
|
# into directories.
|
||||||
|
@ -517,10 +519,20 @@ rec {
|
||||||
diskSize ? 1024
|
diskSize ? 1024
|
||||||
, # Time of creation of the image.
|
, # Time of creation of the image.
|
||||||
created ? "1970-01-01T00:00:01Z"
|
created ? "1970-01-01T00:00:01Z"
|
||||||
|
, # Deprecated.
|
||||||
|
contents ? null
|
||||||
,
|
,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
checked =
|
||||||
|
lib.warnIf (contents != null)
|
||||||
|
"in docker image ${name}: The contents parameter is deprecated. Change to copyToRoot if the contents are designed to be copied to the root filesystem, such as when you use `buildEnv` or similar between contents and your packages. Use copyToRoot = buildEnv { ... }; or similar if you intend to add packages to /bin."
|
||||||
|
lib.throwIf (contents != null && copyToRoot != null) "in docker image ${name}: You can not specify both contents and copyToRoot."
|
||||||
|
;
|
||||||
|
|
||||||
|
rootContents = if copyToRoot == null then contents else copyToRoot;
|
||||||
|
|
||||||
baseName = baseNameOf name;
|
baseName = baseNameOf name;
|
||||||
|
|
||||||
# Create a JSON blob of the configuration. Set the date to unix zero.
|
# Create a JSON blob of the configuration. Set the date to unix zero.
|
||||||
|
@ -545,13 +557,15 @@ rec {
|
||||||
mkPureLayer
|
mkPureLayer
|
||||||
{
|
{
|
||||||
name = baseName;
|
name = baseName;
|
||||||
inherit baseJson contents keepContentsDirlinks extraCommands uid gid;
|
inherit baseJson keepContentsDirlinks extraCommands uid gid;
|
||||||
|
copyToRoot = rootContents;
|
||||||
} else
|
} else
|
||||||
mkRootLayer {
|
mkRootLayer {
|
||||||
name = baseName;
|
name = baseName;
|
||||||
inherit baseJson fromImage fromImageName fromImageTag
|
inherit baseJson fromImage fromImageName fromImageTag
|
||||||
contents keepContentsDirlinks runAsRoot diskSize
|
keepContentsDirlinks runAsRoot diskSize
|
||||||
extraCommands;
|
extraCommands;
|
||||||
|
copyToRoot = rootContents;
|
||||||
};
|
};
|
||||||
result = runCommand "docker-image-${baseName}.tar.gz"
|
result = runCommand "docker-image-${baseName}.tar.gz"
|
||||||
{
|
{
|
||||||
|
@ -715,7 +729,7 @@ rec {
|
||||||
'';
|
'';
|
||||||
|
|
||||||
in
|
in
|
||||||
result;
|
checked result;
|
||||||
|
|
||||||
# Merge the tarballs of images built with buildImage into a single
|
# Merge the tarballs of images built with buildImage into a single
|
||||||
# tarball that contains all images. Running `docker load` on the resulting
|
# tarball that contains all images. Running `docker load` on the resulting
|
||||||
|
@ -776,12 +790,14 @@ rec {
|
||||||
# contents. The main purpose is to be able to use nix commands in
|
# contents. The main purpose is to be able to use nix commands in
|
||||||
# the container.
|
# the container.
|
||||||
# Be careful since this doesn't work well with multilayer.
|
# Be careful since this doesn't work well with multilayer.
|
||||||
buildImageWithNixDb = args@{ contents ? null, extraCommands ? "", ... }: (
|
# TODO: add the dependencies of the config json.
|
||||||
|
buildImageWithNixDb = args@{ copyToRoot ? contents, contents ? null, extraCommands ? "", ... }: (
|
||||||
buildImage (args // {
|
buildImage (args // {
|
||||||
extraCommands = (mkDbExtraCommand contents) + extraCommands;
|
extraCommands = (mkDbExtraCommand copyToRoot) + extraCommands;
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
|
|
||||||
|
# TODO: add the dependencies of the config json.
|
||||||
buildLayeredImageWithNixDb = args@{ contents ? null, extraCommands ? "", ... }: (
|
buildLayeredImageWithNixDb = args@{ contents ? null, extraCommands ? "", ... }: (
|
||||||
buildLayeredImage (args // {
|
buildLayeredImage (args // {
|
||||||
extraCommands = (mkDbExtraCommand contents) + extraCommands;
|
extraCommands = (mkDbExtraCommand contents) + extraCommands;
|
||||||
|
|
|
@ -24,7 +24,11 @@ rec {
|
||||||
bash = buildImage {
|
bash = buildImage {
|
||||||
name = "bash";
|
name = "bash";
|
||||||
tag = "latest";
|
tag = "latest";
|
||||||
contents = pkgs.bashInteractive;
|
copyToRoot = pkgs.buildEnv {
|
||||||
|
name = "image-root";
|
||||||
|
paths = [ pkgs.bashInteractive ];
|
||||||
|
pathsToLink = [ "/bin" ];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# 2. service example, layered on another image
|
# 2. service example, layered on another image
|
||||||
|
@ -36,7 +40,12 @@ rec {
|
||||||
fromImage = bash;
|
fromImage = bash;
|
||||||
# fromImage = debian;
|
# fromImage = debian;
|
||||||
|
|
||||||
contents = pkgs.redis;
|
copyToRoot = pkgs.buildEnv {
|
||||||
|
name = "image-root";
|
||||||
|
paths = [ pkgs.redis ];
|
||||||
|
pathsToLink = [ "/bin" ];
|
||||||
|
};
|
||||||
|
|
||||||
runAsRoot = ''
|
runAsRoot = ''
|
||||||
mkdir -p /data
|
mkdir -p /data
|
||||||
'';
|
'';
|
||||||
|
@ -118,13 +127,17 @@ rec {
|
||||||
# 5. example of multiple contents, emacs and vi happily coexisting
|
# 5. example of multiple contents, emacs and vi happily coexisting
|
||||||
editors = buildImage {
|
editors = buildImage {
|
||||||
name = "editors";
|
name = "editors";
|
||||||
contents = [
|
copyToRoot = pkgs.buildEnv {
|
||||||
pkgs.coreutils
|
name = "image-root";
|
||||||
pkgs.bash
|
pathsToLink = [ "/bin" ];
|
||||||
pkgs.emacs
|
paths = [
|
||||||
pkgs.vim
|
pkgs.coreutils
|
||||||
pkgs.nano
|
pkgs.bash
|
||||||
];
|
pkgs.emacs
|
||||||
|
pkgs.vim
|
||||||
|
pkgs.nano
|
||||||
|
];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# 6. nix example to play with the container nix store
|
# 6. nix example to play with the container nix store
|
||||||
|
@ -132,13 +145,17 @@ rec {
|
||||||
nix = buildImageWithNixDb {
|
nix = buildImageWithNixDb {
|
||||||
name = "nix";
|
name = "nix";
|
||||||
tag = "latest";
|
tag = "latest";
|
||||||
contents = [
|
copyToRoot = pkgs.buildEnv {
|
||||||
# nix-store uses cat program to display results as specified by
|
name = "image-root";
|
||||||
# the image env variable NIX_PAGER.
|
pathsToLink = [ "/bin" ];
|
||||||
pkgs.coreutils
|
paths = [
|
||||||
pkgs.nix
|
# nix-store uses cat program to display results as specified by
|
||||||
pkgs.bash
|
# the image env variable NIX_PAGER.
|
||||||
];
|
pkgs.coreutils
|
||||||
|
pkgs.nix
|
||||||
|
pkgs.bash
|
||||||
|
];
|
||||||
|
};
|
||||||
config = {
|
config = {
|
||||||
Env = [
|
Env = [
|
||||||
"NIX_PAGER=cat"
|
"NIX_PAGER=cat"
|
||||||
|
@ -155,7 +172,11 @@ rec {
|
||||||
name = "onTopOfPulledImage";
|
name = "onTopOfPulledImage";
|
||||||
tag = "latest";
|
tag = "latest";
|
||||||
fromImage = nixFromDockerHub;
|
fromImage = nixFromDockerHub;
|
||||||
contents = [ pkgs.hello ];
|
copyToRoot = pkgs.buildEnv {
|
||||||
|
name = "image-root";
|
||||||
|
pathsToLink = [ "/bin" ];
|
||||||
|
paths = [ pkgs.hello ];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# 8. regression test for erroneous use of eval and string expansion.
|
# 8. regression test for erroneous use of eval and string expansion.
|
||||||
|
@ -163,7 +184,11 @@ rec {
|
||||||
runAsRootExtraCommands = pkgs.dockerTools.buildImage {
|
runAsRootExtraCommands = pkgs.dockerTools.buildImage {
|
||||||
name = "runAsRootExtraCommands";
|
name = "runAsRootExtraCommands";
|
||||||
tag = "latest";
|
tag = "latest";
|
||||||
contents = [ pkgs.coreutils ];
|
copyToRoot = pkgs.buildEnv {
|
||||||
|
name = "image-root";
|
||||||
|
pathsToLink = [ "/bin" ];
|
||||||
|
paths = [ pkgs.coreutils ];
|
||||||
|
};
|
||||||
# The parens here are to create problematic bash to embed and eval. In case
|
# The parens here are to create problematic bash to embed and eval. In case
|
||||||
# this is *embedded* into the script (with nix expansion) the initial quotes
|
# this is *embedded* into the script (with nix expansion) the initial quotes
|
||||||
# will close the string and the following parens are unexpected
|
# will close the string and the following parens are unexpected
|
||||||
|
@ -176,7 +201,11 @@ rec {
|
||||||
unstableDate = pkgs.dockerTools.buildImage {
|
unstableDate = pkgs.dockerTools.buildImage {
|
||||||
name = "unstable-date";
|
name = "unstable-date";
|
||||||
tag = "latest";
|
tag = "latest";
|
||||||
contents = [ pkgs.coreutils ];
|
copyToRoot = pkgs.buildEnv {
|
||||||
|
name = "image-root";
|
||||||
|
pathsToLink = [ "/bin" ];
|
||||||
|
paths = [ pkgs.coreutils ];
|
||||||
|
};
|
||||||
created = "now";
|
created = "now";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -265,7 +294,11 @@ rec {
|
||||||
name = "l3";
|
name = "l3";
|
||||||
fromImage = l2;
|
fromImage = l2;
|
||||||
tag = "latest";
|
tag = "latest";
|
||||||
contents = [ pkgs.coreutils ];
|
copyToRoot = pkgs.buildEnv {
|
||||||
|
name = "image-root";
|
||||||
|
pathsToLink = [ "/bin" ];
|
||||||
|
paths = [ pkgs.coreutils ];
|
||||||
|
};
|
||||||
extraCommands = ''
|
extraCommands = ''
|
||||||
mkdir -p tmp
|
mkdir -p tmp
|
||||||
echo layer3 > tmp/layer3
|
echo layer3 > tmp/layer3
|
||||||
|
@ -290,7 +323,11 @@ rec {
|
||||||
name = "child";
|
name = "child";
|
||||||
fromImage = environmentVariablesParent;
|
fromImage = environmentVariablesParent;
|
||||||
tag = "latest";
|
tag = "latest";
|
||||||
contents = [ pkgs.coreutils ];
|
copyToRoot = pkgs.buildEnv {
|
||||||
|
name = "image-root";
|
||||||
|
pathsToLink = [ "/bin" ];
|
||||||
|
paths = [ pkgs.coreutils ];
|
||||||
|
};
|
||||||
config = {
|
config = {
|
||||||
Env = [
|
Env = [
|
||||||
"FROM_CHILD=true"
|
"FROM_CHILD=true"
|
||||||
|
@ -424,7 +461,11 @@ rec {
|
||||||
name = "layers-unpack-order-${layerName}";
|
name = "layers-unpack-order-${layerName}";
|
||||||
tag = "latest";
|
tag = "latest";
|
||||||
fromImage = parent;
|
fromImage = parent;
|
||||||
contents = [ pkgs.coreutils ];
|
copyToRoot = pkgs.buildEnv {
|
||||||
|
name = "image-root";
|
||||||
|
pathsToLink = [ "/bin" ];
|
||||||
|
paths = [ pkgs.coreutils ];
|
||||||
|
};
|
||||||
runAsRoot = ''
|
runAsRoot = ''
|
||||||
#!${pkgs.runtimeShell}
|
#!${pkgs.runtimeShell}
|
||||||
echo -n "${layerName}" >> /layer-order
|
echo -n "${layerName}" >> /layer-order
|
||||||
|
@ -441,7 +482,8 @@ rec {
|
||||||
# buildImage without explicit tag
|
# buildImage without explicit tag
|
||||||
bashNoTag = pkgs.dockerTools.buildImage {
|
bashNoTag = pkgs.dockerTools.buildImage {
|
||||||
name = "bash-no-tag";
|
name = "bash-no-tag";
|
||||||
contents = pkgs.bashInteractive;
|
# Not recommended. Use `buildEnv` between copy and packages to avoid file duplication.
|
||||||
|
copyToRoot = pkgs.bashInteractive;
|
||||||
};
|
};
|
||||||
|
|
||||||
# buildLayeredImage without explicit tag
|
# buildLayeredImage without explicit tag
|
||||||
|
@ -501,7 +543,11 @@ rec {
|
||||||
in crossPkgs.dockerTools.buildImage {
|
in crossPkgs.dockerTools.buildImage {
|
||||||
name = "hello-cross";
|
name = "hello-cross";
|
||||||
tag = "latest";
|
tag = "latest";
|
||||||
contents = crossPkgs.hello;
|
copyToRoot = pkgs.buildEnv {
|
||||||
|
name = "image-root";
|
||||||
|
pathsToLink = [ "/bin" ];
|
||||||
|
paths = [ crossPkgs.hello ];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# layered image where a store path is itself a symlink
|
# layered image where a store path is itself a symlink
|
||||||
|
@ -643,7 +689,8 @@ rec {
|
||||||
build-image-with-path = buildImage {
|
build-image-with-path = buildImage {
|
||||||
name = "build-image-with-path";
|
name = "build-image-with-path";
|
||||||
tag = "latest";
|
tag = "latest";
|
||||||
contents = [ pkgs.bashInteractive ./test-dummy ];
|
# Not recommended. Use `buildEnv` between copy and packages to avoid file duplication.
|
||||||
|
copyToRoot = [ pkgs.bashInteractive ./test-dummy ];
|
||||||
};
|
};
|
||||||
|
|
||||||
layered-image-with-path = pkgs.dockerTools.streamLayeredImage {
|
layered-image-with-path = pkgs.dockerTools.streamLayeredImage {
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "elementary-xfce-icon-theme";
|
pname = "elementary-xfce-icon-theme";
|
||||||
version = "0.16";
|
version = "0.17";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "shimmerproject";
|
owner = "shimmerproject";
|
||||||
repo = "elementary-xfce";
|
repo = "elementary-xfce";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-p6HQhYf+rw3obrc6e5lYqC02i4dK+5eXGwnTJj0+D+k=";
|
sha256 = "sha256-9WdVUCwHFX6wlu3++QqzV0RgTDYDnUYqK7yUl83liko=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -2,11 +2,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "caja";
|
pname = "caja";
|
||||||
version = "1.26.0";
|
version = "1.26.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||||
sha256 = "1m0ai2r8b2mvlr8bqj9n6vg1pwzlwa46fqpq206wgyx5sgxac052";
|
sha256 = "MP1ubwCjggD24uiYrX+nl4drsGDx0DQd0vc5MnnhTAc=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "aresponses";
|
pname = "aresponses";
|
||||||
version = "2.1.5";
|
version = "2.1.6";
|
||||||
format = "setuptools";
|
format = "setuptools";
|
||||||
|
|
||||||
disabled = pythonOlder "3.7";
|
disabled = pythonOlder "3.7";
|
||||||
|
@ -19,7 +19,7 @@ buildPythonPackage rec {
|
||||||
owner = "CircleUp";
|
owner = "CircleUp";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-9ZzIrj87TwxQi0YMlTHFPAp0V1oxfuL0+RMGXxUxFoE=";
|
sha256 = "sha256-Ui9ZpWaVBfCbDlZH3EgHX32FIZtyTHnc/UXqtoEyFcw=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
|
|
@ -7,13 +7,13 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "cron_descriptor";
|
pname = "cron_descriptor";
|
||||||
version = "1.2.27";
|
version = "1.2.30";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Salamek";
|
owner = "Salamek";
|
||||||
repo = "cron-descriptor";
|
repo = "cron-descriptor";
|
||||||
rev = "refs/tags/${version}";
|
rev = "refs/tags/${version}";
|
||||||
sha256 = "sha256-ycpBbXVUl7mIPx6p4DoVq51T86Im9bkF6LQFSYUL4uk=";
|
sha256 = "sha256-Qei9f0HlIu5sautMEASvxdUqZyXKvHDWJgd3oST1gJo=";
|
||||||
};
|
};
|
||||||
|
|
||||||
# remove tests_require, as we don't do linting anyways
|
# remove tests_require, as we don't do linting anyways
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
{ lib, stdenv, fetchurl, makeWrapper, jre }:
|
{ lib, stdenv, fetchurl, makeWrapper, jre }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "10.3";
|
version = "10.3.1";
|
||||||
pname = "checkstyle";
|
pname = "checkstyle";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/checkstyle/checkstyle/releases/download/checkstyle-${version}/checkstyle-${version}-all.jar";
|
url = "https://github.com/checkstyle/checkstyle/releases/download/checkstyle-${version}/checkstyle-${version}-all.jar";
|
||||||
sha256 = "sha256-3n5gXGHznrLGL9hudk1nZs1GJ5V2qzqVPCtn1fqujB0=";
|
sha256 = "sha256-mHBCZtBvi2DxzzWckvncCXgRCZirzx1OTtx7m6kRNvc=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper ];
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "bloop";
|
pname = "bloop";
|
||||||
version = "1.5.0";
|
version = "1.5.2";
|
||||||
|
|
||||||
platform =
|
platform =
|
||||||
if stdenv.isLinux && stdenv.isx86_64 then "x86_64-pc-linux"
|
if stdenv.isLinux && stdenv.isx86_64 then "x86_64-pc-linux"
|
||||||
|
@ -35,8 +35,8 @@ stdenv.mkDerivation rec {
|
||||||
bloop-binary = fetchurl rec {
|
bloop-binary = fetchurl rec {
|
||||||
url = "https://github.com/scalacenter/bloop/releases/download/v${version}/bloop-${platform}";
|
url = "https://github.com/scalacenter/bloop/releases/download/v${version}/bloop-${platform}";
|
||||||
sha256 =
|
sha256 =
|
||||||
if stdenv.isLinux && stdenv.isx86_64 then "sha256-jif9z05W17vjFgb146qWC3o44HmbnX05gWPlbXttYsE="
|
if stdenv.isLinux && stdenv.isx86_64 then "0dizvvkr5dw5xb3ggil2c5xi2vfcqyb46kfxnq8whbrq8pis70pi"
|
||||||
else if stdenv.isDarwin && stdenv.isx86_64 then "sha256-YOnXgKXsGrTu9P4I0NZW6ollZVQUXnbW8WtZTJmy+w0="
|
else if stdenv.isDarwin && stdenv.isx86_64 then "1a3a90ggyhfjq58wiqlxhz4djjp5crxvl822f8gzm3pjara5xpbc"
|
||||||
else throw "unsupported platform";
|
else throw "unsupported platform";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -14,13 +14,13 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "buildah";
|
pname = "buildah";
|
||||||
version = "1.26.1";
|
version = "1.26.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "containers";
|
owner = "containers";
|
||||||
repo = "buildah";
|
repo = "buildah";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-RlDvTabpW2DQHJe4wFYBBuNrkfKTYbyudoX26MyvGBQ=";
|
sha256 = "sha256-FQ0fYiQBz+Ba8Xe8PWIYpIKyWOYa+NlTNJqzBC64O6M=";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "out" "man" ];
|
outputs = [ "out" "man" ];
|
||||||
|
|
|
@ -16,11 +16,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "cypress";
|
pname = "cypress";
|
||||||
version = "10.0.3";
|
version = "10.2.0";
|
||||||
|
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
url = "https://cdn.cypress.io/desktop/${version}/linux-x64/cypress.zip";
|
url = "https://cdn.cypress.io/desktop/${version}/linux-x64/cypress.zip";
|
||||||
sha256 = "0lz9rf58dzn18yxs337sw3fia0xif039dmlmslxhlhn48g9yj67z";
|
sha256 = "y34EnCoAmV9ib72LpT7D0eUxP1h80h+rKqvrn9TfsQg=";
|
||||||
};
|
};
|
||||||
|
|
||||||
# don't remove runtime deps
|
# don't remove runtime deps
|
||||||
|
|
|
@ -16,15 +16,15 @@
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "deno";
|
pname = "deno";
|
||||||
version = "1.23.2";
|
version = "1.23.3";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "denoland";
|
owner = "denoland";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-rygBiDIZ8W51GIu36+g6zFOnIvmGe+HLGZg7x/pRFJ0=";
|
sha256 = "sha256-kxQZDuqVddooYeelW3gJBbU7N/PnARj/IG7eBVJoAJ8=";
|
||||||
};
|
};
|
||||||
cargoSha256 = "sha256-q7yZZXws58QuEfC0J+fZo8QyYUWx6sOKfphmIurxVkU=";
|
cargoSha256 = "sha256-bQZpE3kBqN5+lPdHWiiUQsWQwuMkvnfHLy3S1HnS4lk=";
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
# upstream uses lld on aarch64-darwin for faster builds
|
# upstream uses lld on aarch64-darwin for faster builds
|
||||||
|
|
|
@ -17,13 +17,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "dsp";
|
pname = "dsp";
|
||||||
version = "1.8";
|
version = "1.9";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "bmc0";
|
owner = "bmc0";
|
||||||
repo = "dsp";
|
repo = "dsp";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-LTgjpzAGi3oL8l5NcJj1ortKFd3vWDfXHr8YyedAxEE=";
|
sha256 = "sha256-S1pzVQ/ceNsx0vGmzdDWw2TjPVLiRgzR4edFblWsekY=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config ];
|
nativeBuildInputs = [ pkg-config ];
|
||||||
|
|
|
@ -11,20 +11,23 @@ stdenv.mkDerivation rec {
|
||||||
sha256 = "1vf01l18j8cksnavbabcckp9gg692w6v5lg81xrzv6f5v14zp4nr";
|
sha256 = "1vf01l18j8cksnavbabcckp9gg692w6v5lg81xrzv6f5v14zp4nr";
|
||||||
};
|
};
|
||||||
|
|
||||||
sourceRoot = "source/foma";
|
sourceRoot = "${src.name}/foma";
|
||||||
|
|
||||||
nativeBuildInputs = [ flex bison ]
|
nativeBuildInputs = [ flex bison ]
|
||||||
++ lib.optional stdenv.isDarwin darwin.cctools;
|
++ lib.optional stdenv.isDarwin darwin.cctools;
|
||||||
buildInputs = [ zlib readline ];
|
buildInputs = [ zlib readline ];
|
||||||
|
|
||||||
makeFlags = [
|
makeFlags = [
|
||||||
"CC=${stdenv.cc.targetPrefix}cc"
|
"CC:=$(CC)"
|
||||||
|
"RANLIB:=$(RANLIB)"
|
||||||
|
"prefix=$(out)"
|
||||||
|
] ++ lib.optionals (!stdenv.isDarwin) [
|
||||||
|
"AR:=$(AR)" # libtool is used for darwin
|
||||||
];
|
];
|
||||||
|
|
||||||
patchPhase = ''
|
patchPhase = ''
|
||||||
substituteInPlace Makefile \
|
substituteInPlace Makefile \
|
||||||
--replace '-ltermcap' ' ' \
|
--replace '-ltermcap' ' '
|
||||||
--replace '/usr/local' '$(out)'
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
|
|
|
@ -8,8 +8,8 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "btop";
|
pname = "btop";
|
||||||
version = "1.2.7";
|
version = "1.2.8";
|
||||||
hash = "sha256-zQpt/CEWW3oPqPo6SPuawyfLa50y6M4hL07uRO7YjLo=";
|
hash = "sha256-X+JJXv+8EIh0hjYnKkeQ3+XQ6CerHrEvPCok5DYxcwc=";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "aristocratos";
|
owner = "aristocratos";
|
||||||
|
|
Loading…
Reference in a new issue