Merge staging-next into staging

authored by github-actions[bot] and committed by GitHub 7c1e9c01 34010113

+697 -261
+1
nixos/modules/module-list.nix
··· 595 ./services/misc/redmine.nix 596 ./services/misc/rippled.nix 597 ./services/misc/ripple-data-api.nix 598 ./services/misc/serviio.nix 599 ./services/misc/safeeyes.nix 600 ./services/misc/sdrplay.nix
··· 595 ./services/misc/redmine.nix 596 ./services/misc/rippled.nix 597 ./services/misc/ripple-data-api.nix 598 + ./services/misc/rmfakecloud.nix 599 ./services/misc/serviio.nix 600 ./services/misc/safeeyes.nix 601 ./services/misc/sdrplay.nix
+147
nixos/modules/services/misc/rmfakecloud.nix
···
··· 1 + { config, lib, pkgs, ... }: 2 + 3 + with lib; 4 + 5 + let 6 + cfg = config.services.rmfakecloud; 7 + serviceDataDir = "/var/lib/rmfakecloud"; 8 + 9 + in { 10 + options = { 11 + services.rmfakecloud = { 12 + enable = mkEnableOption "rmfakecloud remarkable self-hosted cloud"; 13 + 14 + package = mkOption { 15 + type = types.package; 16 + default = pkgs.rmfakecloud; 17 + defaultText = literalExpression "pkgs.rmfakecloud"; 18 + description = '' 19 + rmfakecloud package to use. 20 + 21 + The default does not include the web user interface. 22 + ''; 23 + }; 24 + 25 + storageUrl = mkOption { 26 + type = types.str; 27 + example = "https://local.appspot.com"; 28 + description = '' 29 + URL used by the tablet to access the rmfakecloud service. 30 + ''; 31 + }; 32 + 33 + port = mkOption { 34 + type = types.port; 35 + default = 3000; 36 + description = '' 37 + Listening port number. 38 + ''; 39 + }; 40 + 41 + logLevel = mkOption { 42 + type = types.enum [ "info" "debug" "warn" "error" ]; 43 + default = "info"; 44 + description = '' 45 + Logging level. 46 + ''; 47 + }; 48 + 49 + extraSettings = mkOption { 50 + type = with types; attrsOf str; 51 + default = { }; 52 + example = { DATADIR = "/custom/path/for/rmfakecloud/data"; }; 53 + description = '' 54 + Extra settings in the form of a set of key-value pairs. 55 + For tokens and secrets, use `environmentFile` instead. 56 + 57 + Available settings are listed on 58 + https://ddvk.github.io/rmfakecloud/install/configuration/. 59 + ''; 60 + }; 61 + 62 + environmentFile = mkOption { 63 + type = with types; nullOr path; 64 + default = null; 65 + example = "/etc/secrets/rmfakecloud.env"; 66 + description = '' 67 + Path to an environment file loaded for the rmfakecloud service. 68 + 69 + This can be used to securely store tokens and secrets outside of the 70 + world-readable Nix store. Since this file is read by systemd, it may 71 + have permission 0400 and be owned by root. 72 + ''; 73 + }; 74 + }; 75 + }; 76 + 77 + config = mkIf cfg.enable { 78 + systemd.services.rmfakecloud = { 79 + description = "rmfakecloud remarkable self-hosted cloud"; 80 + 81 + environment = { 82 + STORAGE_URL = cfg.storageUrl; 83 + PORT = toString cfg.port; 84 + LOGLEVEL = cfg.logLevel; 85 + } // cfg.extraSettings; 86 + 87 + preStart = '' 88 + # Generate the secret key used to sign client session tokens. 89 + # Replacing it invalidates the previously established sessions. 90 + if [ -z "$JWT_SECRET_KEY" ] && [ ! -f jwt_secret_key ]; then 91 + (umask 077; touch jwt_secret_key) 92 + cat /dev/urandom | tr -cd '[:alnum:]' | head -c 48 >> jwt_secret_key 93 + fi 94 + ''; 95 + 96 + script = '' 97 + if [ -z "$JWT_SECRET_KEY" ]; then 98 + export JWT_SECRET_KEY="$(cat jwt_secret_key)" 99 + fi 100 + 101 + ${cfg.package}/bin/rmfakecloud 102 + ''; 103 + 104 + wantedBy = [ "multi-user.target" ]; 105 + wants = [ "network-online.target" ]; 106 + after = [ "network-online.target" ]; 107 + 108 + serviceConfig = { 109 + Type = "simple"; 110 + Restart = "always"; 111 + 112 + EnvironmentFile = 113 + mkIf (cfg.environmentFile != null) cfg.environmentFile; 114 + 115 + AmbientCapabilities = 116 + mkIf (cfg.port < 1024) [ "CAP_NET_BIND_SERVICE" ]; 117 + 118 + DynamicUser = true; 119 + PrivateDevices = true; 120 + ProtectHome = true; 121 + ProtectKernelTunables = true; 122 + ProtectKernelModules = true; 123 + ProtectControlGroups = true; 124 + CapabilityBoundingSet = [ "" ]; 125 + DevicePolicy = "closed"; 126 + LockPersonality = true; 127 + MemoryDenyWriteExecute = true; 128 + ProtectClock = true; 129 + ProtectHostname = true; 130 + ProtectKernelLogs = true; 131 + ProtectProc = "invisible"; 132 + ProcSubset = "pid"; 133 + RemoveIPC = true; 134 + RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ]; 135 + RestrictNamespaces = true; 136 + RestrictRealtime = true; 137 + RestrictSUIDSGID = true; 138 + SystemCallArchitectures = "native"; 139 + WorkingDirectory = serviceDataDir; 140 + StateDirectory = baseNameOf serviceDataDir; 141 + UMask = 0027; 142 + }; 143 + }; 144 + }; 145 + 146 + meta.maintainers = with maintainers; [ pacien ]; 147 + }
+3 -3
pkgs/applications/blockchains/erigon.nix
··· 2 3 buildGoModule rec { 4 pname = "erigon"; 5 - version = "2021.09.04"; 6 7 src = fetchFromGitHub { 8 owner = "ledgerwatch"; 9 repo = pname; 10 rev = "v${version}"; 11 - sha256 = "0l0w1badhvlh1rgqzvlmy5k7xhb1nf4f5dmhkl935a5ila08aak3"; 12 }; 13 14 - vendorSha256 = "sha256-i8BaT9C39tmHU3GGgd0hUB1PHXnoAdNYRIqZA1ggbjQ="; 15 proxyVendor = true; 16 17 # Build errors in mdbx when format hardening is enabled:
··· 2 3 buildGoModule rec { 4 pname = "erigon"; 5 + version = "2022.01.02"; 6 7 src = fetchFromGitHub { 8 owner = "ledgerwatch"; 9 repo = pname; 10 rev = "v${version}"; 11 + sha256 = "sha256-PzLFwpLKPMV9J2+hqwFppdrFvGxyWpSzYDiQTWZXKco="; 12 }; 13 14 + vendorSha256 = "sha256-YslMHpc3ApPiZOhNZrKoLaQcUWZwj7WLxmzYFyThnRo="; 15 proxyVendor = true; 16 17 # Build errors in mdbx when format hardening is enabled:
+2 -2
pkgs/applications/gis/gmt/default.nix
··· 9 10 stdenv.mkDerivation rec { 11 pname = "gmt"; 12 - version = "6.2.0"; 13 src = fetchurl { 14 url = "https://github.com/GenericMappingTools/gmt/releases/download/${version}/gmt-${version}-src.tar.gz"; 15 - sha256 = "sha256-q3BikSrurRAhdw+tR1bgqZhg/ejqm0KPsAwi+hWju/w="; 16 }; 17 18 nativeBuildInputs = [ cmake ];
··· 9 10 stdenv.mkDerivation rec { 11 pname = "gmt"; 12 + version = "6.3.0"; 13 src = fetchurl { 14 url = "https://github.com/GenericMappingTools/gmt/releases/download/${version}/gmt-${version}-src.tar.gz"; 15 + sha256 = "sha256-LNBz2LHxG4elmziqeq+OOceUDStVpGoyZ+I4AuyKCNE="; 16 }; 17 18 nativeBuildInputs = [ cmake ];
+141 -122
pkgs/applications/networking/cluster/k3s/default.nix
··· 5 , iptables 6 , iproute2 7 , bridge-utils 8 , conntrack-tools 9 - , buildGoPackage 10 , runc 11 , kmod 12 , libseccomp 13 , pkg-config ··· 18 , fetchzip 19 , fetchgit 20 , zstd 21 , nixosTests 22 }: 23 ··· 43 # Those pieces of software we entirely ignore upstream's handling of, and just 44 # make sure they're in the path if desired. 45 let 46 - k3sVersion = "1.22.3+k3s1"; # k3s git tag 47 - k3sCommit = "61a2aab25eeb97c26fa3f2b177e4355a7654c991"; # k3s git commit at the above version 48 - k3sRepoSha256 = "0lz5hr3c86gxm9w5jy3g26n6a26m8k0y559hv6220rsi709j7ma9"; 49 50 - traefikChartVersion = "10.3.0"; # taken from ./manifests/traefik.yaml at spec.version 51 - traefikChartSha256 = "0y6wr64xp7bgx24kqil0x6myr3pnfrg8rw0d1h5zd2n5a8nfd73f"; 52 53 - k3sRootVersion = "0.9.1"; # taken from ./scripts/download at ROOT_VERSION 54 k3sRootSha256 = "0r2cj4l50cxkrvszpzxfk36lvbjf9vcmp6d5lvxg8qsah8lki3x8"; 55 56 - k3sCNIVersion = "0.9.1-k3s1"; # taken from ./scripts/version.sh at VERSION_CNIPLUGINS 57 k3sCNISha256 = "1327vmfph7b8i14q05c2xdfzk60caflg1zhycx0mrf3d59f4zsz5"; 58 59 baseMeta = { 60 description = "A lightweight Kubernetes distribution"; 61 license = licenses.asl20; 62 homepage = "https://k3s.io"; 63 - maintainers = with maintainers; [ euank ]; 64 platforms = platforms.linux; 65 }; 66 67 # bundled into the k3s binary 68 traefikChart = fetchurl { 69 url = "https://helm.traefik.io/traefik/traefik-${traefikChartVersion}.tgz"; ··· 84 sha256 = k3sRootSha256; 85 stripRoot = false; 86 }; 87 - k3sPlugins = buildGoPackage rec { 88 - name = "k3s-cni-plugins"; 89 version = k3sCNIVersion; 90 91 - goPackagePath = "github.com/containernetworking/plugins"; 92 subPackages = [ "." ]; 93 94 src = fetchFromGitHub { ··· 98 sha256 = k3sCNISha256; 99 }; 100 101 meta = baseMeta // { 102 description = "CNI plugins, as patched by rancher for k3s"; 103 }; ··· 124 # Then, we bundle those binaries into our thick k3s binary and use that as 125 # the final single output. 126 # This approach was chosen because it ensures the bundled binaries all are 127 - # correctly built to run with nix (we can lean on the existing buildGoPackage 128 # stuff), and we can again lean on that tooling for the final k3s binary too. 129 # Other alternatives would be to manually run the 130 # strip/patchelf/remove-references step ourselves in the installPhase of the 131 # derivation when we've built all the binaries, but haven't bundled them in 132 # with generated bindata yet. 133 - k3sBuildStage1 = buildGoPackage rec { 134 - name = "k3s-build-1"; 135 version = k3sVersion; 136 137 - goPackagePath = "github.com/rancher/k3s"; 138 - 139 src = k3sRepo; 140 - 141 - # Patch build scripts so that we can use them. 142 - # This makes things more dynamically linked (because nix can deal with 143 - # dynamically linked dependencies just fine), removes the upload at the 144 - # end, and skips building runc + cni, since we have our own derivations for 145 - # those. 146 - patches = [ ./patches/0002-Add-nixpkgs-patches.patch ]; 147 148 nativeBuildInputs = [ pkg-config ]; 149 buildInputs = [ libseccomp ]; 150 151 - # Versioning info for build script 152 - DRONE_TAG = "v${version}"; 153 - DRONE_COMMIT = k3sCommit; 154 - 155 - buildPhase = '' 156 - pushd go/src/${goPackagePath} 157 - 158 - patchShebangs ./scripts/build ./scripts/version.sh 159 - mkdir -p bin 160 - ./scripts/build 161 - 162 - popd 163 - ''; 164 - 165 - installPhase = '' 166 - pushd go/src/${goPackagePath} 167 - 168 - mkdir -p "$out/bin" 169 - install -m 0755 -t "$out/bin" ./bin/* 170 171 popd 172 ''; 173 ··· 175 description = "The various binaries that get packaged into the final k3s binary"; 176 }; 177 }; 178 - k3sBin = buildGoPackage rec { 179 - name = "k3s-bin"; 180 version = k3sVersion; 181 - 182 - goPackagePath = "github.com/rancher/k3s"; 183 - 184 - src = k3sRepo; 185 - 186 - # See the above comment in k3sBuildStage1 187 - patches = [ ./patches/0002-Add-nixpkgs-patches.patch ]; 188 - 189 - nativeBuildInputs = [ pkg-config zstd ]; 190 - # These dependencies are embedded as compressed files in k3s at runtime. 191 - # Propagate them to avoid broken runtime references to libraries. 192 - propagatedBuildInputs = [ k3sPlugins k3sBuildStage1 runc ]; 193 - 194 - # k3s appends a suffix to the final distribution binary for some arches 195 - archSuffix = 196 - if stdenv.hostPlatform.system == "x86_64-linux" then "" 197 - else if stdenv.hostPlatform.system == "aarch64-linux" then "-arm64" 198 - else throw "k3s isn't being built for ${stdenv.hostPlatform.system} yet."; 199 - 200 - DRONE_TAG = "v${version}"; 201 - DRONE_COMMIT = k3sCommit; 202 - 203 - # In order to build the thick k3s binary (which is what 204 - # ./scripts/package-cli does), we need to get all the binaries that script 205 - # expects in place. 206 - buildPhase = '' 207 - pushd go/src/${goPackagePath} 208 - 209 - patchShebangs ./scripts/build ./scripts/version.sh ./scripts/package-cli 210 - 211 - mkdir -p bin 212 - 213 - install -m 0755 -t ./bin ${k3sBuildStage1}/bin/* 214 - install -m 0755 -T "${k3sPlugins}/bin/plugins" ./bin/cni 215 - # Note: use the already-nixpkgs-bundled k3s rather than the one bundled 216 - # in k3s because the k3s one is completely unmodified from upstream 217 - # (unlike containerd, cni, etc) 218 - install -m 0755 -T "${runc}/bin/runc" ./bin/runc 219 - cp -R "${k3sRoot}/etc" ./etc 220 - mkdir -p "build/static/charts" 221 - cp "${traefikChart}" "build/static/charts/traefik-${traefikChartVersion}.tgz" 222 - 223 - ./scripts/package-cli 224 - 225 - popd 226 - ''; 227 - 228 - installPhase = '' 229 - pushd go/src/${goPackagePath} 230 - 231 - mkdir -p "$out/bin" 232 - install -m 0755 -T ./dist/artifacts/k3s${archSuffix} "$out/bin/k3s" 233 - 234 - popd 235 - ''; 236 - 237 - meta = baseMeta // { 238 - description = "The k3s go binary which is used by the final wrapped output below"; 239 }; 240 }; 241 in 242 - stdenv.mkDerivation rec { 243 pname = "k3s"; 244 version = k3sVersion; 245 246 - # `src` here is a workaround for the updateScript bot. It couldn't be empty. 247 - src = builtins.filterSource (path: type: false) ./.; 248 249 # Important utilities used by the kubelet, see 250 # https://github.com/kubernetes/kubernetes/issues/26093#issuecomment-237202494 ··· 260 conntrack-tools 261 ]; 262 263 - buildInputs = [ 264 - k3sBin 265 - ] ++ k3sRuntimeDeps; 266 267 - nativeBuildInputs = [ makeWrapper ]; 268 269 - unpackPhase = "true"; 270 271 - # And, one final derivation (you thought the last one was it, right?) 272 - # We got the binary we wanted above, but it doesn't have all the runtime 273 - # dependencies k8s wants, including mount utilities for kubelet, networking 274 - # tools for cni/kubelet stuff, etc 275 - # Use a wrapper script to reference all the binaries that k3s tries to 276 - # execute, but that we didn't bundle with it. 277 installPhase = '' 278 - runHook preInstall 279 - mkdir -p "$out/bin" 280 - makeWrapper ${k3sBin}/bin/k3s "$out/bin/k3s" \ 281 --prefix PATH : ${lib.makeBinPath k3sRuntimeDeps} \ 282 --prefix PATH : "$out/bin" 283 - runHook postInstall 284 ''; 285 286 doInstallCheck = true; 287 installCheckPhase = '' 288 - $out/bin/k3s --version | grep v${k3sVersion} > /dev/null 289 ''; 290 291 passthru.updateScript = ./update.sh;
··· 5 , iptables 6 , iproute2 7 , bridge-utils 8 + , btrfs-progs 9 , conntrack-tools 10 + , buildGoModule 11 , runc 12 + , rsync 13 , kmod 14 , libseccomp 15 , pkg-config ··· 20 , fetchzip 21 , fetchgit 22 , zstd 23 + , yq-go 24 , nixosTests 25 }: 26 ··· 46 # Those pieces of software we entirely ignore upstream's handling of, and just 47 # make sure they're in the path if desired. 48 let 49 + k3sVersion = "1.23.3+k3s1"; # k3s git tag 50 + k3sCommit = "6f4217a3405d16a1a51bbb40872d7dcb87207bb9"; # k3s git commit at the above version 51 + k3sRepoSha256 = "sha256-0dRusG1vL+1KbmViIUNCZK1b+FEgV6otcVUyFonHmm4="; 52 53 + # taken from ./manifests/traefik.yaml, extracted from '.spec.chart' https://github.com/k3s-io/k3s/blob/v1.23.3%2Bk3s1/scripts/download#L9 54 + # The 'patch' and 'minor' versions are currently hardcoded as single digits only, so ignore the trailing two digits. Weird, I know. 55 + traefikChartVersion = "10.9.1"; 56 + traefikChartSha256 = "sha256-XM1DLofU1zEEFeB5bNQ7cgv102gXsToPP7SFh87QuGQ="; 57 58 + # taken from ./scripts/version.sh VERSION_ROOT https://github.com/k3s-io/k3s/blob/v1.23.3%2Bk3s1/scripts/version.sh#L47 59 + k3sRootVersion = "0.9.1"; 60 k3sRootSha256 = "0r2cj4l50cxkrvszpzxfk36lvbjf9vcmp6d5lvxg8qsah8lki3x8"; 61 62 + # taken from ./scripts/version.sh VERSION_CNIPLUGINS https://github.com/k3s-io/k3s/blob/v1.23.3%2Bk3s1/scripts/version.sh#L45 63 + k3sCNIVersion = "0.9.1-k3s1"; 64 k3sCNISha256 = "1327vmfph7b8i14q05c2xdfzk60caflg1zhycx0mrf3d59f4zsz5"; 65 66 + # taken from go.mod, the 'github.com/containerd/containerd' line 67 + # run `grep github.com/containerd/containerd go.mod | head -n1 | awk '{print $4}'` 68 + containerdVersion = "v1.5.9-k3s1"; 69 + containerdSha256 = "sha256-7xlhBA6KuwFlw+jyThygv4Ow9F3xjjIUtS6x8YHwjic="; 70 + 71 + # run `grep github.com/kubernetes-sigs/cri-tools go.mod | head -n1 | awk '{print $4}'` in the k3s repo at the tag 72 + criCtlVersion = "v1.22.0-k3s1"; 73 + 74 baseMeta = { 75 description = "A lightweight Kubernetes distribution"; 76 license = licenses.asl20; 77 homepage = "https://k3s.io"; 78 + maintainers = with maintainers; [ euank mic92 ]; 79 platforms = platforms.linux; 80 }; 81 82 + # https://github.com/k3s-io/k3s/blob/5fb370e53e0014dc96183b8ecb2c25a61e891e76/scripts/build#L19-L40 83 + versionldflags = [ 84 + "-X github.com/rancher/k3s/pkg/version.Version=v${k3sVersion}" 85 + "-X github.com/rancher/k3s/pkg/version.GitCommit=${lib.substring 0 8 k3sCommit}" 86 + "-X k8s.io/client-go/pkg/version.gitVersion=v${k3sVersion}" 87 + "-X k8s.io/client-go/pkg/version.gitCommit=${k3sCommit}" 88 + "-X k8s.io/client-go/pkg/version.gitTreeState=clean" 89 + "-X k8s.io/client-go/pkg/version.buildDate=1970-01-01T01:01:01Z" 90 + "-X k8s.io/component-base/version.gitVersion=v${k3sVersion}" 91 + "-X k8s.io/component-base/version.gitCommit=${k3sCommit}" 92 + "-X k8s.io/component-base/version.gitTreeState=clean" 93 + "-X k8s.io/component-base/version.buildDate=1970-01-01T01:01:01Z" 94 + "-X github.com/kubernetes-sigs/cri-tools/pkg/version.Version=${criCtlVersion}" 95 + "-X github.com/containerd/containerd/version.Version=${containerdVersion}" 96 + "-X github.com/containerd/containerd/version.Package=github.com/k3s-io/containerd" 97 + "-X github.com/containerd/containerd/version.Version=${containerdVersion}" 98 + "-X github.com/containerd/containerd/version.Package=github.com/k3s-io/containerd" 99 + ]; 100 + 101 # bundled into the k3s binary 102 traefikChart = fetchurl { 103 url = "https://helm.traefik.io/traefik/traefik-${traefikChartVersion}.tgz"; ··· 118 sha256 = k3sRootSha256; 119 stripRoot = false; 120 }; 121 + k3sCNIPlugins = buildGoModule rec { 122 + pname = "k3s-cni-plugins"; 123 version = k3sCNIVersion; 124 + vendorSha256 = null; 125 126 subPackages = [ "." ]; 127 128 src = fetchFromGitHub { ··· 132 sha256 = k3sCNISha256; 133 }; 134 135 + postInstall = '' 136 + mv $out/bin/plugins $out/bin/cni 137 + ''; 138 + 139 meta = baseMeta // { 140 description = "CNI plugins, as patched by rancher for k3s"; 141 }; ··· 162 # Then, we bundle those binaries into our thick k3s binary and use that as 163 # the final single output. 164 # This approach was chosen because it ensures the bundled binaries all are 165 + # correctly built to run with nix (we can lean on the existing buildGoModule 166 # stuff), and we can again lean on that tooling for the final k3s binary too. 167 # Other alternatives would be to manually run the 168 # strip/patchelf/remove-references step ourselves in the installPhase of the 169 # derivation when we've built all the binaries, but haven't bundled them in 170 # with generated bindata yet. 171 + k3sServer = buildGoModule rec { 172 + pname = "k3s-server"; 173 version = k3sVersion; 174 175 src = k3sRepo; 176 + vendorSha256 = "sha256-9+2k/ipAOhc8JJU+L2dwaM01Dkw+0xyrF5kt6mL19G0="; 177 178 nativeBuildInputs = [ pkg-config ]; 179 buildInputs = [ libseccomp ]; 180 181 + subPackages = [ "cmd/server" ]; 182 + ldflags = versionldflags; 183 184 + # create the multicall symlinks for k3s 185 + postInstall = '' 186 + mv $out/bin/server $out/bin/k3s 187 + pushd $out 188 + # taken verbatim from https://github.com/k3s-io/k3s/blob/v1.23.3%2Bk3s1/scripts/build#L105-L113 189 + ln -s k3s ./bin/k3s-agent 190 + ln -s k3s ./bin/k3s-server 191 + ln -s k3s ./bin/k3s-etcd-snapshot 192 + ln -s k3s ./bin/k3s-secrets-encrypt 193 + ln -s k3s ./bin/k3s-certificate 194 + ln -s k3s ./bin/kubectl 195 + ln -s k3s ./bin/crictl 196 + ln -s k3s ./bin/ctr 197 popd 198 ''; 199 ··· 201 description = "The various binaries that get packaged into the final k3s binary"; 202 }; 203 }; 204 + k3sContainerd = buildGoModule { 205 + pname = "k3s-containerd"; 206 version = k3sVersion; 207 + src = fetchFromGitHub { 208 + owner = "k3s-io"; 209 + repo = "containerd"; 210 + rev = containerdVersion; 211 + sha256 = containerdSha256; 212 }; 213 + vendorSha256 = null; 214 + buildInputs = [ btrfs-progs ]; 215 + subPackages = [ "cmd/containerd" "cmd/containerd-shim-runc-v2" ]; 216 + ldflags = versionldflags; 217 }; 218 in 219 + buildGoModule rec { 220 pname = "k3s"; 221 version = k3sVersion; 222 223 + src = k3sRepo; 224 + proxyVendor = true; 225 + vendorSha256 = "sha256-8Yp9csyRNSYi9wo8E8mF8cu92wG1t3l18wJ8Y4L7HEA="; 226 + 227 + patches = [ 228 + ./patches/0001-scrips-download-strip-downloading-just-package-CRD.patch 229 + ./patches/0002-Don-t-build-a-static-binary-in-package-cli.patch 230 + ]; 231 232 # Important utilities used by the kubelet, see 233 # https://github.com/kubernetes/kubernetes/issues/26093#issuecomment-237202494 ··· 243 conntrack-tools 244 ]; 245 246 + buildInputs = k3sRuntimeDeps; 247 + 248 + nativeBuildInputs = [ 249 + makeWrapper 250 + rsync 251 + yq-go 252 + zstd 253 + ]; 254 + 255 + # embedded in the final k3s cli 256 + propagatedBuildInputs = [ 257 + k3sCNIPlugins 258 + k3sContainerd 259 + k3sServer 260 + runc 261 + ]; 262 + 263 + # We override most of buildPhase due to peculiarities in k3s's build. 264 + # Specifically, it has a 'go generate' which runs part of the package. See 265 + # this comment: 266 + # https://github.com/NixOS/nixpkgs/pull/158089#discussion_r799965694 267 + # So, why do we use buildGoModule at all? For the `vendorSha256` / `go mod download` stuff primarily. 268 + buildPhase = '' 269 + patchShebangs ./scripts/package-cli ./scripts/download ./scripts/build-upload 270 + 271 + # copy needed 'go generate' inputs into place 272 + mkdir -p ./bin/aux 273 + rsync -a --no-perms ${k3sServer}/bin/ ./bin/ 274 + ln -vsf ${runc}/bin/runc ./bin/runc 275 + ln -vsf ${k3sCNIPlugins}/bin/cni ./bin/cni 276 + ln -vsf ${k3sContainerd}/bin/* ./bin/ 277 + rsync -a --no-perms --chmod u=rwX ${k3sRoot}/etc/ ./etc/ 278 + mkdir -p ./build/static/charts 279 + # Note, upstream's chart has a 00 suffix. This seems to not matter though, so we're ignoring that naming detail. 280 + export TRAEFIK_CHART_FILE=${traefikChart} 281 + # place the traefik chart using their code since it's complicated 282 + # We trim the actual download, see patches 283 + ./scripts/download 284 285 + export ARCH=$GOARCH 286 + export DRONE_TAG="v${k3sVersion}" 287 + export DRONE_COMMIT="${k3sCommit}" 288 + # use ./scripts/package-cli to run 'go generate' + 'go build' 289 290 + ./scripts/package-cli 291 + mkdir -p $out/bin 292 + ''; 293 294 + # Otherwise it depends on 'getGoDirs', which is normally set in buildPhase 295 + doCheck = false; 296 + 297 installPhase = '' 298 + # wildcard to match the arm64 build too 299 + install -m 0755 dist/artifacts/k3s* -D $out/bin/k3s 300 + wrapProgram $out/bin/k3s \ 301 --prefix PATH : ${lib.makeBinPath k3sRuntimeDeps} \ 302 --prefix PATH : "$out/bin" 303 ''; 304 305 doInstallCheck = true; 306 installCheckPhase = '' 307 + $out/bin/k3s --version | grep -F "v${k3sVersion}" >/dev/null 308 ''; 309 310 passthru.updateScript = ./update.sh;
+41
pkgs/applications/networking/cluster/k3s/patches/0001-scrips-download-strip-downloading-just-package-CRD.patch
···
··· 1 + From 6f53bd36a40da4c71486e3b79f6e32d53d6eea5d Mon Sep 17 00:00:00 2001 2 + From: Euan Kemp <euank@euank.com> 3 + Date: Thu, 3 Feb 2022 23:50:40 -0800 4 + Subject: [PATCH 2/2] scrips/download: strip downloading, just package CRD 5 + 6 + The CRD packaging is a complicated set of commands, so let's reuse it. 7 + --- 8 + scripts/download | 10 ++-------- 9 + 1 file changed, 2 insertions(+), 8 deletions(-) 10 + 11 + diff --git a/scripts/download b/scripts/download 12 + index 5effc0562a..82361803ee 100755 13 + --- a/scripts/download 14 + +++ b/scripts/download 15 + @@ -24,12 +24,6 @@ rm -rf ${CONTAINERD_DIR} 16 + mkdir -p ${CHARTS_DIR} 17 + mkdir -p ${DATA_DIR} 18 + 19 + -curl --compressed -sfL https://github.com/k3s-io/k3s-root/releases/download/${VERSION_ROOT}/k3s-root-${ARCH}.tar | tar xf - --exclude=bin/socat 20 + - 21 + -git clone --single-branch --branch=${VERSION_RUNC} --depth=1 https://github.com/opencontainers/runc ${RUNC_DIR} 22 + - 23 + -git clone --single-branch --branch=${VERSION_CONTAINERD} --depth=1 https://github.com/k3s-io/containerd ${CONTAINERD_DIR} 24 + - 25 + setup_tmp() { 26 + TMP_DIR=$(mktemp -d --tmpdir=${CHARTS_DIR}) 27 + cleanup() { 28 + @@ -44,8 +38,8 @@ setup_tmp() { 29 + 30 + download_and_package_traefik () { 31 + echo "Downloading Traefik Helm chart from ${TRAEFIK_URL}" 32 + - curl -sfL ${TRAEFIK_URL} -o ${TMP_DIR}/${TRAEFIK_FILE} 33 + - code=$? 34 + + # nixpkgs: copy in our known traefik chart instead 35 + + cp $TRAEFIK_CHART_FILE ${TMP_DIR}/${TRAEFIK_FILE} 36 + 37 + if [ $code -ne 0 ]; then 38 + echo "Error: Failed to download Traefik Helm chart!" 39 + -- 40 + 2.34.1 41 +
-81
pkgs/applications/networking/cluster/k3s/patches/0002-Add-nixpkgs-patches.patch
··· 1 - -Subject: [PATCH 2/2] Add nixpkgs patches 2 - -Original patch by: Euan Kemp <euank@euank.com> 3 - -Adapted by: superherointj 4 - - 5 - -This patch allows us to re-use upstream build scripts when building for nix. 6 - ---- 7 - - 2 files changed: 8 - - scripts/build 9 - - scripts/package-cli 10 - - 11 - diff --git a/scripts/build b/scripts/build 12 - index 2f3d1dc496..4f4e5aa897 100755 13 - --- a/scripts/build 14 - +++ b/scripts/build 15 - @@ -12,7 +12,8 @@ PKG_CONTAINERD="github.com/containerd/containerd" 16 - PKG_K3S_CONTAINERD="github.com/k3s-io/containerd" 17 - PKG_CRICTL="github.com/kubernetes-sigs/cri-tools" 18 - 19 - -buildDate=$(date -u '+%Y-%m-%dT%H:%M:%SZ') 20 - +# nixpkgs: deterministic build date 21 - +buildDate="$(date -d "$(git log -1 --format=%ai)" -u "+%Y-%m-%dT%H:%M:%SZ")" 22 - 23 - VENDOR_PREFIX="${PKG}/vendor/" 24 - VERSIONFLAGS=" 25 - @@ -89,17 +90,7 @@ cleanup() { 26 - } 27 - 28 - INSTALLBIN=$(pwd)/bin 29 - -if [ ! -x ${INSTALLBIN}/cni ]; then 30 - -( 31 - - echo Building cni 32 - - TMPDIR=$(mktemp -d) 33 - - trap cleanup EXIT 34 - - WORKDIR=$TMPDIR/src/github.com/containernetworking/plugins 35 - - git clone -b $VERSION_CNIPLUGINS https://github.com/rancher/plugins.git $WORKDIR 36 - - cd $WORKDIR 37 - - GOPATH=$TMPDIR CGO_ENABLED=0 "${GO}" build -tags "$TAGS" -ldflags "$LDFLAGS $STATIC" -o $INSTALLBIN/cni 38 - -) 39 - -fi 40 - +# nixpkgs: skip building cni, we build it separately 41 - # echo Building agent 42 - # CGO_ENABLED=1 "${GO}" build -tags "$TAGS" -ldflags "$VERSIONFLAGS $LDFLAGS $STATIC" -o bin/k3s-agent ./cmd/agent/main.go 43 - echo Building server 44 - @@ -116,10 +107,7 @@ ln -s containerd ./bin/ctr 45 - #CGO_ENABLED=1 "${GO}" build -tags "$TAGS" -ldflags "$VERSIONFLAGS $LDFLAGS $STATIC_SQLITE" -o bin/ctr ./cmd/ctr/main.go 46 - # echo Building containerd 47 - # CGO_ENABLED=0 "${GO}" build -tags "$TAGS" -ldflags "$VERSIONFLAGS $LDFLAGS $STATIC" -o bin/containerd ./cmd/containerd/ 48 - -echo Building runc 49 - -rm -f ./build/src/github.com/opencontainers/runc/runc 50 - -make GOPATH=$(pwd)/build EXTRA_LDFLAGS="-w -s" BUILDTAGS="$RUNC_TAGS" -C ./build/src/github.com/opencontainers/runc $RUNC_STATIC 51 - -cp -f ./build/src/github.com/opencontainers/runc/runc ./bin/runc 52 - +# nixpkgs: we build runc separately 53 - 54 - echo Building containerd-shim 55 - rm -f ./vendor/github.com/containerd/containerd/bin/containerd-shim 56 - diff --git a/scripts/package-cli b/scripts/package-cli 57 - index ab4a6dac63..044b5587d0 100755 58 - --- a/scripts/package-cli 59 - +++ b/scripts/package-cli 60 - @@ -50,15 +50,17 @@ fi 61 - 62 - CMD_NAME=dist/artifacts/k3s${BIN_SUFFIX} 63 - 64 - -"${GO}" generate 65 - +CGO_ENABLED=0 env -u GOARCH "${GO}" generate 66 - LDFLAGS=" 67 - -X github.com/rancher/k3s/pkg/version.Version=$VERSION 68 - -X github.com/rancher/k3s/pkg/version.GitCommit=${COMMIT:0:8} 69 - -w -s 70 - " 71 - -STATIC="-extldflags '-static'" 72 - -CGO_ENABLED=0 "${GO}" build -ldflags "$LDFLAGS $STATIC" -o ${CMD_NAME} ./cmd/k3s/main.go 73 - +# STATIC="-extldflags '-static'" 74 - +# nixpkgs: we can depend on dynamic linking because we have a good package manager 75 - +"${GO}" build -ldflags "$LDFLAGS" -o ${CMD_NAME} ./cmd/k3s/main.go 76 - 77 - stat ${CMD_NAME} 78 - 79 - -./scripts/build-upload ${CMD_NAME} ${COMMIT} 80 - +# nixpkgs: skip uploading 81 - +# ./scripts/build-upload ${CMD_NAME} ${COMMIT}
···
+37
pkgs/applications/networking/cluster/k3s/patches/0002-Don-t-build-a-static-binary-in-package-cli.patch
···
··· 1 + From 49c000c7c5dd7a502a2be4c638d2c32b65673c00 Mon Sep 17 00:00:00 2001 2 + From: Euan Kemp <euank@euank.com> 3 + Date: Sun, 6 Feb 2022 23:13:00 -0800 4 + Subject: [PATCH] Don't build a static binary in package-cli 5 + 6 + since nixpkgs prefers dynamically linked binaries. 7 + 8 + Also remove "trimpath" for the 'go generate' step because the codegen 9 + they use doesn't work with trimpath set. 10 + --- 11 + scripts/package-cli | 5 ++--- 12 + 1 file changed, 2 insertions(+), 3 deletions(-) 13 + 14 + diff --git a/scripts/package-cli b/scripts/package-cli 15 + index 28927327b7..95dbb469f1 100755 16 + --- a/scripts/package-cli 17 + +++ b/scripts/package-cli 18 + @@ -48,14 +48,13 @@ fi 19 + 20 + CMD_NAME=dist/artifacts/k3s${BIN_SUFFIX} 21 + 22 + -"${GO}" generate 23 + +GOFLAGS="" "${GO}" generate 24 + LDFLAGS=" 25 + -X github.com/rancher/k3s/pkg/version.Version=$VERSION 26 + -X github.com/rancher/k3s/pkg/version.GitCommit=${COMMIT:0:8} 27 + -w -s 28 + " 29 + -STATIC="-extldflags '-static'" 30 + -CGO_ENABLED=0 "${GO}" build -ldflags "$LDFLAGS $STATIC" -o ${CMD_NAME} ./cmd/k3s/main.go 31 + +CGO_ENABLED=0 "${GO}" build -ldflags "$LDFLAGS" -o ${CMD_NAME} ./cmd/k3s/main.go 32 + 33 + stat ${CMD_NAME} 34 + 35 + -- 36 + 2.34.1 37 +
+33
pkgs/applications/networking/instant-messengers/ripcord/darwin.nix
···
··· 1 + { stdenvNoCC, lib, fetchzip }: 2 + 3 + stdenvNoCC.mkDerivation rec { 4 + pname = "ripcord"; 5 + version = "0.4.29"; 6 + 7 + src = fetchzip { 8 + url = "https://cancel.fm/dl/Ripcord_Mac_${version}.zip"; 9 + sha256 = "sha256-v8iydjLBjFN5LuctpcBpEkhSICxPhLKzLjSASWtsQok="; 10 + stripRoot = false; 11 + }; 12 + 13 + dontBuild = true; 14 + dontFixup = true; # modification is not allowed by the license https://cancel.fm/ripcord/shareware-redistribution/ 15 + 16 + installPhase = '' 17 + runHook preInstall 18 + 19 + mkdir -p $out/Applications 20 + cp -r $src/Ripcord.app $out/Applications/ 21 + 22 + runHook postInstall 23 + ''; 24 + 25 + meta = with lib; { 26 + description = "Desktop chat client for Slack and Discord"; 27 + homepage = "https://cancel.fm/ripcord/"; 28 + # See: https://cancel.fm/ripcord/shareware-redistribution/ 29 + license = licenses.unfreeRedistributable; 30 + maintainers = with maintainers; [ mikroskeem ]; 31 + platforms = [ "x86_64-darwin" ]; 32 + }; 33 + }
pkgs/applications/networking/instant-messengers/ripcord/default.nix
+3 -3
pkgs/applications/networking/nextdns/default.nix
··· 2 3 buildGoModule rec { 4 pname = "nextdns"; 5 - version = "1.37.3"; 6 7 src = fetchFromGitHub { 8 owner = "nextdns"; 9 repo = "nextdns"; 10 rev = "v${version}"; 11 - sha256 = "sha256-BCDVn4JaRYIexI7NrRDchUl9u4AEJa+An9ItYYJDs3A="; 12 }; 13 14 - vendorSha256 = "sha256-YZm+DUrH+1xdJrGjmlajbcsnqVODVbZKivVjmqZ2e48="; 15 16 doCheck = false; 17
··· 2 3 buildGoModule rec { 4 pname = "nextdns"; 5 + version = "1.37.7"; 6 7 src = fetchFromGitHub { 8 owner = "nextdns"; 9 repo = "nextdns"; 10 rev = "v${version}"; 11 + sha256 = "sha256-L5PeT4Y2oWM1WUJaBK9xgrpfkpvKM1+sA29A3AiDE38="; 12 }; 13 14 + vendorSha256 = "sha256-6hWD05lXteqL7egj9tiRVHlevKM33i+a+zBUZs7PF7I="; 15 16 doCheck = false; 17
+3 -3
pkgs/applications/office/trilium/default.nix
··· 19 maintainers = with maintainers; [ fliegendewurst ]; 20 }; 21 22 - version = "0.50.1"; 23 24 desktopSource = { 25 url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-${version}.tar.xz"; 26 - sha256 = "1fb491ld3z6b2cndy8nl7zhpdsbb2v6kkrrc0hv92zm9qnfp7a99"; 27 }; 28 29 serverSource = { 30 url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-server-${version}.tar.xz"; 31 - sha256 = "1yfj1i5hsphp1y52rgsapqmmv7cvl4imf6dkv8fp3qx5i7j4y5j9"; 32 }; 33 34 in {
··· 19 maintainers = with maintainers; [ fliegendewurst ]; 20 }; 21 22 + version = "0.50.2"; 23 24 desktopSource = { 25 url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-${version}.tar.xz"; 26 + sha256 = "0fljza5afpjxgrzgskjhs7w86aa51d88xzv2h43666638j3c5mvk"; 27 }; 28 29 serverSource = { 30 url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-server-${version}.tar.xz"; 31 + sha256 = "0jqpi1gc48jxvc68yzx80jp553haihybj3g3c5ymvqmgivwn7n4c"; 32 }; 33 34 in {
+11 -11
pkgs/applications/science/electronics/kicad/versions.nix
··· 3 { 4 "kicad" = { 5 kicadVersion = { 6 - version = "6.0.1"; 7 src = { 8 - rev = "79c1e3a40b913f818bddb69ae98d4d38ab81f926"; 9 - sha256 = "1vpcbhhw8844hm6vpk3kk405wak531pvcvcpc66z0b48iprk3imr"; 10 }; 11 }; 12 libVersion = { 13 - version = "6.0.1"; 14 libSources = { 15 - symbols.rev = "9f21fdcd5728ce6339dd4e1b26ebe60a1bba05e0"; 16 - symbols.sha256 = "1azjx1bmxaz8bniyw75lq60mc8hvay00jn9qdc2zp7isy3c9ibp0"; 17 - templates.rev = "5a9266bc796ba5c285401dd1fd900dbc4b6a8cd3"; 18 templates.sha256 = "13h9ly6amiwm7zkwa2fd9730kh295ls8j95fszlfjp9rczv2yyzm"; 19 - footprints.rev = "c7f4881b9ec1cbe7f7e5a0828946d0dd909afbee"; 20 - footprints.sha256 = "0mv9xs0mmmfn0yhzx1v55r5app13ckagb16249rabyiz3v5crdpb"; 21 - packages3d.rev = "5d0c3590b26835f9d206a355d7579706c06d8bfe"; 22 - packages3d.sha256 = "0vwcbzq42hzjl4f0zjaswmiff1x59hv64g5n00mx1gl0gwngnyla"; 23 }; 24 }; 25 };
··· 3 { 4 "kicad" = { 5 kicadVersion = { 6 + version = "6.0.2"; 7 src = { 8 + rev = "378541a8ebe8a691b61c8ed1b4012c71343acfbb"; 9 + sha256 = "1lcl25zkqkyj5rvw9rad3n7bklpg10kmhmhkyyrgg8ql7di6wa0f"; 10 }; 11 }; 12 libVersion = { 13 + version = "6.0.2"; 14 libSources = { 15 + symbols.rev = "80a176076a8f3785a4cd64e55ec87f27f6fcc163"; 16 + symbols.sha256 = "1f57wv5b95iqd64k8ab82fvxnh5q890v7bzclmn019gl6ikisxj5"; 17 + templates.rev = "c9a51b852eacc3e64639548032b50edd80ddb27c"; 18 templates.sha256 = "13h9ly6amiwm7zkwa2fd9730kh295ls8j95fszlfjp9rczv2yyzm"; 19 + footprints.rev = "c81b399054b0d3842094d7e8dfe08eb04310573a"; 20 + footprints.sha256 = "1xmnq2731v2afan1d08xb1qqgl5xd01v5jphi6cdmw28ri555cna"; 21 + packages3d.rev = "75175a21b720c59a26efce9a8c6dba3d032392a9"; 22 + packages3d.sha256 = "10zf8hp85ksi84cbiczsksn0ygvri4ffsa126v73nnkx6irw6nkk"; 23 }; 24 }; 25 };
+20
pkgs/development/interpreters/janet/darwin-remove-net-test.patch
···
··· 1 + diff --git a/test/suite0009.janet b/test/suite0009.janet 2 + index 6095bc60..25360d60 100644 3 + --- a/test/suite0009.janet 4 + +++ b/test/suite0009.janet 5 + @@ -174,15 +174,6 @@ 6 + (defer (:close stream) 7 + (check-matching-names stream))) 8 + 9 + -# Test localname and peername 10 + -(repeat 20 11 + - (with [s (net/server "127.0.0.1" "8000" names-handler)] 12 + - (defn test-names [] 13 + - (with [conn (net/connect "127.0.0.1" "8000")] 14 + - (check-matching-names conn))) 15 + - (repeat 20 (test-names))) 16 + - (gccollect)) 17 + - 18 + # Create pipe 19 + 20 + (var pipe-counter 0)
+9 -10
pkgs/development/interpreters/janet/default.nix
··· 2 3 stdenv.mkDerivation rec { 4 pname = "janet"; 5 - version = "1.16.1"; 6 7 src = fetchFromGitHub { 8 owner = "janet-lang"; 9 repo = pname; 10 rev = "v${version}"; 11 - sha256 = "sha256-TzJbHmHIySlf3asQ02HOdehMR+s0KkPifBiaQ4FvFCg="; 12 }; 13 14 - # we don't have /usr/bin/env in the sandbox, so substitute for a proper, 15 - # absolute path to janet 16 postPatch = '' 17 - substituteInPlace jpm \ 18 - --replace '/usr/bin/env janet' $out/bin/janet \ 19 - --replace /usr/local/lib/janet $out/lib \ 20 - --replace /usr/local $out 21 - 22 substituteInPlace janet.1 \ 23 - --replace /usr/local/lib/janet $out/lib 24 ''; 25 26 nativeBuildInputs = [ meson ninja ]; ··· 35 license = licenses.mit; 36 maintainers = with maintainers; [ andrewchambers peterhoeg ]; 37 platforms = platforms.all; 38 }; 39 }
··· 2 3 stdenv.mkDerivation rec { 4 pname = "janet"; 5 + version = "1.20.0"; 6 7 src = fetchFromGitHub { 8 owner = "janet-lang"; 9 repo = pname; 10 rev = "v${version}"; 11 + sha256 = "sha256-mCeOaTbOQej4Uza9fg+xop77z31SQ3sO09dZK8SVAyU="; 12 }; 13 14 + # This release fails the test suite on darwin, remove when debugged. 15 + # See https://github.com/NixOS/nixpkgs/pull/150618 for discussion. 16 + patches = lib.optionals stdenv.isDarwin ./darwin-remove-net-test.patch; 17 + 18 postPatch = '' 19 substituteInPlace janet.1 \ 20 + --replace /usr/local/ $out/ 21 ''; 22 23 nativeBuildInputs = [ meson ninja ]; ··· 32 license = licenses.mit; 33 maintainers = with maintainers; [ andrewchambers peterhoeg ]; 34 platforms = platforms.all; 35 + # Marked as broken when patch is applied, see comment above patch. 36 + broken = stdenv.isDarwin; 37 }; 38 }
+59
pkgs/development/interpreters/janet/jpm.nix
···
··· 1 + { lib, stdenv, fetchFromGitHub, janet }: 2 + 3 + let 4 + platformFiles = { 5 + aarch64-darwin = "macos_config.janet"; 6 + aarch64-linux = "linux_config.janet"; 7 + x86_64-darwin = "macos_config.janet"; 8 + x86_64-linux = "linux_config.janet"; 9 + }; 10 + 11 + platformFile = platformFiles.${stdenv.hostPlatform.system}; 12 + 13 + in 14 + stdenv.mkDerivation rec { 15 + pname = "jpm"; 16 + version = "0.0.2"; 17 + 18 + src = fetchFromGitHub { 19 + owner = "janet-lang"; 20 + repo = pname; 21 + rev = version; 22 + sha256 = "sha256-nv+vkDjEY711L+C5ibw48DUSNqq2UJiFC2i5LntuBNM="; 23 + }; 24 + 25 + # `auto-shebangs true` gives us a shebang line that points to janet inside the 26 + # jpm bin folder 27 + postPatch = '' 28 + substituteInPlace configs/${platformFile} \ 29 + --replace 'auto-shebang true' 'auto-shebang false' \ 30 + --replace /usr/local $out 31 + ''; 32 + 33 + dontConfigure = true; 34 + 35 + buildInputs = [ janet ]; 36 + 37 + dontBuild = true; 38 + 39 + installPhase = '' 40 + runHook preInstall 41 + 42 + mkdir -p $out/{lib/janet,share/man/man1} 43 + 44 + janet bootstrap.janet configs/${platformFile} 45 + 46 + runHook postInstall 47 + ''; 48 + 49 + doInstallCheck = true; 50 + 51 + installCheckPhase = '' 52 + $out/bin/jpm help 53 + ''; 54 + 55 + meta = janet.meta // { 56 + description = "Janet Project Manager for the Janet programming language"; 57 + platforms = lib.attrNames platformFiles; 58 + }; 59 + }
+2 -2
pkgs/development/libraries/armadillo/default.nix
··· 2 3 stdenv.mkDerivation rec { 4 pname = "armadillo"; 5 - version = "10.7.5"; 6 7 src = fetchurl { 8 url = "mirror://sourceforge/arma/armadillo-${version}.tar.xz"; 9 - sha256 = "sha256-XQ2f1rNO/Lpqb87/VMDS0T/L6RXXr4owxecs8xfSCU8="; 10 }; 11 12 nativeBuildInputs = [ cmake ];
··· 2 3 stdenv.mkDerivation rec { 4 pname = "armadillo"; 5 + version = "10.8.2"; 6 7 src = fetchurl { 8 url = "mirror://sourceforge/arma/armadillo-${version}.tar.xz"; 9 + sha256 = "sha256-if3YmL9r/3X278OjAYF+Tt51K5qAkn+wfuNYsT41OSI="; 10 }; 11 12 nativeBuildInputs = [ cmake ];
+6 -3
pkgs/development/libraries/elpa/default.nix
··· 13 , cudatoolkit 14 } : 15 16 - # The standard Scalapack has no iLP64 interface 17 - assert (!blas.isILP64) && (!lapack.isILP64); 18 19 stdenv.mkDerivation rec { 20 pname = "elpa"; 21 version = "2021.11.001"; 22 23 src = fetchurl { 24 url = "https://elpa.mpcdf.mpg.de/software/tarball-archive/Releases/${version}/elpa-${version}.tar.gz"; ··· 60 "--with-mpi" 61 "--enable-openmp" 62 "--without-threading-support-check-during-build" 63 - ] ++ lib.optional (!avxSupport) "--disable-avx" 64 ++ lib.optional (!avx2Support) "--disable-avx2" 65 ++ lib.optional (!avx512Support) "--disable-avx512" 66 ++ lib.optional (!stdenv.hostPlatform.isx86_64) "--disable-sse"
··· 13 , cudatoolkit 14 } : 15 16 + assert blas.isILP64 == lapack.isILP64; 17 + assert blas.isILP64 == scalapack.isILP64; 18 19 stdenv.mkDerivation rec { 20 pname = "elpa"; 21 version = "2021.11.001"; 22 + 23 + passthru = { inherit (blas) isILP64; }; 24 25 src = fetchurl { 26 url = "https://elpa.mpcdf.mpg.de/software/tarball-archive/Releases/${version}/elpa-${version}.tar.gz"; ··· 62 "--with-mpi" 63 "--enable-openmp" 64 "--without-threading-support-check-during-build" 65 + ] ++ lib.optional blas.isILP64 "--enable-64bit-integer-math-support" 66 + ++ lib.optional (!avxSupport) "--disable-avx" 67 ++ lib.optional (!avx2Support) "--disable-avx2" 68 ++ lib.optional (!avx512Support) "--disable-avx512" 69 ++ lib.optional (!stdenv.hostPlatform.isx86_64) "--disable-sse"
+32
pkgs/development/python-modules/lightwave/default.nix
···
··· 1 + { lib 2 + , buildPythonPackage 3 + , fetchPypi 4 + , pythonOlder 5 + }: 6 + 7 + buildPythonPackage rec { 8 + pname = "lightwave"; 9 + version = "0.20"; 10 + format = "setuptools"; 11 + 12 + disabled = pythonOlder "3.7"; 13 + 14 + src = fetchPypi { 15 + inherit pname version; 16 + hash = "sha256-jhffMDhgQ257ZQxvidiRgBSnZvzLJFKNU2NZ8AyGTGc="; 17 + }; 18 + 19 + pythonImportsCheck = [ 20 + "lightwave" 21 + ]; 22 + 23 + # Requires phyiscal hardware 24 + doCheck = false; 25 + 26 + meta = with lib; { 27 + description = "Module for interacting with LightwaveRF hubs"; 28 + homepage = "https://github.com/GeoffAtHome/lightwave"; 29 + license = licenses.mit; 30 + maintainers = with maintainers; [ fab ]; 31 + }; 32 + }
+22
pkgs/development/python-modules/pyasn/default.nix
···
··· 1 + { lib, buildPythonPackage, fetchPypi, }: 2 + 3 + buildPythonPackage rec { 4 + pname = "pyasn"; 5 + version = "1.6.1"; 6 + 7 + src = fetchPypi { 8 + inherit pname version; 9 + sha256 = "sha256-6UK1SRY2Pse4tw6urs0OtOQe8bz0ojl7KabXFfzN+SU="; 10 + }; 11 + 12 + doCheck = false; # Tests require internet connection which wont work 13 + 14 + pythonImportsCheck = [ "pyasn" ]; 15 + 16 + meta = with lib; { 17 + description = "Offline IP address to Autonomous System Number lookup module"; 18 + homepage = "https://github.com/hadiasghari/pyasn"; 19 + license = with licenses; [ bsdOriginal mit ]; 20 + maintainers = with maintainers; [ onny ]; 21 + }; 22 + }
+3 -2
pkgs/development/python-modules/sqlmap/default.nix
··· 7 8 buildPythonPackage rec { 9 pname = "sqlmap"; 10 - version = "1.6"; 11 12 src = fetchPypi { 13 inherit pname version; 14 - sha256 = "sha256-gYr/+sgkFT24JXNDHgmT4ee5b977Iax9TLZ9/nh7PP0="; 15 }; 16 17 postPatch = '' ··· 31 meta = with lib; { 32 description = "Automatic SQL injection and database takeover tool"; 33 homepage = "https://sqlmap.org"; 34 license = licenses.gpl2Plus; 35 maintainers = with maintainers; [ bennofs ]; 36 };
··· 7 8 buildPythonPackage rec { 9 pname = "sqlmap"; 10 + version = "1.6.2"; 11 12 src = fetchPypi { 13 inherit pname version; 14 + sha256 = "sha256-X8FpGnrF0aHuf3yIzRrxoNAu77UASTL36CQpcuxESV8="; 15 }; 16 17 postPatch = '' ··· 31 meta = with lib; { 32 description = "Automatic SQL injection and database takeover tool"; 33 homepage = "https://sqlmap.org"; 34 + changelog = "https://github.com/sqlmapproject/sqlmap/releases/tag/${version}"; 35 license = licenses.gpl2Plus; 36 maintainers = with maintainers; [ bennofs ]; 37 };
+37
pkgs/development/python-modules/temescal/default.nix
···
··· 1 + { lib 2 + , buildPythonPackage 3 + , fetchPypi 4 + , pythonOlder 5 + , pycryptodome 6 + }: 7 + 8 + buildPythonPackage rec { 9 + pname = "temescal"; 10 + version = "0.3"; 11 + format = "setuptools"; 12 + 13 + disabled = pythonOlder "3.7"; 14 + 15 + src = fetchPypi { 16 + inherit pname version; 17 + hash = "sha256-V1wsncIm4f6NPa6lwlO9pkDIFBG1K3VhmOQCwyrPGm4="; 18 + }; 19 + 20 + propagatedBuildInputs = [ 21 + pycryptodome 22 + ]; 23 + 24 + # Module has no tests 25 + doCheck = false; 26 + 27 + pythonImportsCheck = [ 28 + "temescal" 29 + ]; 30 + 31 + meta = with lib; { 32 + description = "Module for interacting with LG speaker systems"; 33 + homepage = "https://github.com/google/python-temescal"; 34 + license = licenses.asl20; 35 + maintainers = with maintainers; [ fab ]; 36 + }; 37 + }
+2 -2
pkgs/development/python-modules/ttp/default.nix
··· 19 in 20 buildPythonPackage rec { 21 pname = "ttp"; 22 - version = "0.8.3"; 23 format = "setuptools"; 24 25 src = fetchFromGitHub { 26 owner = "dmulyalin"; 27 repo = pname; 28 rev = version; 29 - sha256 = "0rnixz01dnxl1hmzh34v4w4c117ncldr33ws0m2hqhjf5n4kgrg3"; 30 }; 31 32 propagatedBuildInputs = [
··· 19 in 20 buildPythonPackage rec { 21 pname = "ttp"; 22 + version = "0.8.4"; 23 format = "setuptools"; 24 25 src = fetchFromGitHub { 26 owner = "dmulyalin"; 27 repo = pname; 28 rev = version; 29 + sha256 = "sha256-vuKlddqm8KirqAJyvBPfRb5Nw9zo4Fl1bwbfVMhmH9g="; 30 }; 31 32 propagatedBuildInputs = [
+3 -3
pkgs/development/tools/continuous-integration/drone-runner-docker/default.nix
··· 2 3 buildGoModule rec { 4 pname = "drone-runner-docker"; 5 - version = "1.6.3"; 6 7 src = fetchFromGitHub { 8 owner = "drone-runners"; 9 repo = pname; 10 rev = "v${version}"; 11 - sha256 = "sha256-WI3pr0t6EevIBOQwCAI+CY2O8Q7+W/CLDT/5Y0+tduQ="; 12 }; 13 14 - vendorSha256 = "15lpdliqz129yq5zgzjvndwdxngxa96g0ska4zkny7ycb3vwq0xm"; 15 16 meta = with lib; { 17 maintainers = with maintainers; [ endocrimes ];
··· 2 3 buildGoModule rec { 4 pname = "drone-runner-docker"; 5 + version = "1.8.0"; 6 7 src = fetchFromGitHub { 8 owner = "drone-runners"; 9 repo = pname; 10 rev = "v${version}"; 11 + sha256 = "sha256-F04h9kwrVvQEenzw1QTeNnQun9tHzu8HT24gNEMcRro="; 12 }; 13 14 + vendorSha256 = "sha256-E18ykjQc1eoHpviYok+NiLaeH01UMQmigl9JDwtR+zo="; 15 16 meta = with lib; { 17 maintainers = with maintainers; [ endocrimes ];
+22
pkgs/development/tools/jfmt/default.nix
···
··· 1 + { lib, rustPlatform, fetchFromGitHub }: 2 + 3 + rustPlatform.buildRustPackage rec { 4 + pname = "jfmt"; 5 + version = "1.2.0"; 6 + 7 + src = fetchFromGitHub { 8 + owner = "scruffystuffs"; 9 + repo = "${pname}.rs"; 10 + rev = version; 11 + sha256 = "07qb0sjwww6d2n7fw8w4razq1mkn4psrs9wqi1ccndrya1y39d8b"; 12 + }; 13 + 14 + cargoSha256 = "19kg2n53y9nazwpp8gcvdprxry2llf2k7g4q4zalyxkhpf7k6irb"; 15 + 16 + meta = with lib; { 17 + description = "CLI utility to format json files"; 18 + homepage = "https://github.com/scruffystuffs/jfmt.rs"; 19 + license = licenses.mit; 20 + maintainers = [ maintainers.psibi ]; 21 + }; 22 + }
+1 -1
pkgs/development/tools/misc/hydra/common.nix
··· 137 description = "Nix-based continuous build system"; 138 license = licenses.gpl3; 139 platforms = platforms.linux; 140 - maintainers = with maintainers; [ ma27 ]; 141 }; 142 }
··· 137 description = "Nix-based continuous build system"; 138 license = licenses.gpl3; 139 platforms = platforms.linux; 140 + maintainers = with maintainers; [ ]; 141 }; 142 }
+2 -2
pkgs/servers/home-assistant/component-packages.nix
··· 459 "launch_library" = ps: with ps; [ pylaunches ]; 460 "lcn" = ps: with ps; [ pypck ]; 461 "lg_netcast" = ps: with ps; [ pylgnetcast ]; 462 - "lg_soundbar" = ps: with ps; [ ]; # missing inputs: temescal 463 "life360" = ps: with ps; [ life360 ]; 464 "lifx" = ps: with ps; [ aiolifx aiolifx-effects ]; 465 "lifx_cloud" = ps: with ps; [ ]; 466 "light" = ps: with ps; [ ]; 467 - "lightwave" = ps: with ps; [ ]; # missing inputs: lightwave 468 "limitlessled" = ps: with ps; [ limitlessled ]; 469 "linksys_smart" = ps: with ps; [ ]; 470 "linode" = ps: with ps; [ linode-api ];
··· 459 "launch_library" = ps: with ps; [ pylaunches ]; 460 "lcn" = ps: with ps; [ pypck ]; 461 "lg_netcast" = ps: with ps; [ pylgnetcast ]; 462 + "lg_soundbar" = ps: with ps; [ temescal ]; 463 "life360" = ps: with ps; [ life360 ]; 464 "lifx" = ps: with ps; [ aiolifx aiolifx-effects ]; 465 "lifx_cloud" = ps: with ps; [ ]; 466 "light" = ps: with ps; [ ]; 467 + "lightwave" = ps: with ps; [ lightwave ]; 468 "limitlessled" = ps: with ps; [ limitlessled ]; 469 "linksys_smart" = ps: with ps; [ ]; 470 "linode" = ps: with ps; [ linode-api ];
+31
pkgs/servers/rmfakecloud/default.nix
···
··· 1 + { lib, fetchFromGitHub, buildGoModule }: 2 + 3 + buildGoModule rec { 4 + pname = "rmfakecloud"; 5 + version = "0.0.7"; 6 + 7 + src = fetchFromGitHub { 8 + owner = "ddvk"; 9 + repo = pname; 10 + rev = "v${version}"; 11 + sha256 = "sha256-Ax+eozbAIE3425ndT4z4fVBMwzLN7iR5fTz8rz60zWg="; 12 + }; 13 + 14 + vendorSha256 = "sha256-NwDaPpjkQogXE37RGS3zEALlp3NuXP9RW//vbwM6y0A="; 15 + 16 + postPatch = '' 17 + # skip including the JS SPA, which is difficult to build 18 + sed -i '/go:/d' ui/assets.go 19 + ''; 20 + 21 + ldflags = [ 22 + "-s" "-w" "-X main.version=v${version}" 23 + ]; 24 + 25 + meta = with lib; { 26 + description = "Host your own cloud for the Remarkable"; 27 + homepage = "https://ddvk.github.io/rmfakecloud/"; 28 + license = licenses.agpl3Only; 29 + maintainers = with maintainers; [ pacien martinetd ]; 30 + }; 31 + }
+2 -2
pkgs/tools/bluetooth/blueberry/default.nix
··· 14 15 stdenv.mkDerivation rec { 16 pname = "blueberry"; 17 - version = "1.4.6"; 18 19 src = fetchFromGitHub { 20 owner = "linuxmint"; 21 repo = pname; 22 rev = version; 23 - sha256 = "sha256-4SKEkoIEflOX5WXJ7X3onrieecT2NoH/eV3H3Cx/SYQ="; 24 }; 25 26 nativeBuildInputs = [
··· 14 15 stdenv.mkDerivation rec { 16 pname = "blueberry"; 17 + version = "1.4.7"; 18 19 src = fetchFromGitHub { 20 owner = "linuxmint"; 21 repo = pname; 22 rev = version; 23 + sha256 = "sha256-ziAdLFSZS8bh+OBSYLqxJ3g7mgFai/psvlBw3Qt17w0="; 24 }; 25 26 nativeBuildInputs = [
+2 -2
pkgs/tools/misc/disfetch/default.nix
··· 2 3 stdenv.mkDerivation rec { 4 pname = "disfetch"; 5 - version = "3.3"; 6 7 src = fetchFromGitHub { 8 owner = "q60"; 9 repo = "disfetch"; 10 rev = version; 11 - sha256 = "sha256-pKjSEK0DuQf2rBkOtqRhfhnpEHMqvmXwzKrwKL/T3QU="; 12 }; 13 14 dontBuild = true;
··· 2 3 stdenv.mkDerivation rec { 4 pname = "disfetch"; 5 + version = "3.6"; 6 7 src = fetchFromGitHub { 8 owner = "q60"; 9 repo = "disfetch"; 10 rev = version; 11 + sha256 = "sha256-/Not2jNwk3jX8TLN7CT3JXDilatSYXPaudGKNAgQDPY="; 12 }; 13 14 dontBuild = true;
+3 -5
pkgs/tools/misc/starship/default.nix
··· 12 13 rustPlatform.buildRustPackage rec { 14 pname = "starship"; 15 - version = "1.2.1"; 16 17 src = fetchFromGitHub { 18 owner = "starship"; 19 repo = pname; 20 rev = "v${version}"; 21 - sha256 = "sha256-5MJA8eHo1enOHlLpAOF1iDvOHCS/Nw0sc84VWu9nApE="; 22 }; 23 24 nativeBuildInputs = [ installShellFiles ] ++ lib.optionals stdenv.isLinux [ pkg-config ]; ··· 26 buildInputs = lib.optionals stdenv.isLinux [ openssl ] 27 ++ lib.optionals stdenv.isDarwin [ libiconv Security ]; 28 29 - buildFeatures = lib.optional (!stdenv.isDarwin) "notify-rust"; 30 - 31 postInstall = '' 32 for shell in bash fish zsh; do 33 STARSHIP_CACHE=$TMPDIR $out/bin/starship completions $shell > starship.$shell ··· 35 done 36 ''; 37 38 - cargoSha256 = "sha256-DTQQFxj6stzlVzSdmv4J4Nsf8X/VMlwvfIumnuK0YDo="; 39 40 preCheck = '' 41 HOME=$TMPDIR
··· 12 13 rustPlatform.buildRustPackage rec { 14 pname = "starship"; 15 + version = "1.3.0"; 16 17 src = fetchFromGitHub { 18 owner = "starship"; 19 repo = pname; 20 rev = "v${version}"; 21 + sha256 = "sha256-mqUE4JzNBhvtDpT2LM23eHX8q93wtPqA+/zr/PxEDiE="; 22 }; 23 24 nativeBuildInputs = [ installShellFiles ] ++ lib.optionals stdenv.isLinux [ pkg-config ]; ··· 26 buildInputs = lib.optionals stdenv.isLinux [ openssl ] 27 ++ lib.optionals stdenv.isDarwin [ libiconv Security ]; 28 29 postInstall = '' 30 for shell in bash fish zsh; do 31 STARSHIP_CACHE=$TMPDIR $out/bin/starship completions $shell > starship.$shell ··· 33 done 34 ''; 35 36 + cargoSha256 = "sha256-hQNDiayVT4UgbxcxdXssi/evPvwgyvG/UOFyEHj7jpo="; 37 38 preCheck = '' 39 HOME=$TMPDIR
+11 -2
pkgs/top-level/all-packages.nix
··· 6772 6773 jet = callPackage ../development/tools/jet { }; 6774 6775 jfsutils = callPackage ../tools/filesystems/jfsutils { }; 6776 6777 jhead = callPackage ../tools/graphics/jhead { }; ··· 13592 jacinda = haskell.lib.compose.justStaticExecutables haskell.packages.ghc921.jacinda; 13593 13594 janet = callPackage ../development/interpreters/janet {}; 13595 13596 jelly = callPackage ../development/interpreters/jelly {}; 13597 ··· 26623 26624 jwm-settings-manager = callPackage ../applications/window-managers/jwm/jwm-settings-manager.nix { }; 26625 26626 - k3s = callPackage ../applications/networking/cluster/k3s {}; 26627 26628 kconf = callPackage ../applications/networking/cluster/kconf { }; 26629 ··· 28451 28452 ries = callPackage ../applications/science/math/ries { }; 28453 28454 - ripcord = qt5.callPackage ../applications/networking/instant-messengers/ripcord { }; 28455 28456 ripser = callPackage ../applications/science/math/ripser { }; 28457 ··· 33552 rpl = callPackage ../tools/text/rpl { }; 33553 33554 ricty = callPackage ../data/fonts/ricty { }; 33555 33556 rmfuse = callPackage ../tools/filesystems/rmfuse {}; 33557
··· 6772 6773 jet = callPackage ../development/tools/jet { }; 6774 6775 + jfmt = callPackage ../development/tools/jfmt { }; 6776 + 6777 jfsutils = callPackage ../tools/filesystems/jfsutils { }; 6778 6779 jhead = callPackage ../tools/graphics/jhead { }; ··· 13594 jacinda = haskell.lib.compose.justStaticExecutables haskell.packages.ghc921.jacinda; 13595 13596 janet = callPackage ../development/interpreters/janet {}; 13597 + 13598 + jpm = callPackage ../development/interpreters/janet/jpm.nix {}; 13599 13600 jelly = callPackage ../development/interpreters/jelly {}; 13601 ··· 26627 26628 jwm-settings-manager = callPackage ../applications/window-managers/jwm/jwm-settings-manager.nix { }; 26629 26630 + k3s = callPackage ../applications/networking/cluster/k3s { }; 26631 26632 kconf = callPackage ../applications/networking/cluster/kconf { }; 26633 ··· 28455 28456 ries = callPackage ../applications/science/math/ries { }; 28457 28458 + ripcord = if stdenv.isLinux then 28459 + qt5.callPackage ../applications/networking/instant-messengers/ripcord { } 28460 + else 28461 + callPackage ../applications/networking/instant-messengers/ripcord/darwin.nix { }; 28462 28463 ripser = callPackage ../applications/science/math/ripser { }; 28464 ··· 33559 rpl = callPackage ../tools/text/rpl { }; 33560 33561 ricty = callPackage ../data/fonts/ricty { }; 33562 + 33563 + rmfakecloud = callPackage ../servers/rmfakecloud { }; 33564 33565 rmfuse = callPackage ../tools/filesystems/rmfuse {}; 33566
+6
pkgs/top-level/python-packages.nix
··· 4670 4671 lightparam = callPackage ../development/python-modules/lightparam { }; 4672 4673 lightwave2 = callPackage ../development/python-modules/lightwave2 { }; 4674 4675 lima = callPackage ../development/python-modules/lima { }; ··· 6536 pyarrow = callPackage ../development/python-modules/pyarrow { 6537 inherit (pkgs) arrow-cpp cmake; 6538 }; 6539 6540 pyasn1 = callPackage ../development/python-modules/pyasn1 { }; 6541 ··· 9627 teletype = callPackage ../development/python-modules/teletype { }; 9628 9629 telfhash = callPackage ../development/python-modules/telfhash { }; 9630 9631 tempest = callPackage ../development/python-modules/tempest { }; 9632
··· 4670 4671 lightparam = callPackage ../development/python-modules/lightparam { }; 4672 4673 + lightwave = callPackage ../development/python-modules/lightwave { }; 4674 + 4675 lightwave2 = callPackage ../development/python-modules/lightwave2 { }; 4676 4677 lima = callPackage ../development/python-modules/lima { }; ··· 6538 pyarrow = callPackage ../development/python-modules/pyarrow { 6539 inherit (pkgs) arrow-cpp cmake; 6540 }; 6541 + 6542 + pyasn = callPackage ../development/python-modules/pyasn { }; 6543 6544 pyasn1 = callPackage ../development/python-modules/pyasn1 { }; 6545 ··· 9631 teletype = callPackage ../development/python-modules/teletype { }; 9632 9633 telfhash = callPackage ../development/python-modules/telfhash { }; 9634 + 9635 + temescal = callPackage ../development/python-modules/temescal { }; 9636 9637 tempest = callPackage ../development/python-modules/tempest { }; 9638