mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-10-07 04:57:26 +03:00
Merge staging-next into staging
This commit is contained in:
commit
9f5148f1e0
@ -6,7 +6,6 @@ This chapter describes tools for creating various types of images.
|
||||
images/appimagetools.section.md
|
||||
images/dockertools.section.md
|
||||
images/ocitools.section.md
|
||||
images/snaptools.section.md
|
||||
images/portableservice.section.md
|
||||
images/makediskimage.section.md
|
||||
images/binarycache.section.md
|
||||
|
@ -1,71 +0,0 @@
|
||||
# pkgs.snapTools {#sec-pkgs-snapTools}
|
||||
|
||||
`pkgs.snapTools` is a set of functions for creating Snapcraft images. Snap and Snapcraft is not used to perform these operations.
|
||||
|
||||
## The makeSnap Function {#ssec-pkgs-snapTools-makeSnap-signature}
|
||||
|
||||
`makeSnap` takes a single named argument, `meta`. This argument mirrors [the upstream `snap.yaml` format](https://docs.snapcraft.io/snap-format) exactly.
|
||||
|
||||
The `base` should not be specified, as `makeSnap` will force set it.
|
||||
|
||||
Currently, `makeSnap` does not support creating GUI stubs.
|
||||
|
||||
## Build a Hello World Snap {#ssec-pkgs-snapTools-build-a-snap-hello}
|
||||
|
||||
The following expression packages GNU Hello as a Snapcraft snap.
|
||||
|
||||
``` {#ex-snapTools-buildSnap-hello .nix}
|
||||
let
|
||||
inherit (import <nixpkgs> { }) snapTools hello;
|
||||
in snapTools.makeSnap {
|
||||
meta = {
|
||||
name = "hello";
|
||||
summary = hello.meta.description;
|
||||
description = hello.meta.longDescription;
|
||||
architectures = [ "amd64" ];
|
||||
confinement = "strict";
|
||||
apps.hello.command = "${hello}/bin/hello";
|
||||
};
|
||||
}
|
||||
```
|
||||
|
||||
`nix-build` this expression and install it with `snap install ./result --dangerous`. `hello` will now be the Snapcraft version of the package.
|
||||
|
||||
## Build a Graphical Snap {#ssec-pkgs-snapTools-build-a-snap-firefox}
|
||||
|
||||
Graphical programs require many more integrations with the host. This example uses Firefox as an example because it is one of the most complicated programs we could package.
|
||||
|
||||
``` {#ex-snapTools-buildSnap-firefox .nix}
|
||||
let
|
||||
inherit (import <nixpkgs> { }) snapTools firefox;
|
||||
in snapTools.makeSnap {
|
||||
meta = {
|
||||
name = "nix-example-firefox";
|
||||
summary = firefox.meta.description;
|
||||
architectures = [ "amd64" ];
|
||||
apps.nix-example-firefox = {
|
||||
command = "${firefox}/bin/firefox";
|
||||
plugs = [
|
||||
"pulseaudio"
|
||||
"camera"
|
||||
"browser-support"
|
||||
"avahi-observe"
|
||||
"cups-control"
|
||||
"desktop"
|
||||
"desktop-legacy"
|
||||
"gsettings"
|
||||
"home"
|
||||
"network"
|
||||
"mount-observe"
|
||||
"removable-media"
|
||||
"x11"
|
||||
];
|
||||
};
|
||||
confinement = "strict";
|
||||
};
|
||||
}
|
||||
```
|
||||
|
||||
`nix-build` this expression and install it with `snap install ./result --dangerous`. `nix-example-firefox` will now be the Snapcraft version of the Firefox package.
|
||||
|
||||
The specific meaning behind plugs can be looked up in the [Snapcraft interface documentation](https://docs.snapcraft.io/supported-interfaces).
|
@ -123,14 +123,14 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
|
||||
|
||||
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
|
||||
|
||||
- `k3s`: was updated to version [v1.29](https://github.com/k3s-io/k3s/releases/tag/v1.29.1%2Bk3s2), all previous versions (k3s_1_26, k3s_1_27, k3s_1_28) will be removed. See [changelog and upgrade notes](https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.29.md#urgent-upgrade-notes) for more information.
|
||||
|
||||
- `himalaya` was updated to `v1.0.0-beta.3`, which introduces breaking changes. Check out the [release note](https://github.com/soywod/himalaya/releases/tag/v1.0.0-beta.3) for details.
|
||||
|
||||
- The `power.ups` module now generates `upsd.conf`, `upsd.users` and `upsmon.conf` automatically from a set of new configuration options. This breaks compatibility with existing `power.ups` setups where these files were created manually. Back up these files before upgrading NixOS.
|
||||
|
||||
- `unrar` was updated to v7. See [changelog](https://www.rarlab.com/unrar7notes.htm) for more information.
|
||||
|
||||
- `k3s` was updated to [v1.29](https://github.com/k3s-io/k3s/releases/tag/v1.29.1%2Bk3s2). See [changelog and upgrade notes](https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.29.md#urgent-upgrade-notes) for more information.
|
||||
|
||||
- `k9s` was updated to v0.31. There have been various breaking changes in the config file format,
|
||||
check out the changelog of [v0.29](https://github.com/derailed/k9s/releases/tag/v0.29.0),
|
||||
[v0.30](https://github.com/derailed/k9s/releases/tag/v0.30.0) and
|
||||
|
@ -6,7 +6,7 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "lightburn";
|
||||
version = "1.5.02";
|
||||
version = "1.5.03";
|
||||
|
||||
nativeBuildInputs = [
|
||||
p7zip
|
||||
@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/LightBurnSoftware/deployment/releases/download/${version}/LightBurn-Linux64-v${version}.7z";
|
||||
sha256 = "sha256-1gmiPWrNk3T8WJ9u/4UzrhwxOcPUKyWIqtwqJiXA4c4=";
|
||||
sha256 = "sha256-p1vbpxRrcNInftBkVVhIckVsrZQRvlk/323D5zIjXJ8=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
@ -36,6 +36,7 @@ in stdenv.mkDerivation rec {
|
||||
|
||||
cmakeDir = "../sources";
|
||||
cmakeFlags = [
|
||||
"-DCMAKE_SKIP_BUILD_RPATH=ON"
|
||||
"-DTIFF_INCLUDE_DIR=${libtiff.dev}/include"
|
||||
"-DTIFF_LIBRARY=${libtiff.out}/lib/libtiff.so"
|
||||
];
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
{ fetchFromGitHub, }: rec {
|
||||
versions = {
|
||||
opentoonz = "1.5.0";
|
||||
opentoonz = "1.7.1";
|
||||
libtiff = "4.0.3"; # The version in thirdparty/tiff-*
|
||||
};
|
||||
|
||||
@ -11,6 +11,6 @@
|
||||
owner = "opentoonz";
|
||||
repo = "opentoonz";
|
||||
rev = "v${versions.opentoonz}";
|
||||
sha256 = "1rw30ksw3zjph1cwxkfvqj0330v8wd4333gn0fdf3cln1w0549lk";
|
||||
hash = "sha256-5iXOvh4QTv+G0fjEHU62u7QCee+jbvKhK0+fQXbdJis=";
|
||||
};
|
||||
}
|
||||
|
@ -20,16 +20,17 @@
|
||||
, qtmultimedia
|
||||
, qtpositioning
|
||||
, qtsvg
|
||||
, zxing-cpp
|
||||
, qtwayland
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "photoqt";
|
||||
version = "4.2";
|
||||
version = "4.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://photoqt.org/pkgs/photoqt-${version}.tar.gz";
|
||||
hash = "sha256-OUqsyvmv6ccJDzcWAeS1OOmK2eXOCEgGktz6GEUzoA8=";
|
||||
hash = "sha256-B0ZubvWIEZFnD2v74bpPv+/wr7vaHS9QP4//9/afjzQ=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@ -55,20 +56,19 @@ stdenv.mkDerivation rec {
|
||||
qtmultimedia
|
||||
qtpositioning
|
||||
qtsvg
|
||||
zxing-cpp
|
||||
] ++ lib.optionals stdenv.isLinux [
|
||||
qtwayland
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DDEVIL=OFF"
|
||||
"-DCHROMECAST=OFF"
|
||||
"-DFREEIMAGE=OFF"
|
||||
"-DIMAGEMAGICK=OFF"
|
||||
(lib.cmakeBool "DEVIL" false)
|
||||
(lib.cmakeBool "CHROMECAST" false)
|
||||
(lib.cmakeBool "FREEIMAGE" false)
|
||||
(lib.cmakeBool "IMAGEMAGICK" false)
|
||||
];
|
||||
|
||||
preConfigure = ''
|
||||
export MAGICK_LOCATION="${graphicsmagick}/include/GraphicsMagick"
|
||||
'';
|
||||
env.MAGICK_LOCATION = "${graphicsmagick}/include/GraphicsMagick";
|
||||
|
||||
postInstall = lib.optionalString stdenv.isDarwin ''
|
||||
mkdir -p $out/Applications
|
||||
|
@ -5,16 +5,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "hcl2json";
|
||||
version = "0.6.1";
|
||||
version = "0.6.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tmccombs";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-6DCxpnTizTg3uhHIIze2IyA8IKcjIv44XoId7exdQZI=";
|
||||
sha256 = "sha256-lnmWIyS1byXvShR1/ej8PAuo+WJBEBykQwJ79439Fus=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-Ay6Sgdm7X+NxtLkFM0AT8aoWLdASjUhcidRUiV2K+us=";
|
||||
vendorHash = "sha256-HbdectUQgyQZ9qcfBarwRTF3VjzSqaM2vhVekThv2+k=";
|
||||
|
||||
subPackages = [ "." ];
|
||||
|
||||
|
@ -6,6 +6,8 @@
|
||||
, pkg-config
|
||||
, fontconfig
|
||||
, xorg
|
||||
, libxkbcommon
|
||||
, wayland
|
||||
, libGL
|
||||
, openssl
|
||||
, darwin
|
||||
@ -13,16 +15,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "inlyne";
|
||||
version = "0.3.2";
|
||||
version = "0.4.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "trimental";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-DSi6iS1ySdvGf6FxZpsDOAFpAKx/APcZjxA3Qy0gQBU=";
|
||||
hash = "sha256-dDGTy5WOCyeWYfemVtv+YswNyHSqDL4C7MbHsKgRwLk=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-UzegSJGAOBUDN8WluN7fLWS7NfHhm9YY0Zuq6DCIqHo=";
|
||||
cargoHash = "sha256-GDy7/FooHD77X5dZmlLX+isRKr2WjadKPKyVD55M9ZE=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
installShellFiles
|
||||
@ -36,6 +38,8 @@ rustPlatform.buildRustPackage rec {
|
||||
xorg.libXi
|
||||
xorg.libXrandr
|
||||
xorg.libxcb
|
||||
wayland
|
||||
libxkbcommon
|
||||
openssl
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
darwin.apple_sdk_11_0.frameworks.AppKit
|
||||
|
@ -1,38 +1,54 @@
|
||||
{ lib, stdenv, fetchurl
|
||||
, autoPatchelfHook, makeDesktopItem, copyDesktopItems, makeWrapper, gnugrep, asar
|
||||
, electron, python3, alsa-lib, gtk3, libdbusmenu, libxshmfence, mesa, nss
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, makeDesktopItem
|
||||
, copyDesktopItems
|
||||
, makeWrapper
|
||||
, electron
|
||||
, cacert
|
||||
, gitMinimal
|
||||
, yarn
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "whalebird";
|
||||
version = "5.0.7";
|
||||
version = "6.0.4";
|
||||
|
||||
src = let
|
||||
downloads = "https://github.com/h3poteto/whalebird-desktop/releases/download/v${version}";
|
||||
in
|
||||
if stdenv.system == "x86_64-linux" then
|
||||
fetchurl {
|
||||
url = downloads + "/Whalebird-${version}-linux-x64.tar.bz2";
|
||||
hash = "sha256-eufP038REwF2VwAxxI8R0S3fE8oJ+SX/CES5ozuut2w=";
|
||||
}
|
||||
else if stdenv.system == "aarch64-linux" then
|
||||
fetchurl {
|
||||
url = downloads + "/Whalebird-${version}-linux-arm64.tar.bz2";
|
||||
hash = "sha256-U0xVTUUm6wsRxYc1w4vfNtVE6o8dNzXTSi+IX4mgDEE=";
|
||||
}
|
||||
else
|
||||
throw "Whalebird is not supported for ${stdenv.system}";
|
||||
src = fetchFromGitHub {
|
||||
owner = "h3poteto";
|
||||
repo = "whalebird-desktop";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-Yx0GEEPJ+d4/RvCbqZdKR6iE2iUNbOJr+RuboqjT8z8=";
|
||||
};
|
||||
# we cannot use fetchYarnDeps because that doesn't support yarn 2/berry lockfiles
|
||||
offlineCache = stdenv.mkDerivation {
|
||||
name = "whalebird-${version}-offline-cache";
|
||||
inherit src;
|
||||
|
||||
nativeBuildInputs = [
|
||||
cacert # needed for git
|
||||
gitMinimal # needed to download git dependencies
|
||||
yarn
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
export HOME=$(mktemp -d)
|
||||
yarn config set enableTelemetry 0
|
||||
yarn config set cacheFolder $out
|
||||
yarn config set --json supportedArchitectures.os '[ "linux" ]'
|
||||
yarn config set --json supportedArchitectures.cpu '[ "arm64", "x64" ]'
|
||||
yarn
|
||||
'';
|
||||
|
||||
outputHashMode = "recursive";
|
||||
outputHash = "sha256-RjTGAgHRRQ4O3eTYpmTrl+KXafDZkWf1NH6lzdozVAA=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoPatchelfHook
|
||||
makeWrapper
|
||||
copyDesktopItems
|
||||
gnugrep
|
||||
asar
|
||||
yarn
|
||||
];
|
||||
|
||||
buildInputs = [ alsa-lib gtk3 libdbusmenu libxshmfence mesa nss ];
|
||||
|
||||
desktopItems = [
|
||||
(makeDesktopItem {
|
||||
desktopName = "Whalebird";
|
||||
@ -44,28 +60,21 @@ stdenv.mkDerivation rec {
|
||||
})
|
||||
];
|
||||
|
||||
unpackPhase = ''
|
||||
mkdir -p opt
|
||||
tar -xf ${src} -C opt
|
||||
# remove the version/target suffix from the untar'd directory
|
||||
mv opt/Whalebird-* opt/Whalebird
|
||||
'';
|
||||
ELECTRON_SKIP_BINARY_DOWNLOAD = "1";
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
# Necessary steps to find the tray icon
|
||||
# For aarch64-linux, we need to overwrite this symlink first as it points to
|
||||
# /usr/bin/python3
|
||||
if [ "${stdenv.system}" = "aarch64-linux" ]
|
||||
then ln -sf ${python3}/bin/python3 \
|
||||
opt/Whalebird/resources/app.asar.unpacked/node_modules/better-sqlite3/build/node_gyp_bins/python3
|
||||
fi
|
||||
asar extract opt/Whalebird/resources/app.asar "$TMP/work"
|
||||
substituteInPlace "$TMP/work/dist/electron/main.js" \
|
||||
--replace "$(grep -oE '.{2},"tray_icon.png"' "$TMP/work/dist/electron/main.js")" \
|
||||
"\"$out/opt/Whalebird/resources/build/icons/tray_icon.png\""
|
||||
asar pack --unpack='{*.node,*.ftz,rect-overlay}' "$TMP/work" opt/Whalebird/resources/app.asar
|
||||
export HOME=$(mktemp -d)
|
||||
yarn config set enableTelemetry 0
|
||||
yarn config set cacheFolder ${offlineCache}
|
||||
|
||||
yarn --immutable-cache
|
||||
yarn run nextron build --no-pack
|
||||
yarn run electron-builder --dir \
|
||||
--config electron-builder.yml \
|
||||
-c.electronDist="${electron}/libexec/electron" \
|
||||
-c.electronVersion=${electron.version}
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
@ -73,26 +82,29 @@ stdenv.mkDerivation rec {
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir $out
|
||||
mv opt $out
|
||||
mkdir -p $out/opt
|
||||
cp -r ./dist/linux-unpacked $out/opt/Whalebird
|
||||
|
||||
# install icons
|
||||
for icon in $out/opt/Whalebird/resources/build/icons/*.png; do
|
||||
mkdir -p "$out/share/icons/hicolor/$(basename $icon .png)/apps"
|
||||
ln -s "$icon" "$out/share/icons/hicolor/$(basename $icon .png)/apps/whalebird.png"
|
||||
# Install icons
|
||||
# Taken from https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=whalebird#n41
|
||||
for i in 16 32 128 256 512; do
|
||||
install -Dm644 "resources/icons/icon.iconset/icon_$i"x"$i.png" \
|
||||
"$out/share/icons/hicolor/$i"x"$i/apps/whalebird.png"
|
||||
done
|
||||
install -Dm644 "resources/icons/icon.iconset/icon_32x32@2x.png" \
|
||||
"$out/share/icons/hicolor/64x64/apps/whalebird.png"
|
||||
|
||||
makeWrapper ${electron}/bin/electron $out/bin/whalebird \
|
||||
--add-flags $out/opt/Whalebird/resources/app.asar \
|
||||
makeWrapper "${electron}/bin/electron" "$out/bin/whalebird" \
|
||||
--add-flags "$out/opt/Whalebird/resources/app.asar" \
|
||||
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}"
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Electron based Mastodon, Pleroma and Misskey client for Windows, Mac and Linux";
|
||||
description = "Single-column Fediverse client for desktop";
|
||||
homepage = "https://whalebird.social";
|
||||
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
|
||||
sourceProvenance = with sourceTypes; [ fromSource ];
|
||||
license = licenses.gpl3Only;
|
||||
maintainers = with maintainers; [ wolfangaukang colinsane weathercold ];
|
||||
platforms = [ "x86_64-linux" "aarch64-linux" ];
|
||||
|
@ -28,12 +28,12 @@
|
||||
version = "2024-01-22";
|
||||
};
|
||||
ungoogled-patches = {
|
||||
hash = "sha256-7c4VQLotLHmSFKfzzXrlwXKB3XPFpyRTnuATrS9RfEw=";
|
||||
rev = "122.0.6261.111-1";
|
||||
hash = "sha256-YIJysusNifUPN3Ii2tCUSvHEe63RWlTrTdOt5KBVyK4=";
|
||||
rev = "122.0.6261.128-1";
|
||||
};
|
||||
};
|
||||
hash = "sha256-43h11bx/k78W7fEPZz4LwxNVExwGSSt74mlbiUYf5ig=";
|
||||
hash_deb_amd64 = "sha256-juwTFdJB1hgAA14aabNIrql5aaP1JWQy7nOsoTF2Vto=";
|
||||
version = "122.0.6261.111";
|
||||
hash = "sha256-BzLSwDQrmKavh4s2uOSfP935NnB5+Hw7oD7YDbSWp2g=";
|
||||
hash_deb_amd64 = "sha256-SxdYfWhV3ZpiGWmagOM6JUfjAmU9pzFGDQDinXrweas=";
|
||||
version = "122.0.6261.128";
|
||||
};
|
||||
}
|
||||
|
@ -2,12 +2,12 @@
|
||||
|
||||
let
|
||||
pname = "polypane";
|
||||
version = "18.0.0";
|
||||
version = "18.0.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/firstversionist/${pname}/releases/download/v${version}/${pname}-${version}.AppImage";
|
||||
name = "${pname}-${version}.AppImage";
|
||||
sha256 = "sha256-d2A+edQJKyChNCA7QH+YjlcIlHYVghX3UP60ZZBtP1s=";
|
||||
sha256 = "sha256-FqaXLoFgkKHzOvy7f9R36uIDnv2c6HrVF6T3VK5Aw3c=";
|
||||
};
|
||||
|
||||
appimageContents = appimageTools.extractType2 {
|
||||
|
@ -6,13 +6,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "glooctl";
|
||||
version = "1.16.6";
|
||||
version = "1.16.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "solo-io";
|
||||
repo = "gloo";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-vn04bNkg0De46kLcyuaWt9watBXFIGI+4X8SBW3XNyg=";
|
||||
hash = "sha256-046zHSvJY9kl/vY8TL62TUYkg+otvchq0DIyDsro/+U=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-UyzqKpF2WBj25Bm4MtkF6yjl87A61vGsteBNCjJV178=";
|
||||
|
@ -1,10 +0,0 @@
|
||||
{
|
||||
traefik-crd = {
|
||||
url = "https://k3s.io/k3s-charts/assets/traefik-crd/traefik-crd-20.3.1+up20.3.0.tgz";
|
||||
sha256 = "1775vjldvqvhzdbzanxhbaqbmkih09yb91im651q8bc7z5sb9ckn";
|
||||
};
|
||||
traefik = {
|
||||
url = "https://k3s.io/k3s-charts/assets/traefik/traefik-20.3.1+up20.3.0.tgz";
|
||||
sha256 = "1rj0f0n0vgjcbzfwzhqmsd501i2f6vw145w9plbp8gwdyzmg2nc6";
|
||||
};
|
||||
}
|
@ -1,332 +0,0 @@
|
||||
{ stdenv
|
||||
, lib
|
||||
, makeWrapper
|
||||
, socat
|
||||
, iptables
|
||||
, iproute2
|
||||
, ipset
|
||||
, bridge-utils
|
||||
, btrfs-progs
|
||||
, conntrack-tools
|
||||
, buildGoModule
|
||||
, runc
|
||||
, rsync
|
||||
, kmod
|
||||
, libseccomp
|
||||
, pkg-config
|
||||
, ethtool
|
||||
, util-linux
|
||||
, fetchFromGitHub
|
||||
, fetchurl
|
||||
, fetchzip
|
||||
, fetchgit
|
||||
, zstd
|
||||
, yq-go
|
||||
, sqlite
|
||||
, nixosTests
|
||||
, k3s
|
||||
, pkgsBuildBuild
|
||||
}:
|
||||
|
||||
# k3s is a kinda weird derivation. One of the main points of k3s is the
|
||||
# simplicity of it being one binary that can perform several tasks.
|
||||
# However, when you have a good package manager (like nix), that doesn't
|
||||
# actually make much of a difference; you don't really care if it's one binary
|
||||
# or 10 since with a good package manager, installing and running it is
|
||||
# identical.
|
||||
# Since upstream k3s packages itself as one large binary with several
|
||||
# "personalities" (in the form of subcommands like 'k3s agent' and 'k3s
|
||||
# kubectl'), it ends up being easiest to mostly mimic upstream packaging, with
|
||||
# some exceptions.
|
||||
# K3s also carries patches to some packages (such as containerd and cni
|
||||
# plugins), so we intentionally use the k3s versions of those binaries for k3s,
|
||||
# even if the upstream version of those binaries exist in nixpkgs already. In
|
||||
# the end, that means we have a thick k3s binary that behaves like the upstream
|
||||
# one for the most part.
|
||||
# However, k3s also bundles several pieces of unpatched software, from the
|
||||
# strongswan vpn software, to iptables, to socat, conntrack, busybox, etc.
|
||||
# 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.24.10+k3s1"; # k3s git tag
|
||||
k3sCommit = "546a94e9ae1c3be6f9c0dcde32a6e6672b035bc8"; # k3s git commit at the above version
|
||||
k3sRepoSha256 = "sha256-HfkGb3GtR2wQkVIze26aFh6A6W0fegr8ovpSel7oujQ=";
|
||||
k3sVendorHash = "sha256-YAerisDr/knlKPaO2fVMZA4FUpwshFmkpi3mJAmLqKM=";
|
||||
|
||||
# Based on the traefik charts here: https://github.com/k3s-io/k3s/blob/v1.24.10%2Bk3s1/scripts/download#L29-L32
|
||||
# see also https://github.com/k3s-io/k3s/blob/v1.24.10%2Bk3s1/manifests/traefik.yaml#L8-L16
|
||||
# At the time of writing, there are two traefik charts, and that's it
|
||||
charts = import ./chart-versions.nix;
|
||||
|
||||
# taken from ./scripts/version.sh VERSION_ROOT https://github.com/k3s-io/k3s/blob/v1.24.10%2Bk3s1/scripts/version.sh#L56
|
||||
k3sRootVersion = "0.12.1";
|
||||
k3sRootSha256 = "sha256-xCXbarWztnvW2xn3cGa84hie3OevVZeGEDWh+Uf3RBw=";
|
||||
|
||||
# taken from ./scripts/version.sh VERSION_CNIPLUGINS https://github.com/k3s-io/k3s/blob/v1.24.10%2Bk3s1/scripts/version.sh#L49
|
||||
k3sCNIVersion = "1.1.1-k3s1";
|
||||
k3sCNISha256 = "14mb3zsqibj1sn338gjmsyksbm0mxv9p016dij7zidccx2rzn6nl";
|
||||
|
||||
# taken from go.mod, the 'github.com/containerd/containerd' line
|
||||
# run `grep github.com/containerd/containerd go.mod | head -n1 | awk '{print $4}'`
|
||||
# https://github.com/k3s-io/k3s/blob/v1.24.10%2Bk3s1/go.mod#L10
|
||||
containerdVersion = "1.5.16-k3s1";
|
||||
containerdSha256 = "sha256-dxC44qE1A20Hd2j77Ir9Sla8xncttswWIuGGM/5FWi8=";
|
||||
|
||||
# run `grep github.com/kubernetes-sigs/cri-tools go.mod | head -n1 | awk '{print $4}'` in the k3s repo at the tag
|
||||
# https://github.com/k3s-io/k3s/blob/v1.24.10%2Bk3s1/go.mod#L18
|
||||
criCtlVersion = "1.24.0-k3s1";
|
||||
|
||||
baseMeta = k3s.meta;
|
||||
|
||||
# https://github.com/k3s-io/k3s/blob/5fb370e53e0014dc96183b8ecb2c25a61e891e76/scripts/build#L19-L40
|
||||
versionldflags = [
|
||||
"-X github.com/rancher/k3s/pkg/version.Version=v${k3sVersion}"
|
||||
"-X github.com/rancher/k3s/pkg/version.GitCommit=${lib.substring 0 8 k3sCommit}"
|
||||
"-X k8s.io/client-go/pkg/version.gitVersion=v${k3sVersion}"
|
||||
"-X k8s.io/client-go/pkg/version.gitCommit=${k3sCommit}"
|
||||
"-X k8s.io/client-go/pkg/version.gitTreeState=clean"
|
||||
"-X k8s.io/client-go/pkg/version.buildDate=1970-01-01T01:01:01Z"
|
||||
"-X k8s.io/component-base/version.gitVersion=v${k3sVersion}"
|
||||
"-X k8s.io/component-base/version.gitCommit=${k3sCommit}"
|
||||
"-X k8s.io/component-base/version.gitTreeState=clean"
|
||||
"-X k8s.io/component-base/version.buildDate=1970-01-01T01:01:01Z"
|
||||
"-X github.com/kubernetes-sigs/cri-tools/pkg/version.Version=v${criCtlVersion}"
|
||||
"-X github.com/containerd/containerd/version.Version=v${containerdVersion}"
|
||||
"-X github.com/containerd/containerd/version.Package=github.com/k3s-io/containerd"
|
||||
];
|
||||
|
||||
# bundled into the k3s binary
|
||||
traefikChart = fetchurl charts.traefik;
|
||||
traefik-crdChart = fetchurl charts.traefik-crd;
|
||||
|
||||
# so, k3s is a complicated thing to package
|
||||
# This derivation attempts to avoid including any random binaries from the
|
||||
# internet. k3s-root is _mostly_ binaries built to be bundled in k3s (which
|
||||
# we don't care about doing, we can add those as build or runtime
|
||||
# dependencies using a real package manager).
|
||||
# In addition to those binaries, it's also configuration though (right now
|
||||
# mostly strongswan configuration), and k3s does use those files.
|
||||
# As such, we download it in order to grab 'etc' and bundle it into the final
|
||||
# k3s binary.
|
||||
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 = k3sRootSha256;
|
||||
stripRoot = false;
|
||||
};
|
||||
k3sCNIPlugins = buildGoModule rec {
|
||||
pname = "k3s-cni-plugins";
|
||||
version = k3sCNIVersion;
|
||||
vendorHash = null;
|
||||
|
||||
subPackages = [ "." ];
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "rancher";
|
||||
repo = "plugins";
|
||||
rev = "v${version}";
|
||||
sha256 = k3sCNISha256;
|
||||
};
|
||||
|
||||
postInstall = ''
|
||||
mv $out/bin/plugins $out/bin/cni
|
||||
'';
|
||||
|
||||
meta = baseMeta // {
|
||||
description = "CNI plugins, as patched by rancher for k3s";
|
||||
};
|
||||
};
|
||||
# Grab this separately from a build because it's used by both stages of the
|
||||
# k3s build.
|
||||
k3sRepo = fetchgit {
|
||||
url = "https://github.com/k3s-io/k3s";
|
||||
rev = "v${k3sVersion}";
|
||||
sha256 = k3sRepoSha256;
|
||||
};
|
||||
# Stage 1 of the k3s build:
|
||||
# Let's talk about how k3s is structured.
|
||||
# One of the ideas of k3s is that there's the single "k3s" binary which can
|
||||
# do everything you need, from running a k3s server, to being a worker node,
|
||||
# to running kubectl.
|
||||
# The way that actually works is that k3s is a single go binary that contains
|
||||
# a bunch of bindata that it unpacks at runtime into directories (either the
|
||||
# user's home directory or /var/lib/rancher if run as root).
|
||||
# This bindata includes both binaries and configuration.
|
||||
# In order to let nixpkgs do all its autostripping/patching/etc, we split this into two derivations.
|
||||
# First, we build all the binaries that get packed into the thick k3s binary
|
||||
# (and output them from one derivation so they'll all be suitably patched up).
|
||||
# Then, we bundle those binaries into our thick k3s binary and use that as
|
||||
# the final single output.
|
||||
# This approach was chosen because it ensures the bundled binaries all are
|
||||
# correctly built to run with nix (we can lean on the existing buildGoModule
|
||||
# stuff), and we can again lean on that tooling for the final k3s binary too.
|
||||
# Other alternatives would be to manually run the
|
||||
# strip/patchelf/remove-references step ourselves in the installPhase of the
|
||||
# derivation when we've built all the binaries, but haven't bundled them in
|
||||
# with generated bindata yet.
|
||||
|
||||
k3sServer = buildGoModule rec {
|
||||
pname = "k3s-server";
|
||||
version = k3sVersion;
|
||||
|
||||
src = k3sRepo;
|
||||
vendorHash = k3sVendorHash;
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ libseccomp sqlite.dev ];
|
||||
|
||||
subPackages = [ "cmd/server" ];
|
||||
ldflags = versionldflags;
|
||||
|
||||
tags = [ "libsqlite3" "linux" ];
|
||||
|
||||
# create the multicall symlinks for k3s
|
||||
postInstall = ''
|
||||
mv $out/bin/server $out/bin/k3s
|
||||
pushd $out
|
||||
# taken verbatim from https://github.com/k3s-io/k3s/blob/v1.24.10%2Bk3s1/scripts/build#L123-L131
|
||||
ln -s k3s ./bin/k3s-agent
|
||||
ln -s k3s ./bin/k3s-server
|
||||
ln -s k3s ./bin/k3s-etcd-snapshot
|
||||
ln -s k3s ./bin/k3s-secrets-encrypt
|
||||
ln -s k3s ./bin/k3s-certificate
|
||||
ln -s k3s ./bin/k3s-completion
|
||||
ln -s k3s ./bin/kubectl
|
||||
ln -s k3s ./bin/crictl
|
||||
ln -s k3s ./bin/ctr
|
||||
popd
|
||||
'';
|
||||
|
||||
meta = baseMeta // {
|
||||
description = "The various binaries that get packaged into the final k3s binary";
|
||||
};
|
||||
};
|
||||
k3sContainerd = buildGoModule {
|
||||
pname = "k3s-containerd";
|
||||
version = containerdVersion;
|
||||
src = fetchFromGitHub {
|
||||
owner = "k3s-io";
|
||||
repo = "containerd";
|
||||
rev = "v${containerdVersion}";
|
||||
sha256 = containerdSha256;
|
||||
};
|
||||
vendorHash = null;
|
||||
buildInputs = [ btrfs-progs ];
|
||||
subPackages = [ "cmd/containerd" "cmd/containerd-shim-runc-v2" ];
|
||||
ldflags = versionldflags;
|
||||
};
|
||||
in
|
||||
buildGoModule rec {
|
||||
pname = "k3s";
|
||||
version = k3sVersion;
|
||||
|
||||
src = k3sRepo;
|
||||
vendorHash = k3sVendorHash;
|
||||
|
||||
postPatch = ''
|
||||
# Nix prefers dynamically linked binaries over static binary.
|
||||
|
||||
substituteInPlace scripts/package-cli \
|
||||
--replace '"$LDFLAGS $STATIC" -o' \
|
||||
'"$LDFLAGS" -o' \
|
||||
--replace "STATIC=\"-extldflags \'-static\'\"" \
|
||||
""
|
||||
|
||||
# Upstream codegen fails with trimpath set. Removes "trimpath" for 'go generate':
|
||||
|
||||
substituteInPlace scripts/package-cli \
|
||||
--replace '"''${GO}" generate' \
|
||||
'GOFLAGS="" \
|
||||
GOOS="${pkgsBuildBuild.go.GOOS}" \
|
||||
GOARCH="${pkgsBuildBuild.go.GOARCH}" \
|
||||
CC="${pkgsBuildBuild.stdenv.cc}/bin/cc" \
|
||||
"''${GO}" generate'
|
||||
'';
|
||||
|
||||
# Important utilities used by the kubelet, see
|
||||
# https://github.com/kubernetes/kubernetes/issues/26093#issuecomment-237202494
|
||||
# Note the list in that issue is stale and some aren't relevant for k3s.
|
||||
k3sRuntimeDeps = [
|
||||
kmod
|
||||
socat
|
||||
iptables
|
||||
iproute2
|
||||
ipset
|
||||
bridge-utils
|
||||
ethtool
|
||||
util-linux # kubelet wants 'nsenter' from util-linux: https://github.com/kubernetes/kubernetes/issues/26093#issuecomment-705994388
|
||||
conntrack-tools
|
||||
];
|
||||
|
||||
buildInputs = k3sRuntimeDeps;
|
||||
|
||||
nativeBuildInputs = [
|
||||
makeWrapper
|
||||
rsync
|
||||
yq-go
|
||||
zstd
|
||||
];
|
||||
|
||||
# embedded in the final k3s cli
|
||||
propagatedBuildInputs = [
|
||||
k3sCNIPlugins
|
||||
k3sContainerd
|
||||
k3sServer
|
||||
runc
|
||||
];
|
||||
|
||||
# We override most of buildPhase due to peculiarities in k3s's build.
|
||||
# Specifically, it has a 'go generate' which runs part of the package. See
|
||||
# this comment:
|
||||
# https://github.com/NixOS/nixpkgs/pull/158089#discussion_r799965694
|
||||
# So, why do we use buildGoModule at all? For the `vendorHash` / `go mod download` stuff primarily.
|
||||
buildPhase = ''
|
||||
patchShebangs ./scripts/package-cli ./scripts/download ./scripts/build-upload
|
||||
|
||||
# copy needed 'go generate' inputs into place
|
||||
mkdir -p ./bin/aux
|
||||
rsync -a --no-perms ${k3sServer}/bin/ ./bin/
|
||||
ln -vsf ${runc}/bin/runc ./bin/runc
|
||||
ln -vsf ${k3sCNIPlugins}/bin/cni ./bin/cni
|
||||
ln -vsf ${k3sContainerd}/bin/* ./bin/
|
||||
rsync -a --no-perms --chmod u=rwX ${k3sRoot}/etc/ ./etc/
|
||||
mkdir -p ./build/static/charts
|
||||
|
||||
cp ${traefikChart} ./build/static/charts
|
||||
cp ${traefik-crdChart} ./build/static/charts
|
||||
|
||||
export ARCH=$GOARCH
|
||||
export DRONE_TAG="v${k3sVersion}"
|
||||
export DRONE_COMMIT="${k3sCommit}"
|
||||
# use ./scripts/package-cli to run 'go generate' + 'go build'
|
||||
|
||||
./scripts/package-cli
|
||||
mkdir -p $out/bin
|
||||
'';
|
||||
|
||||
# Otherwise it depends on 'getGoDirs', which is normally set in buildPhase
|
||||
doCheck = false;
|
||||
|
||||
installPhase = ''
|
||||
# wildcard to match the arm64 build too
|
||||
install -m 0755 dist/artifacts/k3s* -D $out/bin/k3s
|
||||
wrapProgram $out/bin/k3s \
|
||||
--prefix PATH : ${lib.makeBinPath k3sRuntimeDeps} \
|
||||
--prefix PATH : "$out/bin"
|
||||
ln -s $out/bin/k3s $out/bin/kubectl
|
||||
ln -s $out/bin/k3s $out/bin/crictl
|
||||
ln -s $out/bin/k3s $out/bin/ctr
|
||||
'';
|
||||
|
||||
doInstallCheck = true;
|
||||
installCheckPhase = ''
|
||||
$out/bin/k3s --version | grep -F "v${k3sVersion}" >/dev/null
|
||||
'';
|
||||
|
||||
# Fix-Me: Needs to be adapted specifically for 1.24
|
||||
# passthru.updateScript = ./update.sh;
|
||||
|
||||
passthru.tests = k3s.passthru.mkTests k3sVersion;
|
||||
|
||||
meta = baseMeta;
|
||||
}
|
@ -1,41 +0,0 @@
|
||||
From 6f53bd36a40da4c71486e3b79f6e32d53d6eea5d Mon Sep 17 00:00:00 2001
|
||||
From: Euan Kemp <euank@euank.com>
|
||||
Date: Thu, 3 Feb 2022 23:50:40 -0800
|
||||
Subject: [PATCH 2/2] scrips/download: strip downloading, just package CRD
|
||||
|
||||
The CRD packaging is a complicated set of commands, so let's reuse it.
|
||||
---
|
||||
scripts/download | 10 ++--------
|
||||
1 file changed, 2 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/scripts/download b/scripts/download
|
||||
index 5effc0562a..82361803ee 100755
|
||||
--- a/scripts/download
|
||||
+++ b/scripts/download
|
||||
@@ -24,12 +24,6 @@ rm -rf ${CONTAINERD_DIR}
|
||||
mkdir -p ${CHARTS_DIR}
|
||||
mkdir -p ${DATA_DIR}
|
||||
|
||||
-curl --compressed -sfL https://github.com/k3s-io/k3s-root/releases/download/${VERSION_ROOT}/k3s-root-${ARCH}.tar | tar xf - --exclude=bin/socat
|
||||
-
|
||||
-git clone --single-branch --branch=${VERSION_RUNC} --depth=1 https://github.com/opencontainers/runc ${RUNC_DIR}
|
||||
-
|
||||
-git clone --single-branch --branch=${VERSION_CONTAINERD} --depth=1 https://github.com/k3s-io/containerd ${CONTAINERD_DIR}
|
||||
-
|
||||
setup_tmp() {
|
||||
TMP_DIR=$(mktemp -d --tmpdir=${CHARTS_DIR})
|
||||
cleanup() {
|
||||
@@ -44,8 +38,8 @@ setup_tmp() {
|
||||
|
||||
download_and_package_traefik () {
|
||||
echo "Downloading Traefik Helm chart from ${TRAEFIK_URL}"
|
||||
- curl -sfL ${TRAEFIK_URL} -o ${TMP_DIR}/${TRAEFIK_FILE}
|
||||
- code=$?
|
||||
+ # nixpkgs: copy in our known traefik chart instead
|
||||
+ cp $TRAEFIK_CHART_FILE ${TMP_DIR}/${TRAEFIK_FILE}
|
||||
|
||||
if [ $code -ne 0 ]; then
|
||||
echo "Error: Failed to download Traefik Helm chart!"
|
||||
--
|
||||
2.34.1
|
||||
|
@ -1,336 +0,0 @@
|
||||
{ stdenv
|
||||
, lib
|
||||
, makeWrapper
|
||||
, socat
|
||||
, iptables
|
||||
, iproute2
|
||||
, ipset
|
||||
, bridge-utils
|
||||
, btrfs-progs
|
||||
, conntrack-tools
|
||||
, buildGoModule
|
||||
, runc
|
||||
, rsync
|
||||
, kmod
|
||||
, libseccomp
|
||||
, pkg-config
|
||||
, ethtool
|
||||
, util-linux
|
||||
, fetchFromGitHub
|
||||
, fetchurl
|
||||
, fetchzip
|
||||
, fetchgit
|
||||
, zstd
|
||||
, yq-go
|
||||
, sqlite
|
||||
, nixosTests
|
||||
, pkgsBuildBuild
|
||||
, k3s
|
||||
}:
|
||||
|
||||
# k3s is a kinda weird derivation. One of the main points of k3s is the
|
||||
# simplicity of it being one binary that can perform several tasks.
|
||||
# However, when you have a good package manager (like nix), that doesn't
|
||||
# actually make much of a difference; you don't really care if it's one binary
|
||||
# or 10 since with a good package manager, installing and running it is
|
||||
# identical.
|
||||
# Since upstream k3s packages itself as one large binary with several
|
||||
# "personalities" (in the form of subcommands like 'k3s agent' and 'k3s
|
||||
# kubectl'), it ends up being easiest to mostly mimic upstream packaging, with
|
||||
# some exceptions.
|
||||
# K3s also carries patches to some packages (such as containerd and cni
|
||||
# plugins), so we intentionally use the k3s versions of those binaries for k3s,
|
||||
# even if the upstream version of those binaries exist in nixpkgs already. In
|
||||
# the end, that means we have a thick k3s binary that behaves like the upstream
|
||||
# one for the most part.
|
||||
# However, k3s also bundles several pieces of unpatched software, from the
|
||||
# strongswan vpn software, to iptables, to socat, conntrack, busybox, etc.
|
||||
# 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.25.3+k3s1"; # k3s git tag
|
||||
k3sCommit = "f2585c1671b31b4b34bddbb3bf4e7d69662b0821"; # k3s git commit at the above version
|
||||
k3sRepoSha256 = "0zwf3iwjcidx14zw36s1hr0q8wmmbfc0rfqwd7fmpjq597h8zkms";
|
||||
k3sVendorHash = "sha256-U67tJRGqPFk5AfRe7I50zKGC9HJ2oh+iI/C7qF/76BQ=";
|
||||
|
||||
# taken from ./manifests/traefik.yaml, extracted from '.spec.chart' https://github.com/k3s-io/k3s/blob/v1.23.3%2Bk3s1/scripts/download#L9
|
||||
# The 'patch' and 'minor' versions are currently hardcoded as single digits only, so ignore the trailing two digits. Weird, I know.
|
||||
traefikChartVersion = "12.0.0";
|
||||
traefikChartSha256 = "1sqmi71fi3ad5dh5fmsp9mv80x6pkgqwi4r9fr8l6i9sdnai6f1a";
|
||||
|
||||
# taken from ./scripts/version.sh VERSION_ROOT https://github.com/k3s-io/k3s/blob/v1.23.3%2Bk3s1/scripts/version.sh#L47
|
||||
k3sRootVersion = "0.11.0";
|
||||
k3sRootSha256 = "016n56vi09xkvjph7wgzb2m86mhd5x65fs4d11pmh20hl249r620";
|
||||
|
||||
# taken from ./scripts/version.sh VERSION_CNIPLUGINS https://github.com/k3s-io/k3s/blob/v1.23.3%2Bk3s1/scripts/version.sh#L45
|
||||
k3sCNIVersion = "1.1.1-k3s1";
|
||||
k3sCNISha256 = "14mb3zsqibj1sn338gjmsyksbm0mxv9p016dij7zidccx2rzn6nl";
|
||||
|
||||
# taken from go.mod, the 'github.com/containerd/containerd' line
|
||||
# run `grep github.com/containerd/containerd go.mod | head -n1 | awk '{print $4}'`
|
||||
containerdVersion = "1.5.13-k3s2";
|
||||
containerdSha256 = "1pfr2ji4aij9js90gf4a3hqnhyw5hshcjdccm62l700j68gs5z97";
|
||||
|
||||
# run `grep github.com/kubernetes-sigs/cri-tools go.mod | head -n1 | awk '{print $4}'` in the k3s repo at the tag
|
||||
criCtlVersion = "1.25.0-k3s1";
|
||||
|
||||
baseMeta = k3s.meta;
|
||||
|
||||
# https://github.com/k3s-io/k3s/blob/5fb370e53e0014dc96183b8ecb2c25a61e891e76/scripts/build#L19-L40
|
||||
versionldflags = [
|
||||
"-X github.com/rancher/k3s/pkg/version.Version=v${k3sVersion}"
|
||||
"-X github.com/rancher/k3s/pkg/version.GitCommit=${lib.substring 0 8 k3sCommit}"
|
||||
"-X k8s.io/client-go/pkg/version.gitVersion=v${k3sVersion}"
|
||||
"-X k8s.io/client-go/pkg/version.gitCommit=${k3sCommit}"
|
||||
"-X k8s.io/client-go/pkg/version.gitTreeState=clean"
|
||||
"-X k8s.io/client-go/pkg/version.buildDate=1970-01-01T01:01:01Z"
|
||||
"-X k8s.io/component-base/version.gitVersion=v${k3sVersion}"
|
||||
"-X k8s.io/component-base/version.gitCommit=${k3sCommit}"
|
||||
"-X k8s.io/component-base/version.gitTreeState=clean"
|
||||
"-X k8s.io/component-base/version.buildDate=1970-01-01T01:01:01Z"
|
||||
"-X github.com/kubernetes-sigs/cri-tools/pkg/version.Version=v${criCtlVersion}"
|
||||
"-X github.com/containerd/containerd/version.Version=v${containerdVersion}"
|
||||
"-X github.com/containerd/containerd/version.Package=github.com/k3s-io/containerd"
|
||||
];
|
||||
|
||||
# bundled into the k3s binary
|
||||
traefikChart = fetchurl {
|
||||
url = "https://helm.traefik.io/traefik/traefik-${traefikChartVersion}.tgz";
|
||||
sha256 = traefikChartSha256;
|
||||
};
|
||||
# so, k3s is a complicated thing to package
|
||||
# This derivation attempts to avoid including any random binaries from the
|
||||
# internet. k3s-root is _mostly_ binaries built to be bundled in k3s (which
|
||||
# we don't care about doing, we can add those as build or runtime
|
||||
# dependencies using a real package manager).
|
||||
# In addition to those binaries, it's also configuration though (right now
|
||||
# mostly strongswan configuration), and k3s does use those files.
|
||||
# As such, we download it in order to grab 'etc' and bundle it into the final
|
||||
# k3s binary.
|
||||
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 = k3sRootSha256;
|
||||
stripRoot = false;
|
||||
};
|
||||
k3sCNIPlugins = buildGoModule rec {
|
||||
pname = "k3s-cni-plugins";
|
||||
version = k3sCNIVersion;
|
||||
vendorHash = null;
|
||||
|
||||
subPackages = [ "." ];
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "rancher";
|
||||
repo = "plugins";
|
||||
rev = "v${version}";
|
||||
sha256 = k3sCNISha256;
|
||||
};
|
||||
|
||||
postInstall = ''
|
||||
mv $out/bin/plugins $out/bin/cni
|
||||
'';
|
||||
|
||||
meta = baseMeta // {
|
||||
description = "CNI plugins, as patched by rancher for k3s";
|
||||
};
|
||||
};
|
||||
# Grab this separately from a build because it's used by both stages of the
|
||||
# k3s build.
|
||||
k3sRepo = fetchgit {
|
||||
url = "https://github.com/k3s-io/k3s";
|
||||
rev = "v${k3sVersion}";
|
||||
sha256 = k3sRepoSha256;
|
||||
};
|
||||
# Stage 1 of the k3s build:
|
||||
# Let's talk about how k3s is structured.
|
||||
# One of the ideas of k3s is that there's the single "k3s" binary which can
|
||||
# do everything you need, from running a k3s server, to being a worker node,
|
||||
# to running kubectl.
|
||||
# The way that actually works is that k3s is a single go binary that contains
|
||||
# a bunch of bindata that it unpacks at runtime into directories (either the
|
||||
# user's home directory or /var/lib/rancher if run as root).
|
||||
# This bindata includes both binaries and configuration.
|
||||
# In order to let nixpkgs do all its autostripping/patching/etc, we split this into two derivations.
|
||||
# First, we build all the binaries that get packed into the thick k3s binary
|
||||
# (and output them from one derivation so they'll all be suitably patched up).
|
||||
# Then, we bundle those binaries into our thick k3s binary and use that as
|
||||
# the final single output.
|
||||
# This approach was chosen because it ensures the bundled binaries all are
|
||||
# correctly built to run with nix (we can lean on the existing buildGoModule
|
||||
# stuff), and we can again lean on that tooling for the final k3s binary too.
|
||||
# Other alternatives would be to manually run the
|
||||
# strip/patchelf/remove-references step ourselves in the installPhase of the
|
||||
# derivation when we've built all the binaries, but haven't bundled them in
|
||||
# with generated bindata yet.
|
||||
|
||||
k3sServer = buildGoModule rec {
|
||||
pname = "k3s-server";
|
||||
version = k3sVersion;
|
||||
|
||||
src = k3sRepo;
|
||||
vendorHash = k3sVendorHash;
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ libseccomp sqlite.dev ];
|
||||
|
||||
subPackages = [ "cmd/server" ];
|
||||
ldflags = versionldflags;
|
||||
|
||||
tags = [ "libsqlite3" "linux" ];
|
||||
|
||||
# create the multicall symlinks for k3s
|
||||
postInstall = ''
|
||||
mv $out/bin/server $out/bin/k3s
|
||||
pushd $out
|
||||
# taken verbatim from https://github.com/k3s-io/k3s/blob/v1.23.3%2Bk3s1/scripts/build#L105-L113
|
||||
ln -s k3s ./bin/k3s-agent
|
||||
ln -s k3s ./bin/k3s-server
|
||||
ln -s k3s ./bin/k3s-etcd-snapshot
|
||||
ln -s k3s ./bin/k3s-secrets-encrypt
|
||||
ln -s k3s ./bin/k3s-certificate
|
||||
ln -s k3s ./bin/kubectl
|
||||
ln -s k3s ./bin/crictl
|
||||
ln -s k3s ./bin/ctr
|
||||
popd
|
||||
'';
|
||||
|
||||
meta = baseMeta // {
|
||||
description = "The various binaries that get packaged into the final k3s binary";
|
||||
};
|
||||
};
|
||||
k3sContainerd = buildGoModule {
|
||||
pname = "k3s-containerd";
|
||||
version = containerdVersion;
|
||||
src = fetchFromGitHub {
|
||||
owner = "k3s-io";
|
||||
repo = "containerd";
|
||||
rev = "v${containerdVersion}";
|
||||
sha256 = containerdSha256;
|
||||
};
|
||||
vendorHash = null;
|
||||
buildInputs = [ btrfs-progs ];
|
||||
subPackages = [ "cmd/containerd" "cmd/containerd-shim-runc-v2" ];
|
||||
ldflags = versionldflags;
|
||||
};
|
||||
in
|
||||
buildGoModule rec {
|
||||
pname = "k3s";
|
||||
version = k3sVersion;
|
||||
|
||||
src = k3sRepo;
|
||||
vendorHash = k3sVendorHash;
|
||||
|
||||
patches = [
|
||||
./0001-script-download-strip-downloading-just-package-CRD.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
# Nix prefers dynamically linked binaries over static binary.
|
||||
|
||||
substituteInPlace scripts/package-cli \
|
||||
--replace '"$LDFLAGS $STATIC" -o' \
|
||||
'"$LDFLAGS" -o' \
|
||||
--replace "STATIC=\"-extldflags \'-static\'\"" \
|
||||
""
|
||||
|
||||
# Upstream codegen fails with trimpath set. Removes "trimpath" for 'go generate':
|
||||
|
||||
substituteInPlace scripts/package-cli \
|
||||
--replace '"''${GO}" generate' \
|
||||
'GOFLAGS="" \
|
||||
GOOS="${pkgsBuildBuild.go.GOOS}" \
|
||||
GOARCH="${pkgsBuildBuild.go.GOARCH}" \
|
||||
CC="${pkgsBuildBuild.stdenv.cc}/bin/cc" \
|
||||
"''${GO}" generate'
|
||||
'';
|
||||
|
||||
# Important utilities used by the kubelet, see
|
||||
# https://github.com/kubernetes/kubernetes/issues/26093#issuecomment-237202494
|
||||
# Note the list in that issue is stale and some aren't relevant for k3s.
|
||||
k3sRuntimeDeps = [
|
||||
kmod
|
||||
socat
|
||||
iptables
|
||||
iproute2
|
||||
ipset
|
||||
bridge-utils
|
||||
ethtool
|
||||
util-linux # kubelet wants 'nsenter' from util-linux: https://github.com/kubernetes/kubernetes/issues/26093#issuecomment-705994388
|
||||
conntrack-tools
|
||||
];
|
||||
|
||||
buildInputs = k3sRuntimeDeps;
|
||||
|
||||
nativeBuildInputs = [
|
||||
makeWrapper
|
||||
rsync
|
||||
yq-go
|
||||
zstd
|
||||
];
|
||||
|
||||
# embedded in the final k3s cli
|
||||
propagatedBuildInputs = [
|
||||
k3sCNIPlugins
|
||||
k3sContainerd
|
||||
k3sServer
|
||||
runc
|
||||
];
|
||||
|
||||
# We override most of buildPhase due to peculiarities in k3s's build.
|
||||
# Specifically, it has a 'go generate' which runs part of the package. See
|
||||
# this comment:
|
||||
# https://github.com/NixOS/nixpkgs/pull/158089#discussion_r799965694
|
||||
# So, why do we use buildGoModule at all? For the `vendorHash` / `go mod download` stuff primarily.
|
||||
buildPhase = ''
|
||||
patchShebangs ./scripts/package-cli ./scripts/download ./scripts/build-upload
|
||||
|
||||
# copy needed 'go generate' inputs into place
|
||||
mkdir -p ./bin/aux
|
||||
rsync -a --no-perms ${k3sServer}/bin/ ./bin/
|
||||
ln -vsf ${runc}/bin/runc ./bin/runc
|
||||
ln -vsf ${k3sCNIPlugins}/bin/cni ./bin/cni
|
||||
ln -vsf ${k3sContainerd}/bin/* ./bin/
|
||||
rsync -a --no-perms --chmod u=rwX ${k3sRoot}/etc/ ./etc/
|
||||
mkdir -p ./build/static/charts
|
||||
# Note, upstream's chart has a 00 suffix. This seems to not matter though, so we're ignoring that naming detail.
|
||||
export TRAEFIK_CHART_FILE=${traefikChart}
|
||||
# place the traefik chart using their code since it's complicated
|
||||
# We trim the actual download, see patches
|
||||
./scripts/download
|
||||
|
||||
export ARCH=$GOARCH
|
||||
export DRONE_TAG="v${k3sVersion}"
|
||||
export DRONE_COMMIT="${k3sCommit}"
|
||||
# use ./scripts/package-cli to run 'go generate' + 'go build'
|
||||
|
||||
./scripts/package-cli
|
||||
mkdir -p $out/bin
|
||||
'';
|
||||
|
||||
# Otherwise it depends on 'getGoDirs', which is normally set in buildPhase
|
||||
doCheck = false;
|
||||
|
||||
installPhase = ''
|
||||
# wildcard to match the arm64 build too
|
||||
install -m 0755 dist/artifacts/k3s* -D $out/bin/k3s
|
||||
wrapProgram $out/bin/k3s \
|
||||
--prefix PATH : ${lib.makeBinPath k3sRuntimeDeps} \
|
||||
--prefix PATH : "$out/bin"
|
||||
ln -s $out/bin/k3s $out/bin/kubectl
|
||||
ln -s $out/bin/k3s $out/bin/crictl
|
||||
ln -s $out/bin/k3s $out/bin/ctr
|
||||
'';
|
||||
|
||||
doInstallCheck = true;
|
||||
installCheckPhase = ''
|
||||
$out/bin/k3s --version | grep -F "v${k3sVersion}" >/dev/null
|
||||
'';
|
||||
|
||||
# Fix-Me: Needs to be adapted specifically for 1.25
|
||||
# passthru.updateScript = ./update.sh;
|
||||
|
||||
passthru.tests = k3s.passthru.mkTests k3sVersion;
|
||||
|
||||
meta = baseMeta;
|
||||
}
|
@ -2,16 +2,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "k8sgpt";
|
||||
version = "0.3.27";
|
||||
version = "0.3.28";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "k8sgpt-ai";
|
||||
repo = "k8sgpt";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-HWcEcufn0NM+7AF4/M29bsUoQYlVA1nbrkCKt9F1g6k=";
|
||||
hash = "sha256-VDVCkGTLoAZZyTX+zn43KisnUV9XQ9xo9ZIQf3AwDcY=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-b8Y95BDOR5HI6QMU4XLn5FmSHFD9fntc80r84KgmkuY=";
|
||||
vendorHash = "sha256-NOXySV9sQl4Q1eDbcGMk0msMSosjyxYyJfhu7hd/4gw=";
|
||||
|
||||
CGO_ENABLED = 0;
|
||||
|
||||
|
@ -22,7 +22,7 @@
|
||||
}:
|
||||
|
||||
let
|
||||
version = "0.9.25";
|
||||
version = "0.9.25.1";
|
||||
patchedXrdpSrc = applyPatches {
|
||||
patches = [ ./dynamic_config.patch ];
|
||||
name = "xrdp-patched-${version}";
|
||||
@ -31,7 +31,7 @@ let
|
||||
repo = "xrdp";
|
||||
rev = "v${version}";
|
||||
fetchSubmodules = true;
|
||||
hash = "sha256-XVaNN+sBEACh/yGnCLn9GHszoofWbcyA+Mr6KZMVFB0=";
|
||||
hash = "sha256-oAs0oWkCyj3ObdJuHLfT25ZzkTrxNAXDiFU64OOP4Ow=";
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -5,12 +5,12 @@
|
||||
}:
|
||||
|
||||
let
|
||||
version = "6.7.3";
|
||||
version = "6.7.5";
|
||||
pname = "timeular";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://s3.amazonaws.com/timeular-desktop-packages/linux/production/Timeular-${version}.AppImage";
|
||||
hash = "sha256-VnjCTf2x3GzmKW9EfNWGsN/aK7DKjTo8DZOF2qqGJ0Q=";
|
||||
hash = "sha256-b/I34f8fGgPr4+fZJ+2cb+Xi/AvotxNHYg7IaLTByPk=";
|
||||
};
|
||||
|
||||
appimageContents = appimageTools.extractType2 {
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ lib, stdenv, fetchFromGitHub, autoreconfHook }:
|
||||
{ lib, stdenv, fetchFromGitHub, cmake }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "systemc";
|
||||
@ -11,16 +11,21 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "0sj8wlkp68cjhmkd9c9lvm3lk3sckczpz7w9vby64inc1f9fnf0b";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
nativeBuildInputs = [ autoreconfHook ];
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
configureFlags = [ "--with-unix-layout" ];
|
||||
cmakeFlags = [
|
||||
# Undefined reference to the sc_core::sc_api_version_2_3_4_XXX
|
||||
# https://github.com/accellera-official/systemc/issues/21
|
||||
"-DCMAKE_CXX_STANDARD=17"
|
||||
];
|
||||
|
||||
doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
|
||||
|
||||
meta = with lib; {
|
||||
description = "The language for System-level design, modeling and verification";
|
||||
homepage = "https://systemc.org/";
|
||||
license = licenses.asl20;
|
||||
platforms = platforms.linux;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ victormignot amiloradovsky ];
|
||||
};
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ lib, stdenv, fetchFromGitHub, perl, flex, bison, python3, autoconf,
|
||||
{ lib, stdenv, fetchFromGitHub, fetchpatch, perl, flex, bison, python3, autoconf,
|
||||
which, cmake, ccache, help2man, makeWrapper, glibcLocales,
|
||||
systemc, git, numactl }:
|
||||
|
||||
@ -13,6 +13,15 @@ stdenv.mkDerivation rec {
|
||||
hash = "sha256-Ya3lqK8BfvMVLZUrD2Et6OmptteWXp5VmZb2x2G/V/E=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
# Fix try-lock spuriously fail in V3ThreadPool destructor
|
||||
# https://github.com/verilator/verilator/pull/4938
|
||||
url = "https://github.com/verilator/verilator/commit/4b9cce4369c78423779238e585ed693c456d464e.patch";
|
||||
hash = "sha256-sGrk/pxqZqUcmJdzQoPlzXMmYqHCOmd9Y2n6ieVNg1U=";
|
||||
})
|
||||
];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
buildInputs = [ perl python3 systemc ]; # ccache
|
||||
nativeBuildInputs = [ makeWrapper flex bison autoconf help2man git ];
|
||||
@ -37,6 +46,11 @@ stdenv.mkDerivation rec {
|
||||
done
|
||||
'';
|
||||
|
||||
env = {
|
||||
SYSTEMC_INCLUDE = "${lib.getDev systemc}/include";
|
||||
SYSTEMC_LIBDIR = "${lib.getLib systemc}/lib";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "Fast and robust (System)Verilog simulator/compiler and linter";
|
||||
homepage = "https://www.veripool.org/verilator";
|
||||
|
@ -16,11 +16,11 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "got";
|
||||
version = "0.96";
|
||||
version = "0.97";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://gameoftrees.org/releases/portable/got-portable-${finalAttrs.version}.tar.gz";
|
||||
hash = "sha256-/R7r6IJtgkuNQwoLxys/1HcXW+l3PVkjnPXphFpAFTs=";
|
||||
hash = "sha256-4HpIlKRYUDoymCBH8GS8DDXaY0nYiVvotpBkwglOO3I=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config bison ]
|
||||
@ -35,7 +35,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
# The configure script assumes dependencies on Darwin are installed via
|
||||
# Homebrew or MacPorts and hardcodes assumptions about the paths of
|
||||
# dependencies which fails the nixpkgs configurePhase.
|
||||
substituteInPlace configure --replace 'xdarwin' 'xhomebrew'
|
||||
substituteInPlace configure --replace-fail 'xdarwin' 'xhomebrew'
|
||||
'';
|
||||
|
||||
env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.isDarwin [
|
||||
@ -49,11 +49,12 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
installCheckPhase = ''
|
||||
runHook preInstallCheck
|
||||
test "$($out/bin/got --version)" = "${finalAttrs.pname} ${finalAttrs.version}"
|
||||
test "$($out/bin/got --version)" = "got ${finalAttrs.version}"
|
||||
runHook postInstallCheck
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
changelog = "https://gameoftrees.org/releases/CHANGES";
|
||||
description = "A version control system which prioritizes ease of use and simplicity over flexibility";
|
||||
longDescription = ''
|
||||
Game of Trees (Got) is a version control system which prioritizes
|
||||
@ -65,9 +66,9 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
on the same repository.
|
||||
'';
|
||||
homepage = "https://gameoftrees.org";
|
||||
changelog = "https://gameoftrees.org/releases/CHANGES";
|
||||
license = licenses.isc;
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
maintainers = with maintainers; [ abbe afh ];
|
||||
license = lib.licenses.isc;
|
||||
maintainers = with lib.maintainers; [ abbe afh ];
|
||||
mainProgram = "got";
|
||||
platforms = with lib.platforms; darwin ++ linux;
|
||||
};
|
||||
})
|
||||
|
@ -11,36 +11,24 @@
|
||||
, darwin
|
||||
}:
|
||||
|
||||
let
|
||||
# josh-ui requires javascript dependencies, haven't tried to figure it out yet
|
||||
cargoFlags = [ "--workspace" "--exclude" "josh-ui" ];
|
||||
in
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "josh";
|
||||
version = "23.02.14";
|
||||
version = "23.12.04";
|
||||
JOSH_VERSION = "r${version}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "esrlabs";
|
||||
repo = "josh";
|
||||
rev = JOSH_VERSION;
|
||||
sha256 = "1sqa8xi5d55zshky7gicac02f67vp944hclkdsmwy0bczk9hgssr";
|
||||
sha256 = "10fspcafqnv6if5c1h8z9pf9140jvvlrch88w62wsg4w2vhaii0v";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Unreleased patch allowing compilation from the GitHub tarball download
|
||||
(fetchpatch {
|
||||
name = "josh-version-without-git.patch";
|
||||
url = "https://github.com/josh-project/josh/commit/13e7565ab029206598881391db4ddc6dface692b.patch";
|
||||
sha256 = "1l5syqj51sn7kcqvffwl6ggn5sq8wfkpviga860agghnw5dpf7ns";
|
||||
})
|
||||
|
||||
# Merged upstream, fixes builds with newer rustc
|
||||
(fetchpatch {
|
||||
name = "josh-fix-builds-with-rust-173.patch";
|
||||
url = "https://github.com/josh-project/josh/commit/7b8259b81a9acabb528ddebc4ab30fc712f756fb.patch";
|
||||
sha256 = "sha256-YfrVlH6Ox05ZbmB/15HVaFlOyRTOFbYflq0edi6/X9k=";
|
||||
includes = [ "josh-proxy/src/bin/josh-proxy.rs" ];
|
||||
})
|
||||
];
|
||||
|
||||
cargoSha256 = "0f6cvz2s8qs53b2g6xja38m24hafqla61s4r5za0a1dyndgms7sl";
|
||||
cargoSha256 = "1j0vl3h6f65ldg80bgryh1mz423lcrcdkn8rmajya1850pfxk3w3";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
@ -54,11 +42,8 @@ rustPlatform.buildRustPackage rec {
|
||||
darwin.Security
|
||||
];
|
||||
|
||||
cargoBuildFlags = [
|
||||
"-p" "josh"
|
||||
"-p" "josh-proxy"
|
||||
# TODO: josh-ui
|
||||
];
|
||||
cargoBuildFlags = cargoFlags;
|
||||
cargoTestFlags = cargoFlags;
|
||||
|
||||
postInstall = ''
|
||||
wrapProgram "$out/bin/josh-proxy" --prefix PATH : "${git}/bin"
|
||||
|
@ -53,6 +53,7 @@
|
||||
, libdatachannel
|
||||
, libvpl
|
||||
, qrcodegencpp
|
||||
, nix-update-script
|
||||
}:
|
||||
|
||||
let
|
||||
@ -61,13 +62,13 @@ in
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "obs-studio";
|
||||
version = "30.0.2";
|
||||
version = "30.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "obsproject";
|
||||
repo = finalAttrs.pname;
|
||||
rev = finalAttrs.version;
|
||||
sha256 = "sha256-8pX1kqibrtDIaE1+/Pey1A5bu6MwFTXLrBOah4rsF+4=";
|
||||
sha256 = "sha256-9rf3UGazEL5Obd6tqDwM5LOC6D1X6HNzs5sn5z1tOCA=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
@ -76,25 +77,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
./Enable-file-access-and-universal-access-for-file-URL.patch
|
||||
./fix-nix-plugin-path.patch
|
||||
|
||||
# Backport ffmpeg 6.1 / GCC 13 build fixes
|
||||
# FIXME: remove in next release
|
||||
(fetchpatch {
|
||||
url = "https://github.com/obsproject/obs-studio/commit/cd784644f5e82b9988043f229c19603289c6d32c.patch";
|
||||
hash = "sha256-S4JE5kgr4x3uMHY2GRh0GBJpb7o/wYZb/v0CDITFNnQ=";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://github.com/obsproject/obs-studio/commit/758b47d4ed9a25b8d64ad481d8d039990b9e57c9.patch";
|
||||
hash = "sha256-jYpjwhx6e+dhN3kzbd6FcdjQ+WhIX0/BOu9PSkt+2yI=";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://github.com/obsproject/obs-studio/commit/4b5be75c7e4b8cee908ed4a02fe0078285b4e8c9.patch";
|
||||
hash = "sha256-tuOevhyxchwG42ilrplbiWoiDAKaY4HgzShlvp4VSQI=";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://github.com/obsproject/obs-studio/commit/6e080a68067b27fe5463f0f4eee7df690451f3d7.patch";
|
||||
hash = "sha256-nbn/q3uszoHaDvaW8Et1MS1sgQzMsJRmjGSMHzUxV70=";
|
||||
})
|
||||
|
||||
# Fix libobs.pc for plugins on non-x86 systems
|
||||
(fetchpatch {
|
||||
name = "fix-arm64-cmake.patch";
|
||||
@ -175,6 +157,10 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
(lib.cmakeBool "ENABLE_PIPEWIRE" pipewireSupport)
|
||||
];
|
||||
|
||||
env.NIX_CFLAGS_COMPILE = toString [
|
||||
"-Wno-error=sign-compare" # https://github.com/obsproject/obs-studio/issues/10200
|
||||
];
|
||||
|
||||
dontWrapGApps = true;
|
||||
preFixup = let
|
||||
wrapperLibraries = [
|
||||
@ -202,6 +188,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
ln -s ${libcef}/lib/* $out/lib/obs-plugins/
|
||||
'';
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = with lib; {
|
||||
description = "Free and open source software for video recording and live streaming";
|
||||
longDescription = ''
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "imgcrypt";
|
||||
version = "1.1.9";
|
||||
version = "1.1.10";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "containerd";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-EStyi6RDK1G6kuaDGumZaHB4OrSrhhx/F5GsLe0amyA=";
|
||||
hash = "sha256-81jfoWHYYenGQFcQI9kk8uPnv6FcyOtcJjpo1ykdtOI=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
30
pkgs/build-support/lib/cmake.nix
Normal file
30
pkgs/build-support/lib/cmake.nix
Normal file
@ -0,0 +1,30 @@
|
||||
{ stdenv, lib }:
|
||||
|
||||
let
|
||||
inherit (lib) findFirst isString optional optionals;
|
||||
|
||||
makeCMakeFlags = { cmakeFlags ? [], ... }:
|
||||
cmakeFlags
|
||||
++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) ([
|
||||
"-DCMAKE_SYSTEM_NAME=${findFirst isString "Generic" (optional (!stdenv.hostPlatform.isRedox) stdenv.hostPlatform.uname.system)}"
|
||||
] ++ optionals (stdenv.hostPlatform.uname.processor != null) [
|
||||
"-DCMAKE_SYSTEM_PROCESSOR=${stdenv.hostPlatform.uname.processor}"
|
||||
] ++ optionals (stdenv.hostPlatform.uname.release != null) [
|
||||
"-DCMAKE_SYSTEM_VERSION=${stdenv.hostPlatform.uname.release}"
|
||||
] ++ optionals (stdenv.hostPlatform.isDarwin) [
|
||||
"-DCMAKE_OSX_ARCHITECTURES=${stdenv.hostPlatform.darwinArch}"
|
||||
] ++ optionals (stdenv.buildPlatform.uname.system != null) [
|
||||
"-DCMAKE_HOST_SYSTEM_NAME=${stdenv.buildPlatform.uname.system}"
|
||||
] ++ optionals (stdenv.buildPlatform.uname.processor != null) [
|
||||
"-DCMAKE_HOST_SYSTEM_PROCESSOR=${stdenv.buildPlatform.uname.processor}"
|
||||
] ++ optionals (stdenv.buildPlatform.uname.release != null) [
|
||||
"-DCMAKE_HOST_SYSTEM_VERSION=${stdenv.buildPlatform.uname.release}"
|
||||
] ++ optionals (stdenv.buildPlatform.canExecute stdenv.hostPlatform) [
|
||||
"-DCMAKE_CROSSCOMPILING_EMULATOR=env"
|
||||
] ++ optionals stdenv.hostPlatform.isStatic [
|
||||
"-DCMAKE_LINK_SEARCH_START_STATIC=ON"
|
||||
]);
|
||||
in
|
||||
{
|
||||
inherit makeCMakeFlags;
|
||||
}
|
35
pkgs/build-support/lib/meson.nix
Normal file
35
pkgs/build-support/lib/meson.nix
Normal file
@ -0,0 +1,35 @@
|
||||
{ stdenv, lib }:
|
||||
|
||||
let
|
||||
inherit (lib) boolToString optionals;
|
||||
|
||||
# See https://mesonbuild.com/Reference-tables.html#cpu-families
|
||||
cpuFamily = platform: with platform;
|
||||
/**/ if isAarch32 then "arm"
|
||||
else if isx86_32 then "x86"
|
||||
else platform.uname.processor;
|
||||
|
||||
makeMesonFlags = { mesonFlags ? [], ... }:
|
||||
let
|
||||
crossFile = builtins.toFile "cross-file.conf" ''
|
||||
[properties]
|
||||
bindgen_clang_arguments = ['-target', '${stdenv.targetPlatform.config}']
|
||||
needs_exe_wrapper = ${boolToString (!stdenv.buildPlatform.canExecute stdenv.hostPlatform)}
|
||||
|
||||
[host_machine]
|
||||
system = '${stdenv.targetPlatform.parsed.kernel.name}'
|
||||
cpu_family = '${cpuFamily stdenv.targetPlatform}'
|
||||
cpu = '${stdenv.targetPlatform.parsed.cpu.name}'
|
||||
endian = ${if stdenv.targetPlatform.isLittleEndian then "'little'" else "'big'"}
|
||||
|
||||
[binaries]
|
||||
llvm-config = 'llvm-config-native'
|
||||
rust = ['rustc', '--target', '${stdenv.targetPlatform.rust.rustcTargetSpec}']
|
||||
'';
|
||||
crossFlags = optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ "--cross-file=${crossFile}" ];
|
||||
in crossFlags ++ mesonFlags;
|
||||
|
||||
in
|
||||
{
|
||||
inherit makeMesonFlags;
|
||||
}
|
@ -12,7 +12,7 @@ npmInstallHook() {
|
||||
local dest="$packageOut/$(dirname "$file")"
|
||||
mkdir -p "$dest"
|
||||
cp "${npmWorkspace-.}/$file" "$dest"
|
||||
done < <(@jq@ --raw-output '.[0].files | map(.path) | join("\n")' <<< "$(npm_config_cache="$HOME/.npm" npm pack --json --dry-run --loglevel=warn --no-foreground-scripts ${npmWorkspace+--workspace=$npmWorkspace} $npmPackFlags "${npmPackFlagsArray[@]}" $npmFlags "${npmFlagsArray[@]}")")
|
||||
done < <(@jq@ --raw-output '.[0].files | map(.path | select(. | startswith("node_modules/") | not)) | join("\n")' <<< "$(npm_config_cache="$HOME/.npm" npm pack --json --dry-run --loglevel=warn --no-foreground-scripts ${npmWorkspace+--workspace=$npmWorkspace} $npmPackFlags "${npmPackFlagsArray[@]}" $npmFlags "${npmFlagsArray[@]}")")
|
||||
|
||||
# Based on code from Python's buildPythonPackage wrap.sh script, for
|
||||
# supporting both the case when makeWrapperArgs is an array and a
|
||||
|
@ -1,4 +0,0 @@
|
||||
{ callPackage, hello }:
|
||||
{
|
||||
makeSnap = callPackage ./make-snap.nix { };
|
||||
}
|
@ -1,84 +0,0 @@
|
||||
{
|
||||
runCommand, squashfsTools, closureInfo, lib, jq, writeText
|
||||
}:
|
||||
|
||||
{
|
||||
# The meta parameter is the contents of the `snap.yaml`, NOT the
|
||||
# `snapcraft.yaml`.
|
||||
#
|
||||
# - `snap.yaml` is what is inside of the final Snap,
|
||||
# - `snapcraft.yaml` is used by `snapcraft` to build snaps
|
||||
#
|
||||
# Since we skip the `snapcraft` tool, we skip the `snapcraft.yaml`
|
||||
# file. For more information:
|
||||
#
|
||||
# https://docs.snapcraft.io/snap-format
|
||||
#
|
||||
# Note: unsquashfs'ing an existing snap from the store can be helpful
|
||||
# for determining what you you're missing.
|
||||
#
|
||||
meta
|
||||
}: let
|
||||
snap_yaml = let
|
||||
# Validate the snap's meta contains a name.
|
||||
# Also: automatically set the `base` parameter and the layout for
|
||||
# the `/nix` bind.
|
||||
validate = { name, ... } @ args:
|
||||
args // {
|
||||
# Combine the provided arguments with the required options.
|
||||
|
||||
# base: built from https://github.com/NixOS/snapd-nix-base
|
||||
# and published as The NixOS Foundation on the Snapcraft store.
|
||||
base = "nix-base";
|
||||
layout = (args.layout or {}) // {
|
||||
# Bind mount the Snap's root nix directory to `/nix` in the
|
||||
# execution environment's filesystem namespace.
|
||||
"/nix".bind = "$SNAP/nix";
|
||||
};
|
||||
};
|
||||
in writeText "snap.yaml"
|
||||
(builtins.toJSON (validate meta));
|
||||
|
||||
# These are specifically required by snapd, so don't change them
|
||||
# unless you've verified snapcraft / snapd can handle them. Best bet
|
||||
# is to just mirror this list against how snapcraft creates images.
|
||||
# from: https://github.com/snapcore/snapcraft/blob/b88e378148134383ffecf3658e3a940b67c9bcc9/snapcraft/internal/lifecycle/_packer.py#L96-L98
|
||||
mksquashfs_args = [
|
||||
"-noappend" "-comp" "xz" "-no-xattrs" "-no-fragments"
|
||||
|
||||
# Note: We want -all-root every time, since all the files are
|
||||
# owned by root anyway. This is true for Nix, but not true for
|
||||
# other builds.
|
||||
# from: https://github.com/snapcore/snapcraft/blob/b88e378148134383ffecf3658e3a940b67c9bcc9/snapcraft/internal/lifecycle/_packer.py#L100
|
||||
"-all-root"
|
||||
];
|
||||
|
||||
in runCommand "squashfs.img" {
|
||||
nativeBuildInputs = [ squashfsTools jq ];
|
||||
|
||||
closureInfo = closureInfo {
|
||||
rootPaths = [ snap_yaml ];
|
||||
};
|
||||
} ''
|
||||
root=$PWD/root
|
||||
mkdir $root
|
||||
|
||||
(
|
||||
# Put the snap.yaml in to `/meta/snap.yaml`, setting the version
|
||||
# to the hash part of the store path
|
||||
mkdir $root/meta
|
||||
version=$(echo $out | cut -d/ -f4 | cut -d- -f1)
|
||||
cat ${snap_yaml} | jq ". + { version: \"$version\" }" \
|
||||
> $root/meta/snap.yaml
|
||||
)
|
||||
|
||||
(
|
||||
# Copy the store closure in to the root
|
||||
mkdir -p $root/nix/store
|
||||
cat $closureInfo/store-paths | xargs -I{} cp -r {} $root/nix/store/
|
||||
)
|
||||
|
||||
# Generate the squashfs image.
|
||||
mksquashfs $root $out \
|
||||
${lib.concatStringsSep " " mksquashfs_args}
|
||||
''
|
@ -5,14 +5,14 @@
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "ad-miner";
|
||||
version = "1.1.0";
|
||||
version = "1.2.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Mazars-Tech";
|
||||
repo = "AD_Miner";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-eAcnGS0HLrTqc/WVKNNwYA89GK233QZj4Gfggt4S8R8=";
|
||||
hash = "sha256-o1RXuyX2dV0fQwXEeTgmeMYKXiKAqrl+fV8zi1J16Ic=";
|
||||
};
|
||||
|
||||
# All requirements are pinned
|
||||
|
@ -5,13 +5,13 @@
|
||||
}:
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "arxiv-latex-cleaner";
|
||||
version = "1.0.4";
|
||||
version = "1.0.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "google-research";
|
||||
repo = "arxiv-latex-cleaner";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-Dr0GyivoPjQwVYzvN1JIWhuLz60TQtz4MBB8n1hm6Lo=";
|
||||
hash = "sha256-Yxp8XtlISVZfEjCEJ/EXsIGMCHDPOwPcjkJxECeXvYk=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
|
@ -5,21 +5,19 @@
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "dep-scan";
|
||||
version = "5.2.11";
|
||||
version = "5.2.12";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "owasp-dep-scan";
|
||||
repo = "dep-scan";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-BEvuCdQcr35jWe9r9KR4Uov1zNVxfPSnENNPgy4N+nc=";
|
||||
hash = "sha256-UoppQAokiWBcgTcSmwfoqrDKt/QHYd2NBR3CpNOqI4k=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace pytest.ini \
|
||||
--replace " --cov-append --cov-report term --cov depscan" ""
|
||||
substituteInPlace pyproject.toml \
|
||||
--replace "oras==0.1.26" "oras~=0.1.26"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = with python3.pkgs; [
|
||||
|
@ -7,13 +7,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "dmarc-report-converter";
|
||||
version = "0.7.0";
|
||||
version = "0.7.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tierpod";
|
||||
repo = "dmarc-report-converter";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-doipM3SZmU/QUglN0UA2IpRgrhdMnuCmMPRs0OWRxPE=";
|
||||
hash = "sha256-cP96tiBpMFNEHuIF0sovi+Q4yW8wMUqr138RyMOFoho=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
@ -120,7 +120,7 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "fwupd";
|
||||
version = "1.9.14";
|
||||
version = "1.9.15";
|
||||
|
||||
# libfwupd goes to lib
|
||||
# daemon, plug-ins and libfwupdplugin go to out
|
||||
@ -131,7 +131,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
owner = "fwupd";
|
||||
repo = "fwupd";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-pG4pRksHw8p8rz99UnLURP+ROE+P+ySt4IlfmyRc1CQ=";
|
||||
hash = "sha256-w0egw5FKNAOnIYjp2RUx74taivnClQmRfhaFHdKOGZc=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
33
pkgs/by-name/g3/g3kb-switch/package.nix
Normal file
33
pkgs/by-name/g3/g3kb-switch/package.nix
Normal file
@ -0,0 +1,33 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, cmake
|
||||
, pkg-config
|
||||
, glib
|
||||
, fetchFromGitHub
|
||||
}:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "g3kb-switch";
|
||||
version = "1.4";
|
||||
src = fetchFromGitHub {
|
||||
owner = "lyokha";
|
||||
repo = "g3kb-switch";
|
||||
rev = version;
|
||||
sha256 = "sha256-mcZduHcteZ+nS0YEZG5DfmpA8xrnLhwxumq6hLuLPIs=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
];
|
||||
buildInputs = [
|
||||
glib
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/lyokha/g3kb-switch";
|
||||
description = "CLI keyboard layout switcher for GNOME Shell";
|
||||
license = licenses.bsd2;
|
||||
maintainers = with maintainers; [ Freed-Wu ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
42
pkgs/by-name/gi/git-instafix/package.nix
Normal file
42
pkgs/by-name/gi/git-instafix/package.nix
Normal file
@ -0,0 +1,42 @@
|
||||
{ git
|
||||
, lib
|
||||
, libgit2
|
||||
, makeWrapper
|
||||
, rustPlatform
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
}:
|
||||
let
|
||||
inherit
|
||||
(lib)
|
||||
licenses
|
||||
maintainers
|
||||
;
|
||||
|
||||
version = "0.2.1";
|
||||
in
|
||||
rustPlatform.buildRustPackage {
|
||||
pname = "git-instafix";
|
||||
inherit version;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "quodlibetor";
|
||||
repo = "git-instafix";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-rWHiaZji3GECsiMqvEGC/tF+K29ZLlY6+TCNxtixHQo=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-t5vlr3YxjRPqMHwPqVjWul4RdSg0hiTWUQxcJmGKiTQ=";
|
||||
|
||||
buildInputs = [ libgit2 ];
|
||||
nativeCheckInputs = [ git ];
|
||||
|
||||
meta = {
|
||||
description = "Quickly fix up an old commit using your currently-staged changes";
|
||||
homepage = "https://github.com/quodlibetor/git-instafix";
|
||||
license = with licenses; [ mit asl20 ];
|
||||
maintainers = with maintainers; [ mightyiam ];
|
||||
changelog = "https://github.com/quodlibetor/git-instafix/releases/tag/v${version}";
|
||||
broken = stdenv.isDarwin;
|
||||
};
|
||||
}
|
28
pkgs/by-name/op/openapi-tui/package.nix
Normal file
28
pkgs/by-name/op/openapi-tui/package.nix
Normal file
@ -0,0 +1,28 @@
|
||||
{ lib
|
||||
, rustPlatform
|
||||
, fetchFromGitHub
|
||||
, pkg-config
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "openapi-tui";
|
||||
version = "0.4.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "zaghaghi";
|
||||
repo = "openapi-tui";
|
||||
rev = version;
|
||||
hash = "sha256-7xkjlX3+/hdVN2PXoiXbouSoMLy0Qe8uMRlPHWJO5Ts=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-U8TOms8C7vV64OKKdJhMAoOha9s2lBqfBWU7pyZ0h/s=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Terminal UI to list, browse and run APIs defined with openapi spec";
|
||||
homepage = "https://github.com/zaghaghi/openapi-tui";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ matthiasbeyer ];
|
||||
mainProgram = "openapi-tui";
|
||||
};
|
||||
}
|
||||
|
@ -17,13 +17,13 @@
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "opencomposite";
|
||||
version = "unstable-2024-02-16";
|
||||
version = "unstable-2024-03-04";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "znixian";
|
||||
repo = "OpenOVR";
|
||||
rev = "737bbedd29343bc2f808804e2b24302390a07655";
|
||||
hash = "sha256-azb7T0d0YMQRc0Slq1tzNj6bOmCzfHW3ciY9lN+RTao=";
|
||||
rev = "1bfdf67358add5f573efedbec1fa65d18b790e0e";
|
||||
hash = "sha256-qF5oMI9B5a1oE2gQb/scbom/39Efccja0pTPHHaHMA8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
@ -8,15 +8,15 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "rwpspread";
|
||||
version = "0.2.3";
|
||||
version = "0.2.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "0xk1f0";
|
||||
repo = "rwpspread";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-gtqcogOjWvie7XK9E9KhuSsUh+aWEqZB7NVTqXH6R7Q=";
|
||||
hash = "sha256-ACYELJU7Y4Xv+abQ/Vgo3xaP+jbO43K/CBE2yuEddko=";
|
||||
};
|
||||
cargoHash = "sha256-3yWc1wi5jakBG2CTWpB4uhqIzG0/ufQhyd61EtpibIk=";
|
||||
cargoHash = "sha256-ZNWDUOEhh36YjbGZpljyXsL0g7iW6GheLi2WxCj4w+s=";
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
, gdal
|
||||
, wxGTK32
|
||||
, proj
|
||||
, dxflib
|
||||
, libsForQt5
|
||||
, curl
|
||||
, libiodbc
|
||||
, xz
|
||||
@ -17,7 +17,7 @@
|
||||
, opencv
|
||||
, vigra
|
||||
, postgresql
|
||||
, Cocoa
|
||||
, darwin
|
||||
, unixODBC
|
||||
, poppler
|
||||
, hdf5
|
||||
@ -31,11 +31,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "saga";
|
||||
version = "9.3.1";
|
||||
version = "9.3.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/saga-gis/saga-${version}.tar.gz";
|
||||
sha256 = "sha256-QrpEbb8zN003Afnu9UZUanWE0lIiy95POSWd1jB8EtA=";
|
||||
sha256 = "sha256-741O6C7amxSnOOTledF0izmVhiT79tFI4+EOtpNqP2Q=";
|
||||
};
|
||||
|
||||
sourceRoot = "saga-${version}/saga-gis";
|
||||
@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
buildInputs = [
|
||||
curl
|
||||
dxflib
|
||||
libsForQt5.dxflib
|
||||
fftw
|
||||
libsvm
|
||||
hdf5
|
||||
@ -66,7 +66,7 @@ stdenv.mkDerivation rec {
|
||||
# See https://groups.google.com/forum/#!topic/nix-devel/h_vSzEJAPXs
|
||||
# for why the have additional buildInputs on darwin
|
||||
++ lib.optionals stdenv.isDarwin [
|
||||
Cocoa
|
||||
darwin.apple_sdk.frameworks.Cocoa
|
||||
unixODBC
|
||||
poppler
|
||||
netcdf
|
||||
@ -74,7 +74,7 @@ stdenv.mkDerivation rec {
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DOpenMP_SUPPORT=${if stdenv.isDarwin then "OFF" else "ON"}"
|
||||
(lib.cmakeBool "OpenMP_SUPPORT" (!stdenv.isDarwin))
|
||||
];
|
||||
|
||||
meta = with lib; {
|
@ -2,7 +2,7 @@
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, makeDesktopItem
|
||||
, openjdk19
|
||||
, openjdk21
|
||||
, gtk3
|
||||
, glib
|
||||
, gnome
|
||||
@ -11,15 +11,15 @@
|
||||
, which
|
||||
}:
|
||||
let
|
||||
jre = openjdk19;
|
||||
jre = openjdk21;
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "smartgithg";
|
||||
version = "23.1.1";
|
||||
version = "23.1.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.syntevo.com/downloads/smartgit/smartgit-linux-${builtins.replaceStrings [ "." ] [ "_" ] version}.tar.gz";
|
||||
sha256 = "sha256-LXB+OymApJjL4bgOZ8Vfd193jZHVbQ6G2zmrHNE/OJk=";
|
||||
hash = "sha256-gXfHmRPUhs8s7IQIhN0vQyx8NpLrS28ufNNYOMA4AXw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ wrapGAppsHook ];
|
@ -5,11 +5,11 @@
|
||||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "lxgw-neoxihei";
|
||||
version = "1.120";
|
||||
version = "1.120.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/lxgw/LxgwNeoXiHei/releases/download/v${version}/LXGWNeoXiHei.ttf";
|
||||
hash = "sha256-rQ+gbmUYr+iWm5WCUSqb+8+aMD5JZUsbPXZ0Nio2cl8=";
|
||||
hash = "sha256-shzJ5y2mjvodtSHct9gm+09CludxUpR38qi9zvewjaQ=";
|
||||
};
|
||||
|
||||
dontUnpack = true;
|
||||
|
@ -79,6 +79,10 @@ def get_archive_derivation(uuid, artifact_name, url, sha256):
|
||||
url = "{url}";
|
||||
sha256 = "{sha256}";
|
||||
}};
|
||||
preUnpack = ''
|
||||
mkdir unpacked
|
||||
cd unpacked
|
||||
'';
|
||||
sourceRoot = ".";
|
||||
dontConfigure = true;
|
||||
dontBuild = true;
|
||||
|
@ -29,13 +29,13 @@ assert enableViewer -> wrapGAppsHook != null;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "aravis";
|
||||
version = "0.8.30";
|
||||
version = "0.8.31";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "AravisProject";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-1OxvLpzEKxIXiLJIUr+hCx+sxnH9Z5dBM5Lug1acCok=";
|
||||
sha256 = "sha256-CsXnwrZqBCS7JVAB/7JlAAvks5HnYxgrdc4Bmg68QdE=";
|
||||
};
|
||||
|
||||
outputs = [ "bin" "dev" "out" "lib" ];
|
||||
|
@ -234,18 +234,19 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
'';
|
||||
nativeInstallCheckInputs = with python3.pkgs; [
|
||||
pytestCheckHook
|
||||
pytest-benchmark
|
||||
pytest-env
|
||||
filelock
|
||||
lxml
|
||||
];
|
||||
pytestFlagsArray = [
|
||||
"--benchmark-disable"
|
||||
];
|
||||
disabledTestPaths = [
|
||||
# tests that attempt to make network requests
|
||||
"gcore/vsis3.py"
|
||||
"gdrivers/gdalhttp.py"
|
||||
"gdrivers/wms.py"
|
||||
|
||||
# disable benchmarks
|
||||
"benchmark/*"
|
||||
];
|
||||
disabledTests = [
|
||||
# tests that attempt to make network requests
|
||||
|
@ -14,13 +14,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libdatachannel";
|
||||
version = "0.19.5";
|
||||
version = "0.20.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "paullouisageneau";
|
||||
repo = pname;
|
||||
repo = "libdatachannel";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-XTfe0NqDQWx4ISgEiUbzACH9csaG+IrUvwss07dnz80=";
|
||||
hash = "sha256-bBSsD845iwCMA7TdMBxzezjNbMaGwvRq6rvY/8NLYRU=";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
@ -81,8 +81,8 @@
|
||||
# nix build .#mesa .#pkgsi686Linux.mesa .#pkgsCross.aarch64-multiplatform.mesa .#pkgsMusl.mesa
|
||||
|
||||
let
|
||||
version = "24.0.2";
|
||||
hash = "sha256-lOKKjtrQbY7SuD61PyU7nrWqYsMID5OXAuGzA5tWyeg=";
|
||||
version = "24.0.3";
|
||||
hash = "sha256-d67JoqN7fTWW6hZAs8xT0LXZs7Uqvtid4H43F+kb/b4=";
|
||||
|
||||
# Release calendar: https://www.mesa3d.org/release-calendar.html
|
||||
# Release frequency: https://www.mesa3d.org/releasing.html#schedule
|
||||
|
@ -1,53 +1,44 @@
|
||||
{ lib
|
||||
, aiohttp
|
||||
, async-timeout
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, pillow
|
||||
, pytest-asyncio
|
||||
, pytestCheckHook
|
||||
, pythonOlder
|
||||
, setuptools
|
||||
, wheel
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "aioslimproto";
|
||||
version = "2.3.3";
|
||||
format = "pyproject";
|
||||
version = "3.0.1";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.10";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "home-assistant-libs";
|
||||
repo = pname;
|
||||
repo = "aioslimproto";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-d+PEzCF1Cw/7NmumxIRRlr3hojpNsZM/JMQ0KWdosXk=";
|
||||
hash = "sha256-K7z34fT0PQ5qcV+66VbhYTUhCjqW/OjPnrygBFKIW1k=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# https://github.com/home-assistant-libs/aioslimproto/pull/189
|
||||
(fetchpatch {
|
||||
name = "unpin-setuptools-version.patch";
|
||||
url = "https://github.com/home-assistant-libs/aioslimproto/commit/06fd56987be8903ff147bad38af84b21bc31bc18.patch";
|
||||
hash = "sha256-kTu1+IwDrcdqelyK/vfhxw8MQBis5I1jag7YTytKQhs=";
|
||||
})
|
||||
];
|
||||
postPatch = ''
|
||||
substituteInPlace pyproject.toml \
|
||||
--replace-fail "--cov" ""
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
setuptools
|
||||
wheel
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
aiohttp
|
||||
async-timeout
|
||||
pillow
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytest-asyncio
|
||||
pytestCheckHook
|
||||
];
|
||||
# Module has no tests
|
||||
doCheck = false;
|
||||
|
||||
pythonImportsCheck = [
|
||||
"aioslimproto"
|
||||
|
@ -1,11 +1,12 @@
|
||||
{ lib, buildPythonPackage, fetchPypi }:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "Autologging";
|
||||
pname = "autologging";
|
||||
version = "1.3.2";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
pname = "Autologging";
|
||||
inherit version;
|
||||
sha256 = "117659584d8aab8cf62046f682f8e57b54d958b8571c737fa8bf15c32937fbb6";
|
||||
extension = "zip";
|
||||
};
|
||||
|
@ -13,7 +13,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "axis";
|
||||
version = "53";
|
||||
version = "54";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.11";
|
||||
@ -22,7 +22,7 @@ buildPythonPackage rec {
|
||||
owner = "Kane610";
|
||||
repo = "axis";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-M5uaRiZP66RApSztvgzzpAUBKCcSCqC6fxzmB52mibY=";
|
||||
hash = "sha256-Atx9Lg0WgKcdnXqHieJFadjMPhK1F2qifSa89XxT8J8=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "botocore-stubs";
|
||||
version = "1.34.61";
|
||||
version = "1.34.62";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@ -17,7 +17,7 @@ buildPythonPackage rec {
|
||||
src = fetchPypi {
|
||||
pname = "botocore_stubs";
|
||||
inherit version;
|
||||
hash = "sha256-yOzieubWIEqCOipt9HEo1vnhxOYyUuHhHYb2NemLQVk=";
|
||||
hash = "sha256-i0iPzIqL0zsA08frxJB65Eys6o/qk6Tf2sf6tfBlAMg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -23,7 +23,7 @@
|
||||
}:
|
||||
buildPythonPackage rec {
|
||||
pname = "clickhouse-connect";
|
||||
version = "0.7.2";
|
||||
version = "0.7.3";
|
||||
|
||||
format = "setuptools";
|
||||
|
||||
@ -33,7 +33,7 @@ buildPythonPackage rec {
|
||||
repo = "clickhouse-connect";
|
||||
owner = "ClickHouse";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-UOS0Z8KsMqyFBPfVc8Lag7zfw1DNgNDEnvAbmG15FGg=";
|
||||
hash = "sha256-MA902Dyx3a8GTZ52LYY0UrWqNEFmibqIsdz6PFZIkIY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cython_3 ];
|
||||
|
@ -33,7 +33,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "dbt-core";
|
||||
version = "1.7.9";
|
||||
version = "1.7.10";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
@ -42,7 +42,7 @@ buildPythonPackage rec {
|
||||
owner = "dbt-labs";
|
||||
repo = "dbt-core";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-ff+cdY6xy14w30BDn1ct/2Q+4j8cQupJrJHb4vO58J0=";
|
||||
hash = "sha256-0cKzQjAnj0JMrHyA/gOgYceM6g1URJFgQtp90m09Nkw=";
|
||||
};
|
||||
|
||||
sourceRoot = "${src.name}/core";
|
||||
|
@ -13,7 +13,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "gassist-text";
|
||||
version = "0.0.10";
|
||||
version = "0.0.11";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@ -22,7 +22,7 @@ buildPythonPackage rec {
|
||||
owner = "tronikos";
|
||||
repo = "gassist_text";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-BSMflCSYNAaQVTOqKWyr9U9Q70ley1jjF6ndOVum+GA=";
|
||||
hash = "sha256-XFHyI48TuPBJjHA4dLSpYv62Y5zK0knrIqNKBoWnEeU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "gvm-tools";
|
||||
version = "24.1.0";
|
||||
version = "24.3.0";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.9";
|
||||
@ -19,7 +19,7 @@ buildPythonPackage rec {
|
||||
owner = "greenbone";
|
||||
repo = "gvm-tools";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-4uYOhsnprYybt5EB/b4LW8/9cn0Nahc1lYQ+DwPNlOU=";
|
||||
hash = "sha256-LLXMdT1q6IWsbsRjflpGN5pcjUCXWzdFK3gMw4mBm0U=";
|
||||
};
|
||||
|
||||
__darwinAllowLocalNetworking = true;
|
||||
|
@ -2,7 +2,6 @@
|
||||
, aiohttp
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, freezegun
|
||||
, orjson
|
||||
, pydevccu
|
||||
@ -19,7 +18,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "hahomematic";
|
||||
version = "2024.3.0";
|
||||
version = "2024.3.1";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.11";
|
||||
@ -28,19 +27,9 @@ buildPythonPackage rec {
|
||||
owner = "danielperna84";
|
||||
repo = "hahomematic";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-zSGzdj51StlLMmFZzprQUn6Ry9ahJPUq/Z9hVlKn8oA=";
|
||||
hash = "sha256-/ulqUyplNu8YTHJKcfNPYzyzPvGkLFtoJDu5SqvfQrs=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Update pydevccu, extend ruff usage
|
||||
# https://github.com/danielperna84/hahomematic/pull/1454
|
||||
(fetchpatch {
|
||||
url = "https://github.com/danielperna84/hahomematic/commit/81a9a1c9291e2271ac0b995e7dd4725cfe99c7fe.patch";
|
||||
includes = [ "tests/test_central_pydevccu.py" ];
|
||||
hash = "sha256-l/wNK0/nOZHyrFp+in3ozmMyN5ifo514esGPJVZlb1g=";
|
||||
})
|
||||
];
|
||||
|
||||
__darwinAllowLocalNetworking = true;
|
||||
|
||||
postPatch = ''
|
||||
|
@ -10,7 +10,7 @@
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "Kivy";
|
||||
pname = "kivy";
|
||||
version = "2.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
|
@ -8,7 +8,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "llama-parse";
|
||||
version = "0.3.8";
|
||||
version = "0.3.9";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
@ -16,7 +16,7 @@ buildPythonPackage rec {
|
||||
src = fetchPypi {
|
||||
pname = "llama_parse";
|
||||
inherit version;
|
||||
hash = "sha256-PUc5cmaH5mAufKy8nxfUONOZiaSnMyT8mRIrOu+jhKQ=";
|
||||
hash = "sha256-vra6Tbt6V3CKtvEPfVMUFZjjneGgQKYeb1pxw6XVaxM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -385,7 +385,7 @@ rec {
|
||||
|
||||
mypy-boto3-ivs = buildMypyBoto3Package "ivs" "1.34.45" "sha256-Ilrtk6ZF1p3GNuZrtiEiNXi3bHI3MYNr6bDpJ8sf4Fg=";
|
||||
|
||||
mypy-boto3-ivs-realtime = buildMypyBoto3Package "ivs-realtime" "1.34.0" "sha256-x+B14roN4jNXeLp+Tmwtj28OMeGe80qLMaIbVCzulbY=";
|
||||
mypy-boto3-ivs-realtime = buildMypyBoto3Package "ivs-realtime" "1.34.62" "sha256-/8P/S2xdYub8/tC0yaUbUfcxfDKpDnfAvmqneXFcAOo=";
|
||||
|
||||
mypy-boto3-ivschat = buildMypyBoto3Package "ivschat" "1.34.0" "sha256-eNwL7uUI7x30KJwNO5U/0XSV1O4YZYu/zYvGQgz7p+8=";
|
||||
|
||||
@ -411,7 +411,7 @@ rec {
|
||||
|
||||
mypy-boto3-kinesisanalytics = buildMypyBoto3Package "kinesisanalytics" "1.34.0" "sha256-eEoSmwMTa/hsbKbuKuzAZv4jHljGKq3b5Rw7K2Pgc50=";
|
||||
|
||||
mypy-boto3-kinesisanalyticsv2 = buildMypyBoto3Package "kinesisanalyticsv2" "1.34.0" "sha256-ZxVW6BKUdgnWKk4J3B2I0vlSLZRR+Dua3Sb/mzIDFNE=";
|
||||
mypy-boto3-kinesisanalyticsv2 = buildMypyBoto3Package "kinesisanalyticsv2" "1.34.62" "sha256-bL6EKRjfIIUUIMSpoE0BWeAg3xb2xbKi8NBpHSaEEFg=";
|
||||
|
||||
mypy-boto3-kinesisvideo = buildMypyBoto3Package "kinesisvideo" "1.34.48" "sha256-uYSkwOuYKF3B+sj5IWbDL789Xue2yNY9g14j/2b6k6w=";
|
||||
|
||||
@ -619,7 +619,7 @@ rec {
|
||||
|
||||
mypy-boto3-rum = buildMypyBoto3Package "rum" "1.34.49" "sha256-Mq2H+13cjxYRwFfxJpWTAb+W5bx+Vew+jl+zbreRIkQ=";
|
||||
|
||||
mypy-boto3-s3 = buildMypyBoto3Package "s3" "1.34.14" "sha256-ccOasGI820QtIltxwXg/alE8/0xKE1BaLvuy46/y6WU=";
|
||||
mypy-boto3-s3 = buildMypyBoto3Package "s3" "1.34.62" "sha256-HWDLEJB667VrTYZYircK5C23oRSGnwWLu7tNWG6yLm0=";
|
||||
|
||||
mypy-boto3-s3control = buildMypyBoto3Package "s3control" "1.34.18" "sha256-53s5ii1gFX9toigiazEtS5Jogg3VFFr+1/uiLzoU7Uo=";
|
||||
|
||||
|
@ -22,7 +22,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "orbax-checkpoint";
|
||||
version = "0.5.3";
|
||||
version = "0.5.5";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.9";
|
||||
@ -30,7 +30,7 @@ buildPythonPackage rec {
|
||||
src = fetchPypi {
|
||||
pname = "orbax_checkpoint";
|
||||
inherit version;
|
||||
hash = "sha256-FXKQTLv+hROSfg2A+AtzDg7y9oAzLTwoENhENTKTi0U=";
|
||||
hash = "sha256-zry5byLxFzah+e52x4yIi6roU3Jox/9mY62cujB2xlU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -35,7 +35,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "python-lsp-server";
|
||||
version = "1.10.0";
|
||||
version = "1.10.1";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
@ -44,7 +44,7 @@ buildPythonPackage rec {
|
||||
owner = "python-lsp";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-dh33m7wgOwUETjdNqqDKZnpTgbrYCg9/XXC296tHm4w=";
|
||||
hash = "sha256-tY+BE8DAajZKwlZ2D7uCr9LC7D61ULkhV8Z9EpRu6j0=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
@ -1,27 +1,30 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchPypi
|
||||
, six
|
||||
, setuptools
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "python-ptrace";
|
||||
version = "0.9.8";
|
||||
format = "setuptools";
|
||||
version = "0.9.9";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "1e3bc6223f626aaacde8a7979732691c11b13012e702fee9ae16c87f71633eaa";
|
||||
hash = "sha256-Vrv+9E6vOne+SBOMyldnzfRx6CeP4Umfm3LxUZB/Jc8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
setuptools
|
||||
];
|
||||
|
||||
# requires distorm, which is optionally
|
||||
doCheck = false;
|
||||
|
||||
propagatedBuildInputs = [ six ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Python binding of ptrace library";
|
||||
homepage = "https://github.com/vstinner/python-ptrace";
|
||||
changelog = "https://github.com/vstinner/python-ptrace/blob/${version}/doc/changelog.rst";
|
||||
license = licenses.gpl2;
|
||||
maintainers = with maintainers; [ mic92 ];
|
||||
};
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "restrictedpython";
|
||||
version = "7.0";
|
||||
version = "7.1";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@ -18,7 +18,7 @@ buildPythonPackage rec {
|
||||
src = fetchPypi {
|
||||
pname = "RestrictedPython";
|
||||
inherit version;
|
||||
hash = "sha256-U3BK+7w1D9yPskVEE2e+Zxyfg4CGkgGy6EUudPzj2xQ=";
|
||||
hash = "sha256-h1rrUcE51440zvhgXcZTCbRJFoBg3QhVGh/p7bR8uaU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -11,7 +11,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "scikit-hep-testdata";
|
||||
version = "0.4.39";
|
||||
version = "0.4.40";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.6";
|
||||
@ -20,7 +20,7 @@ buildPythonPackage rec {
|
||||
owner = "scikit-hep";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-tcKEJrqB7cblcmH4PtSmx0heUew2+aDE4+mk2v9cUuo=";
|
||||
hash = "sha256-6PUAam7eDWQOMS3SVIVJXvqQLBE187yUbkiyFZ+ojcU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -14,7 +14,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "systembridgeconnector";
|
||||
version = "4.0.3";
|
||||
version = "4.0.4";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.11";
|
||||
@ -23,20 +23,21 @@ buildPythonPackage rec {
|
||||
owner = "timmo001";
|
||||
repo = "system-bridge-connector";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-AjdWDEotz5AUo+auxBqXu7EMv/Kt97DZ6vOrFunZ2Fw=";
|
||||
hash = "sha256-Guh9qbRLp+b2SuFgBx7jf16vRShuHJBi3WOVn9Akce8=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch2 {
|
||||
url = "https://github.com/timmo001/system-bridge-connector/commit/a9030cf175ab4b51d77010de89e83cbb426448c2.patch";
|
||||
hash = "sha256-0N8knoaEvymSvC92BxDKR0j52oasvOzWosFtHMI2Qmc=";
|
||||
})
|
||||
(fetchpatch2 {
|
||||
url = "https://github.com/timmo001/system-bridge-connector/commit/25aa172775ee983dc4a29b8dda880aefbad70040.patch";
|
||||
hash = "sha256-PedW1S1gZmWkS4sJBqSAx3aoA1KppYS5Xlhoaxqkcd4=";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace systembridgeconnector/_version.py \
|
||||
--replace-fail ", dev=0" ""
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
setuptools
|
||||
];
|
||||
|
@ -2,7 +2,6 @@
|
||||
, buildPythonPackage
|
||||
, pythonOlder
|
||||
, fetchFromGitHub
|
||||
, fetchpatch2
|
||||
, setuptools
|
||||
, incremental
|
||||
, pytestCheckHook
|
||||
@ -10,7 +9,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "systembridgemodels";
|
||||
version = "4.0.1";
|
||||
version = "4.0.3";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.11";
|
||||
@ -19,15 +18,13 @@ buildPythonPackage rec {
|
||||
owner = "timmo001";
|
||||
repo = "system-bridge-models";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-9k85tqJO/YtkYncfNQBelmDkd3SYtf6SHURfumvqUo0=";
|
||||
hash = "sha256-5rbj58E8iDu2Rjf0k9Y1UoF3hbN7ntkx6dm20HYpw6I=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch2 {
|
||||
url = "https://github.com/timmo001/system-bridge-models/commit/82fcee37cb302bc77384165b2ce10f2234c2a14a.patch";
|
||||
hash = "sha256-tZSaWVUPCJmuzkae9LBTdyZ3UINMvrSMbdS5AvbId8Q=";
|
||||
})
|
||||
];
|
||||
postPatch = ''
|
||||
substituteInPlace systembridgemodels/_version.py \
|
||||
--replace-fail ", dev=0" ""
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
setuptools
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "tencentcloud-sdk-python";
|
||||
version = "3.0.1107";
|
||||
version = "3.0.1108";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.9";
|
||||
@ -18,7 +18,7 @@ buildPythonPackage rec {
|
||||
owner = "TencentCloud";
|
||||
repo = "tencentcloud-sdk-python";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-ulvBheV97APX/y8tx0zzhP8Lih0o8Kwfn9o4SB5tCOo=";
|
||||
hash = "sha256-aeQPoVHrRMxXzutaBkEjD2ek4zU/ZV4aBgm17r0ZRPU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -13,7 +13,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "timezonefinder";
|
||||
version = "6.4.1";
|
||||
version = "6.5.0";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.9";
|
||||
@ -22,7 +22,7 @@ buildPythonPackage rec {
|
||||
owner = "jannikmi";
|
||||
repo = "timezonefinder";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-e9Zx236X76GYFuADCw9+5HWs2craeq44gVNclkc4th0=";
|
||||
hash = "sha256-V5g1zTdXWeJba71/eUGQbF9XOhMQuzivtGkqGD4OHMY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -6,12 +6,12 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "types-docutils";
|
||||
version = "0.20.0.20240311";
|
||||
version = "0.20.0.20240314";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-sp3zYunm78umjieveBNZAtVmFPb6dsBz0pmJJy7tsGk=";
|
||||
hash = "sha256-Lq158JJnPILx+3u4yHugGrrVTbZlB2QsBAseaE4j7Ug=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -5,14 +5,14 @@
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "checkov";
|
||||
version = "3.2.37";
|
||||
version = "3.2.38";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bridgecrewio";
|
||||
repo = "checkov";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-aZKfS/xJYy5P+/xqReKty6yNQi8CcVfe4pOxios1/O4=";
|
||||
hash = "sha256-AilJpggqi0c9KL/jY9XTGBNu21W1uo2INBWheBfkSLA=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
@ -7,16 +7,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "bearer";
|
||||
version = "1.41.0";
|
||||
version = "1.42.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bearer";
|
||||
repo = "bearer";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-RwoUyEIwKGDRqkETGEo6x1U14lqBogDzsoOHQKt8lHc=";
|
||||
hash = "sha256-AcfOlTKhCntYauz3MxHBycvXBFVgnY7rBJPUwfEZUcA=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-KCsCUVO2WsKJKU/aiXgeyS01341Xf9yQnKvQ7hAkYbQ=";
|
||||
vendorHash = "sha256-g0AnL6r3dUfCIAytTknAD5aCPBsohDUMNfMAYKBebi4=";
|
||||
|
||||
subPackages = [
|
||||
"cmd/bearer"
|
||||
|
@ -1,7 +1,9 @@
|
||||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
CFPropertyList (3.0.6)
|
||||
CFPropertyList (3.0.7)
|
||||
base64
|
||||
nkf
|
||||
rexml
|
||||
activesupport (7.1.3)
|
||||
base64
|
||||
@ -22,10 +24,10 @@ GEM
|
||||
base64 (0.2.0)
|
||||
bigdecimal (3.1.6)
|
||||
claide (1.1.0)
|
||||
cocoapods (1.15.1)
|
||||
cocoapods (1.15.2)
|
||||
addressable (~> 2.8)
|
||||
claide (>= 1.0.2, < 2.0)
|
||||
cocoapods-core (= 1.15.1)
|
||||
cocoapods-core (= 1.15.2)
|
||||
cocoapods-deintegrate (>= 1.0.3, < 2.0)
|
||||
cocoapods-downloader (>= 2.1, < 3.0)
|
||||
cocoapods-plugins (>= 1.0.0, < 2.0)
|
||||
@ -40,7 +42,7 @@ GEM
|
||||
nap (~> 1.0)
|
||||
ruby-macho (>= 2.3.0, < 3.0)
|
||||
xcodeproj (>= 1.23.0, < 2.0)
|
||||
cocoapods-core (1.15.1)
|
||||
cocoapods-core (1.15.2)
|
||||
activesupport (>= 5.0, < 8)
|
||||
addressable (~> 2.8)
|
||||
algoliasearch (~> 1.0)
|
||||
@ -75,12 +77,13 @@ GEM
|
||||
i18n (1.14.1)
|
||||
concurrent-ruby (~> 1.0)
|
||||
json (2.7.1)
|
||||
minitest (5.22.0)
|
||||
minitest (5.22.2)
|
||||
molinillo (0.8.0)
|
||||
mutex_m (0.2.0)
|
||||
nanaimo (0.3.0)
|
||||
nap (1.1.0)
|
||||
netrc (0.11.0)
|
||||
nkf (0.2.0)
|
||||
public_suffix (4.0.7)
|
||||
rexml (3.2.6)
|
||||
ruby-macho (2.5.1)
|
||||
|
@ -1,7 +1,9 @@
|
||||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
CFPropertyList (3.0.6)
|
||||
CFPropertyList (3.0.7)
|
||||
base64
|
||||
nkf
|
||||
rexml
|
||||
activesupport (7.1.3)
|
||||
base64
|
||||
@ -22,10 +24,10 @@ GEM
|
||||
base64 (0.2.0)
|
||||
bigdecimal (3.1.6)
|
||||
claide (1.1.0)
|
||||
cocoapods (1.15.1)
|
||||
cocoapods (1.15.2)
|
||||
addressable (~> 2.8)
|
||||
claide (>= 1.0.2, < 2.0)
|
||||
cocoapods-core (= 1.15.1)
|
||||
cocoapods-core (= 1.15.2)
|
||||
cocoapods-deintegrate (>= 1.0.3, < 2.0)
|
||||
cocoapods-downloader (>= 2.1, < 3.0)
|
||||
cocoapods-plugins (>= 1.0.0, < 2.0)
|
||||
@ -40,7 +42,7 @@ GEM
|
||||
nap (~> 1.0)
|
||||
ruby-macho (>= 2.3.0, < 3.0)
|
||||
xcodeproj (>= 1.23.0, < 2.0)
|
||||
cocoapods-core (1.15.1)
|
||||
cocoapods-core (1.15.2)
|
||||
activesupport (>= 5.0, < 8)
|
||||
addressable (~> 2.8)
|
||||
algoliasearch (~> 1.0)
|
||||
@ -75,12 +77,13 @@ GEM
|
||||
i18n (1.14.1)
|
||||
concurrent-ruby (~> 1.0)
|
||||
json (2.7.1)
|
||||
minitest (5.22.0)
|
||||
minitest (5.22.2)
|
||||
molinillo (0.8.0)
|
||||
mutex_m (0.2.0)
|
||||
nanaimo (0.3.0)
|
||||
nap (1.1.0)
|
||||
netrc (0.11.0)
|
||||
nkf (0.2.0)
|
||||
public_suffix (4.0.7)
|
||||
rexml (3.2.6)
|
||||
ruby-macho (2.5.1)
|
||||
|
@ -63,15 +63,15 @@
|
||||
version = "3.1.6";
|
||||
};
|
||||
CFPropertyList = {
|
||||
dependencies = ["rexml"];
|
||||
dependencies = ["base64" "nkf" "rexml"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1a36zn77yyibqsfpka0i8vgf3yv98ic2b9wwlbc29566y8wpa2bq";
|
||||
sha256 = "0k1w5i4lb1z941m7ds858nly33f3iv12wvr1zav5x3fa99hj2my4";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.0.6";
|
||||
version = "3.0.7";
|
||||
};
|
||||
claide = {
|
||||
groups = ["default"];
|
||||
@ -89,10 +89,10 @@
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "19rmw9518zlcalr7vy6f10rbiya7ch86z3nfk2d6klw41ihc5hrq";
|
||||
sha256 = "02h9lk5w0ilz39cdl7fil0fpmfbzyc23whkgp4rx2a6hx0yibxgh";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.15.1";
|
||||
version = "1.15.2";
|
||||
};
|
||||
cocoapods-core = {
|
||||
dependencies = ["activesupport" "addressable" "algoliasearch" "concurrent-ruby" "fuzzy_match" "nap" "netrc" "public_suffix" "typhoeus"];
|
||||
@ -100,10 +100,10 @@
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "03dh7vfr9r248c8vbkssa6q0y9imvv1ms6mx28w06ysmdvn4vbgv";
|
||||
sha256 = "0di1g9k1f6i80yxzdl3rdlfdk2w89dv6k5m06444rbg1gzcm09ij";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.15.1";
|
||||
version = "1.15.2";
|
||||
};
|
||||
cocoapods-deintegrate = {
|
||||
groups = ["default"];
|
||||
@ -305,10 +305,10 @@
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0hv03j1ac349pjymis7jxmbqr5jalc60cg27529bbb3zymswhdjz";
|
||||
sha256 = "0667vf0zglacry87nkcl3ns8421aydvz71vfa3g3yjhiq8zh19f5";
|
||||
type = "gem";
|
||||
};
|
||||
version = "5.22.0";
|
||||
version = "5.22.2";
|
||||
};
|
||||
molinillo = {
|
||||
groups = ["default"];
|
||||
@ -360,6 +360,16 @@
|
||||
};
|
||||
version = "0.11.0";
|
||||
};
|
||||
nkf = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "09piyp2pd74klb9wcn0zw4mb5l0k9wzwppxggxi1yi95l2ym3hgv";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.2.0";
|
||||
};
|
||||
public_suffix = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
|
@ -61,15 +61,15 @@
|
||||
version = "3.1.6";
|
||||
};
|
||||
CFPropertyList = {
|
||||
dependencies = ["rexml"];
|
||||
dependencies = ["base64" "nkf" "rexml"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1a36zn77yyibqsfpka0i8vgf3yv98ic2b9wwlbc29566y8wpa2bq";
|
||||
sha256 = "0k1w5i4lb1z941m7ds858nly33f3iv12wvr1zav5x3fa99hj2my4";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.0.6";
|
||||
version = "3.0.7";
|
||||
};
|
||||
claide = {
|
||||
groups = ["default"];
|
||||
@ -87,10 +87,10 @@
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "19rmw9518zlcalr7vy6f10rbiya7ch86z3nfk2d6klw41ihc5hrq";
|
||||
sha256 = "02h9lk5w0ilz39cdl7fil0fpmfbzyc23whkgp4rx2a6hx0yibxgh";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.15.1";
|
||||
version = "1.15.2";
|
||||
};
|
||||
cocoapods-core = {
|
||||
dependencies = ["activesupport" "addressable" "algoliasearch" "concurrent-ruby" "fuzzy_match" "nap" "netrc" "public_suffix" "typhoeus"];
|
||||
@ -98,10 +98,10 @@
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "03dh7vfr9r248c8vbkssa6q0y9imvv1ms6mx28w06ysmdvn4vbgv";
|
||||
sha256 = "0di1g9k1f6i80yxzdl3rdlfdk2w89dv6k5m06444rbg1gzcm09ij";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.15.1";
|
||||
version = "1.15.2";
|
||||
};
|
||||
cocoapods-deintegrate = {
|
||||
groups = ["default"];
|
||||
@ -293,10 +293,10 @@
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0hv03j1ac349pjymis7jxmbqr5jalc60cg27529bbb3zymswhdjz";
|
||||
sha256 = "0667vf0zglacry87nkcl3ns8421aydvz71vfa3g3yjhiq8zh19f5";
|
||||
type = "gem";
|
||||
};
|
||||
version = "5.22.0";
|
||||
version = "5.22.2";
|
||||
};
|
||||
molinillo = {
|
||||
groups = ["default"];
|
||||
@ -344,6 +344,16 @@
|
||||
};
|
||||
version = "0.11.0";
|
||||
};
|
||||
nkf = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "09piyp2pd74klb9wcn0zw4mb5l0k9wzwppxggxi1yi95l2ym3hgv";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.2.0";
|
||||
};
|
||||
public_suffix = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
|
@ -8,16 +8,16 @@
|
||||
|
||||
buildNpmPackage rec {
|
||||
pname = "firebase-tools";
|
||||
version = "13.4.1";
|
||||
version = "13.5.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "firebase";
|
||||
repo = "firebase-tools";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-XznQP9kcool3dgydMk1tq68ms+/TKVgKj8EvhdFr8LE=";
|
||||
hash = "sha256-9xgXPQa+a9nR5e1xbNnkZb+gPrK+5nWZS/Dhzva6DVQ=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-mDjSWIg/mtB1nl0Znu4MQO8Rr0EYfRbArx650DnqZd8=";
|
||||
npmDepsHash = "sha256-wuuZfqP39fxvkNc9dXK9iE2x2QHOQUTi/pWu4ZRuYgE=";
|
||||
|
||||
postPatch = ''
|
||||
ln -s npm-shrinkwrap.json package-lock.json
|
||||
|
@ -2,16 +2,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "gauge";
|
||||
version = "1.6.3";
|
||||
version = "1.6.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "getgauge";
|
||||
repo = "gauge";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-ymnyoQRMr3s74PnDSmXCoWGSMBhxy/CRDpRvEZHOrFU=";
|
||||
hash = "sha256-Hefhhexy3Kl4fmYXlNBgZBSdOGPJefS1BjKWoblIVaw=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-5kBjxhmBrC5ZzD7CSzRvIzQrJYRRU/X+n9L9JPvyJkY=";
|
||||
vendorHash = "sha256-csS7lRTczno77LIDq2q3DeuJxQcOLr1cQf11NuWixG8=";
|
||||
|
||||
excludedPackages = [ "build" "man" ];
|
||||
|
||||
|
@ -1,53 +0,0 @@
|
||||
{ lib, stdenvNoCC, fetchFromGitHub, jshon, electron_10
|
||||
, runtimeShell, hyper-haskell-server, extra-packages ? [] }:
|
||||
|
||||
let
|
||||
binPath = lib.makeBinPath ([ hyper-haskell-server ] ++ extra-packages);
|
||||
electron = electron_10;
|
||||
in stdenvNoCC.mkDerivation rec {
|
||||
pname = "hyper-haskell";
|
||||
version = "0.2.3.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "HeinrichApfelmus";
|
||||
repo = "hyper-haskell";
|
||||
rev = "v${version}";
|
||||
sha256 = "1nmkry4wh6a2dy98fcs81mq2p7zhxp1k0f4m3szr6fm3j1zwrd43";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = extra-packages;
|
||||
|
||||
dontBuild = true;
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin $out/share/hyper-haskell/worksheets $out/share/applications $out/share/icons/hicolor/scalable/apps $out/share/mime/packages
|
||||
|
||||
# Electron app
|
||||
cp -R app $out
|
||||
|
||||
# Desktop Launcher
|
||||
cp resources/hyper-haskell.desktop $out/share/applications/hyper-haskell.desktop
|
||||
cp resources/icons/icon.svg $out/share/icons/hicolor/scalable/apps/hyper-haskell.svg
|
||||
cp resources/shared-mime-info.xml $out/share/mime/packages/hyper-haskell.xml
|
||||
|
||||
# install example worksheets with backend set to nix
|
||||
for worksheet in "worksheets/"*.hhs; do
|
||||
${jshon}/bin/jshon -e settings -s nix -i packageTool -p < $worksheet > $out/share/hyper-haskell/worksheets/`basename $worksheet`
|
||||
done
|
||||
|
||||
# install electron wrapper script
|
||||
cat > $out/bin/hyper-haskell <<EOF
|
||||
#!${runtimeShell}
|
||||
export PATH="${binPath}:\$PATH"
|
||||
exec ${electron}/bin/electron $out/app "\$@"
|
||||
EOF
|
||||
chmod 755 $out/bin/hyper-haskell
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "The strongly hyped graphical interpreter for the Haskell programming language";
|
||||
homepage = "https://github.com/HeinrichApfelmus/hyper-haskell";
|
||||
license = licenses.bsd3;
|
||||
maintainers = [ maintainers.rvl ];
|
||||
};
|
||||
}
|
@ -1,29 +0,0 @@
|
||||
{ stdenv, ghcWithPackages, makeWrapper, packages, lib }:
|
||||
|
||||
let
|
||||
hyperHaskellEnv = ghcWithPackages (self: [ self.hyper-haskell-server ] ++ packages self);
|
||||
in stdenv.mkDerivation {
|
||||
pname = "hyper-haskell-server-with-packages";
|
||||
version = hyperHaskellEnv.version;
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
buildCommand = ''
|
||||
mkdir -p $out/bin
|
||||
makeWrapper ${hyperHaskellEnv}/bin/hyper-haskell-server $out/bin/hyper-haskell-server \
|
||||
--set NIX_GHC ${hyperHaskellEnv}/bin/ghc \
|
||||
--set NIX_GHCPKG ${hyperHaskellEnv}/bin/ghc-pkg \
|
||||
--set NIX_GHC_LIBDIR ${hyperHaskellEnv}/lib/ghc-*
|
||||
'';
|
||||
|
||||
# trivial derivation
|
||||
preferLocalBuild = true;
|
||||
allowSubstitutes = false;
|
||||
|
||||
meta = {
|
||||
# Marked as broken because the underlying
|
||||
# haskellPackages.hyper-haskell-server is marked as broken.
|
||||
hydraPlatforms = lib.platforms.none;
|
||||
broken = true;
|
||||
};
|
||||
}
|
@ -1,7 +1,6 @@
|
||||
{ lib
|
||||
, buildPythonApplication
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, bash
|
||||
, cmake
|
||||
, colordiff
|
||||
@ -17,27 +16,19 @@
|
||||
|
||||
buildPythonApplication rec {
|
||||
pname = "cvise";
|
||||
version = "2.9.0";
|
||||
version = "2.10.0";
|
||||
format = "other";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "marxin";
|
||||
repo = "cvise";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-4LEKVh3jNU3xOq75+IQezjhbL/6uAGQ3r0Au2cxx1WA=";
|
||||
hash = "sha256-0gk4O1q90eH1FMhj4ncNVqX/MfVyaU0nckh1xny2wlM=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Refer to unifdef by absolute path.
|
||||
./unifdef.patch
|
||||
|
||||
# Refer to shell via /usr/bin/env:
|
||||
# https://github.com/marxin/cvise/pull/121
|
||||
(fetchpatch {
|
||||
name = "env-shell.patch";
|
||||
url = "https://github.com/marxin/cvise/commit/6a416eb590be978a2ad25c610974fdde84e88651.patch";
|
||||
hash = "sha256-Kn6+TXP+wJpMs6jrgsa9OwjXf6vmIgGzny8jg3dfKWA=";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
|
@ -11,13 +11,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "time-ghc-modules";
|
||||
version = "1.0.1";
|
||||
version = "2.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "codedownio";
|
||||
repo = "time-ghc-modules";
|
||||
rev = version;
|
||||
sha256 = "0s6540gllhjn7366inhwa70rdnngnhbi07jn1h6x8a0pi71wdfm9";
|
||||
sha256 = "sha256-/PhJAhP3KCWFyeSk8e5JV0cpBueH/eVDwQTMZSnnZCo=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [makeWrapper];
|
||||
|
@ -1,17 +1,22 @@
|
||||
{ lib, buildGoModule, fetchFromGitHub }:
|
||||
{ lib
|
||||
, buildGoModule
|
||||
, fetchFromGitHub
|
||||
, testers
|
||||
, toxiproxy
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "toxiproxy";
|
||||
version = "2.5.0";
|
||||
version = "2.6.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Shopify";
|
||||
repo = "toxiproxy";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-SL3YHsNeFw8K8lPrzJXAoTkHxS+1sTREfzjawBxdnf0=";
|
||||
sha256 = "sha256-wa39RsopmENXNEI5kiNIYSLGi/qGwIEfNVKWhAgVOuE=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-CmENxPAdjz0BAyvhLKIaJjSbK/mvRzHGCQOfGIiA3yI=";
|
||||
vendorHash = "sha256-m6jZOVlJI3GGqCsCkMAIB2jg1Nk8oAELyzL3y4b2nqA=";
|
||||
|
||||
excludedPackages = [ "test/e2e" ];
|
||||
|
||||
@ -20,14 +25,28 @@ buildGoModule rec {
|
||||
# Fixes tests on Darwin
|
||||
__darwinAllowLocalNetworking = true;
|
||||
|
||||
checkFlags = [ "-short" ];
|
||||
checkFlags = [ "-short" "-skip=TestVersionEndpointReturnsVersion" ];
|
||||
|
||||
postInstall = ''
|
||||
mv $out/bin/cli $out/bin/toxiproxy-cli
|
||||
mv $out/bin/server $out/bin/toxiproxy-server
|
||||
'';
|
||||
|
||||
passthru.tests = {
|
||||
cliVersion = testers.testVersion {
|
||||
inherit version;
|
||||
package = toxiproxy;
|
||||
command = "${toxiproxy}/bin/toxiproxy-cli -version";
|
||||
};
|
||||
serverVersion = testers.testVersion {
|
||||
inherit version;
|
||||
package = toxiproxy;
|
||||
command = "${toxiproxy}/bin/toxiproxy-server -version";
|
||||
};
|
||||
};
|
||||
|
||||
meta = {
|
||||
changelog = "https://github.com/Shopify/toxiproxy/releases/tag/v${version}";
|
||||
description = "Proxy for for simulating network conditions";
|
||||
homepage = "https://github.com/Shopify/toxiproxy";
|
||||
maintainers = with lib.maintainers; [ avnik ];
|
||||
|
@ -2,16 +2,16 @@
|
||||
|
||||
buildGo122Module rec {
|
||||
pname = "flyctl";
|
||||
version = "0.2.6";
|
||||
version = "0.2.17";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "superfly";
|
||||
repo = "flyctl";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-A0mlfTeAAeMvmzIvWGALmvMGtGOgVU3X9kvSyrvtK54=";
|
||||
hash = "sha256-XE1kZdR9ZbWMqp0neouZBvNtIJbOdzp/aMe+uA85zL8=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-9l9zft37cGqVp6SBCc4bQcyNLpzSrLDbC++0ywkpDYU=";
|
||||
vendorHash = "sha256-ZX7hcxQJdSLwY37DnV3vKcBW+K9F5RMPUeMtWzm48Dc=";
|
||||
|
||||
subPackages = [ "." ];
|
||||
|
||||
|
@ -22,13 +22,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "sketchybar";
|
||||
version = "2.20.1";
|
||||
version = "2.21.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "FelixKratz";
|
||||
repo = "SketchyBar";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-dyo4J3Qszq7SSXdAXmgm7xFhWE5Eqtr7yZpNGmtuphY=";
|
||||
hash = "sha256-hTfQQjx6ai83zYFfccsz/KaoZUIj5Dfz4ENe59gS02E=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
@ -21,13 +21,13 @@ in
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "evcc";
|
||||
version = "0.124.9";
|
||||
version = "0.124.10";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "evcc-io";
|
||||
repo = "evcc";
|
||||
rev = version;
|
||||
hash = "sha256-I5dotao26D2fn1opQunUOFtJ/vS19lGumN6A21jkBjA=";
|
||||
hash = "sha256-NbM8Uev2qIIS6WriP7QnVUumF29rZSOCavouPkPmYpE=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-PZWMqv3R4Dq4cLtGNuvHCQ/GiYvlKJfSKEmBn0JYnb8=";
|
||||
|
@ -15,11 +15,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "lighttpd";
|
||||
version = "1.4.74";
|
||||
version = "1.4.75";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.lighttpd.net/lighttpd/releases-${lib.versions.majorMinor version}.x/${pname}-${version}.tar.xz";
|
||||
sha256 = "sha256-XAhzboMIj34Bl5cVnzBuiOxymr6XbcmPs77XG50+U7U=";
|
||||
sha256 = "sha256-i3IcqTnTEq+qbvMdy9avtRYe04Wsgo5vzNTFt2vhidY=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "smokeping_prober";
|
||||
version = "0.7.2";
|
||||
version = "0.7.3";
|
||||
|
||||
ldflags = let
|
||||
setVars = rec {
|
||||
@ -20,7 +20,7 @@ buildGoModule rec {
|
||||
owner = "SuperQ";
|
||||
repo = "smokeping_prober";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-Z+K3cRMD885V9aJwu3N/vP6aqtzD3LfMrxJ8DSCa5Xo=";
|
||||
sha256 = "sha256-MP8AJ8XnIp/+9s7qeAGRHv2OtLL5zrjEhuzZ36V/GrY=";
|
||||
};
|
||||
vendorHash = "sha256-39/0reEt4Rfe7DfysS4BROUgBUg+x95z6DU3IjC6m5U=";
|
||||
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "sslh";
|
||||
version = "2.0.1";
|
||||
version = "2.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "yrutschle";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-KXjoYtiGaOrdWRbI0umNfxbtS7p+YaW352lC/5f+AM4=";
|
||||
hash = "sha256-fIKiUrpHn2VcUFH6WblZDDpa+AenC2qtgrQ6uUUIyoQ=";
|
||||
};
|
||||
|
||||
postPatch = "patchShebangs *.sh";
|
||||
|
@ -5,14 +5,14 @@
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "changedetection-io";
|
||||
version = "0.45.14";
|
||||
version = "0.45.16";
|
||||
format = "setuptools";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dgtlmoon";
|
||||
repo = "changedetection.io";
|
||||
rev = version;
|
||||
hash = "sha256-O+kWivVc/FZmIDjOE/fsUccrOyHrQ8GakjulEnm4w88=";
|
||||
hash = "sha256-ln522U3XqZfhvLvMEzrqXV3SjhpgnrRk2MxQQRBL5VU=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
@ -37,6 +37,7 @@ python3.pkgs.buildPythonApplication rec {
|
||||
feedgen
|
||||
flask
|
||||
flask-compress
|
||||
flask-cors
|
||||
flask-expects-json
|
||||
flask-login
|
||||
flask-paginate
|
||||
@ -52,6 +53,8 @@ python3.pkgs.buildPythonApplication rec {
|
||||
paho-mqtt
|
||||
pillow
|
||||
playwright
|
||||
pyee
|
||||
pyppeteer
|
||||
pytz
|
||||
requests
|
||||
selenium
|
||||
|
@ -6,13 +6,13 @@
|
||||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "nu_scripts";
|
||||
version = "unstable-2024-03-09";
|
||||
version = "unstable-2024-03-12";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "nushell";
|
||||
repo = pname;
|
||||
rev = "5e51b23b1f25eef426da5548964e14fef4b4a485";
|
||||
hash = "sha256-sAqTGy7pXDCgJ9UImJPYwUfbYgRjNjZdHHSyH/+QRNs=";
|
||||
rev = "c2ef662e48223938b1ae35b95d2f28cd5b531fba";
|
||||
hash = "sha256-EMpBJhPtuUMZ4FQTf/uJhZOz1DzHW56utLes3RdwK/0=";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
|
@ -6,7 +6,7 @@
|
||||
|
||||
let
|
||||
# N.B. Keep in sync with default arg for stdenv/generic.
|
||||
defaultMkDerivationFromStdenv = import ./generic/make-derivation.nix { inherit lib config; };
|
||||
defaultMkDerivationFromStdenv = stdenv: (import ./generic/make-derivation.nix { inherit lib config; } stdenv).mkDerivation;
|
||||
|
||||
# Low level function to help with overriding `mkDerivationFromStdenv`. One
|
||||
# gives it the old stdenv arguments and a "continuation" function, and
|
||||
|
@ -52,7 +52,7 @@ argsStdenv@{ name ? "stdenv", preHook ? "", initialPath
|
||||
|
||||
, # The implementation of `mkDerivation`, parameterized with the final stdenv so we can tie the knot.
|
||||
# This is convient to have as a parameter so the stdenv "adapters" work better
|
||||
mkDerivationFromStdenv ? import ./make-derivation.nix { inherit lib config; }
|
||||
mkDerivationFromStdenv ? stdenv: (import ./make-derivation.nix { inherit lib config; } stdenv).mkDerivation
|
||||
}:
|
||||
|
||||
let
|
||||
|
@ -9,7 +9,6 @@ let
|
||||
assertMsg
|
||||
attrNames
|
||||
boolToString
|
||||
chooseDevOutputs
|
||||
concatLists
|
||||
concatMap
|
||||
concatMapStrings
|
||||
@ -19,7 +18,7 @@ let
|
||||
extendDerivation
|
||||
filter
|
||||
findFirst
|
||||
flip
|
||||
getDev
|
||||
head
|
||||
imap1
|
||||
isAttrs
|
||||
@ -40,6 +39,15 @@ let
|
||||
unique
|
||||
;
|
||||
|
||||
inherit (import ../../build-support/lib/cmake.nix { inherit lib stdenv; }) makeCMakeFlags;
|
||||
inherit (import ../../build-support/lib/meson.nix { inherit lib stdenv; }) makeMesonFlags;
|
||||
|
||||
mkDerivation =
|
||||
fnOrAttrs:
|
||||
if builtins.isFunction fnOrAttrs
|
||||
then makeDerivationExtensible fnOrAttrs
|
||||
else makeDerivationExtensibleConst fnOrAttrs;
|
||||
|
||||
checkMeta = import ./check-meta.nix {
|
||||
inherit lib config;
|
||||
# Nix itself uses the `system` field of a derivation to decide where
|
||||
@ -102,11 +110,42 @@ let
|
||||
makeDerivationExtensible (self: attrs // (if builtins.isFunction f0 || f0?__functor then f self attrs else f0)))
|
||||
attrs;
|
||||
|
||||
mkDerivationSimple = overrideAttrs:
|
||||
knownHardeningFlags = [
|
||||
"bindnow"
|
||||
"format"
|
||||
"fortify"
|
||||
"fortify3"
|
||||
"pic"
|
||||
"pie"
|
||||
"relro"
|
||||
"stackprotector"
|
||||
"strictoverflow"
|
||||
"trivialautovarinit"
|
||||
"zerocallusedregs"
|
||||
];
|
||||
|
||||
removedOrReplacedAttrNames = [
|
||||
"checkInputs" "installCheckInputs"
|
||||
"nativeCheckInputs" "nativeInstallCheckInputs"
|
||||
"__contentAddressed"
|
||||
"__darwinAllowLocalNetworking"
|
||||
"__impureHostDeps" "__propagatedImpureHostDeps"
|
||||
"sandboxProfile" "propagatedSandboxProfile"
|
||||
];
|
||||
|
||||
# Turn a derivation into its outPath without a string context attached.
|
||||
# See the comment at the usage site.
|
||||
unsafeDerivationToUntrackedOutpath = drv:
|
||||
if isDerivation drv
|
||||
then builtins.unsafeDiscardStringContext drv.outPath
|
||||
else drv;
|
||||
|
||||
makeDerivationArgument =
|
||||
|
||||
|
||||
# `mkDerivation` wraps the builtin `derivation` function to
|
||||
# produce derivations that use this stdenv and its shell.
|
||||
# `makeDerivationArgument` is responsible for the `mkDerivation` arguments that
|
||||
# affect the actual derivation, excluding a few behaviors that are not
|
||||
# essential, and specific to `mkDerivation`: `env`, `cmakeFlags`, `mesonFlags`.
|
||||
#
|
||||
# See also:
|
||||
#
|
||||
@ -146,8 +185,6 @@ let
|
||||
|
||||
# Configure Phase
|
||||
, configureFlags ? []
|
||||
, cmakeFlags ? []
|
||||
, mesonFlags ? []
|
||||
, # Target is not included by default because most programs don't care.
|
||||
# Including it then would cause needless mass rebuilds.
|
||||
#
|
||||
@ -169,14 +206,6 @@ let
|
||||
|
||||
, enableParallelBuilding ? config.enableParallelBuildingByDefault
|
||||
|
||||
, meta ? {}
|
||||
, passthru ? {}
|
||||
, pos ? # position used in error messages and for meta.position
|
||||
(if attrs.meta.description or null != null
|
||||
then builtins.unsafeGetAttrPos "description" attrs.meta
|
||||
else if attrs.version or null != null
|
||||
then builtins.unsafeGetAttrPos "version" attrs
|
||||
else builtins.unsafeGetAttrPos "name" attrs)
|
||||
, separateDebugInfo ? false
|
||||
, outputs ? [ "out" ]
|
||||
, __darwinAllowLocalNetworking ? false
|
||||
@ -198,8 +227,6 @@ let
|
||||
# but for anything complex, be prepared to debug if enabling.
|
||||
, __structuredAttrs ? config.structuredAttrsByDefault or false
|
||||
|
||||
, env ? { }
|
||||
|
||||
, ... } @ attrs:
|
||||
|
||||
# Policy on acceptable hash types in nixpkgs
|
||||
@ -222,13 +249,6 @@ let
|
||||
separateDebugInfo' = separateDebugInfo && stdenv.hostPlatform.isLinux;
|
||||
outputs' = outputs ++ optional separateDebugInfo' "debug";
|
||||
|
||||
# Turn a derivation into its outPath without a string context attached.
|
||||
# See the comment at the usage site.
|
||||
unsafeDerivationToUntrackedOutpath = drv:
|
||||
if isDerivation drv
|
||||
then builtins.unsafeDiscardStringContext drv.outPath
|
||||
else drv;
|
||||
|
||||
noNonNativeDeps = builtins.length (depsBuildTarget ++ depsBuildTargetPropagated
|
||||
++ depsHostHost ++ depsHostHostPropagated
|
||||
++ buildInputs ++ propagatedBuildInputs
|
||||
@ -239,19 +259,6 @@ let
|
||||
# disabling fortify implies fortify3 should also be disabled
|
||||
then unique (hardeningDisable ++ [ "fortify3" ])
|
||||
else hardeningDisable;
|
||||
knownHardeningFlags = [
|
||||
"bindnow"
|
||||
"format"
|
||||
"fortify"
|
||||
"fortify3"
|
||||
"pic"
|
||||
"pie"
|
||||
"relro"
|
||||
"stackprotector"
|
||||
"strictoverflow"
|
||||
"trivialautovarinit"
|
||||
"zerocallusedregs"
|
||||
];
|
||||
defaultHardeningFlags =
|
||||
(if stdenv.hasCC then stdenv.cc else {}).defaultHardeningFlags or
|
||||
# fallback safe-ish set of flags
|
||||
@ -264,10 +271,13 @@ let
|
||||
erroneousHardeningFlags = subtractLists knownHardeningFlags (hardeningEnable ++ remove "all" hardeningDisable);
|
||||
|
||||
checkDependencyList = checkDependencyList' [];
|
||||
checkDependencyList' = positions: name: deps: flip imap1 deps (index: dep:
|
||||
if isDerivation dep || dep == null || builtins.isString dep || builtins.isPath dep then dep
|
||||
else if isList dep then checkDependencyList' ([index] ++ positions) name dep
|
||||
else throw "Dependency is not of a valid type: ${concatMapStrings (ix: "element ${toString ix} of ") ([index] ++ positions)}${name} for ${attrs.name or attrs.pname}");
|
||||
checkDependencyList' = positions: name: deps:
|
||||
imap1
|
||||
(index: dep:
|
||||
if isDerivation dep || dep == null || builtins.isString dep || builtins.isPath dep then dep
|
||||
else if isList dep then checkDependencyList' ([index] ++ positions) name dep
|
||||
else throw "Dependency is not of a valid type: ${concatMapStrings (ix: "element ${toString ix} of ") ([index] ++ positions)}${name} for ${attrs.name or attrs.pname}")
|
||||
deps;
|
||||
in if builtins.length erroneousHardeningFlags != 0
|
||||
then abort ("mkDerivation was called with unsupported hardening flags: " + lib.generators.toPretty {} {
|
||||
inherit erroneousHardeningFlags hardeningDisable hardeningEnable knownHardeningFlags;
|
||||
@ -286,70 +296,37 @@ else let
|
||||
|
||||
outputs = outputs';
|
||||
|
||||
references = nativeBuildInputs ++ buildInputs
|
||||
++ propagatedNativeBuildInputs ++ propagatedBuildInputs;
|
||||
|
||||
dependencies = map (map chooseDevOutputs) [
|
||||
dependencies = [
|
||||
[
|
||||
(map (drv: drv.__spliced.buildBuild or drv) (checkDependencyList "depsBuildBuild" depsBuildBuild))
|
||||
(map (drv: drv.__spliced.buildHost or drv) (checkDependencyList "nativeBuildInputs" nativeBuildInputs'))
|
||||
(map (drv: drv.__spliced.buildTarget or drv) (checkDependencyList "depsBuildTarget" depsBuildTarget))
|
||||
(map (drv: getDev drv.__spliced.buildBuild or drv) (checkDependencyList "depsBuildBuild" depsBuildBuild))
|
||||
(map (drv: getDev drv.__spliced.buildHost or drv) (checkDependencyList "nativeBuildInputs" nativeBuildInputs'))
|
||||
(map (drv: getDev drv.__spliced.buildTarget or drv) (checkDependencyList "depsBuildTarget" depsBuildTarget))
|
||||
]
|
||||
[
|
||||
(map (drv: drv.__spliced.hostHost or drv) (checkDependencyList "depsHostHost" depsHostHost))
|
||||
(map (drv: drv.__spliced.hostTarget or drv) (checkDependencyList "buildInputs" buildInputs'))
|
||||
(map (drv: getDev drv.__spliced.hostHost or drv) (checkDependencyList "depsHostHost" depsHostHost))
|
||||
(map (drv: getDev drv.__spliced.hostTarget or drv) (checkDependencyList "buildInputs" buildInputs'))
|
||||
]
|
||||
[
|
||||
(map (drv: drv.__spliced.targetTarget or drv) (checkDependencyList "depsTargetTarget" depsTargetTarget))
|
||||
(map (drv: getDev drv.__spliced.targetTarget or drv) (checkDependencyList "depsTargetTarget" depsTargetTarget))
|
||||
]
|
||||
];
|
||||
propagatedDependencies = map (map chooseDevOutputs) [
|
||||
propagatedDependencies = [
|
||||
[
|
||||
(map (drv: drv.__spliced.buildBuild or drv) (checkDependencyList "depsBuildBuildPropagated" depsBuildBuildPropagated))
|
||||
(map (drv: drv.__spliced.buildHost or drv) (checkDependencyList "propagatedNativeBuildInputs" propagatedNativeBuildInputs))
|
||||
(map (drv: drv.__spliced.buildTarget or drv) (checkDependencyList "depsBuildTargetPropagated" depsBuildTargetPropagated))
|
||||
(map (drv: getDev drv.__spliced.buildBuild or drv) (checkDependencyList "depsBuildBuildPropagated" depsBuildBuildPropagated))
|
||||
(map (drv: getDev drv.__spliced.buildHost or drv) (checkDependencyList "propagatedNativeBuildInputs" propagatedNativeBuildInputs))
|
||||
(map (drv: getDev drv.__spliced.buildTarget or drv) (checkDependencyList "depsBuildTargetPropagated" depsBuildTargetPropagated))
|
||||
]
|
||||
[
|
||||
(map (drv: drv.__spliced.hostHost or drv) (checkDependencyList "depsHostHostPropagated" depsHostHostPropagated))
|
||||
(map (drv: drv.__spliced.hostTarget or drv) (checkDependencyList "propagatedBuildInputs" propagatedBuildInputs))
|
||||
(map (drv: getDev drv.__spliced.hostHost or drv) (checkDependencyList "depsHostHostPropagated" depsHostHostPropagated))
|
||||
(map (drv: getDev drv.__spliced.hostTarget or drv) (checkDependencyList "propagatedBuildInputs" propagatedBuildInputs))
|
||||
]
|
||||
[
|
||||
(map (drv: drv.__spliced.targetTarget or drv) (checkDependencyList "depsTargetTargetPropagated" depsTargetTargetPropagated))
|
||||
(map (drv: getDev drv.__spliced.targetTarget or drv) (checkDependencyList "depsTargetTargetPropagated" depsTargetTargetPropagated))
|
||||
]
|
||||
];
|
||||
|
||||
computedSandboxProfile =
|
||||
concatMap (input: input.__propagatedSandboxProfile or [])
|
||||
(stdenv.extraNativeBuildInputs
|
||||
++ stdenv.extraBuildInputs
|
||||
++ concatLists dependencies);
|
||||
|
||||
computedPropagatedSandboxProfile =
|
||||
concatMap (input: input.__propagatedSandboxProfile or [])
|
||||
(concatLists propagatedDependencies);
|
||||
|
||||
computedImpureHostDeps =
|
||||
unique (concatMap (input: input.__propagatedImpureHostDeps or [])
|
||||
(stdenv.extraNativeBuildInputs
|
||||
++ stdenv.extraBuildInputs
|
||||
++ concatLists dependencies));
|
||||
|
||||
computedPropagatedImpureHostDeps =
|
||||
unique (concatMap (input: input.__propagatedImpureHostDeps or [])
|
||||
(concatLists propagatedDependencies));
|
||||
|
||||
envIsExportable = isAttrs env && !isDerivation env;
|
||||
|
||||
derivationArg =
|
||||
(removeAttrs attrs
|
||||
(["meta" "passthru" "pos"
|
||||
"checkInputs" "installCheckInputs"
|
||||
"nativeCheckInputs" "nativeInstallCheckInputs"
|
||||
"__contentAddressed"
|
||||
"__darwinAllowLocalNetworking"
|
||||
"__impureHostDeps" "__propagatedImpureHostDeps"
|
||||
"sandboxProfile" "propagatedSandboxProfile"]
|
||||
++ optional (__structuredAttrs || envIsExportable) "env"))
|
||||
removeAttrs attrs removedOrReplacedAttrNames
|
||||
// (optionalAttrs (attrs ? name || (attrs ? pname && attrs ? version)) {
|
||||
name =
|
||||
let
|
||||
@ -377,7 +354,7 @@ else let
|
||||
assert assertMsg (attrs ? version && attrs.version != null) "The ‘version’ attribute cannot be null.";
|
||||
"${attrs.pname}${staticMarker}${hostSuffix}-${attrs.version}"
|
||||
);
|
||||
}) // optionalAttrs __structuredAttrs { env = checkedEnv; } // {
|
||||
}) // {
|
||||
builder = attrs.realBuilder or stdenv.shell;
|
||||
args = attrs.args or ["-e" (attrs.builder or ./default-builder.sh)];
|
||||
inherit stdenv;
|
||||
@ -415,54 +392,6 @@ else let
|
||||
++ optional (elem "host" configurePlatforms) "--host=${stdenv.hostPlatform.config}"
|
||||
++ optional (elem "target" configurePlatforms) "--target=${stdenv.targetPlatform.config}";
|
||||
|
||||
cmakeFlags =
|
||||
cmakeFlags
|
||||
++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) ([
|
||||
"-DCMAKE_SYSTEM_NAME=${findFirst isString "Generic" (optional (!stdenv.hostPlatform.isRedox) stdenv.hostPlatform.uname.system)}"
|
||||
] ++ optionals (stdenv.hostPlatform.uname.processor != null) [
|
||||
"-DCMAKE_SYSTEM_PROCESSOR=${stdenv.hostPlatform.uname.processor}"
|
||||
] ++ optionals (stdenv.hostPlatform.uname.release != null) [
|
||||
"-DCMAKE_SYSTEM_VERSION=${stdenv.hostPlatform.uname.release}"
|
||||
] ++ optionals (stdenv.hostPlatform.isDarwin) [
|
||||
"-DCMAKE_OSX_ARCHITECTURES=${stdenv.hostPlatform.darwinArch}"
|
||||
] ++ optionals (stdenv.buildPlatform.uname.system != null) [
|
||||
"-DCMAKE_HOST_SYSTEM_NAME=${stdenv.buildPlatform.uname.system}"
|
||||
] ++ optionals (stdenv.buildPlatform.uname.processor != null) [
|
||||
"-DCMAKE_HOST_SYSTEM_PROCESSOR=${stdenv.buildPlatform.uname.processor}"
|
||||
] ++ optionals (stdenv.buildPlatform.uname.release != null) [
|
||||
"-DCMAKE_HOST_SYSTEM_VERSION=${stdenv.buildPlatform.uname.release}"
|
||||
] ++ optionals (stdenv.buildPlatform.canExecute stdenv.hostPlatform) [
|
||||
"-DCMAKE_CROSSCOMPILING_EMULATOR=env"
|
||||
] ++ lib.optionals stdenv.hostPlatform.isStatic [
|
||||
"-DCMAKE_LINK_SEARCH_START_STATIC=ON"
|
||||
]);
|
||||
|
||||
mesonFlags =
|
||||
let
|
||||
# See https://mesonbuild.com/Reference-tables.html#cpu-families
|
||||
cpuFamily = platform: with platform;
|
||||
/**/ if isAarch32 then "arm"
|
||||
else if isx86_32 then "x86"
|
||||
else platform.uname.processor;
|
||||
|
||||
crossFile = builtins.toFile "cross-file.conf" ''
|
||||
[properties]
|
||||
bindgen_clang_arguments = ['-target', '${stdenv.targetPlatform.config}']
|
||||
needs_exe_wrapper = ${boolToString (!stdenv.buildPlatform.canExecute stdenv.hostPlatform)}
|
||||
|
||||
[host_machine]
|
||||
system = '${stdenv.targetPlatform.parsed.kernel.name}'
|
||||
cpu_family = '${cpuFamily stdenv.targetPlatform}'
|
||||
cpu = '${stdenv.targetPlatform.parsed.cpu.name}'
|
||||
endian = ${if stdenv.targetPlatform.isLittleEndian then "'little'" else "'big'"}
|
||||
|
||||
[binaries]
|
||||
llvm-config = 'llvm-config-native'
|
||||
rust = ['rustc', '--target', '${stdenv.targetPlatform.rust.rustcTargetSpec}']
|
||||
'';
|
||||
crossFlags = optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ "--cross-file=${crossFile}" ];
|
||||
in crossFlags ++ mesonFlags;
|
||||
|
||||
inherit patches;
|
||||
|
||||
inherit doCheck doInstallCheck;
|
||||
@ -482,7 +411,28 @@ else let
|
||||
NIX_HARDENING_ENABLE = enabledHardeningOptions;
|
||||
} // optionalAttrs (stdenv.hostPlatform.isx86_64 && stdenv.hostPlatform ? gcc.arch) {
|
||||
requiredSystemFeatures = attrs.requiredSystemFeatures or [] ++ [ "gccarch-${stdenv.hostPlatform.gcc.arch}" ];
|
||||
} // optionalAttrs (stdenv.buildPlatform.isDarwin) {
|
||||
} // optionalAttrs (stdenv.buildPlatform.isDarwin) (
|
||||
let
|
||||
computedSandboxProfile =
|
||||
concatMap (input: input.__propagatedSandboxProfile or [])
|
||||
(stdenv.extraNativeBuildInputs
|
||||
++ stdenv.extraBuildInputs
|
||||
++ concatLists dependencies);
|
||||
|
||||
computedPropagatedSandboxProfile =
|
||||
concatMap (input: input.__propagatedSandboxProfile or [])
|
||||
(concatLists propagatedDependencies);
|
||||
|
||||
computedImpureHostDeps =
|
||||
unique (concatMap (input: input.__propagatedImpureHostDeps or [])
|
||||
(stdenv.extraNativeBuildInputs
|
||||
++ stdenv.extraBuildInputs
|
||||
++ concatLists dependencies));
|
||||
|
||||
computedPropagatedImpureHostDeps =
|
||||
unique (concatMap (input: input.__propagatedImpureHostDeps or [])
|
||||
(concatLists propagatedDependencies));
|
||||
in {
|
||||
inherit __darwinAllowLocalNetworking;
|
||||
# TODO: remove `unique` once nix has a list canonicalization primitive
|
||||
__sandboxProfile =
|
||||
@ -497,7 +447,7 @@ else let
|
||||
"/bin/sh"
|
||||
];
|
||||
__propagatedImpureHostDeps = computedPropagatedImpureHostDeps ++ __propagatedImpureHostDeps;
|
||||
} //
|
||||
}) //
|
||||
# If we use derivations directly here, they end up as build-time dependencies.
|
||||
# This is especially problematic in the case of disallowed*, since the disallowed
|
||||
# derivations will be built by nix as build-time dependencies, while those
|
||||
@ -533,7 +483,82 @@ else let
|
||||
mapNullable unsafeDerivationToUntrackedOutpath attrs.allowedRequisites;
|
||||
};
|
||||
|
||||
meta = checkMeta.commonMeta { inherit validity attrs pos references; };
|
||||
in
|
||||
derivationArg;
|
||||
|
||||
mkDerivationSimple = overrideAttrs:
|
||||
|
||||
# `mkDerivation` wraps the builtin `derivation` function to
|
||||
# produce derivations that use this stdenv and its shell.
|
||||
#
|
||||
# Internally, it delegates most of its behavior to `makeDerivationArgument`,
|
||||
# except for the `env`, `cmakeFlags`, and `mesonFlags` attributes, as well
|
||||
# as the attributes `meta` and `passthru` that affect [package attributes],
|
||||
# and not the derivation itself.
|
||||
#
|
||||
# See also:
|
||||
#
|
||||
# * https://nixos.org/nixpkgs/manual/#sec-using-stdenv
|
||||
# Details on how to use this mkDerivation function
|
||||
#
|
||||
# * https://nixos.org/manual/nix/stable/expressions/derivations.html#derivations
|
||||
# Explanation about derivations in general
|
||||
#
|
||||
# * [package attributes]: https://nixos.org/manual/nix/stable/glossary#package-attribute-set
|
||||
{
|
||||
|
||||
# Configure Phase
|
||||
cmakeFlags ? []
|
||||
, mesonFlags ? []
|
||||
|
||||
, meta ? {}
|
||||
, passthru ? {}
|
||||
, pos ? # position used in error messages and for meta.position
|
||||
(if attrs.meta.description or null != null
|
||||
then builtins.unsafeGetAttrPos "description" attrs.meta
|
||||
else if attrs.version or null != null
|
||||
then builtins.unsafeGetAttrPos "version" attrs
|
||||
else builtins.unsafeGetAttrPos "name" attrs)
|
||||
|
||||
# Experimental. For simple packages mostly just works,
|
||||
# but for anything complex, be prepared to debug if enabling.
|
||||
, __structuredAttrs ? config.structuredAttrsByDefault or false
|
||||
|
||||
, env ? { }
|
||||
|
||||
, ... } @ attrs:
|
||||
|
||||
# Policy on acceptable hash types in nixpkgs
|
||||
assert attrs ? outputHash -> (
|
||||
let algo =
|
||||
attrs.outputHashAlgo or (head (splitString "-" attrs.outputHash));
|
||||
in
|
||||
if algo == "md5" then
|
||||
throw "Rejected insecure ${algo} hash '${attrs.outputHash}'"
|
||||
else
|
||||
true
|
||||
);
|
||||
|
||||
let
|
||||
envIsExportable = isAttrs env && !isDerivation env;
|
||||
|
||||
derivationArg = makeDerivationArgument
|
||||
(removeAttrs
|
||||
attrs
|
||||
(["meta" "passthru" "pos"]
|
||||
++ optional (__structuredAttrs || envIsExportable) "env"
|
||||
)
|
||||
// optionalAttrs __structuredAttrs { env = checkedEnv; }
|
||||
// {
|
||||
cmakeFlags = makeCMakeFlags attrs;
|
||||
mesonFlags = makeMesonFlags attrs;
|
||||
});
|
||||
|
||||
meta = checkMeta.commonMeta {
|
||||
inherit validity attrs pos;
|
||||
references = attrs.nativeBuildInputs ++ attrs.buildInputs
|
||||
++ attrs.propagatedNativeBuildInputs ++ attrs.propagatedBuildInputs;
|
||||
};
|
||||
validity = checkMeta.assertValidity { inherit meta attrs; };
|
||||
|
||||
checkedEnv =
|
||||
@ -603,7 +628,6 @@ extendDerivation
|
||||
(derivation (derivationArg // optionalAttrs envIsExportable checkedEnv));
|
||||
|
||||
in
|
||||
fnOrAttrs:
|
||||
if builtins.isFunction fnOrAttrs
|
||||
then makeDerivationExtensible fnOrAttrs
|
||||
else makeDerivationExtensibleConst fnOrAttrs
|
||||
{
|
||||
inherit mkDerivation;
|
||||
}
|
||||
|
@ -1,72 +0,0 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, bash
|
||||
, util-linux
|
||||
, autoPatchelfHook
|
||||
, dpkg
|
||||
, makeWrapper
|
||||
, udev
|
||||
, electron
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "etcher";
|
||||
version = "1.18.12";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/balena-io/etcher/releases/download/v${version}/balena-etcher_${version}_amd64.deb";
|
||||
hash = "sha256-Ucs187xTpbRJ7P32hCl8cHPxO3HCs44ZneAas043FXk=";
|
||||
};
|
||||
|
||||
# sudo-prompt has hardcoded binary paths on Linux and we patch them here
|
||||
# along with some other paths
|
||||
postPatch = ''
|
||||
substituteInPlace opt/balenaEtcher/resources/app/generated/gui.js \
|
||||
--replace '/usr/bin/pkexec' '/usr/bin/pkexec", "/run/wrappers/bin/pkexec' \
|
||||
--replace '/bin/bash' '${bash}/bin/bash' \
|
||||
--replace '"lsblk"' '"${util-linux}/bin/lsblk"'
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoPatchelfHook
|
||||
dpkg
|
||||
makeWrapper
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
stdenv.cc.cc.lib
|
||||
udev
|
||||
];
|
||||
|
||||
dontConfigure = true;
|
||||
|
||||
dontBuild = true;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/bin $out/share/${pname}
|
||||
|
||||
cp -a usr/share/* $out/share
|
||||
cp -a opt/balenaEtcher/{locales,resources} $out/share/${pname}
|
||||
|
||||
makeWrapper ${electron}/bin/electron $out/bin/${pname} \
|
||||
--add-flags $out/share/${pname}/resources/app
|
||||
|
||||
substituteInPlace $out/share/applications/balena-etcher.desktop \
|
||||
--replace /opt/balenaEtcher/balena-etcher ${pname}
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Flash OS images to SD cards and USB drives, safely and easily";
|
||||
homepage = "https://etcher.io/";
|
||||
license = licenses.asl20;
|
||||
mainProgram = "etcher";
|
||||
maintainers = with maintainers; [ wegank ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
|
||||
};
|
||||
}
|
@ -2,16 +2,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "tagref";
|
||||
version = "1.9.1";
|
||||
version = "1.10.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "stepchowfun";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-4F9u1wzeBgYP3L6h08xMvgq62ix/SOaFaLl7uEf1j1c=";
|
||||
sha256 = "sha256-ANQxW5Qznu2JbiazFElB1sxpX4BwPgk6SVGgYpJ6DUw=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-AO6BGevCoLCH4vpyrXrgF3FrjUa3lHA7ynXfk4KKigM=";
|
||||
cargoHash = "sha256-vdmr5n4M+Qe/jzjNdg+sy7q2osTivxmLG+xMTMkEFm4=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Manage cross-references in your code";
|
||||
|
@ -5,13 +5,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "ipinfo";
|
||||
version = "3.3.0";
|
||||
version = "3.3.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = pname;
|
||||
repo = "cli";
|
||||
rev = "refs/tags/${pname}-${version}";
|
||||
hash = "sha256-B0Qb6RFBAUBpE1o8GqKQtxpndeHermMlwlWlfIa7rmM=";
|
||||
hash = "sha256-sdQdCP2NotrdeqYrSd9c6sExFeuX54I4fxJfEyULPuk=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
@ -1,8 +1,7 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, dotnetCorePackages
|
||||
, dotnet-runtime_6
|
||||
, dotnet-runtime_7
|
||||
, dotnet-runtime_8
|
||||
, buildDotnetModule
|
||||
, fetchFromGitHub
|
||||
, autoPatchelfHook
|
||||
@ -16,37 +15,23 @@
|
||||
# NOTES:
|
||||
# 1. we need autoPatchelfHook for quite a number of things in $out/lib
|
||||
|
||||
let
|
||||
version = "1.7.0.211";
|
||||
|
||||
sdk =
|
||||
if lib.versionAtLeast (lib.versions.majorMinor version) "1.7"
|
||||
then dotnetCorePackages.sdk_7_0
|
||||
else dotnetCorePackages.sdk_6_0;
|
||||
|
||||
runtime =
|
||||
if lib.versionAtLeast (lib.versions.majorMinor version) "1.7"
|
||||
then dotnet-runtime_7
|
||||
else dotnet-runtime_6;
|
||||
|
||||
in
|
||||
buildDotnetModule rec {
|
||||
pname = "mqttmultimeter";
|
||||
inherit version;
|
||||
version = "1.8.2.272";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "chkr1011";
|
||||
repo = "mqttMultimeter";
|
||||
rev = "v" + version;
|
||||
hash = "sha256-/XQ5HD0dBfFn3ERlLwHknS9Fyd3YMpKHBXuvMwRXcQ8=";
|
||||
hash = "sha256-vL9lmIhNLwuk1tmXLKV75xAhktpdNOb0Q4ZdvLur5hw=";
|
||||
};
|
||||
|
||||
sourceRoot = "${src.name}/Source";
|
||||
|
||||
projectFile = [ "mqttMultimeter.sln" ];
|
||||
nugetDeps = ./deps.nix;
|
||||
dotnet-sdk = sdk;
|
||||
dotnet-runtime = runtime;
|
||||
dotnet-sdk = dotnetCorePackages.sdk_8_0;
|
||||
dotnet-runtime = dotnet-runtime_8;
|
||||
executables = [ "mqttMultimeter" ];
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user