Merge master into staging-next

This commit is contained in:
github-actions[bot] 2023-04-25 12:01:31 +00:00 committed by GitHub
commit a39805cda2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
123 changed files with 4276 additions and 936 deletions

View File

@ -229,7 +229,7 @@ See `node2nix` [docs](https://github.com/svanderburg/node2nix) for more info.
#### Pitfalls {#javascript-node2nix-pitfalls}
- If upstream package.json does not have a "version" attribute, `node2nix` will crash. You will need to add it like shown in [the package.json section](#javascript-upstream-package-json).
- `node2nix` has some [bugs](https://github.com/svanderburg/node2nix/issues/238) related to working with lock files from NPM distributed with `nodejs-16_x`.
- `node2nix` has some [bugs](https://github.com/svanderburg/node2nix/issues/238) related to working with lock files from NPM distributed with `nodejs_16`.
- `node2nix` does not like missing packages from NPM. If you see something like `Cannot resolve version: vue-loader-v16@undefined` then you might want to try another tool. The package might have been pulled off of NPM.
### yarn2nix {#javascript-yarn2nix}

View File

@ -4,6 +4,49 @@ with lib;
let
cfg = config.services.bird-lg;
stringOrConcat = sep: v: if builtins.isString v then v else concatStringsSep sep v;
frontend_args = let
fe = cfg.frontend;
in {
"--servers" = concatStringsSep "," fe.servers;
"--domain" = fe.domain;
"--listen" = fe.listenAddress;
"--proxy-port" = fe.proxyPort;
"--whois" = fe.whois;
"--dns-interface" = fe.dnsInterface;
"--bgpmap-info" = concatStringsSep "," cfg.frontend.bgpMapInfo;
"--title-brand" = fe.titleBrand;
"--navbar-brand" = fe.navbar.brand;
"--navbar-brand-url" = fe.navbar.brandURL;
"--navbar-all-servers" = fe.navbar.allServers;
"--navbar-all-url" = fe.navbar.allServersURL;
"--net-specific-mode" = fe.netSpecificMode;
"--protocol-filter" = concatStringsSep "," cfg.frontend.protocolFilter;
};
proxy_args = let
px = cfg.proxy;
in {
"--allowed" = concatStringsSep "," px.allowedIPs;
"--bird" = px.birdSocket;
"--listen" = px.listenAddress;
"--traceroute_bin" = px.traceroute.binary;
"--traceroute_flags" = concatStringsSep " " px.traceroute.flags;
"--traceroute_raw" = px.traceroute.rawOutput;
};
mkArgValue = value:
if isString value
then escapeShellArg value
else if isBool value
then boolToString value
else toString value;
filterNull = filterAttrs (_: v: v != "" && v != null && v != []);
argsAttrToList = args: mapAttrsToList (name: value: "${name} " + mkArgValue value ) (filterNull args);
in
{
options = {
@ -44,14 +87,12 @@ in
domain = mkOption {
type = types.str;
default = "";
example = "dn42.lantian.pub";
description = lib.mdDoc "Server name domain suffixes.";
};
servers = mkOption {
type = types.listOf types.str;
default = [ ];
example = [ "gigsgigscloud" "hostdare" ];
description = lib.mdDoc "Server name prefixes.";
};
@ -134,10 +175,14 @@ in
};
extraArgs = mkOption {
type = types.lines;
default = "";
type = with types; either lines (listOf str);
default = [ ];
description = lib.mdDoc ''
Extra parameters documented [here](https://github.com/xddxdd/bird-lg-go#frontend).
:::{.note}
Passing lines (plain strings) is deprecated in favour of passing lists of strings.
:::
'';
};
};
@ -160,8 +205,7 @@ in
birdSocket = mkOption {
type = types.str;
default = "/run/bird.ctl";
example = "/var/run/bird/bird.ctl";
default = "/var/run/bird/bird.ctl";
description = lib.mdDoc "Bird control socket path.";
};
@ -173,6 +217,12 @@ in
description = lib.mdDoc "Traceroute's binary path.";
};
flags = mkOption {
type = with types; listOf str;
default = [ ];
description = lib.mdDoc "Flags for traceroute process";
};
rawOutput = mkOption {
type = types.bool;
default = false;
@ -181,10 +231,14 @@ in
};
extraArgs = mkOption {
type = types.lines;
default = "";
type = with types; either lines (listOf str);
default = [ ];
description = lib.mdDoc ''
Extra parameters documented [here](https://github.com/xddxdd/bird-lg-go#proxy).
:::{.note}
Passing lines (plain strings) is deprecated in favour of passing lists of strings.
:::
'';
};
};
@ -194,6 +248,16 @@ in
###### implementation
config = {
warnings =
lib.optional (cfg.frontend.enable && builtins.isString cfg.frontend.extraArgs) ''
Passing strings to `services.bird-lg.frontend.extraOptions' is deprecated. Please pass a list of strings instead.
''
++ lib.optional (cfg.proxy.enable && builtins.isString cfg.proxy.extraArgs) ''
Passing strings to `services.bird-lg.proxy.extraOptions' is deprecated. Please pass a list of strings instead.
''
;
systemd.services = {
bird-lg-frontend = mkIf cfg.frontend.enable {
enable = true;
@ -211,23 +275,8 @@ in
};
script = ''
${cfg.package}/bin/frontend \
--servers ${concatStringsSep "," cfg.frontend.servers } \
--domain ${cfg.frontend.domain} \
--listen ${cfg.frontend.listenAddress} \
--proxy-port ${toString cfg.frontend.proxyPort} \
--whois ${cfg.frontend.whois} \
--dns-interface ${cfg.frontend.dnsInterface} \
--bgpmap-info ${concatStringsSep "," cfg.frontend.bgpMapInfo } \
--title-brand ${cfg.frontend.titleBrand} \
--navbar-brand ${cfg.frontend.navbar.brand} \
--navbar-brand-url ${cfg.frontend.navbar.brandURL} \
--navbar-all-servers ${cfg.frontend.navbar.allServers} \
--navbar-all-url ${cfg.frontend.navbar.allServersURL} \
--net-specific-mode ${cfg.frontend.netSpecificMode} \
--protocol-filter ${concatStringsSep "," cfg.frontend.protocolFilter } \
--name-filter ${cfg.frontend.nameFilter} \
--time-out ${toString cfg.frontend.timeout} \
${cfg.frontend.extraArgs}
${concatStringsSep " \\\n " (argsAttrToList frontend_args)} \
${stringOrConcat " " cfg.frontend.extraArgs}
'';
};
@ -247,12 +296,8 @@ in
};
script = ''
${cfg.package}/bin/proxy \
--allowed ${concatStringsSep "," cfg.proxy.allowedIPs } \
--bird ${cfg.proxy.birdSocket} \
--listen ${cfg.proxy.listenAddress} \
--traceroute_bin ${cfg.proxy.traceroute.binary}
--traceroute_raw ${boolToString cfg.proxy.traceroute.rawOutput}
${cfg.proxy.extraArgs}
${concatStringsSep " \\\n " (argsAttrToList proxy_args)} \
${stringOrConcat " " cfg.proxy.extraArgs}
'';
};
};
@ -266,4 +311,9 @@ in
};
};
};
meta.maintainers = with lib.maintainers; [
e1mo
tchekda
];
}

View File

@ -10,6 +10,7 @@ let cfg = config.services.cloud-init;
openssh
shadow
util-linux
busybox
] ++ optional cfg.btrfs.enable btrfs-progs
++ optional cfg.ext4.enable e2fsprogs
;

View File

@ -429,7 +429,7 @@ in {
environment = env;
path = with pkgs; [ bashInteractive ffmpeg nodejs-16_x openssl yarn python3 ];
path = with pkgs; [ bashInteractive ffmpeg nodejs_16 openssl yarn python3 ];
script = ''
#!/bin/sh
@ -859,7 +859,7 @@ in {
home = cfg.package;
};
})
(lib.attrsets.setAttrByPath [ cfg.user "packages" ] [ cfg.package peertubeEnv peertubeCli pkgs.ffmpeg pkgs.nodejs-16_x pkgs.yarn ])
(lib.attrsets.setAttrByPath [ cfg.user "packages" ] [ cfg.package peertubeEnv peertubeCli pkgs.ffmpeg pkgs.nodejs_16 pkgs.yarn ])
(lib.mkIf cfg.redis.enableUnixSocket {${config.services.peertube.user}.extraGroups = [ "redis-peertube" ];})
];

View File

@ -133,7 +133,7 @@ in {
WorkingDirectory = "/var/lib/${cfg.stateDirectoryName}";
DynamicUser = true;
PrivateTmp = true;
ExecStart = "${pkgs.nodejs-16_x}/bin/node ${pkgs.wiki-js}/server";
ExecStart = "${pkgs.nodejs_16}/bin/node ${pkgs.wiki-js}/server";
};
};
};

View File

@ -2,11 +2,11 @@
let
pname = "ledger-live-desktop";
version = "2.55.0";
version = "2.57.0";
src = fetchurl {
url = "https://download.live.ledger.com/${pname}-${version}-linux-x86_64.AppImage";
hash = "sha256-N0BhbqZvZs3IP+jMxr85KlHs6I/fxWgoK884EKT9C9Y=";
hash = "sha256-fXvCj9eBEp/kGPSiNUdir19eU0x461KzXgl5YgeapHI=";
};
appimageContents = appimageTools.extractType2 {

View File

@ -1,6 +1,6 @@
#!/usr/bin/env nix-shell
/*
#!nix-shell -i node -p nodejs-18_x
#!nix-shell -i node -p nodejs_18
*/
import { promises as fs } from 'node:fs';

View File

@ -2,7 +2,7 @@
{pkgs ? import <nixpkgs> {
inherit system;
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-14_x"}:
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_14"}:
let
nodeEnv = import ./node-env.nix {

View File

@ -2,7 +2,7 @@
{pkgs ? import <nixpkgs> {
inherit system;
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-14_x"}:
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_14"}:
let
nodeEnv = import ../../../../development/node-packages/node-env.nix {

View File

@ -1,4 +1,4 @@
{ stdenv, fetchYarnDeps, fixup_yarn_lock, callPackage, nodejs-16_x }:
{ stdenv, fetchYarnDeps, fixup_yarn_lock, callPackage, nodejs_16 }:
let
common = callPackage ./common.nix { };
in
@ -16,8 +16,8 @@ stdenv.mkDerivation {
nativeBuildInputs = [
fixup_yarn_lock
# Use Node JS 16 because of @achrinza/node-ipc@9.2.2
nodejs-16_x
nodejs-16_x.pkgs.yarn
nodejs_16
nodejs_16.pkgs.yarn
];
configurePhase = ''

View File

@ -2,19 +2,13 @@
, flutter
, python3
, fetchFromGitHub
, stdenv
, pcre2
, gnome
, makeWrapper
, removeReferencesTo
}:
let
vendorHashes = {
x86_64-linux = "sha256-Upe0cEDG02RJD50Ht9VNMwkelsJHX8zOuJZssAhMuMY=";
aarch64-linux = "sha256-lKER4+gcyFqnCvgBl/qdVBCbUpocWUnXGLXsX82MSy4=";
};
in
flutter.mkFlutterApp rec {
flutter.buildFlutterApplication rec {
pname = "yubioath-flutter";
version = "6.1.0";
@ -27,7 +21,8 @@ flutter.mkFlutterApp rec {
passthru.helper = python3.pkgs.callPackage ./helper.nix { inherit src version meta; };
vendorHash = vendorHashes.${stdenv.system};
depsListFile = ./deps.json;
vendorHash = "sha256-WfZiB7MO4wHUg81xm67BMu4zQdC9CfhN5BQol+AI2S8=";
postPatch = ''
substituteInPlace linux/CMakeLists.txt \
@ -89,6 +84,6 @@ flutter.mkFlutterApp rec {
homepage = "https://github.com/Yubico/yubioath-flutter";
license = licenses.asl20;
maintainers = with maintainers; [ lukegb ];
platforms = builtins.attrNames vendorHashes;
platforms = [ "x86_64-linux" "aarch64-linux" ];
};
}

File diff suppressed because it is too large Load Diff

View File

@ -1,9 +1,9 @@
{ lib, buildGoModule, fetchFromGitHub, fetchzip, installShellFiles, stdenv }:
let
version = "0.41.2";
sha256 = "0c4in6k6l9kjskcapi6gap9jkbrrfd106z6nbs48afr30cv2wp24";
manifestsSha256 = "0kc9s5289s5b1slk2w3sr28yk9hg3lmrpy00mw3im3k6aqgrk9j0";
version = "2.0.0-rc.1";
sha256 = "0hy8jphb6pd24qifnjgzm2jwz93c5rsk08p8k9kl1fzlz7bivg9g";
manifestsSha256 = "0v6skn065hqk0pq5k7c48g68pnpj5har8cfhgbc8xjzg149a22wa";
manifests = fetchzip {
url =
@ -23,7 +23,7 @@ in buildGoModule rec {
inherit sha256;
};
vendorSha256 = "sha256-ez4yaFZ5JROdu9boN5wI/XGMqLo8OKW6b0FZsJeFw4w=";
vendorSha256 = "sha256-ifzzNEFXq2VzidaxCTdz7VZOCoA0zPcK6uL0CyBNrE4=";
postUnpack = ''
cp -r ${manifests} source/cmd/flux/manifests

View File

@ -2,7 +2,7 @@
{pkgs ? import <nixpkgs> {
inherit system;
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-14_x"}:
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_14"}:
let
nodeEnv = import ../../../../development/node-packages/node-env.nix {

View File

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "dnscontrol";
version = "3.31.1";
version = "3.31.2";
src = fetchFromGitHub {
owner = "StackExchange";
repo = pname;
rev = "v${version}";
sha256 = "sha256-T8fErChbQbarvE3/Zds1482m1hfD9Qa3esYvqjzNN3c=";
sha256 = "sha256-vKfbL2a/5rTVsG0rDs/D0t5eXDNWlbwURI2FYzGu9lY=";
};
vendorHash = "sha256-BE/UnJw5elHYmyB+quN89ZkrlMcTjaVN0T2+h8cpPS8=";

View File

@ -2,7 +2,7 @@
{pkgs ? import <nixpkgs> {
inherit system;
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-14_x"}:
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_14"}:
let
nodeEnv = import ./node-env.nix {

View File

@ -6,13 +6,13 @@
postInstall = ''
mkdir "$out/bin"
echo '#!/bin/sh' >> "$out/bin/matrix-recorder"
echo "'${pkgs.nodejs-14_x}/bin/node'" \
echo "'${pkgs.nodejs_14}/bin/node'" \
"'$out/lib/node_modules/matrix-recorder/matrix-recorder.js'" \
'"$@"' >> "$out/bin/matrix-recorder"
echo '#!/bin/sh' >> "$out/bin/matrix-recorder-to-html"
echo 'cd "$1"' >> "$out/bin/matrix-recorder-to-html"
echo "test -d templates/ || ln -sfT '$out/lib/node_modules/matrix-recorder/templates' templates" >> "$out/bin/matrix-recorder-to-html"
echo "'${pkgs.nodejs-14_x}/bin/node'" \
echo "'${pkgs.nodejs_14}/bin/node'" \
"'$out/lib/node_modules/matrix-recorder/recorder-to-html.js'" \
'.' >> "$out/bin/matrix-recorder-to-html"
chmod a+x "$out/bin/matrix-recorder"

View File

@ -73,7 +73,7 @@ let
in
stdenv.mkDerivation rec {
pname = "telegram-desktop";
version = "4.8.0";
version = "4.8.1";
# Note: Update via pkgs/applications/networking/instant-messengers/telegram/tdesktop/update.py
src = fetchFromGitHub {
@ -81,7 +81,7 @@ stdenv.mkDerivation rec {
repo = "tdesktop";
rev = "v${version}";
fetchSubmodules = true;
sha256 = "1ari4kdjd99klrla0rn4cjjc54d6glf17s0q881f67vh2v5zdwf0";
sha256 = "0mxxfh70dffkrq76nky3pwrk10s1q4ahxx2ddb58dz8igq6pl4zi";
};
patches = [

View File

@ -1,4 +1,4 @@
{ pkgs, nodejs-16_x, stdenv, lib, nixosTests }:
{ pkgs, nodejs_16, stdenv, lib, nixosTests }:
let
nodePackages = import ./node-composition.nix {

View File

@ -2,7 +2,7 @@
{pkgs ? import <nixpkgs> {
inherit system;
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-16_x"}:
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_16"}:
let
nodeEnv = import ./node-env.nix {

View File

@ -49,7 +49,7 @@
assert withQt -> qt5 != null;
let
version = "4.0.4";
version = "4.0.5";
variant = if withQt then "qt" else "cli";
in
stdenv.mkDerivation {
@ -61,7 +61,7 @@ stdenv.mkDerivation {
repo = "wireshark";
owner = "wireshark";
rev = "v${version}";
hash = "sha256-x7McplQVdLczTov+u9eqmT1Ons22KqRsCN65pUuwYGw=";
hash = "sha256-9U0V2oLVyzq+3HxvOuD8Uzj1tjoMtYBws43fn5RfGhQ=";
};
cmakeFlags = [

View File

@ -2,7 +2,7 @@
{pkgs ? import <nixpkgs> {
inherit system;
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-14_x"}:
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_14"}:
let
nodeEnv = import ./node-env.nix {

View File

@ -0,0 +1,186 @@
{ stdenvNoCC
, lib
, makeSetupHook
, dart
, git
, cacert
, jq
}:
{
# The output hash of the dependencies for this project.
vendorHash ? ""
# Commands to run once before using Dart or pub.
, sdkSetupScript ? ""
# Commands to run to populate the pub cache.
, pubGetScript ? "dart pub get"
# A path to a pubspec.lock file to use instead of the one in the source directory.
, pubspecLockFile ? null
# Arguments used in the derivation that builds the Dart package.
# Passing these is recommended to ensure that the same steps are made to prepare the sources in both this
# derivation and the one that builds the Dart package.
, buildDrvArgs ? { }
, ...
}@args:
# This is a fixed-output derivation and setup hook that can be used to fetch dependencies for Dart projects.
# It is designed to be placed in the nativeBuildInputs of a derivation that builds a Dart package.
# Providing the buildDrvArgs argument is highly recommended.
let
buildDrvInheritArgNames = [
"name"
"pname"
"version"
"src"
"sourceRoot"
"setSourceRoot"
"preUnpack"
"unpackPhase"
"unpackCmd"
"postUnpack"
"prePatch"
"patchPhase"
"patches"
"patchFlags"
"postPatch"
];
buildDrvInheritArgs = builtins.foldl'
(attrs: arg:
if buildDrvArgs ? ${arg}
then attrs // { ${arg} = buildDrvArgs.${arg}; }
else attrs)
{ }
buildDrvInheritArgNames;
drvArgs = buildDrvInheritArgs // (removeAttrs args [ "buildDrvArgs" ]);
name = (if drvArgs ? name then drvArgs.name else "${drvArgs.pname}-${drvArgs.version}");
deps =
stdenvNoCC.mkDerivation ({
name = "${name}-dart-deps";
nativeBuildInputs = [
dart
git
];
# avoid pub phase
dontBuild = true;
configurePhase = ''
# Configure the package cache
export PUB_CACHE="$out/cache/.pub-cache"
mkdir -p "$PUB_CACHE"
${sdkSetupScript}
'';
installPhase = ''
_pub_get() {
${pubGetScript}
}
# so we can use lock, diff yaml
mkdir -p "$out/pubspec"
cp "pubspec.yaml" "$out/pubspec"
${lib.optionalString (pubspecLockFile != null) "install -m644 ${pubspecLockFile} pubspec.lock"}
if ! cp "pubspec.lock" "$out/pubspec"; then
echo 1>&2 -e '\nThe pubspec.lock file is missing. This is a requirement for reproducible builds.' \
'\nThe following steps should be taken to fix this issue:' \
'\n 1. If you are building an application, contact the developer(s).' \
'\n The pubspec.lock file should be provided with the source code.' \
'\n https://dart.dev/guides/libraries/private-files#pubspeclock' \
'\n 2. An attempt to generate and print a compressed pubspec.lock file will be made now.' \
'\n It is compressed with gzip and base64 encoded.' \
'\n Paste it to a file and extract it with `base64 -d pubspec.lock.in | gzip -d > pubspec.lock`.' \
'\n Provide the path to the pubspec.lock file in the pubspecLockFile argument.' \
'\n This must be updated whenever the application is updated.' \
'\n'
_pub_get
echo ""
gzip --to-stdout --best pubspec.lock | base64 1>&2
echo 1>&2 -e '\nA gzipped pubspec.lock file has been printed. Please see the informational message above.'
exit 1
fi
_pub_get
# nuke nondeterminism
# Remove Git directories in the Git package cache - these are rarely used by Pub,
# which instead maintains a corresponsing mirror and clones cached packages through it.
#
# An exception is made to keep .git/pub-packages files, which are important.
# https://github.com/dart-lang/pub/blob/c890afa1d65b340fa59308172029680c2f8b0fc6/lib/src/source/git.dart#L621
if [ -d "$PUB_CACHE"/git ]; then
find "$PUB_CACHE"/git -maxdepth 4 -path "*/.git/*" ! -name "pub-packages" -prune -exec rm -rf {} +
fi
# Remove continuously updated package metadata caches
rm -rf "$PUB_CACHE"/hosted/*/.cache # Not pinned by pubspec.lock
rm -rf "$PUB_CACHE"/git/cache/*/* # Recreate this on the other end. See: https://github.com/dart-lang/pub/blob/c890afa1d65b340fa59308172029680c2f8b0fc6/lib/src/source/git.dart#L531
# Miscelaneous transient package cache files
rm -f "$PUB_CACHE"/README.md # May change with different Dart versions
rm -rf "$PUB_CACHE"/_temp # https://github.com/dart-lang/pub/blob/c890afa1d65b340fa59308172029680c2f8b0fc6/lib/src/system_cache.dart#L131
rm -rf "$PUB_CACHE"/log # https://github.com/dart-lang/pub/blob/c890afa1d65b340fa59308172029680c2f8b0fc6/lib/src/command.dart#L348
'';
GIT_SSL_CAINFO = "${cacert}/etc/ssl/certs/ca-bundle.crt";
SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt";
impureEnvVars = lib.fetchers.proxyImpureEnvVars ++ [
"GIT_PROXY_COMMAND"
"NIX_GIT_SSL_CAINFO"
"SOCKS_SERVER"
];
# Patching shebangs introduces input references to this fixed-output derivation.
# This triggers a bug in Nix, causing the output path to change unexpectedly.
# https://github.com/NixOS/nix/issues/6660
dontPatchShebangs = true;
# The following operations are not generally useful for this derivation.
# If a package does contain some native components used at build time,
# please file an issue.
dontStrip = true;
dontMoveSbin = true;
dontPatchELF = true;
outputHashAlgo = "sha256";
outputHashMode = "recursive";
outputHash = if vendorHash != "" then vendorHash else lib.fakeSha256;
} // (removeAttrs drvArgs [ "name" "pname" ]));
depsListDrv = stdenvNoCC.mkDerivation ({
name = "${name}-dart-deps-list.json";
nativeBuildInputs = [ hook dart jq ];
configurePhase = ''
runHook preConfigure
dart pub get --offline
runHook postConfigure
'';
buildPhase = ''
runHook preBuild
dart pub deps --json | jq .packages > $out
runHook postBuild
'';
} // buildDrvInheritArgs);
hook = (makeSetupHook {
# The setup hook should not be part of the fixed-output derivation.
# Updates to the hook script should not change vendor hashes, and it won't
# work at all anyway due to https://github.com/NixOS/nix/issues/6660.
name = "${name}-dart-deps-setup-hook";
substitutions = { inherit deps; };
propagatedBuildInputs = [ dart git ];
passthru = {
files = deps.outPath;
depsListFile = depsListDrv.outPath;
};
}) ./setup-hook.sh;
in
hook

View File

@ -0,0 +1,41 @@
preConfigureHooks+=(_setupPubCache)
_setupPubCache() {
deps="@deps@"
# Configure the package cache.
export PUB_CACHE="$(mktemp -d)"
mkdir -p "$PUB_CACHE"
if [ -d "$deps/cache/.pub-cache/git" ]; then
# Link the Git package cache.
mkdir -p "$PUB_CACHE/git"
ln -s "$deps/cache/.pub-cache/git"/* "$PUB_CACHE/git"
# Recreate the internal Git cache subdirectory.
# See: https://github.com/dart-lang/pub/blob/c890afa1d65b340fa59308172029680c2f8b0fc6/lib/src/source/git.dart#L339)
# Blank repositories are created instead of attempting to match the cache mirrors to checkouts.
# This is not an issue, as pub does not need the mirrors in the Flutter build process.
rm "$PUB_CACHE/git/cache" && mkdir "$PUB_CACHE/git/cache"
for mirror in $(ls -A "$deps/cache/.pub-cache/git/cache"); do
git --git-dir="$PUB_CACHE/git/cache/$mirror" init --bare --quiet
done
fi
# Link the remaining package cache directories.
# At this point, any subdirectories that must be writable must have been taken care of.
for file in $(comm -23 <(ls -A "$deps/cache/.pub-cache") <(ls -A "$PUB_CACHE")); do
ln -s "$deps/cache/.pub-cache/$file" "$PUB_CACHE/$file"
done
# ensure we're using a lockfile for the right package version
if [ ! -e pubspec.lock ]; then
cp -v "$deps/pubspec/pubspec.lock" .
# Sometimes the pubspec.lock will get opened in write mode, even when offline.
chmod u+w pubspec.lock
elif ! { diff -u pubspec.lock "$deps/pubspec/pubspec.lock" && diff -u pubspec.yaml "$deps/pubspec/pubspec.yaml"; }; then
echo 1>&2 -e 'The pubspec.lock or pubspec.yaml of the project derivation differs from the one in the dependency derivation.' \
'\nYou most likely forgot to update the vendorHash while updating the sources.'
exit 1
fi
}

View File

@ -1,284 +1,159 @@
{ flutter
, lib
, llvmPackages_13
, cmake
, ninja
, pkg-config
, wrapGAppsHook
, autoPatchelfHook
, util-linux
, libselinux
, libsepol
, libthai
, libdatrie
, libxkbcommon
, at-spi2-core
, libsecret
, jsoncpp
, xorg
, dbus
, gtk3
, glib
, pcre
, libepoxy
{ lib
, callPackage
, stdenvNoCC
, makeWrapper
, llvmPackages_13
, cacert
, git
, dart
, nukeReferences
, bash
, curl
, unzip
, which
, xz
, flutter
, jq
}:
# absolutely no mac support for now
args:
{ pubGetScript ? "flutter pub get"
, flutterBuildFlags ? [ ]
, runtimeDependencies ? [ ]
, customPackageOverrides ? { }
, autoDepsList ? false
, depsListFile ? null
, vendorHash
, pubspecLockFile ? null
, nativeBuildInputs ? [ ]
, preUnpack ? ""
, postFixup ? ""
, ...
}@args:
let
pl = n: "##FLUTTER_${n}_PLACEHOLDER_MARKER##";
placeholder_deps = pl "DEPS";
placeholder_flutter = pl "FLUTTER";
fetchAttrs = [ "src" "sourceRoot" "setSourceRoot" "unpackPhase" "patches" ];
getAttrsOrNull = names: attrs: lib.genAttrs names (name: if attrs ? ${name} then attrs.${name} else null);
flutterDeps = [
# flutter deps
flutter.unwrapped
bash
curl
flutter.dart
git
unzip
which
xz
];
self =
(self: llvmPackages_13.stdenv.mkDerivation (args // {
deps = stdenvNoCC.mkDerivation (lib.recursiveUpdate (getAttrsOrNull fetchAttrs args) {
name = "${self.name}-deps-flutter-v${flutter.unwrapped.version}-${stdenvNoCC.targetPlatform.system}.tar.gz";
flutterSetupScript = ''
export HOME="$NIX_BUILD_TOP"
flutter config --no-analytics &>/dev/null # mute first-run
flutter config --enable-linux-desktop >/dev/null
'';
nativeBuildInputs = flutterDeps ++ [
nukeReferences
];
deps = callPackage ../dart/fetch-dart-deps { dart = flutter; } {
sdkSetupScript = flutterSetupScript;
inherit pubGetScript vendorHash pubspecLockFile;
buildDrvArgs = args;
};
# avoid pub phase
dontBuild = true;
baseDerivation = llvmPackages_13.stdenv.mkDerivation (finalAttrs: args // {
inherit flutterBuildFlags runtimeDependencies;
installPhase = ''
. ${../fetchgit/deterministic-git}
outputs = [ "out" "debug" ];
TMP=$(mktemp -d)
nativeBuildInputs = [
makeWrapper
deps
flutter
jq
] ++ nativeBuildInputs;
export HOME="$TMP"
export PUB_CACHE=''${PUB_CACHE:-"$HOME/.pub-cache"}
export ANDROID_EMULATOR_USE_SYSTEM_LIBS=1
preUnpack = ''
${lib.optionalString (!autoDepsList) ''
if ! { [ '${lib.boolToString (depsListFile != null)}' = 'true' ] ${lib.optionalString (depsListFile != null) "&& cmp -s <(jq -Sc . '${depsListFile}') <(jq -Sc . '${finalAttrs.passthru.depsListFile}')"}; }; then
echo 1>&2 -e '\nThe dependency list file was either not given or differs from the expected result.' \
'\nPlease choose one of the following solutions:' \
'\n - Duplicate the following file and pass it to the depsListFile argument.' \
'\n ${finalAttrs.passthru.depsListFile}' \
'\n - Set autoDepsList to true (not supported by Hydra or permitted in Nixpkgs)'.
exit 1
fi
''}
flutter config --no-analytics &>/dev/null # mute first-run
flutter config --enable-linux-desktop
flutter packages get
flutter build linux || true # so it downloads tools
${lib.optionalString (args ? flutterExtraFetchCommands) args.flutterExtraFetchCommands}
RES="$TMP"
mkdir -p "$RES/f"
# so we can use lock, diff yaml
cp "pubspec.yaml" "$RES"
cp "pubspec.lock" "$RES"
[[ -e .packages ]] && mv .packages "$RES/f"
mv .dart_tool .flutter-plugins .flutter-plugins-dependencies "$RES/f"
# replace paths with placeholders
find "$RES" -type f -exec sed -i \
-e s,$TMP,${placeholder_deps},g \
-e s,${flutter.unwrapped},${placeholder_flutter},g \
{} +
remove_line_matching() {
replace_line_matching "$1" "$2" ""
}
replace_line_matching() {
sed "s|.*$2.*|$3|g" -r -i "$1"
}
# nuke nondeterminism
# clientId is random
remove_line_matching "$RES/.flutter" clientId
# deterministic git repos
find "$RES" -iname .git -type d | while read -r repoGit; do
make_deterministic_repo "$(dirname "$repoGit")"
done
# dart _fetchedAt, etc
DART_DATE=$(date --date="@$SOURCE_DATE_EPOCH" -In | sed "s|,|.|g" | sed "s|+.*||g")
find "$RES/.pub-cache" -iname "*.json" -exec sed -r 's|.*_fetchedAt.*| "_fetchedAt": "'"$DART_DATE"'",|g' -i {} +
replace_line_matching "$RES/f/.dart_tool/package_config.json" '"generated"' '"generated": "'"$DART_DATE"'",'
replace_line_matching "$RES/f/.flutter-plugins-dependencies" '"date_created"' '"date_created": "'"$DART_DATE"'",'
[[ -e "$RES/f/.packages" ]] && remove_line_matching "$RES/f/.packages" "Generated by pub"
# nuke refs
find "$RES" -type f -exec nuke-refs {} +
# Build a reproducible tar, per instructions at https://reproducible-builds.org/docs/archives/
tar --owner=0 --group=0 --numeric-owner --format=gnu \
--sort=name --mtime="@$SOURCE_DATE_EPOCH" \
-czf "$out" -C "$RES" .
${preUnpack}
'';
GIT_SSL_CAINFO = "${cacert}/etc/ssl/certs/ca-bundle.crt";
SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt";
configurePhase = ''
runHook preConfigure
impureEnvVars = lib.fetchers.proxyImpureEnvVars ++ [
"GIT_PROXY_COMMAND" "NIX_GIT_SSL_CAINFO" "SOCKS_SERVER"
];
${flutterSetupScript}
# unnecesarry
dontFixup = true;
runHook postConfigure
'';
outputHashAlgo = if self ? vendorHash then null else "sha256";
# outputHashMode = "recursive";
outputHash = if self ? vendorHash then
self.vendorHash
else if self ? vendorSha256 then
self.vendorSha256
else
lib.fakeSha256;
buildPhase = ''
runHook preBuild
mkdir -p build/flutter_assets/fonts
flutter packages get --offline -v
flutter build linux -v --release --split-debug-info="$debug" ${builtins.concatStringsSep " " (map (flag: "\"${flag}\"") finalAttrs.flutterBuildFlags)}
runHook postBuild
'';
installPhase = ''
runHook preInstall
built=build/linux/*/release/bundle
mkdir -p $out/bin
mv $built $out/app
for f in $(find $out/app -iname "*.desktop" -type f); do
install -D $f $out/share/applications/$(basename $f)
done
for f in $(find $out/app -maxdepth 1 -type f); do
ln -s $f $out/bin/$(basename $f)
done
# make *.so executable
find $out/app -iname "*.so" -type f -exec chmod +x {} +
# remove stuff like /build/source/packages/ubuntu_desktop_installer/linux/flutter/ephemeral
for f in $(find $out/app -executable -type f); do
if patchelf --print-rpath "$f" | grep /build; then # this ignores static libs (e,g. libapp.so) also
echo "strip RPath of $f"
newrp=$(patchelf --print-rpath $f | sed -r "s|/build.*ephemeral:||g" | sed -r "s|/build.*profile:||g")
patchelf --set-rpath "$newrp" "$f"
fi
done
runHook postInstall
'';
postFixup = ''
# Add runtime library dependencies to the LD_LIBRARY_PATH.
# For some reason, the RUNPATH of the executable is not used to load dynamic libraries in dart:ffi with DynamicLibrary.open().
#
# This could alternatively be fixed with patchelf --add-needed, but this would cause all the libraries to be opened immediately,
# which is not what application authors expect.
for f in "$out"/bin/*; do
wrapProgram "$f" \
--suffix LD_LIBRARY_PATH : '${lib.makeLibraryPath finalAttrs.runtimeDependencies}'
done
${postFixup}
'';
passthru = {
inherit (deps) depsListFile;
};
});
nativeBuildInputs = flutterDeps ++ [
# flutter dev tools
cmake
ninja
pkg-config
wrapGAppsHook
# flutter likes dynamic linking
autoPatchelfHook
] ++ lib.optionals (args ? nativeBuildInputs) args.nativeBuildInputs;
buildInputs = [
# cmake deps
gtk3
glib
pcre
util-linux
# also required by cmake, not sure if really needed or dep of all packages
libselinux
libsepol
libthai
libdatrie
xorg.libXdmcp
xorg.libXtst
libxkbcommon
dbus
at-spi2-core
libsecret
jsoncpp
# build deps
xorg.libX11
# directly required by build
libepoxy
] ++ lib.optionals (args ? buildInputs) args.buildInputs;
# TODO: do we need this?
NIX_LDFLAGS = "-rpath ${lib.makeLibraryPath self.buildInputs}";
env.NIX_CFLAGS_COMPILE = "-I${xorg.libX11}/include";
LD_LIBRARY_PATH = lib.makeLibraryPath self.buildInputs;
configurePhase = ''
runHook preConfigure
# for some reason fluffychat build breaks without this - seems file gets overriden by some tool
cp pubspec.yaml pubspec-backup
# we get this from $depsFolder so disabled for now, but we might need it again once deps are fetched properly
# flutter config --no-analytics >/dev/null 2>/dev/null # mute first-run
# flutter config --enable-linux-desktop
# extract deps
depsFolder=$(mktemp -d)
tar xzf "$deps" -C "$depsFolder"
# after extracting update paths to point to real paths
find "$depsFolder" -type f -exec sed -i \
-e s,${placeholder_deps},$depsFolder,g \
-e s,${placeholder_flutter},${flutter.unwrapped},g \
{} +
# ensure we're using a lockfile for the right package version
if [ -e pubspec.lock ]; then
# FIXME: currently this is broken. in theory this should not break, but flutter has it's own way of doing things.
# diff -u pubspec.lock $depsFolder/pubspec.lock
true
packageOverrideRepository = (callPackage ../../development/compilers/flutter/package-overrides { }) // customPackageOverrides;
productPackages = builtins.filter (package: package.kind != "dev")
(if autoDepsList
then builtins.fromJSON (builtins.readFile deps.depsListFile)
else
cp -v "$depsFolder/pubspec.lock" .
fi
diff -u pubspec.yaml $depsFolder/pubspec.yaml
mv -v $(find $depsFolder/f -type f) .
# prepare
export HOME=$depsFolder
export PUB_CACHE=''${PUB_CACHE:-"$HOME/.pub-cache"}
export ANDROID_EMULATOR_USE_SYSTEM_LIBS=1
# binaries need to be patched
autoPatchelf -- "$depsFolder"
runHook postConfigure
'';
buildPhase = ''
runHook preBuild
# for some reason fluffychat build breaks without this - seems file gets overriden by some tool
mv pubspec-backup pubspec.yaml
mkdir -p build/flutter_assets/fonts
flutter packages get --offline -v
flutter build linux --release -v
runHook postBuild
'';
installPhase = ''
runHook preInstall
built=build/linux/*/release/bundle
mkdir -p $out/bin
mv $built $out/app
for f in $(find $out/app -iname "*.desktop" -type f); do
install -D $f $out/share/applications/$(basename $f)
done
for f in $(find $out/app -maxdepth 1 -type f); do
ln -s $f $out/bin/$(basename $f)
done
# this confuses autopatchelf hook otherwise
rm -rf "$depsFolder"
# make *.so executable
find $out/app -iname "*.so" -type f -exec chmod +x {} +
# remove stuff like /build/source/packages/ubuntu_desktop_installer/linux/flutter/ephemeral
for f in $(find $out/app -executable -type f); do
if patchelf --print-rpath "$f" | grep /build; then # this ignores static libs (e,g. libapp.so) also
echo "strip RPath of $f"
newrp=$(patchelf --print-rpath $f | sed -r "s|/build.*ephemeral:||g" | sed -r "s|/build.*profile:||g")
patchelf --set-rpath "$newrp" "$f"
fi
done
runHook postInstall
'';
})) self;
if depsListFile == null
then [ ]
else builtins.fromJSON (builtins.readFile depsListFile));
in
self
builtins.foldl'
(prev: package:
if packageOverrideRepository ? ${package.name}
then
prev.overrideAttrs
(packageOverrideRepository.${package.name} {
inherit (package)
name
version
kind
source
dependencies;
})
else prev)
baseDerivation
productPackages

View File

@ -158,6 +158,15 @@ stdenv.mkDerivation ((removeAttrs args [ "depsExtraArgs" "cargoUpdateHook" "carg
meta = {
# default to Rust's platforms
platforms = rustc.meta.platforms;
platforms = rustc.meta.platforms ++ [
# Platforms without host tools from
# https://doc.rust-lang.org/nightly/rustc/platform-support.html
"armv7a-darwin"
"armv5tel-linux" "armv6l-linux" "armv7a-linux" "m68k-linux"
"riscv32-linux"
"armv6l-netbsd"
"x86_64-redox"
"wasm32-wasi"
];
} // meta;
})

View File

@ -9,11 +9,11 @@
stdenv.mkDerivation rec {
pname = "gnome-user-docs";
version = "44.0";
version = "44.1";
src = fetchurl {
url = "mirror://gnome/sources/gnome-user-docs/${lib.versions.major version}/${pname}-${version}.tar.xz";
sha256 = "z2zX65xBSd2Tlm9x+huQevyPZR7MOvVOEIW89K0hsb0=";
sha256 = "k/MpTUP9IvmWLM9r0X/2Tq54psoGP+bB6bxY0A8046g=";
};
nativeBuildInputs = [

View File

@ -22,11 +22,11 @@
stdenv.mkDerivation rec {
pname = "gnome-connections";
version = "44.0";
version = "44.1";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
hash = "sha256-NMemu/7Jqaz6nC0tukslFDHNcYdPjwVcX/JvJvQkQZk=";
hash = "sha256-E2otkksHfVzEEAyEWCbUcURCMKFsjawnMhE2gBcaYms=";
};
nativeBuildInputs = [

View File

@ -36,11 +36,11 @@
stdenv.mkDerivation rec {
pname = "epiphany";
version = "44.1";
version = "44.2";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
sha256 = "u60o/HJzqGa5teXdVoa9BIQww/C+7UwIJgtNCN2P+Fs=";
sha256 = "sfbfFftqYX/t1hmLLcqr1EENJYNECdpRVwndd8/FazM=";
};
nativeBuildInputs = [

View File

@ -2,14 +2,14 @@
stdenv.mkDerivation rec {
pname = "cmdstan";
version = "2.31.0";
version = "2.32.0";
src = fetchFromGitHub {
owner = "stan-dev";
repo = pname;
rev = "v${version}";
fetchSubmodules = true;
sha256 = "sha256-Uh/ZhEnbhQwC8xGFjDzH9No3VRgVbHYk2KoC+e3YhJw=";
hash = "sha256-H8JXOqiSG9N+DD84S3iYvXnSgKUJuf7UZ7qT05Ti8xQ=";
};
nativeBuildInputs = [ stanc ];

View File

@ -3,7 +3,7 @@
let
# To control nodejs version we pass down
nodejs = pkgs.nodejs-14_x;
nodejs = pkgs.nodejs_14;
fetchElmDeps = pkgs.callPackage ./fetchElmDeps.nix { };
@ -116,7 +116,7 @@ let
nodePkgs = pkgs.callPackage ./packages/node-composition.nix {
inherit pkgs;
nodejs = pkgs.nodejs-14_x;
nodejs = pkgs.nodejs_14;
inherit (pkgs.stdenv.hostPlatform) system;
};

View File

@ -2,7 +2,7 @@
{pkgs ? import <nixpkgs> {
inherit system;
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-14_x"}:
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_14"}:
let
nodeEnv = import ../../../node-packages/node-env.nix {

View File

@ -1,25 +1,26 @@
{ callPackage, fetchurl, dart }:
{ callPackage, fetchzip, dart }:
let
mkFlutter = opts: callPackage (import ./flutter.nix opts) { };
mkFlutter = { version, engineVersion, patches, dart, src }: callPackage ./flutter.nix { inherit version engineVersion patches dart src; };
wrapFlutter = flutter: callPackage ./wrapper.nix { inherit flutter; };
getPatches = dir:
let files = builtins.attrNames (builtins.readDir dir);
in map (f: dir + ("/" + f)) files;
flutterDrv = { version, pname, dartVersion, hash, dartHash, patches }: mkFlutter {
inherit version pname patches;
flutterDrv = { version, engineVersion, dartVersion, hash, dartHash, patches }: mkFlutter {
inherit version engineVersion patches;
dart = dart.override {
version = dartVersion;
sources = {
"${dartVersion}-x86_64-linux" = fetchurl {
"${dartVersion}-x86_64-linux" = fetchzip {
url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${dartVersion}/sdk/dartsdk-linux-x64-release.zip";
sha256 = dartHash.x86_64-linux;
};
"${dartVersion}-aarch64-linux" = fetchurl {
"${dartVersion}-aarch64-linux" = fetchzip {
url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${dartVersion}/sdk/dartsdk-linux-arm64-release.zip";
sha256 = dartHash.aarch64-linux;
};
};
};
src = fetchurl {
src = fetchzip {
url = "https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_${version}-stable.tar.xz";
sha256 = hash;
};
@ -28,27 +29,27 @@ let
flutter3Patches = getPatches ./patches/flutter3;
in
{
inherit mkFlutter flutterDrv flutter2Patches flutter3Patches;
inherit mkFlutter wrapFlutter flutterDrv flutter3Patches flutter2Patches;
stable = flutterDrv {
pname = "flutter";
version = "3.3.8";
dartVersion = "2.18.4";
hash = "sha256-QH+10F6a0XYEvBetiAi45Sfy7WTdVZ1i8VOO4JuSI24=";
version = "3.7.12";
engineVersion = "1a65d409c7a1438a34d21b60bf30a6fd5db59314";
dartVersion = "2.19.6";
hash = "sha256-5ExDBQXIpoZ5NwS66seY3m9/V8xDiyq/RdzldAyHdEE=";
dartHash = {
x86_64-linux = "sha256-lFw+KaxzhuAMnu6ypczINqywzpiD+8Kd+C/UHJDrO9Y=";
aarch64-linux = "sha256-snlFTY4oJ4ALGLc210USbI2Z///cx1IVYUWm7Vo5z2I=";
x86_64-linux = "sha256-4ezRuwhQHVCxZg5WbzU/tBUDvZVpfCo6coDE4K0UzXo=";
aarch64-linux = "sha256-pYmClIqOo0sRPOkrcF4xQbo0mHlrr1TkhT1fnNyYNck=";
};
patches = flutter3Patches;
};
v2 = flutterDrv {
pname = "flutter";
version = "2.10.5";
engineVersion = "57d3bac3dd5cb5b0e464ab70e7bc8a0d8cf083ab";
dartVersion = "2.16.2";
hash = "sha256-DTZwxlMUYk8NS1SaWUJolXjD+JnRW73Ps5CdRHDGnt0=";
hash = "sha256-MxaWvlcCfXN8gsC116UMzqb4LgixHL3YjrGWy7WYgW4=";
dartHash = {
x86_64-linux = "sha256-egrYd7B4XhkBiHPIFE2zopxKtQ58GqlogAKA/UeiXnI=";
aarch64-linux = "sha256-vmerjXkUAUnI8FjK+62qLqgETmA+BLPEZXFxwYpI+KY=";
x86_64-linux = "sha256-vxKxysg6e3Qxtlp4dLxOZaBtgHGtl7XYd73zFZd9yJc=";
aarch64-linux = "sha256-ZfpR6fj/a9Bsgrg31Z/uIJaCHIWtcQH3VTTVkDJKkwA=";
};
patches = flutter2Patches;
};

View File

@ -0,0 +1,128 @@
{ lib
, stdenv
, hostPlatform
, engineVersion
, fetchzip
, autoPatchelfHook
, gtk3
}:
let
hashes = (import ./hashes.nix).${engineVersion} or
(throw "There are no known artifact hashes for Flutter engine version ${engineVersion}.");
artifacts =
{
common = {
flutter_patched_sdk = { archive = "flutter_patched_sdk.zip"; };
flutter_patched_sdk_product = { archive = "flutter_patched_sdk_product.zip"; };
};
platform = {
android =
(lib.genAttrs
[ "arm" "arm64" "x64" ]
(arch:
{
base = [
{ archive = "artifacts.zip"; }
];
variants = lib.genAttrs [ "profile" "release" ]
(variant: [
{ archive = "artifacts.zip"; }
{ archive = "${lib.toLower hostPlatform.uname.system}-x64.zip"; }
]);
})) //
{
"x86" = {
base = [
{ archive = "artifacts.zip"; }
];
variants.jit-release = [
{ archive = "artifacts.zip"; }
];
};
};
linux = lib.genAttrs
[ "arm64" "x64" ]
(arch:
let
linux-flutter-gtk = {
archive = "linux-${arch}-flutter-gtk.zip";
buildInputs = [ gtk3 ];
};
in
{
base = [
({ archive = "artifacts.zip"; } // lib.optionalAttrs (arch == "arm64") {
# For some reason, the arm64 artifacts are missing shader code.
postPatch = ''
if [ -d shader_lib ]; then
The shader_lib directory has been included in the artifact archive.
This patch should be removed.
fi
ln -s ${lib.findSingle
(pkg: lib.getName pkg == "flutter-artifact-linux-x64-artifacts")
(throw "Could not find the x64 artifact archive.")
(throw "Could not find the correct x64 artifact archive.")
artifactDerivations.platform.linux.x64.base
}/shader_lib .
'';
})
{ archive = "font-subset.zip"; }
linux-flutter-gtk
];
variants = lib.genAttrs [ "debug" "profile" "release" ] (variant: [
linux-flutter-gtk
]);
});
};
};
mkArtifactDerivation = { platform ? null, variant ? null, archive, ... }@args:
let
artifactDirectory = if platform == null then null else "${platform}${lib.optionalString (variant != null) "-${variant}"}";
archiveBasename = lib.removeSuffix ".${(lib.last (lib.splitString "." archive))}" archive;
in
stdenv.mkDerivation ({
pname = "flutter-artifact${lib.optionalString (platform != null) "-${artifactDirectory}"}-${archiveBasename}";
version = engineVersion;
src = fetchzip {
url = "https://storage.googleapis.com/flutter_infra_release/flutter/${engineVersion}${lib.optionalString (platform != null) "/${artifactDirectory}"}/${archive}";
stripRoot = false;
hash = (if artifactDirectory == null then hashes else hashes.${artifactDirectory}).${archive};
};
nativeBuildInputs = [ autoPatchelfHook ];
installPhase = "cp -r . $out";
} // args);
artifactDerivations = {
common = builtins.mapAttrs (name: mkArtifactDerivation) artifacts.common;
platform =
builtins.mapAttrs
(os: architectures:
builtins.mapAttrs
(architecture: variants: {
base = map
(args: mkArtifactDerivation ({
platform = "${os}-${architecture}";
} // args))
variants.base;
variants = builtins.mapAttrs
(variant: variantArtifacts: map
(args: mkArtifactDerivation ({
platform = "${os}-${architecture}";
inherit variant;
} // args))
variantArtifacts)
variants.variants;
})
architectures)
artifacts.platform;
};
in
artifactDerivations

View File

@ -0,0 +1,144 @@
{
"1a65d409c7a1438a34d21b60bf30a6fd5db59314" = {
"flutter_patched_sdk.zip" = "sha256-Pvsjttm5OwpJ/pW4UQXvvEiJYCM5CoZZfVXz5jef37k=";
"flutter_patched_sdk_product.zip" = "sha256-fhj2uUOrLwrzHrM6RNVpPNize5Qu6mLQDcSzLT2TbRA=";
"android-arm" = {
"artifacts.zip" = "sha256-KDMiI6SQoZHfFV5LJJZ7VOGyEKC4UxzRc777j4BbXgM=";
};
"android-arm-profile" = {
"artifacts.zip" = "sha256-MErLoGJWXg4yJ6b6c5bqP8Nat6O7eYSfM71mMNAAQf4=";
"linux-x64.zip" = "sha256-0TZQ05HR7NRqHzeoHZ/sOrjKiSvCpMUH85YXXzV4URg=";
};
"android-arm-release" = {
"artifacts.zip" = "sha256-hU4S4FOqUGokByZ47nzOqQ4A9QFshruqrpJvJUBHUho=";
"linux-x64.zip" = "sha256-AqNlqjOht+c2sdW5ReoF66ZJWJl1W4vGKbQ3YyderRY=";
};
"android-arm64" = {
"artifacts.zip" = "sha256-ApNg3Uu9gyGNsx7sdpTCz1yADVAI5ZuNHgvgiuH9IpQ=";
};
"android-arm64-profile" = {
"artifacts.zip" = "sha256-D/8+WKPIkOaV3PwkCHiJROFlokm4lWWmtPQb93Yqwr0=";
"linux-x64.zip" = "sha256-S0RHLov6/C22VvGdvZV87Ybaxun8YBrw1gTgNklRcM0=";
};
"android-arm64-release" = {
"artifacts.zip" = "sha256-OoYqHtwmT+VWJ+G+sMXM5+ux3h1Fnyo9Vj2za9cm5eE=";
"linux-x64.zip" = "sha256-NuXclg1a+Ofw5AWJ1tajpn2jYEZw6DluWxrFVL8rPfg=";
};
"android-x86" = {
"artifacts.zip" = "sha256-nN66nIrcbJHq2S4oIT5e2NCv7mS5Kw+HBv3ReHs+d3Y=";
};
"android-x86-jit-release" = {
"artifacts.zip" = "sha256-A8F6K78Ykp1rMsUmjD7B9nFFPAubZnqAqgWSzbNCRwk=";
};
"android-x64" = {
"artifacts.zip" = "sha256-hrBvnzCj/24h5kat96avlgXi6WhMsos5aPlkgxOYo8Q=";
};
"android-x64-profile" = {
"artifacts.zip" = "sha256-xzSj/2ah9aQoosaNGkSWFP3bMNJqRSFc0+78XEBHwzM=";
"linux-x64.zip" = "sha256-HfBiz1JWlBQ8KEfmf8uDlVzFlDt3+VF2VeY82tsMjHs=";
};
"android-x64-release" = {
"artifacts.zip" = "sha256-TcfMeA+8Uf9yRrYdEIsjip0cKmSUm2Ow1tkoE9803XY=";
"linux-x64.zip" = "sha256-D6efb6pj9+xjPnJu3O+ZCmwfatBzasuFZEFRntAiU9U=";
};
"linux-arm64" = {
"artifacts.zip" = "sha256-xyKVaEFb5gVkVrPzDrOql5BmXGO0FnCSeXOoQ10ZFrw=";
"font-subset.zip" = "sha256-Ulwb6q2SzB4suMJhAM3zAwWOzlEImlu9Ha+w5u4QqIU=";
"linux-arm64-flutter-gtk.zip" = "sha256-SiYOH++py4zeoD3BkNayqy/C9Zz9OiYQ5+u+pDLIpWg=";
};
"linux-arm64-debug" = {
"linux-arm64-flutter-gtk.zip" = "sha256-SiYOH++py4zeoD3BkNayqy/C9Zz9OiYQ5+u+pDLIpWg=";
};
"linux-arm64-profile" = {
"linux-arm64-flutter-gtk.zip" = "sha256-xB0eqrBYD7vhOwYUgJwNaBftNZJgdwxA9AUpEfX0iFs=";
};
"linux-arm64-release" = {
"linux-arm64-flutter-gtk.zip" = "sha256-aHLKV129WIRsLUG6xTMwCKB4eXD3jonqinjI8KSsOus=";
};
"linux-x64" = {
"artifacts.zip" = "sha256-+zIABFXUpiqn3OMoLcU4NDLxZ1y9z0r46iCTNRHAkz8=";
"font-subset.zip" = "sha256-W4SRPvA4rraVqN1ehbY6MFL7ZIWDHVJhjlLtxyUJJKY=";
"linux-x64-flutter-gtk.zip" = "sha256-boICnuJF4zqGb7kaN5haO/df9hC9KeJidt3uIK06S7M=";
};
"linux-x64-debug" = {
"linux-x64-flutter-gtk.zip" = "sha256-boICnuJF4zqGb7kaN5haO/df9hC9KeJidt3uIK06S7M=";
};
"linux-x64-profile" = {
"linux-x64-flutter-gtk.zip" = "sha256-RAsgupVF18IxLaP8tJ7XRQ8y/um46nlpA8fDITPwLqY=";
};
"linux-x64-release" = {
"linux-x64-flutter-gtk.zip" = "sha256-RAsgupVF18IxLaP8tJ7XRQ8y/um46nlpA8fDITPwLqY=";
};
};
"57d3bac3dd5cb5b0e464ab70e7bc8a0d8cf083ab" = {
"flutter_patched_sdk.zip" = "sha256-A/y5Y+Aw0CUhXABbdyQcGCSnSbO7Ask+71m8LZDSjH4=";
"flutter_patched_sdk_product.zip" = "sha256-VPxF4NrTUhFbpztyPnLEiC9Cy0kDDbYvy21kA5ES4HM=";
"android-arm" = {
"artifacts.zip" = "sha256-3igOO+rgFh0fNTIIiiucqSmqC+NKFPG5H1CnIa9bDcM=";
};
"android-arm-profile" = {
"artifacts.zip" = "sha256-qai254LNrQXJBsaoQgXao6mBpzzcYHh4sUESurSyxNA=";
"linux-x64.zip" = "sha256-hBkntf1fX5w752ly6lVUHm6wEM/4ep9guJGma3SKjxU=";
};
"android-arm-release" = {
"artifacts.zip" = "sha256-7yuXIJyErb1PZyk56+TtlJY0o1EOwmdAvpVfGGAteuA=";
"linux-x64.zip" = "sha256-v/jBnE662XOX/fOhYbve7ZiQwVu0haIMOD532Vdj9Yw=";
};
"android-arm64" = {
"artifacts.zip" = "sha256-Llxu8+SkYEtnoiMf01rffPpF/AjrlV+QPuAW850oMzo=";
};
"android-arm64-profile" = {
"artifacts.zip" = "sha256-su4U80supv8Q+2kE/5FTybiA5NFbKNMHqdB0NHCqrVI=";
"linux-x64.zip" = "sha256-yGt0SztNxYHDwZ1DwzLg5REE8rmMRKNn7GfCQ+GEHBw=";
};
"android-arm64-release" = {
"artifacts.zip" = "sha256-+p1+SXSEglR3jqWc/jKgmtR9nOGgMRGC+anoTs1kRc8=";
"linux-x64.zip" = "sha256-5UiG5gxOso8NO+7nkb6bjxW8e/Tr7mlvPRUagSRTCNs=";
};
"android-x86" = {
"artifacts.zip" = "sha256-Cbo17VYWaclyO1RLHkwjbqoFVZ283IgGdN0uDdiWvQs=";
};
"android-x86-jit-release" = {
"artifacts.zip" = "sha256-gSPm2tClTj2vEYtGKgobD/mebWLNlDp8nEoFX0rhEOk=";
};
"android-x64" = {
"artifacts.zip" = "sha256-PVb1aKMMTlDT41O2MZRAUjCq8h+m/s2h5qOnEFPd77w=";
};
"android-x64-profile" = {
"artifacts.zip" = "sha256-gZSSRCDy42AMLMiu/KH7YsDuFVaxRcoyXzUgV8V025Y=";
"linux-x64.zip" = "sha256-9+LCjeI18u/GlPDMIl6Jx6b++lc90fJ5tVBlDR+ctDs=";
};
"android-x64-release" = {
"artifacts.zip" = "sha256-rsS08VP86/b2S0TEYusCEJBvS4BuevsmV9REAxRgJIc=";
"linux-x64.zip" = "sha256-H4nFCJ+iCUzIwHogYzS+h33eDMaFnz71dcDLSQW1aPg=";
};
"linux-arm64" = {
"artifacts.zip" = "sha256-kCxsKQQQX6wzhD46bfoflKdz3AYYkoSyavhfyTDuHLU=";
"font-subset.zip" = "sha256-Yk6JsNWe7ftEQU/TsjDUZSFeLzeIbcS63lhl8fsWsdk=";
"linux-arm64-flutter-gtk.zip" = "sha256-girVdkXrTO5tssoi+eKwG9ykstCR/VOx8zWtcAz8AKM=";
};
"linux-arm64-debug" = {
"linux-arm64-flutter-gtk.zip" = "sha256-girVdkXrTO5tssoi+eKwG9ykstCR/VOx8zWtcAz8AKM=";
};
"linux-arm64-profile" = {
"linux-arm64-flutter-gtk.zip" = "sha256-VL5cwYaZ1FOJ3TwJzbgvHDQwkU9NrHGnf/tQhZ/dAGg=";
};
"linux-arm64-release" = {
"linux-arm64-flutter-gtk.zip" = "sha256-27hy7mLFCLkqJbn+5p5eJdYnfBKTyfFe98iUMmKyz4g=";
};
"linux-x64" = {
"artifacts.zip" = "sha256-JgEX+rKxdcWBBaxyR42eC7qOAvaawF9M2+rfaD4IgeA=";
"font-subset.zip" = "sha256-5EoxBrxSjaLLd+rKrxVYNoUZaejk0qcQ5LVsmqtKc2g=";
"linux-x64-flutter-gtk.zip" = "sha256-MH5HDPoXXi/KpQLQ0U1tQzZ0sbZx1RVhZtQ7L+WhZgk=";
};
"linux-x64-debug" = {
"linux-x64-flutter-gtk.zip" = "sha256-MH5HDPoXXi/KpQLQ0U1tQzZ0sbZx1RVhZtQ7L+WhZgk=";
};
"linux-x64-profile" = {
"linux-x64-flutter-gtk.zip" = "sha256-r2hB/AKrB5vNga2fve4tTM4j+Zp9KDqNlTjKQhQvbaI=";
};
"linux-x64-release" = {
"linux-x64-flutter-gtk.zip" = "sha256-muREs2iUiHCZM+SGN5q3HRRGnejJapKN582Aeog49MI=";
};
};
}

View File

@ -1,190 +1,196 @@
{ pname
, version
{ version
, engineVersion
, patches
, dart
, src
}:
{ bash
, buildFHSEnv
, cacert
, git
, runCommand
, stdenv
, lib
, alsa-lib
, dbus
, expat
, libpulseaudio
, libuuid
, libX11
, libxcb
, libXcomposite
, libXcursor
, libXdamage
, libXfixes
, libXrender
, libXtst
, libXi
, libXext
, libGL
, nspr
, nss
, systemd
, which
, callPackage
}:
let
drvName = "flutter-${version}";
flutter = stdenv.mkDerivation {
name = "${drvName}-unwrapped";
buildInputs = [ git ];
inherit src patches version;
postPatch = ''
patchShebangs --build ./bin/
'';
buildPhase = ''
export FLUTTER_ROOT="$(pwd)"
export FLUTTER_TOOLS_DIR="$FLUTTER_ROOT/packages/flutter_tools"
export SCRIPT_PATH="$FLUTTER_TOOLS_DIR/bin/flutter_tools.dart"
export SNAPSHOT_PATH="$FLUTTER_ROOT/bin/cache/flutter_tools.snapshot"
export STAMP_PATH="$FLUTTER_ROOT/bin/cache/flutter_tools.stamp"
export DART_SDK_PATH="${dart}"
HOME=../.. # required for pub upgrade --offline, ~/.pub-cache
# path is relative otherwise it's replaced by /build/flutter
pushd "$FLUTTER_TOOLS_DIR"
${dart}/bin/dart pub get --offline
popd
local revision="$(cd "$FLUTTER_ROOT"; git rev-parse HEAD)"
${dart}/bin/dart --snapshot="$SNAPSHOT_PATH" --packages="$FLUTTER_TOOLS_DIR/.dart_tool/package_config.json" "$SCRIPT_PATH"
echo "$revision" > "$STAMP_PATH"
echo -n "${version}" > version
rm -r bin/cache/{artifacts,dart-sdk,downloads}
rm bin/cache/*.stamp
'';
installPhase = ''
runHook preInstall
mkdir -p $out
cp -r . $out
mkdir -p $out/bin/cache/
ln -sf ${dart} $out/bin/cache/dart-sdk
runHook postInstall
'';
doInstallCheck = true;
nativeInstallCheckInputs = [ which ];
installCheckPhase = ''
runHook preInstallCheck
export HOME="$(mktemp -d)"
$out/bin/flutter config --android-studio-dir $HOME
$out/bin/flutter config --android-sdk $HOME
$out/bin/flutter --version | fgrep -q '${version}'
runHook postInstallCheck
'';
};
# Wrap flutter inside an fhs user env to allow execution of binary,
# like adb from $ANDROID_HOME or java from android-studio.
fhsEnv = buildFHSEnv {
name = "${drvName}-fhs-env";
multiPkgs = pkgs: [
# Flutter only use these certificates
(runCommand "fedoracert" { } ''
mkdir -p $out/etc/pki/tls/
ln -s ${cacert}/etc/ssl/certs $out/etc/pki/tls/certs
'')
pkgs.zlib
, includedEngineArtifacts ? {
common = [
"flutter_patched_sdk"
"flutter_patched_sdk_product"
];
targetPkgs = pkgs:
with pkgs; [
bash
curl
dart
git
unzip
which
xz
# flutter test requires this lib
libGLU
# for android emulator
alsa-lib
dbus
expat
libpulseaudio
libuuid
libX11
libxcb
libXcomposite
libXcursor
libXdamage
libXext
libXfixes
libXi
libXrender
libXtst
libGL
nspr
nss
systemd
];
};
in
let
self = (self:
runCommand drvName
{
startScript = ''
#!${bash}/bin/bash
export PUB_CACHE=''${PUB_CACHE:-"$HOME/.pub-cache"}
export ANDROID_EMULATOR_USE_SYSTEM_LIBS=1
${fhsEnv}/bin/${drvName}-fhs-env ${flutter}/bin/flutter --no-version-check "$@"
'';
preferLocalBuild = true;
allowSubstitutes = false;
passthru = {
unwrapped = flutter;
inherit dart;
mkFlutterApp = callPackage ../../../build-support/flutter {
flutter = self;
platform = {
android = lib.optionalAttrs stdenv.hostPlatform.isx86_64
((lib.genAttrs [ "arm" "arm64" "x64" ] (architecture: [ "profile" "release" ])) // { x86 = [ "jit-release" ]; });
linux = lib.optionals stdenv.hostPlatform.isLinux
(lib.genAttrs ((lib.optional stdenv.hostPlatform.isx86_64 "x64") ++ (lib.optional stdenv.hostPlatform.isAarch64 "arm64"))
(architecture: [ "debug" "profile" "release" ]));
};
};
meta = with lib; {
description = "Flutter is Google's SDK for building mobile, web and desktop with Dart";
longDescription = ''
Flutter is Googles UI toolkit for building beautiful,
natively compiled applications for mobile, web, and desktop from a single codebase.
'';
homepage = "https://flutter.dev";
license = licenses.bsd3;
platforms = [ "x86_64-linux" "aarch64-linux" ];
maintainers = with maintainers; [ babariviere ericdallo h7x4 ];
};
} ''
mkdir -p $out/bin
}
mkdir -p $out/bin/cache/
ln -sf ${dart} $out/bin/cache/dart-sdk
, lib
, callPackage
, stdenv
, runCommandLocal
, symlinkJoin
, lndir
, git
, which
}@args:
echo -n "$startScript" > $out/bin/${pname}
chmod +x $out/bin/${pname}
'') self;
let
engineArtifactDirectory =
let
engineArtifacts = callPackage ./engine-artifacts { inherit engineVersion; };
in
runCommandLocal "flutter-engine-artifacts-${version}" { }
(
let
mkCommonArtifactLinkCommand = { artifact }:
''
mkdir -p $out/common
${lndir}/bin/lndir -silent ${artifact} $out/common
'';
mkPlatformArtifactLinkCommand = { artifact, os, architecture, variant ? null }:
let
artifactDirectory = "${os}-${architecture}${lib.optionalString (variant != null) "-${variant}"}";
in
''
mkdir -p $out/${artifactDirectory}
${lndir}/bin/lndir -silent ${artifact} $out/${artifactDirectory}
'';
in
''
${
builtins.concatStringsSep "\n"
((map (name: mkCommonArtifactLinkCommand {
artifact = engineArtifacts.common.${name};
}) (if includedEngineArtifacts ? common then includedEngineArtifacts.common else [ ])) ++
(builtins.foldl' (commands: os: commands ++
(builtins.foldl' (commands: architecture: commands ++
(builtins.foldl' (commands: variant: commands ++
(map (artifact: mkPlatformArtifactLinkCommand {
inherit artifact os architecture variant;
}) engineArtifacts.platform.${os}.${architecture}.variants.${variant}))
(map (artifact: mkPlatformArtifactLinkCommand {
inherit artifact os architecture;
}) engineArtifacts.platform.${os}.${architecture}.base)
includedEngineArtifacts.platform.${os}.${architecture}))
[] (builtins.attrNames includedEngineArtifacts.platform.${os})))
[] (builtins.attrNames (if includedEngineArtifacts ? platform then includedEngineArtifacts.platform else { }))))
}
''
);
unwrapped =
stdenv.mkDerivation {
name = "flutter-${version}-unwrapped";
inherit src patches version;
outputs = [ "out" "cache" ];
buildInputs = [ git ];
preConfigure = ''
if [ "$(< bin/internal/engine.version)" != '${engineVersion}' ]; then
echo 1>&2 "The given engine version (${engineVersion}) does not match the version required by the Flutter SDK ($(< bin/internal/engine.version))."
exit 1
fi
'';
postPatch = ''
patchShebangs --build ./bin/
'';
buildPhase = ''
export FLUTTER_ROOT="$(pwd)"
export FLUTTER_TOOLS_DIR="$FLUTTER_ROOT/packages/flutter_tools"
export SCRIPT_PATH="$FLUTTER_TOOLS_DIR/bin/flutter_tools.dart"
export SNAPSHOT_PATH="$FLUTTER_ROOT/bin/cache/flutter_tools.snapshot"
export STAMP_PATH="$FLUTTER_ROOT/bin/cache/flutter_tools.stamp"
export DART_SDK_PATH="${dart}"
# The Flutter tool compilation requires dependencies to be cached, as there is no Internet access.
# Dart expects package caches to be mutable, and does not support composing cache directories.
# The packages cached during the build therefore cannot be easily used. They are provided through
# the derivation's "cache" output, though, in case they are needed.
#
# Note that non-cached packages will normally be fetched from the Internet when they are needed, so Flutter
# will function without an existing package cache as long as it has an Internet connection.
export PUB_CACHE="$cache"
if [ -d .pub-preload-cache ]; then
${dart}/bin/dart pub cache preload .pub-preload-cache/*
elif [ -d .pub-cache ]; then
mv .pub-cache "$PUB_CACHE"
else
echo 'ERROR: Failed to locate the Dart package cache required to build the Flutter tool.'
exit 1
fi
pushd "$FLUTTER_TOOLS_DIR"
${dart}/bin/dart pub get --offline
popd
local revision="$(cd "$FLUTTER_ROOT"; git rev-parse HEAD)"
${dart}/bin/dart --snapshot="$SNAPSHOT_PATH" --packages="$FLUTTER_TOOLS_DIR/.dart_tool/package_config.json" "$SCRIPT_PATH"
echo "$revision" > "$STAMP_PATH"
echo -n "${version}" > version
# Certain prebuilts should be replaced with Nix-built (or at least Nix-patched) equivalents.
rm -r \
bin/cache/dart-sdk \
bin/cache/artifacts/engine
'';
installPhase = ''
runHook preInstall
mkdir -p $out
cp -r . $out
ln -sf ${dart} $out/bin/cache/dart-sdk
ln -sf ${engineArtifactDirectory} $out/bin/cache/artifacts/engine
runHook postInstall
'';
doInstallCheck = true;
nativeInstallCheckInputs = [ which ];
installCheckPhase = ''
runHook preInstallCheck
export HOME="$(mktemp -d)"
$out/bin/flutter config --android-studio-dir $HOME
$out/bin/flutter config --android-sdk $HOME
$out/bin/flutter --version | fgrep -q '${version}'
runHook postInstallCheck
'';
passthru = {
inherit dart;
# The derivation containing the original Flutter SDK files.
# When other derivations wrap this one, any unmodified files
# found here should be included as-is, for tooling compatibility.
sdk = unwrapped;
buildFlutterApplication = callPackage ../../../build-support/flutter {
# Package a minimal version of Flutter that only uses Linux desktop release artifacts.
flutter = callPackage ./wrapper.nix {
flutter = callPackage ./flutter.nix (args // {
includedEngineArtifacts = {
common = [ "flutter_patched_sdk_product" ];
platform.linux = lib.optionals stdenv.hostPlatform.isLinux
(lib.genAttrs ((lib.optional stdenv.hostPlatform.isx86_64 "x64") ++ (lib.optional stdenv.hostPlatform.isAarch64 "arm64"))
(architecture: [ "release" ]));
};
});
};
};
};
meta = with lib; {
description = "Flutter is Google's SDK for building mobile, web and desktop with Dart";
longDescription = ''
Flutter is Googles UI toolkit for building beautiful,
natively compiled applications for mobile, web, and desktop from a single codebase.
'';
homepage = "https://flutter.dev";
license = licenses.bsd3;
platforms = [ "x86_64-linux" "aarch64-linux" ];
maintainers = with maintainers; [ babariviere ericdallo FlafyDev gilice hacker1024 ];
};
};
in
self
unwrapped

View File

@ -0,0 +1,4 @@
{ callPackage }:
{
}

View File

@ -0,0 +1,17 @@
diff --git a/packages/flutter_tools/lib/src/build_system/targets/assets.dart b/packages/flutter_tools/lib/src/build_system/targets/assets.dart
index 68a4cd0257..1e212b9b0d 100644
--- a/packages/flutter_tools/lib/src/build_system/targets/assets.dart
+++ b/packages/flutter_tools/lib/src/build_system/targets/assets.dart
@@ -101,7 +101,11 @@ Future<Depfile> copyAssets(Environment environment, Directory outputDirectory, {
outputPath: file.path,
relativePath: entry.key,
)) {
- await (content.file as File).copy(file.path);
+ // Not using File.copy because it preserves permissions.
+ final sourceFile = content.file as File;
+ final destinationFile = file;
+
+ await destinationFile.writeAsBytes(await sourceFile.readAsBytes(), flush: true);
}
} else {
await file.writeAsBytes(await entry.value.contentsAsBytes());

View File

@ -34,3 +34,16 @@ index 396756808e..d324a6df59 100644
// See if the user specified a specific device.
globals.deviceManager?.specifiedDeviceId = topLevelResults['device-id'] as String?;
diff --git a/packages/flutter_tools/lib/src/cache.dart b/packages/flutter_tools/lib/src/cache.dart
index defc86cc20..6c0824c965 100644
--- a/packages/flutter_tools/lib/src/cache.dart
+++ b/packages/flutter_tools/lib/src/cache.dart
@@ -666,6 +666,7 @@ class Cache {
/// Update the cache to contain all `requiredArtifacts`.
Future<void> updateAll(Set<DevelopmentArtifact> requiredArtifacts) async {
+ return;
if (!_lockEnabled) {
return;
}

View File

@ -1,31 +1,5 @@
diff --git a/packages/flutter_tools/lib/src/asset.dart b/packages/flutter_tools/lib/src/asset.dart
index ed42baea29..12941f733a 100644
--- a/packages/flutter_tools/lib/src/asset.dart
+++ b/packages/flutter_tools/lib/src/asset.dart
@@ -11,11 +11,11 @@ import 'base/file_system.dart';
import 'base/logger.dart';
import 'base/platform.dart';
import 'build_info.dart';
-import 'cache.dart';
import 'convert.dart';
import 'dart/package_map.dart';
import 'devfs.dart';
import 'flutter_manifest.dart';
+import 'globals.dart' as globals;
import 'license_collector.dart';
import 'project.dart';
@@ -504,7 +504,7 @@ class ManifestAssetBundle implements AssetBundle {
}
final Uri entryUri = _fileSystem.path.toUri(asset);
result.add(_Asset(
- baseDir: _fileSystem.path.join(Cache.flutterRoot!, 'bin', 'cache', 'artifacts', 'material_fonts'),
+ baseDir: _fileSystem.path.join(globals.fsUtils.homeDirPath!, '.cache', 'flutter', 'artifacts', 'material_fonts'),
relativeUri: Uri(path: entryUri.pathSegments.last),
entryUri: entryUri,
package: null,
diff --git a/packages/flutter_tools/lib/src/cache.dart b/packages/flutter_tools/lib/src/cache.dart
index defc86cc20..7fdf14d112 100644
index dd80b1e46e..8e54517765 100644
--- a/packages/flutter_tools/lib/src/cache.dart
+++ b/packages/flutter_tools/lib/src/cache.dart
@@ -22,6 +22,7 @@ import 'base/user_messages.dart';
@ -36,7 +10,7 @@ index defc86cc20..7fdf14d112 100644
const String kFlutterRootEnvironmentVariableName = 'FLUTTER_ROOT'; // should point to //flutter/ (root of flutter/flutter repo)
const String kFlutterEngineEnvironmentVariableName = 'FLUTTER_ENGINE'; // should point to //engine/src/ (root of flutter/engine repo)
@@ -322,8 +323,13 @@ class Cache {
@@ -318,8 +319,13 @@ class Cache {
return;
}
assert(_lock == null);
@ -51,7 +25,7 @@ index defc86cc20..7fdf14d112 100644
try {
_lock = lockFile.openSync(mode: FileMode.write);
} on FileSystemException catch (e) {
@@ -382,8 +388,7 @@ class Cache {
@@ -378,8 +384,7 @@ class Cache {
String get devToolsVersion {
if (_devToolsVersion == null) {
@ -61,12 +35,3 @@ index defc86cc20..7fdf14d112 100644
if (!devToolsDir.existsSync()) {
throw Exception('Could not find directory at ${devToolsDir.path}');
}
@@ -536,7 +541,7 @@ class Cache {
if (_rootOverride != null) {
return _fileSystem.directory(_fileSystem.path.join(_rootOverride!.path, 'bin', 'cache'));
} else {
- return _fileSystem.directory(_fileSystem.path.join(flutterRoot!, 'bin', 'cache'));
+ return _fileSystem.directory(_fileSystem.path.join(globals.fsUtils.homeDirPath!, '.cache', 'flutter'));
}
}

View File

@ -0,0 +1,17 @@
diff --git a/packages/flutter_tools/lib/src/build_system/targets/assets.dart b/packages/flutter_tools/lib/src/build_system/targets/assets.dart
index 5f458bd53e..7a6c59f98d 100644
--- a/packages/flutter_tools/lib/src/build_system/targets/assets.dart
+++ b/packages/flutter_tools/lib/src/build_system/targets/assets.dart
@@ -128,7 +128,11 @@ Future<Depfile> copyAssets(
break;
}
if (doCopy) {
- await (content.file as File).copy(file.path);
+ // Not using File.copy because it preserves permissions.
+ final sourceFile = content.file as File;
+ final destinationFile = file;
+
+ await destinationFile.writeAsBytes(await sourceFile.readAsBytes(), flush: true);
}
} else {
await file.writeAsBytes(await entry.value.contentsAsBytes());

View File

@ -34,3 +34,16 @@ index 738fef987d..03a152e64f 100644
// See if the user specified a specific device.
globals.deviceManager?.specifiedDeviceId = topLevelResults['device-id'] as String?;
diff --git a/packages/flutter_tools/lib/src/cache.dart b/packages/flutter_tools/lib/src/cache.dart
index dd80b1e46e..8e54517765 100644
--- a/packages/flutter_tools/lib/src/cache.dart
+++ b/packages/flutter_tools/lib/src/cache.dart
@@ -668,6 +668,7 @@
/// Update the cache to contain all `requiredArtifacts`.
Future<void> updateAll(Set<DevelopmentArtifact> requiredArtifacts, {bool offline = false}) async {
+ return;
if (!_lockEnabled) {
return;
}

View File

@ -0,0 +1,12 @@
diff --git a/packages/flutter_tools/lib/src/doctor.dart b/packages/flutter_tools/lib/src/doctor.dart
index 651dc6cf36..236eb370e1 100644
--- a/packages/flutter_tools/lib/src/doctor.dart
+++ b/packages/flutter_tools/lib/src/doctor.dart
@@ -515,7 +515,6 @@ class FlutterValidator extends DoctorValidator {
final String flutterRoot = _flutterRoot();
messages.add(_getFlutterVersionMessage(frameworkVersion, versionChannel, flutterRoot));
- _validateRequiredBinaries(flutterRoot).forEach(messages.add);
messages.add(_getFlutterUpstreamMessage(version));
if (gitUrl != null) {
messages.add(ValidationMessage(_userMessages.flutterGitUrl(gitUrl)));

View File

@ -1,26 +1,3 @@
diff --git a/packages/flutter_tools/lib/src/artifacts.dart b/packages/flutter_tools/lib/src/artifacts.dart
diff --git a/packages/flutter_tools/lib/src/asset.dart b/packages/flutter_tools/lib/src/asset.dart
index 9dd7272fbe..642c8e48e4 100644
--- a/packages/flutter_tools/lib/src/asset.dart
+++ b/packages/flutter_tools/lib/src/asset.dart
@@ -16,6 +16,7 @@ import 'convert.dart';
import 'dart/package_map.dart';
import 'devfs.dart';
import 'flutter_manifest.dart';
+import 'globals.dart' as globals;
import 'license_collector.dart';
import 'project.dart';
@@ -530,8 +531,7 @@ class ManifestAssetBundle implements AssetBundle {
final Uri entryUri = _fileSystem.path.toUri(asset);
result.add(_Asset(
baseDir: _fileSystem.path.join(
- Cache.flutterRoot!,
- 'bin', 'cache', 'artifacts', 'material_fonts',
+ globals.fsUtils.homeDirPath!, '.cache', 'flutter', 'artifacts', 'material_fonts',
),
relativeUri: Uri(path: entryUri.pathSegments.last),
entryUri: entryUri,
diff --git a/packages/flutter_tools/lib/src/cache.dart b/packages/flutter_tools/lib/src/cache.dart
index dd80b1e46e..8e54517765 100644
--- a/packages/flutter_tools/lib/src/cache.dart
@ -58,141 +35,3 @@ index dd80b1e46e..8e54517765 100644
if (!devToolsDir.existsSync()) {
throw Exception('Could not find directory at ${devToolsDir.path}');
}
@@ -532,7 +537,7 @@ class Cache {
if (_rootOverride != null) {
return _fileSystem.directory(_fileSystem.path.join(_rootOverride!.path, 'bin', 'cache'));
} else {
- return _fileSystem.directory(_fileSystem.path.join(flutterRoot!, 'bin', 'cache'));
+ return _fileSystem.directory(_fileSystem.path.join(globals.fsUtils.homeDirPath!, '.cache', 'flutter'));
}
}
index c539d67156..4e0a64f7a9 100644
--- a/packages/flutter_tools/lib/src/artifacts.dart
+++ b/packages/flutter_tools/lib/src/artifacts.dart
@@ -346,10 +346,10 @@ class CachedArtifacts implements Artifacts {
) {
switch (artifact) {
case HostArtifact.engineDartSdkPath:
- final String path = _dartSdkPath(_cache);
+ final String path = _dartSdkPath(_fileSystem);
return _fileSystem.directory(path);
case HostArtifact.engineDartBinary:
- final String path = _fileSystem.path.join(_dartSdkPath(_cache), 'bin', _hostArtifactToFileName(artifact, _platform));
+ final String path = _fileSystem.path.join(_dartSdkPath(_fileSystem), 'bin', _hostArtifactToFileName(artifact, _platform));
return _fileSystem.file(path);
case HostArtifact.flutterWebSdk:
final String path = _getFlutterWebSdkPath();
@@ -398,7 +398,7 @@ class CachedArtifacts implements Artifacts {
case HostArtifact.dart2jsSnapshot:
case HostArtifact.dartdevcSnapshot:
case HostArtifact.kernelWorkerSnapshot:
- final String path = _fileSystem.path.join(_dartSdkPath(_cache), 'bin', 'snapshots', _hostArtifactToFileName(artifact, _platform));
+ final String path = _fileSystem.path.join(_dartSdkPath(_fileSystem), 'bin', 'snapshots', _hostArtifactToFileName(artifact, _platform));
return _fileSystem.file(path);
case HostArtifact.iosDeploy:
final String artifactFileName = _hostArtifactToFileName(artifact, _platform);
@@ -465,11 +465,13 @@ class CachedArtifacts implements Artifacts {
String _getAndroidArtifactPath(Artifact artifact, TargetPlatform platform, BuildMode mode) {
final String engineDir = _getEngineArtifactsPath(platform, mode)!;
switch (artifact) {
+ case Artifact.frontendServerSnapshotForEngineDartSdk:
+ assert(mode != BuildMode.debug, 'Artifact $artifact only available in non-debug mode.');
+ return _fileSystem.path.join(engineDir, _artifactToFileName(artifact));
case Artifact.genSnapshot:
assert(mode != BuildMode.debug, 'Artifact $artifact only available in non-debug mode.');
final String hostPlatform = getNameForHostPlatform(getCurrentHostPlatform());
return _fileSystem.path.join(engineDir, hostPlatform, _artifactToFileName(artifact));
- case Artifact.frontendServerSnapshotForEngineDartSdk:
case Artifact.constFinder:
case Artifact.flutterFramework:
case Artifact.flutterMacOSFramework:
@@ -497,13 +499,13 @@ class CachedArtifacts implements Artifacts {
switch (artifact) {
case Artifact.genSnapshot:
case Artifact.flutterXcframework:
+ case Artifact.frontendServerSnapshotForEngineDartSdk:
final String artifactFileName = _artifactToFileName(artifact)!;
final String engineDir = _getEngineArtifactsPath(platform, mode)!;
return _fileSystem.path.join(engineDir, artifactFileName);
case Artifact.flutterFramework:
final String engineDir = _getEngineArtifactsPath(platform, mode)!;
return _getIosEngineArtifactPath(engineDir, environmentType, _fileSystem);
- case Artifact.frontendServerSnapshotForEngineDartSdk:
case Artifact.constFinder:
case Artifact.flutterMacOSFramework:
case Artifact.flutterPatchedSdkPath:
@@ -586,14 +588,10 @@ class CachedArtifacts implements Artifacts {
// For script snapshots any gen_snapshot binary will do. Returning gen_snapshot for
// android_arm in profile mode because it is available on all supported host platforms.
return _getAndroidArtifactPath(artifact, TargetPlatform.android_arm, BuildMode.profile);
- case Artifact.frontendServerSnapshotForEngineDartSdk:
- return _fileSystem.path.join(
- _dartSdkPath(_cache), 'bin', 'snapshots',
- _artifactToFileName(artifact),
- );
case Artifact.flutterTester:
case Artifact.vmSnapshotData:
case Artifact.isolateSnapshotData:
+ case Artifact.frontendServerSnapshotForEngineDartSdk:
case Artifact.icuData:
final String engineArtifactsPath = _cache.getArtifactDirectory('engine').path;
final String platformDirName = _enginePlatformDirectoryName(platform);
@@ -776,7 +774,7 @@ class CachedLocalEngineArtifacts implements LocalEngineArtifacts {
final String path = _fileSystem.path.join(_hostEngineOutPath, 'dart-sdk', 'bin', 'snapshots', _hostArtifactToFileName(artifact, _platform));
return _fileSystem.file(path);
case HostArtifact.dartdevcSnapshot:
- final String path = _fileSystem.path.join(_dartSdkPath(_cache), 'bin', 'snapshots', _hostArtifactToFileName(artifact, _platform));
+ final String path = _fileSystem.path.join(_dartSdkPath(_fileSystem), 'bin', 'snapshots', _hostArtifactToFileName(artifact, _platform));
return _fileSystem.file(path);
case HostArtifact.kernelWorkerSnapshot:
final String path = _fileSystem.path.join(_hostEngineOutPath, 'dart-sdk', 'bin', 'snapshots', _hostArtifactToFileName(artifact, _platform));
@@ -901,9 +899,7 @@ class CachedLocalEngineArtifacts implements LocalEngineArtifacts {
case Artifact.windowsCppClientWrapper:
return _fileSystem.path.join(_hostEngineOutPath, artifactFileName);
case Artifact.frontendServerSnapshotForEngineDartSdk:
- return _fileSystem.path.join(
- _hostEngineOutPath, 'dart-sdk', 'bin', 'snapshots', artifactFileName,
- );
+ return _fileSystem.path.join(_hostEngineOutPath, 'gen', artifactFileName);
}
}
@@ -1011,8 +1007,8 @@ class OverrideArtifacts implements Artifacts {
}
/// Locate the Dart SDK.
-String _dartSdkPath(Cache cache) {
- return cache.getRoot().childDirectory('dart-sdk').path;
+String _dartSdkPath(FileSystem fileSystem) {
+ return fileSystem.path.join(Cache.flutterRoot!, 'bin', 'cache', 'dart-sdk');
}
class _TestArtifacts implements Artifacts {
diff --git a/packages/flutter_tools/test/general.shard/artifacts_test.dart b/packages/flutter_tools/test/general.shard/artifacts_test.dart
index aed3eb9285..81b8362648 100644
--- a/packages/flutter_tools/test/general.shard/artifacts_test.dart
+++ b/packages/flutter_tools/test/general.shard/artifacts_test.dart
@@ -141,10 +141,6 @@ void main() {
artifacts.getArtifactPath(Artifact.flutterTester, platform: TargetPlatform.linux_arm64),
fileSystem.path.join('root', 'bin', 'cache', 'artifacts', 'engine', 'linux-arm64', 'flutter_tester'),
);
- expect(
- artifacts.getArtifactPath(Artifact.frontendServerSnapshotForEngineDartSdk),
- fileSystem.path.join('root', 'bin', 'cache', 'dart-sdk', 'bin', 'snapshots', 'frontend_server.dart.snapshot')
- );
});
testWithoutContext('precompiled web artifact paths are correct', () {
@@ -310,11 +306,6 @@ void main() {
artifacts.getHostArtifact(HostArtifact.engineDartSdkPath).path,
fileSystem.path.join('/out', 'host_debug_unopt', 'dart-sdk'),
);
- expect(
- artifacts.getArtifactPath(Artifact.frontendServerSnapshotForEngineDartSdk),
- fileSystem.path.join('/out', 'host_debug_unopt', 'dart-sdk', 'bin',
- 'snapshots', 'frontend_server.dart.snapshot')
- );
expect(
artifacts.getHostArtifact(HostArtifact.impellerc).path,
fileSystem.path.join('/out', 'host_debug_unopt', 'impellerc'),

View File

@ -0,0 +1,24 @@
{ symlinkJoin }: flutter:
let
self =
symlinkJoin {
name = "${flutter.name}-sdk-links";
paths = [ flutter flutter.sdk ];
passthru = flutter.passthru // {
# Update the SDK attribute.
# This allows any modified SDK files to be included
# in future invocations.
sdk = self;
};
meta = flutter.meta // {
longDescription = ''
${flutter.meta.longDescription}
Modified binaries are linked into the original SDK directory for use with tools that use the whole SDK.
'';
};
};
in
self

View File

@ -0,0 +1,110 @@
{ lib
, stdenv
, callPackage
, flutter
, supportsLinuxDesktop ? stdenv.isLinux
, extraPkgConfigPackages ? [ ]
, extraLibraries ? [ ]
, extraIncludes ? [ ]
, extraCxxFlags ? [ ]
, extraCFlags ? [ ]
, extraLinkerFlags ? [ ]
, makeWrapper
, runCommandLocal
, writeShellScript
, git
, which
, pkg-config
, atk
, cairo
, gdk-pixbuf
, glib
, gtk3
, harfbuzz
, libepoxy
, pango
, libX11
, xorgproto
, libdeflate
, zlib
, cmake
, ninja
, clang
}:
let
# By default, Flutter stores downloaded files (such as the Pub cache) in the SDK directory.
# Wrap it to ensure that it does not do that, preferring home directories instead.
immutableFlutter = writeShellScript "flutter_immutable" ''
export PUB_CACHE=''${PUB_CACHE:-"$HOME/.pub-cache"}
${flutter}/bin/flutter "$@"
'';
# Tools that the Flutter tool depends on.
tools = [ git which ];
# Libraries that Flutter apps depend on at runtime.
appRuntimeDeps = lib.optionals supportsLinuxDesktop [
atk
cairo
gdk-pixbuf
glib
gtk3
harfbuzz
libepoxy
pango
libX11
libdeflate
];
# Development packages required for compilation.
appBuildDeps =
let
# https://discourse.nixos.org/t/handling-transitive-c-dependencies/5942/3
deps = pkg: builtins.filter lib.isDerivation ((pkg.buildInputs or [ ]) ++ (pkg.propagatedBuildInputs or [ ]));
collect = pkg: lib.unique ([ pkg ] ++ deps pkg ++ builtins.concatMap collect (deps pkg));
in
builtins.concatMap collect appRuntimeDeps;
# Some header files and libraries are not properly located by the Flutter SDK.
# They must be manually included.
appStaticBuildDeps = (lib.optionals supportsLinuxDesktop [ libX11 xorgproto zlib ]) ++ extraLibraries;
# Tools used by the Flutter SDK to compile applications.
buildTools = lib.optionals supportsLinuxDesktop [
pkg-config
cmake
ninja
clang
];
# Nix-specific compiler configuration.
pkgConfigPackages = map (lib.getOutput "dev") (appBuildDeps ++ extraPkgConfigPackages);
includeFlags = map (pkg: "-isystem ${lib.getOutput "dev" pkg}/include") (appStaticBuildDeps ++ extraIncludes);
linkerFlags = (map (pkg: "-rpath,${lib.getOutput "lib" pkg}/lib") appRuntimeDeps) ++ extraLinkerFlags;
in
(callPackage ./sdk-symlink.nix { }) (runCommandLocal "flutter-wrapped"
{
nativeBuildInputs = [ makeWrapper ];
passthru = flutter.passthru // {
inherit (flutter) version;
unwrapped = flutter;
};
inherit (flutter) meta;
} ''
for path in ${builtins.concatStringsSep " " (builtins.foldl' (paths: pkg: paths ++ (map (directory: "'${pkg}/${directory}/pkgconfig'") ["lib" "share"])) [ ] pkgConfigPackages)}; do
addToSearchPath FLUTTER_PKG_CONFIG_PATH "$path"
done
mkdir -p $out/bin
makeWrapper '${immutableFlutter}' $out/bin/flutter \
--set-default ANDROID_EMULATOR_USE_SYSTEM_LIBS 1 \
--prefix PATH : '${lib.makeBinPath (tools ++ buildTools)}' \
--prefix PKG_CONFIG_PATH : "$FLUTTER_PKG_CONFIG_PATH" \
--prefix LIBRARY_PATH : '${lib.makeLibraryPath appStaticBuildDeps}' \
--prefix CXXFLAGS "''\t" '${builtins.concatStringsSep " " (includeFlags ++ extraCxxFlags)}' \
--prefix CFLAGS "''\t" '${builtins.concatStringsSep " " (includeFlags ++ extraCFlags)}' \
--prefix LDFLAGS "''\t" '${builtins.concatStringsSep " " (map (flag: "-Wl,${flag}") linkerFlags)}'
'')

View File

@ -232,6 +232,19 @@ in stdenv.mkDerivation rec {
description = "A safe, concurrent, practical language";
maintainers = with maintainers; [ cstrahan globin havvy ] ++ teams.rust.members;
license = [ licenses.mit licenses.asl20 ];
platforms = platforms.linux ++ platforms.darwin;
platforms = [
# Platforms with host tools from
# https://doc.rust-lang.org/nightly/rustc/platform-support.html
"x86_64-darwin" "i686-darwin" "aarch64-darwin"
"i686-freebsd13" "x86_64-freebsd13"
"x86_64-solaris"
"aarch64-linux" "armv7l-linux" "i686-linux" "mipsel-linux"
"mips64el-linux" "powerpc64-linux" "powerpc64le-linux"
"riscv64-linux" "s390x-linux" "x86_64-linux"
"aarch64-netbsd" "armv7l-netbsd" "i686-netbsd" "powerpc-netbsd"
"x86_64-netbsd"
"i686-openbsd" "x86_64-openbsd"
"i686-windows" "x86_64-windows"
];
};
}

View File

@ -5,7 +5,7 @@
ocamlPackages.buildDunePackage rec {
pname = "stanc";
version = "2.31.0";
version = "2.32.0";
minimalOCamlVersion = "4.12";
@ -13,7 +13,7 @@ ocamlPackages.buildDunePackage rec {
owner = "stan-dev";
repo = "stanc3";
rev = "v${version}";
hash = "sha256-5GOyKVt3LHN1D6UysOZT8isVQLKexwEcK0rwI45dDcg=";
hash = "sha256-DZJb5Zcfki6vev1n+9zyokQTxEounCvTeYyH4BvSTZ0=";
};
# Error: This expression has type [ `Use_Sys_unix ]

View File

@ -0,0 +1,14 @@
{ callPackage, fetchurl, fetchpatch, ... } @ args:
callPackage ./generic.nix (args // rec {
version = "1.82.0";
src = fetchurl {
urls = [
"mirror://sourceforge/boost/boost_${builtins.replaceStrings ["."] ["_"] version}.tar.bz2"
"https://boostorg.jfrog.io/artifactory/main/release/${version}/source/boost_${builtins.replaceStrings ["."] ["_"] version}.tar.bz2"
];
# SHA256 from http://www.boost.org/users/history/version_1_82_0.html
sha256 = "a6e1ab9b0860e6a2881dd7b21fe9f737a095e5f33a3a874afc6a345228597ee6";
};
})

View File

@ -32,4 +32,5 @@ in {
boost179 = makeBoost ./1.79.nix;
boost180 = makeBoost ./1.80.nix;
boost181 = makeBoost ./1.81.nix;
boost182 = makeBoost ./1.82.nix;
}

View File

@ -158,7 +158,7 @@ stdenv.mkDerivation {
platforms = platforms.unix ++ platforms.windows;
badPlatforms = optional (versionOlder version "1.59") "aarch64-linux"
++ optional ((versionOlder version "1.57") || version == "1.58") "x86_64-darwin"
++ optionals (versionOlder version "1.73") lib.platforms.riscv;
++ optionals (versionOlder version "1.73") platforms.riscv;
maintainers = with maintainers; [ hjones2199 ];
broken =

View File

@ -6,13 +6,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "epoll-shim";
version = "unstable-2023-02-05";
version = "0.0.20230411";
src = fetchFromGitHub {
owner = "jiixyj";
repo = finalAttrs.pname;
rev = "702e845d7850e30a7b9e29f759c9c8f7bb40784b";
hash = "sha256-QfBnF0/P2KjQggEdJCdqVJDeV/+iaN0OZIwIGyIyr68=";
rev = "v${finalAttrs.version}";
hash = "sha256-TOfybtUEp+EtY2l/UGwVFIESDe9kELJCZHlcz22Cmi8=";
};
nativeBuildInputs = [

View File

@ -14,14 +14,14 @@
stdenv.mkDerivation rec {
pname = "gtk-frdp";
version = "unstable-2023-03-03";
version = "unstable-2023-04-14";
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
owner = "GNOME";
repo = pname;
rev = "3f991a22c025cad3016a7aa55988e51884964050";
sha256 = "jzum4/iU1oSr5t/IrSOLFyZcj38VIL7ooIbfoJZhk+g=";
rev = "9af99d95ed532128c1856e7a1bfd0b59dd61a35f";
sha256 = "cz4JJ/NKBYBv5bw18BBfwtWtxPWGBmrwSHgTZ1hS3Qk=";
};
nativeBuildInputs = [

View File

@ -63,7 +63,7 @@ in
stdenv.mkDerivation rec {
pname = "gtk4";
version = "4.10.1";
version = "4.10.3";
outputs = [ "out" "dev" ] ++ lib.optionals x11Support [ "devdoc" ];
outputBin = "dev";
@ -75,7 +75,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "mirror://gnome/sources/gtk/${lib.versions.majorMinor version}/gtk-${version}.tar.xz";
sha256 = "6PysBLx3FbnaZnyRGl7o8mLiANHWpQrfI2RcqM/NAxE=";
sha256 = "RUVEGteeN3624KcFAm3HpGiG5GobA020CRKQnagBzqk=";
};
patches = [

View File

@ -20,7 +20,7 @@
stdenv.mkDerivation rec {
pname = "libadwaita";
version = "1.3.1";
version = "1.3.2";
outputs = [ "out" "dev" "devdoc" ];
outputBin = "devdoc"; # demo app
@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
owner = "GNOME";
repo = "libadwaita";
rev = version;
hash = "sha256-RIJtlSBZX4+rMOGQaFn31CCEKkWtPjtzO4fcX+iApvs=";
hash = "sha256-9Qha8xN3lC/t5dQNYPbgMX6HAKgEk80pyycrd5MGYLo=";
};
depsBuildBuild = [
@ -70,10 +70,10 @@ stdenv.mkDerivation rec {
xvfb-run
];
# Tests had to be disabled on Darwin because they fail with the same error as https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=264947 on Hydra:
# Tests had to be disabled on Darwin because test-button-content fails
#
# In file included from ../tests/test-style-manager.c:10:
# ../src/adw-settings-private.h:16:10: fatal error: 'adw-enums-private.h' file not found
# not ok /Adwaita/ButtonContent/style_class_button - Gdk-FATAL-CRITICAL:
# gdk_macos_monitor_get_workarea: assertion 'GDK_IS_MACOS_MONITOR (self)' failed
doCheck = !stdenv.isDarwin;
checkPhase = ''

View File

@ -2,7 +2,7 @@
{pkgs ? import <nixpkgs> {
inherit system;
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-18_x"}:
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_18"}:
let
nodeEnv = import ./node-env.nix {

View File

@ -13,7 +13,7 @@ rm -f ./node-env.nix
-i node-packages.json \
-o node-packages.nix \
-c composition.nix \
--pkg-name nodejs-18_x
--pkg-name nodejs_18
# using --no-out-link in nix-build argument would cause the
# gc to run before the script finishes

View File

@ -281,7 +281,7 @@ final: prev: {
};
manta = prev.manta.override ( oldAttrs: {
nativeBuildInputs = with pkgs; [ nodejs-14_x installShellFiles ];
nativeBuildInputs = with pkgs; [ nodejs_14 installShellFiles ];
postInstall = ''
# create completions, following upstream procedure https://github.com/joyent/node-manta/blob/v5.2.3/Makefile#L85-L91
completion_cmds=$(find ./bin -type f -printf "%f\n")
@ -341,23 +341,16 @@ final: prev: {
src = fetchFromGitHub {
owner = "svanderburg";
repo = "node2nix";
rev = "026360084db8a27095aafdac7125d7f1a93046c8";
sha256 = "sha256-zO/xGG10v7HGv58RLX5SFd7QOXAL2vRxCRM8IfRZ8JA=";
rev = "315e1b85a6761152f57a41ccea5e2570981ec670";
sha256 = "sha256-8OxTOkwBPcnjyhXhxQEDd8tiaQoHt91zUJX5Ka+IXco=";
};
nativeBuildInputs = [ pkgs.buildPackages.makeWrapper ];
postInstall = let
patches = [
# Needed to fix Node.js 16+ - PR svanderburg/node2nix#302
# fix nodejs attr names
(fetchpatch {
name = "emit-lockfile-v2-and-fix-bin-links-with-npmv7.patch";
url = "https://github.com/svanderburg/node2nix/commit/375a055041b5ee49ca5fb3f74a58ca197c90c7d5.patch";
hash = "sha256-uVYrXptJILojeur9s2O+J/f2vyPNCaZMn1GM/NoC5n8=";
})
# Needed to fix packages with DOS line-endings after above patch - PR svanderburg/node2nix#314
(fetchpatch {
name = "convert-crlf-for-script-bin-files.patch";
url = "https://github.com/svanderburg/node2nix/commit/91aa511fe7107938b0409a02ab8c457a6de2d8ca.patch";
hash = "sha256-ISiKYkur/o8enKDzJ8mQndkkSC4yrTNlheqyH+LiXlU=";
url = "https://github.com/svanderburg/node2nix/commit/3b63e735458947ef39aca247923f8775633363e5.patch";
hash = "sha256-pe8Xm4mjPh9oKXugoMY6pRl8YYgtdw0sRXN+TienalU=";
})
];
in ''

View File

@ -34,7 +34,7 @@ buildPythonPackage rec {
owner = "devitocodes";
repo = "devito";
rev = "refs/tags/v${version}";
hash = "sha256-JLfTWfQ9HYb7jsPAuAfNXuIWv7lOomJGE9hBss+AI7o=";
hash = "sha256-LzqY//205XEOd3/f8k1g4OYndRHMTVplBogGJf5Forw=";
};
postPatch = ''

View File

@ -5,17 +5,20 @@
, aiodns
, aiohttp
, backports-zoneinfo
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "forecast-solar";
version = "2.3.0";
version = "3.0.0";
format = "setuptools";
src = fetchFromGitHub {
owner = "home-assistant-libs";
repo = "forecast_solar";
rev = "refs/tags/${version}";
hash = "sha256-1xRbTOeBHzLmf0FJwsrg/4+Z2Fs7uwbQwS2Tm41mNRk=";
hash = "sha256-Go0DF2qyVyGVYEeoEEuxsSR9Ge8Pg4S77zM1HL83ELc=";
};
PACKAGE_VERSION = version;
@ -27,11 +30,12 @@ buildPythonPackage rec {
backports-zoneinfo
];
# no unit tests implemented
doCheck = false;
pythonImportsCheck = [ "forecast_solar" ];
nativeCheckInputs = [
pytestCheckHook
];
meta = with lib; {
description = "Asynchronous Python client for getting forecast solar information";
homepage = "https://github.com/home-assistant-libs/forecast_solar";

View File

@ -15,14 +15,14 @@
buildPythonPackage rec {
pname = "google-cloud-firestore";
version = "2.10.1";
version = "2.11.0";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-JrM4asHN40vTuigojvT2lqI2iDuC8je9Yr8i10pU1aU=";
hash = "sha256-mA3FX3Cg7ldApxNGka21jNW9ljGKu+rF3MhfqmekDa4=";
};
propagatedBuildInputs = [

View File

@ -397,8 +397,8 @@ let
then "sha256-rcTPOMoBfmKFuuCanMlhmtFtOQzOICfEXTZey/rQEdM="
else "sha256-JGLH64F81xwSUl9RCWJhBLNRBQandImsVafEF5s+ap0=";
aarch64-linux = "sha256-g6JUZQQalCTSjvAarkI7+gq13cPhFg/O9LPQDGNvrII=";
x86_64-darwin = "sha256-phmJ71l0DvJUVx1sHGS3nkDqJ18yOO7I3N1ODnfrrYc=";
aarch64-darwin = "sha256-qZvqXi6pvIrZpZdR4BcbOh2C/A4ZHJgXgFINhVJmmcs=";
x86_64-darwin = "sha256-7O0zPs+damAjWXZn5C5SSWBp35C8QX3y4kCM7tYkM7s=";
aarch64-darwin = "sha256-US7uunEBDo2NKI9UHvgThbQ7rA05HjQlUthw0gIINaI=";
}.${stdenv.hostPlatform.system} or (throw "unsupported system ${stdenv.hostPlatform.system}");
};

View File

@ -22,14 +22,14 @@ with py.pkgs;
buildPythonApplication rec {
pname = "checkov";
version = "2.3.192";
version = "2.3.199";
format = "setuptools";
src = fetchFromGitHub {
owner = "bridgecrewio";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-vTn6Fum47wpgpICyiL+s6azhAgqzLj2w7wntypsatiU=";
hash = "sha256-JwEI+i6xvO8wsCCAliljXxddL3T6MWzHvzMmewNlbsk=";
};
patches = [
@ -116,7 +116,7 @@ buildPythonApplication rec {
# Tests are comparing console output
"cli"
"console"
# Starting to fail after 2.3.192
# Starting to fail after 2.3.199
"test_non_multiline_pair"
];

View File

@ -39,6 +39,8 @@ stdenv.mkDerivation {
postPatch = ''
substituteInPlace src/build-system.jam \
--replace "default-toolset = darwin" "default-toolset = clang-darwin"
'' + lib.optionalString (useBoost ? version && lib.versionAtLeast useBoost.version "1.82") ''
patchShebangs --build src/engine/build.sh
'';
nativeBuildInputs = [

View File

@ -9,7 +9,7 @@
, glibcLocales
, lib
, nixosTests
, nodejs-16_x
, nodejs_16
, stdenv
, which
}:
@ -156,7 +156,7 @@ buildDotnetModule rec {
preCheck = ''
mkdir -p _layout/externals
ln -s ${nodejs-16_x} _layout/externals/node16
ln -s ${nodejs_16} _layout/externals/node16
'';
postInstall = ''
@ -193,7 +193,7 @@ buildDotnetModule rec {
# externals/node16. As opposed to the official releases, we don't
# link the Alpine Node flavors.
mkdir -p $out/lib/externals
ln -s ${nodejs-16_x} $out/lib/externals/node16
ln -s ${nodejs_16} $out/lib/externals/node16
# Install Nodejs scripts called from workflows
install -D src/Misc/layoutbin/hashFiles/index.js $out/lib/github-runner/hashFiles/index.js

View File

@ -6,7 +6,7 @@
, git
, lib
, makeDesktopItem
, nodejs-16_x
, nodejs_16
, stdenvNoCC
, util-linux
, zip
@ -16,7 +16,7 @@ let
pname = "electron-fiddle";
version = "0.32.1";
electron = electron_22;
nodejs = nodejs-16_x;
nodejs = nodejs_16;
src = fetchFromGitHub {
owner = "electron";

View File

@ -1,10 +1,10 @@
{ lib
, buildNpmPackage
, nodejs-16_x
, nodejs_16
, fetchFromGitHub
}:
let
buildNpmPackage' = buildNpmPackage.override { nodejs = nodejs-16_x; };
buildNpmPackage' = buildNpmPackage.override { nodejs = nodejs_16; };
in
buildNpmPackage' rec {
pname = "docker-compose-language-service";

View File

@ -4,13 +4,13 @@
, stdenv
, makeWrapper
, fetchurl
, nodejs-16_x
, nodejs_16
, coreutils
, which
}:
let
nodejs = nodejs-16_x;
nodejs = nodejs_16;
inherit (builtins) elemAt;
info = lib.splitString "-" stdenv.hostPlatform.system;
arch = elemAt info 0;

View File

@ -1,17 +1,17 @@
{ lib, fetchFromGitHub, rustPlatform, pkg-config, openssl, stdenv, Security }:
rustPlatform.buildRustPackage rec {
version = "0.4.1";
version = "0.4.2";
pname = "sccache";
src = fetchFromGitHub {
owner = "mozilla";
repo = "sccache";
rev = "v${version}";
sha256 = "sha256-omov7/o1ToWJBTsDXTp3FNLk7PuWGL3J6pNz6n47taU=";
sha256 = "sha256-OXCR052syGpqeIHviKAqS5LEAt8epdlFFarkVdmfa0I=";
};
cargoSha256 = "sha256-UkccHrs3q4MlIaK/lo+bPC9Jy/JCBjGzo8jgjZsvEIc=";
cargoSha256 = "sha256-hYNnzVhw0yCqgRcRJCZusuY+g+MZn1DD5pfDTJlTv+w=";
nativeBuildInputs = [ pkg-config ];
buildInputs = [ openssl ] ++ lib.optional stdenv.isDarwin Security;

View File

@ -28,11 +28,11 @@
stdenv.mkDerivation rec {
pname = "qtcreator";
version = "9.0.2";
version = "10.0.0";
src = fetchurl {
url = "https://download.qt.io/official_releases/${pname}/${lib.versions.majorMinor version}/${version}/qt-creator-opensource-src-${version}.tar.xz";
sha256 = "sha256-7KWMxcoNOXiWlAVCYZzyA/WWLuPIggCBIics23Ifoyg=";
sha256 = "sha256-lImCneBYk6Rii3tlga8JbEivvTHJMs2KTbMKkMUhl78=";
};
nativeBuildInputs = [

View File

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "yq-go";
version = "4.33.2";
version = "4.33.3";
src = fetchFromGitHub {
owner = "mikefarah";
repo = "yq";
rev = "v${version}";
hash = "sha256-z4TSc6thjWoaucx2RBDDqK+f6689cympifGzzF4N07E=";
hash = "sha256-hsADk1h9bxqgvIddU0JTIv/uSJnukoJb39i0tngnImE=";
};
vendorHash = "sha256-aaQxW8fvDaOb49rsTw92WVWgtbJJHH7e92ChuhKI4ME=";
vendorHash = "sha256-EW2coQdrFfs6xYeJb+6gab8+CVT3O8x4cSRuj1o+3ok=";
nativeBuildInputs = [ installShellFiles ];

View File

@ -2,7 +2,7 @@
{pkgs ? import <nixpkgs> {
inherit system;
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-16_x"}:
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_16"}:
let
nodeEnv = import ./node-env.nix {

View File

@ -2,7 +2,7 @@
{pkgs ? import <nixpkgs> {
inherit system;
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-14_x"}:
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_14"}:
let
nodeEnv = import ./node-env.nix {

View File

@ -2,7 +2,7 @@
{pkgs ? import <nixpkgs> {
inherit system;
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-14_x"}:
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_14"}:
let
globalBuildInputs = pkgs.lib.attrValues (import ./supplement.nix {

View File

@ -1,17 +1,15 @@
{ lib
, flutter2
, fetchFromGitHub
, stdenv
}:
flutter2.mkFlutterApp {
flutter2.buildFlutterApplication {
pname = "firmware-updater";
version = "unstable";
vendorHash =
if stdenv.system == "aarch64-linux"
then "sha256-+ACmcIKXtGtaYBuwc7jY9hEdIS9qxQCbuxRKJQohX5A="
else "sha256-nPblucEpNCBJYpIqx1My6SWq8CjXYuHDG/uphdcrWjQ=";
pubspecLockFile = ./pubspec.lock;
depsListFile = ./deps.json;
vendorHash = "sha256-kKfe+7obb2fihrca+mjCM2+51wNkbPLEPFLpXzK5Wvc=";
src = fetchFromGitHub {
owner = "canonical";

View File

@ -0,0 +1,763 @@
[
{
"name": "firmware_updater",
"version": "0.0.0",
"kind": "root",
"source": "root",
"dependencies": [
"collection",
"dio",
"flutter",
"flutter_html",
"flutter_localizations",
"fwupd",
"path",
"provider",
"yaru",
"yaru_icons",
"yaru_widgets",
"flutter_lints",
"flutter_test"
]
},
{
"name": "flutter_test",
"version": "0.0.0",
"kind": "dev",
"source": "sdk",
"dependencies": [
"flutter",
"test_api",
"path",
"fake_async",
"clock",
"stack_trace",
"vector_math",
"async",
"boolean_selector",
"characters",
"charcode",
"collection",
"matcher",
"material_color_utilities",
"meta",
"source_span",
"stream_channel",
"string_scanner",
"term_glyph",
"typed_data"
]
},
{
"name": "typed_data",
"version": "1.3.0",
"kind": "transitive",
"source": "hosted",
"dependencies": [
"collection"
]
},
{
"name": "collection",
"version": "1.15.0",
"kind": "direct",
"source": "hosted",
"dependencies": []
},
{
"name": "term_glyph",
"version": "1.2.0",
"kind": "transitive",
"source": "hosted",
"dependencies": []
},
{
"name": "string_scanner",
"version": "1.1.0",
"kind": "transitive",
"source": "hosted",
"dependencies": [
"charcode",
"source_span"
]
},
{
"name": "source_span",
"version": "1.8.1",
"kind": "transitive",
"source": "hosted",
"dependencies": [
"collection",
"path",
"term_glyph"
]
},
{
"name": "path",
"version": "1.8.0",
"kind": "direct",
"source": "hosted",
"dependencies": []
},
{
"name": "charcode",
"version": "1.3.1",
"kind": "transitive",
"source": "hosted",
"dependencies": []
},
{
"name": "stream_channel",
"version": "2.1.0",
"kind": "transitive",
"source": "hosted",
"dependencies": [
"async"
]
},
{
"name": "async",
"version": "2.8.2",
"kind": "transitive",
"source": "hosted",
"dependencies": [
"collection",
"meta"
]
},
{
"name": "meta",
"version": "1.7.0",
"kind": "transitive",
"source": "hosted",
"dependencies": []
},
{
"name": "material_color_utilities",
"version": "0.1.3",
"kind": "transitive",
"source": "hosted",
"dependencies": []
},
{
"name": "matcher",
"version": "0.12.11",
"kind": "transitive",
"source": "hosted",
"dependencies": [
"stack_trace"
]
},
{
"name": "stack_trace",
"version": "1.10.0",
"kind": "transitive",
"source": "hosted",
"dependencies": [
"path"
]
},
{
"name": "characters",
"version": "1.2.0",
"kind": "transitive",
"source": "hosted",
"dependencies": []
},
{
"name": "boolean_selector",
"version": "2.1.0",
"kind": "transitive",
"source": "hosted",
"dependencies": [
"source_span",
"string_scanner"
]
},
{
"name": "vector_math",
"version": "2.1.1",
"kind": "transitive",
"source": "hosted",
"dependencies": []
},
{
"name": "clock",
"version": "1.1.0",
"kind": "transitive",
"source": "hosted",
"dependencies": []
},
{
"name": "fake_async",
"version": "1.2.0",
"kind": "transitive",
"source": "hosted",
"dependencies": [
"clock",
"collection"
]
},
{
"name": "test_api",
"version": "0.4.8",
"kind": "transitive",
"source": "hosted",
"dependencies": [
"async",
"boolean_selector",
"collection",
"meta",
"source_span",
"stack_trace",
"stream_channel",
"string_scanner",
"term_glyph",
"matcher"
]
},
{
"name": "flutter",
"version": "0.0.0",
"kind": "direct",
"source": "sdk",
"dependencies": [
"characters",
"collection",
"material_color_utilities",
"meta",
"typed_data",
"vector_math",
"sky_engine"
]
},
{
"name": "sky_engine",
"version": "0.0.99",
"kind": "transitive",
"source": "sdk",
"dependencies": []
},
{
"name": "flutter_lints",
"version": "1.0.4",
"kind": "dev",
"source": "hosted",
"dependencies": [
"lints"
]
},
{
"name": "lints",
"version": "1.0.1",
"kind": "transitive",
"source": "hosted",
"dependencies": []
},
{
"name": "yaru_widgets",
"version": "1.0.8",
"kind": "direct",
"source": "hosted",
"dependencies": [
"flutter"
]
},
{
"name": "yaru_icons",
"version": "0.1.3",
"kind": "direct",
"source": "hosted",
"dependencies": [
"flutter"
]
},
{
"name": "yaru",
"version": "0.2.5",
"kind": "direct",
"source": "hosted",
"dependencies": [
"flutter"
]
},
{
"name": "provider",
"version": "6.0.5",
"kind": "direct",
"source": "hosted",
"dependencies": [
"collection",
"flutter",
"nested"
]
},
{
"name": "nested",
"version": "1.0.0",
"kind": "transitive",
"source": "hosted",
"dependencies": [
"flutter"
]
},
{
"name": "fwupd",
"version": "0.2.2",
"kind": "direct",
"source": "hosted",
"dependencies": [
"collection",
"dbus",
"meta"
]
},
{
"name": "dbus",
"version": "0.7.3",
"kind": "transitive",
"source": "hosted",
"dependencies": [
"args",
"ffi",
"meta",
"xml"
]
},
{
"name": "xml",
"version": "5.3.1",
"kind": "transitive",
"source": "hosted",
"dependencies": [
"collection",
"meta",
"petitparser"
]
},
{
"name": "petitparser",
"version": "4.4.0",
"kind": "transitive",
"source": "hosted",
"dependencies": [
"meta"
]
},
{
"name": "ffi",
"version": "1.2.1",
"kind": "transitive",
"source": "hosted",
"dependencies": []
},
{
"name": "args",
"version": "2.3.1",
"kind": "transitive",
"source": "hosted",
"dependencies": []
},
{
"name": "flutter_localizations",
"version": "0.0.0",
"kind": "direct",
"source": "sdk",
"dependencies": [
"flutter",
"intl",
"characters",
"clock",
"collection",
"material_color_utilities",
"meta",
"path",
"typed_data",
"vector_math"
]
},
{
"name": "intl",
"version": "0.17.0",
"kind": "transitive",
"source": "hosted",
"dependencies": [
"clock",
"path"
]
},
{
"name": "flutter_html",
"version": "2.2.1",
"kind": "direct",
"source": "hosted",
"dependencies": [
"html",
"csslib",
"flutter_layout_grid",
"video_player",
"chewie",
"webview_flutter",
"chewie_audio",
"flutter_svg",
"flutter_math_fork",
"collection",
"numerus",
"flutter"
]
},
{
"name": "numerus",
"version": "1.1.1",
"kind": "transitive",
"source": "hosted",
"dependencies": []
},
{
"name": "flutter_math_fork",
"version": "0.5.0",
"kind": "transitive",
"source": "hosted",
"dependencies": [
"flutter",
"flutter_svg",
"provider",
"meta",
"collection",
"tuple"
]
},
{
"name": "tuple",
"version": "2.0.1",
"kind": "transitive",
"source": "hosted",
"dependencies": []
},
{
"name": "flutter_svg",
"version": "0.23.0+1",
"kind": "transitive",
"source": "hosted",
"dependencies": [
"flutter",
"meta",
"path_drawing",
"vector_math",
"xml"
]
},
{
"name": "path_drawing",
"version": "0.5.1+1",
"kind": "transitive",
"source": "hosted",
"dependencies": [
"vector_math",
"meta",
"path_parsing",
"flutter"
]
},
{
"name": "path_parsing",
"version": "0.2.1",
"kind": "transitive",
"source": "hosted",
"dependencies": [
"vector_math",
"meta"
]
},
{
"name": "chewie_audio",
"version": "1.3.0",
"kind": "transitive",
"source": "hosted",
"dependencies": [
"cupertino_icons",
"flutter",
"video_player"
]
},
{
"name": "video_player",
"version": "2.5.1",
"kind": "transitive",
"source": "hosted",
"dependencies": [
"flutter",
"html",
"video_player_android",
"video_player_avfoundation",
"video_player_platform_interface",
"video_player_web"
]
},
{
"name": "video_player_web",
"version": "2.0.13",
"kind": "transitive",
"source": "hosted",
"dependencies": [
"flutter",
"flutter_web_plugins",
"video_player_platform_interface"
]
},
{
"name": "video_player_platform_interface",
"version": "6.0.1",
"kind": "transitive",
"source": "hosted",
"dependencies": [
"flutter",
"plugin_platform_interface"
]
},
{
"name": "plugin_platform_interface",
"version": "2.1.3",
"kind": "transitive",
"source": "hosted",
"dependencies": [
"meta"
]
},
{
"name": "flutter_web_plugins",
"version": "0.0.0",
"kind": "transitive",
"source": "sdk",
"dependencies": [
"flutter",
"js",
"characters",
"collection",
"material_color_utilities",
"meta",
"typed_data",
"vector_math"
]
},
{
"name": "js",
"version": "0.6.3",
"kind": "transitive",
"source": "hosted",
"dependencies": []
},
{
"name": "video_player_avfoundation",
"version": "2.3.8",
"kind": "transitive",
"source": "hosted",
"dependencies": [
"flutter",
"video_player_platform_interface"
]
},
{
"name": "video_player_android",
"version": "2.3.10",
"kind": "transitive",
"source": "hosted",
"dependencies": [
"flutter",
"video_player_platform_interface"
]
},
{
"name": "html",
"version": "0.15.1",
"kind": "transitive",
"source": "hosted",
"dependencies": [
"csslib",
"source_span"
]
},
{
"name": "csslib",
"version": "0.17.2",
"kind": "transitive",
"source": "hosted",
"dependencies": [
"source_span"
]
},
{
"name": "cupertino_icons",
"version": "1.0.5",
"kind": "transitive",
"source": "hosted",
"dependencies": []
},
{
"name": "webview_flutter",
"version": "2.8.0",
"kind": "transitive",
"source": "hosted",
"dependencies": [
"flutter",
"webview_flutter_android",
"webview_flutter_platform_interface",
"webview_flutter_wkwebview"
]
},
{
"name": "webview_flutter_wkwebview",
"version": "2.7.5",
"kind": "transitive",
"source": "hosted",
"dependencies": [
"flutter",
"path",
"webview_flutter_platform_interface"
]
},
{
"name": "webview_flutter_platform_interface",
"version": "1.9.5",
"kind": "transitive",
"source": "hosted",
"dependencies": [
"flutter",
"meta",
"plugin_platform_interface"
]
},
{
"name": "webview_flutter_android",
"version": "2.8.14",
"kind": "transitive",
"source": "hosted",
"dependencies": [
"flutter",
"webview_flutter_platform_interface"
]
},
{
"name": "chewie",
"version": "1.4.0",
"kind": "transitive",
"source": "hosted",
"dependencies": [
"cupertino_icons",
"flutter",
"provider",
"video_player",
"wakelock"
]
},
{
"name": "wakelock",
"version": "0.6.2",
"kind": "transitive",
"source": "hosted",
"dependencies": [
"flutter",
"meta",
"wakelock_macos",
"wakelock_platform_interface",
"wakelock_web",
"wakelock_windows"
]
},
{
"name": "wakelock_windows",
"version": "0.2.0",
"kind": "transitive",
"source": "hosted",
"dependencies": [
"flutter",
"wakelock_platform_interface",
"win32"
]
},
{
"name": "win32",
"version": "2.5.2",
"kind": "transitive",
"source": "hosted",
"dependencies": [
"ffi"
]
},
{
"name": "wakelock_platform_interface",
"version": "0.3.0",
"kind": "transitive",
"source": "hosted",
"dependencies": [
"flutter",
"meta"
]
},
{
"name": "wakelock_web",
"version": "0.4.0",
"kind": "transitive",
"source": "hosted",
"dependencies": [
"flutter",
"flutter_web_plugins",
"js",
"wakelock_platform_interface"
]
},
{
"name": "wakelock_macos",
"version": "0.4.0",
"kind": "transitive",
"source": "hosted",
"dependencies": [
"flutter",
"flutter_web_plugins",
"wakelock_platform_interface"
]
},
{
"name": "flutter_layout_grid",
"version": "1.0.6",
"kind": "transitive",
"source": "hosted",
"dependencies": [
"flutter",
"collection",
"meta",
"quiver"
]
},
{
"name": "quiver",
"version": "3.1.0",
"kind": "transitive",
"source": "hosted",
"dependencies": [
"matcher"
]
},
{
"name": "dio",
"version": "4.0.6",
"kind": "direct",
"source": "hosted",
"dependencies": [
"http_parser",
"path"
]
},
{
"name": "http_parser",
"version": "4.0.2",
"kind": "transitive",
"source": "hosted",
"dependencies": [
"collection",
"source_span",
"string_scanner",
"typed_data"
]
}
]

View File

@ -0,0 +1,493 @@
# Generated by pub
# See https://dart.dev/tools/pub/glossary#lockfile
packages:
args:
dependency: transitive
description:
name: args
url: "https://pub.dartlang.org"
source: hosted
version: "2.3.1"
async:
dependency: transitive
description:
name: async
url: "https://pub.dartlang.org"
source: hosted
version: "2.8.2"
boolean_selector:
dependency: transitive
description:
name: boolean_selector
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.0"
characters:
dependency: transitive
description:
name: characters
url: "https://pub.dartlang.org"
source: hosted
version: "1.2.0"
charcode:
dependency: transitive
description:
name: charcode
url: "https://pub.dartlang.org"
source: hosted
version: "1.3.1"
chewie:
dependency: transitive
description:
name: chewie
url: "https://pub.dartlang.org"
source: hosted
version: "1.4.0"
chewie_audio:
dependency: transitive
description:
name: chewie_audio
url: "https://pub.dartlang.org"
source: hosted
version: "1.3.0"
clock:
dependency: transitive
description:
name: clock
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.0"
collection:
dependency: "direct main"
description:
name: collection
url: "https://pub.dartlang.org"
source: hosted
version: "1.15.0"
csslib:
dependency: transitive
description:
name: csslib
url: "https://pub.dartlang.org"
source: hosted
version: "0.17.2"
cupertino_icons:
dependency: transitive
description:
name: cupertino_icons
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.5"
dbus:
dependency: transitive
description:
name: dbus
url: "https://pub.dartlang.org"
source: hosted
version: "0.7.3"
dio:
dependency: "direct main"
description:
name: dio
url: "https://pub.dartlang.org"
source: hosted
version: "4.0.6"
fake_async:
dependency: transitive
description:
name: fake_async
url: "https://pub.dartlang.org"
source: hosted
version: "1.2.0"
ffi:
dependency: transitive
description:
name: ffi
url: "https://pub.dartlang.org"
source: hosted
version: "1.2.1"
flutter:
dependency: "direct main"
description: flutter
source: sdk
version: "0.0.0"
flutter_html:
dependency: "direct main"
description:
name: flutter_html
url: "https://pub.dartlang.org"
source: hosted
version: "2.2.1"
flutter_layout_grid:
dependency: transitive
description:
name: flutter_layout_grid
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.6"
flutter_lints:
dependency: "direct dev"
description:
name: flutter_lints
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.4"
flutter_localizations:
dependency: "direct main"
description: flutter
source: sdk
version: "0.0.0"
flutter_math_fork:
dependency: transitive
description:
name: flutter_math_fork
url: "https://pub.dartlang.org"
source: hosted
version: "0.5.0"
flutter_svg:
dependency: transitive
description:
name: flutter_svg
url: "https://pub.dartlang.org"
source: hosted
version: "0.23.0+1"
flutter_test:
dependency: "direct dev"
description: flutter
source: sdk
version: "0.0.0"
flutter_web_plugins:
dependency: transitive
description: flutter
source: sdk
version: "0.0.0"
fwupd:
dependency: "direct main"
description:
name: fwupd
url: "https://pub.dartlang.org"
source: hosted
version: "0.2.2"
html:
dependency: transitive
description:
name: html
url: "https://pub.dartlang.org"
source: hosted
version: "0.15.1"
http_parser:
dependency: transitive
description:
name: http_parser
url: "https://pub.dartlang.org"
source: hosted
version: "4.0.2"
intl:
dependency: transitive
description:
name: intl
url: "https://pub.dartlang.org"
source: hosted
version: "0.17.0"
js:
dependency: transitive
description:
name: js
url: "https://pub.dartlang.org"
source: hosted
version: "0.6.3"
lints:
dependency: transitive
description:
name: lints
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.1"
matcher:
dependency: transitive
description:
name: matcher
url: "https://pub.dartlang.org"
source: hosted
version: "0.12.11"
material_color_utilities:
dependency: transitive
description:
name: material_color_utilities
url: "https://pub.dartlang.org"
source: hosted
version: "0.1.3"
meta:
dependency: transitive
description:
name: meta
url: "https://pub.dartlang.org"
source: hosted
version: "1.7.0"
nested:
dependency: transitive
description:
name: nested
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.0"
numerus:
dependency: transitive
description:
name: numerus
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.1"
path:
dependency: "direct main"
description:
name: path
url: "https://pub.dartlang.org"
source: hosted
version: "1.8.0"
path_drawing:
dependency: transitive
description:
name: path_drawing
url: "https://pub.dartlang.org"
source: hosted
version: "0.5.1+1"
path_parsing:
dependency: transitive
description:
name: path_parsing
url: "https://pub.dartlang.org"
source: hosted
version: "0.2.1"
petitparser:
dependency: transitive
description:
name: petitparser
url: "https://pub.dartlang.org"
source: hosted
version: "4.4.0"
plugin_platform_interface:
dependency: transitive
description:
name: plugin_platform_interface
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.3"
provider:
dependency: "direct main"
description:
name: provider
url: "https://pub.dartlang.org"
source: hosted
version: "6.0.5"
quiver:
dependency: transitive
description:
name: quiver
url: "https://pub.dartlang.org"
source: hosted
version: "3.1.0"
sky_engine:
dependency: transitive
description: flutter
source: sdk
version: "0.0.99"
source_span:
dependency: transitive
description:
name: source_span
url: "https://pub.dartlang.org"
source: hosted
version: "1.8.1"
stack_trace:
dependency: transitive
description:
name: stack_trace
url: "https://pub.dartlang.org"
source: hosted
version: "1.10.0"
stream_channel:
dependency: transitive
description:
name: stream_channel
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.0"
string_scanner:
dependency: transitive
description:
name: string_scanner
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.0"
term_glyph:
dependency: transitive
description:
name: term_glyph
url: "https://pub.dartlang.org"
source: hosted
version: "1.2.0"
test_api:
dependency: transitive
description:
name: test_api
url: "https://pub.dartlang.org"
source: hosted
version: "0.4.8"
tuple:
dependency: transitive
description:
name: tuple
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.1"
typed_data:
dependency: transitive
description:
name: typed_data
url: "https://pub.dartlang.org"
source: hosted
version: "1.3.0"
vector_math:
dependency: transitive
description:
name: vector_math
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.1"
video_player:
dependency: transitive
description:
name: video_player
url: "https://pub.dartlang.org"
source: hosted
version: "2.5.1"
video_player_android:
dependency: transitive
description:
name: video_player_android
url: "https://pub.dartlang.org"
source: hosted
version: "2.3.10"
video_player_avfoundation:
dependency: transitive
description:
name: video_player_avfoundation
url: "https://pub.dartlang.org"
source: hosted
version: "2.3.8"
video_player_platform_interface:
dependency: transitive
description:
name: video_player_platform_interface
url: "https://pub.dartlang.org"
source: hosted
version: "6.0.1"
video_player_web:
dependency: transitive
description:
name: video_player_web
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.13"
wakelock:
dependency: transitive
description:
name: wakelock
url: "https://pub.dartlang.org"
source: hosted
version: "0.6.2"
wakelock_macos:
dependency: transitive
description:
name: wakelock_macos
url: "https://pub.dartlang.org"
source: hosted
version: "0.4.0"
wakelock_platform_interface:
dependency: transitive
description:
name: wakelock_platform_interface
url: "https://pub.dartlang.org"
source: hosted
version: "0.3.0"
wakelock_web:
dependency: transitive
description:
name: wakelock_web
url: "https://pub.dartlang.org"
source: hosted
version: "0.4.0"
wakelock_windows:
dependency: transitive
description:
name: wakelock_windows
url: "https://pub.dartlang.org"
source: hosted
version: "0.2.0"
webview_flutter:
dependency: transitive
description:
name: webview_flutter
url: "https://pub.dartlang.org"
source: hosted
version: "2.8.0"
webview_flutter_android:
dependency: transitive
description:
name: webview_flutter_android
url: "https://pub.dartlang.org"
source: hosted
version: "2.8.14"
webview_flutter_platform_interface:
dependency: transitive
description:
name: webview_flutter_platform_interface
url: "https://pub.dartlang.org"
source: hosted
version: "1.9.5"
webview_flutter_wkwebview:
dependency: transitive
description:
name: webview_flutter_wkwebview
url: "https://pub.dartlang.org"
source: hosted
version: "2.7.5"
win32:
dependency: transitive
description:
name: win32
url: "https://pub.dartlang.org"
source: hosted
version: "2.5.2"
xml:
dependency: transitive
description:
name: xml
url: "https://pub.dartlang.org"
source: hosted
version: "5.3.1"
yaru:
dependency: "direct main"
description:
name: yaru
url: "https://pub.dartlang.org"
source: hosted
version: "0.2.5"
yaru_icons:
dependency: "direct main"
description:
name: yaru_icons
url: "https://pub.dartlang.org"
source: hosted
version: "0.1.3"
yaru_widgets:
dependency: "direct main"
description:
name: yaru_widgets
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.8"
sdks:
dart: ">=2.15.0 <3.0.0"
flutter: ">=2.10.0"

View File

@ -64,6 +64,10 @@ stdenv.mkDerivation {
# Linux scripts
patchShebangs scripts
'' + lib.optionalString (lib.versionAtLeast kernel.version "6.3") ''
# perf-specific scripts
patchShebangs tools/perf/pmu-events
'' + ''
cd tools/perf
for x in util/build-id.c util/dso.c; do

View File

@ -2,7 +2,7 @@
, stdenv
, pkgs
, fetchFromGitHub
, nodejs ? pkgs.nodejs-14_x
, nodejs ? pkgs.nodejs_14
}:
stdenv.mkDerivation rec {

View File

@ -2,7 +2,7 @@
{pkgs ? import <nixpkgs> {
inherit system;
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-14_x"}:
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_14"}:
let
nodeEnv = import ../../development/node-packages/node-env.nix {

View File

@ -1,7 +1,7 @@
{ lib, stdenv, pkgs, fetchFromGitHub, runCommand, buildNpmPackage, nodejs-16_x, tone, ffmpeg-full, util-linux, libwebp }:
{ lib, stdenv, pkgs, fetchFromGitHub, runCommand, buildNpmPackage, nodejs_16, tone, ffmpeg-full, util-linux, libwebp }:
let
nodejs = nodejs-16_x;
nodejs = nodejs_16;
pname = "audiobookshelf";
version = "2.2.18";

View File

@ -3,13 +3,13 @@ let
generic = { modRoot, vendorSha256 }:
buildGoModule rec {
pname = "bird-lg-${modRoot}";
version = "unstable-2022-05-08";
version = "1.2.0";
src = fetchFromGitHub {
owner = "xddxdd";
repo = "bird-lg-go";
rev = "348295b9aa954a92df2cf6b1179846a9486dafc0";
sha256 = "sha256-2t8ZP9Uc0sJlqWiJMq3MVoARfMKsuTXJkuOid0oWgyY=";
rev = "v${version}";
sha256 = "sha256-Ldp/c1UU5EFnKjlUqQ+Hh6rVEOYEX7kaDL36edr9pNA=";
};
doDist = false;
@ -24,6 +24,7 @@ let
meta = with lib; {
description = "Bird Looking Glass";
homepage = "https://github.com/xddxdd/bird-lg-go";
changelog = "https://github.com/xddxdd/bird-lg-go/releases/tag/v${version}";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ tchekda ];
};
@ -31,12 +32,17 @@ let
bird-lg-frontend = generic {
modRoot = "frontend";
vendorSha256 = "sha256-WKuVGiSV5LZrJ8/672TRN6tZNQxdCktHV6nx0ZxCP4A=";
vendorSha256 = "sha256-lYOi3tfXYhsFaWgikDUoJYRm8sxFNFKiFQMlVx/8AkA=";
};
bird-lg-proxy = generic {
modRoot = "proxy";
vendorSha256 = "sha256-7LZeCY4xSxREsQ+Dc2XSpu2ZI8CLE0mz0yoThP7/OO4=";
vendorSha256 = "sha256-QHLq4RuQaCMjefs7Vl7zSVgjLMDXvIZcM8d6/B5ECZc=";
};
in
symlinkJoin { name = "bird-lg"; paths = [ bird-lg-frontend bird-lg-proxy ]; }
symlinkJoin {
name = "bird-lg-${bird-lg-frontend.version}";
paths = [ bird-lg-frontend bird-lg-proxy ];
} // {
inherit (bird-lg-frontend) version meta;
}

View File

@ -1,12 +1,12 @@
{ lib, stdenv, fetchFromGitHub, buildGoModule, makeWrapper, runCommand
{ lib, stdenv, fetchFromGitHub, buildGoModule, makeWrapper
, cacert, moreutils, jq, git, rsync, pkg-config, yarn, python3
, esbuild, nodejs-16_x, node-gyp, libsecret, xorg, ripgrep
, esbuild, nodejs_16, node-gyp, libsecret, xorg, ripgrep
, AppKit, Cocoa, CoreServices, Security, cctools, xcbuild, quilt }:
let
system = stdenv.hostPlatform.system;
nodejs = nodejs-16_x;
nodejs = nodejs_16;
python = python3;
yarn' = yarn.override { inherit nodejs; };
defaultYarnOpts = [ ];
@ -241,7 +241,7 @@ in stdenv.mkDerivation rec {
ln -s "${cloudAgent}/bin/cloud-agent" $out/libexec/code-server/lib/coder-cloud-agent
# create wrapper
makeWrapper "${nodejs-16_x}/bin/node" "$out/bin/code-server" \
makeWrapper "${nodejs_16}/bin/node" "$out/bin/code-server" \
--add-flags "$out/libexec/code-server/out/node/entry.js"
'';

View File

@ -2,7 +2,7 @@
{pkgs ? import <nixpkgs> {
inherit system;
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-14_x"}:
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_14"}:
let
nodeEnv = import ./node-env.nix {

View File

@ -2,7 +2,7 @@
{pkgs ? import <nixpkgs> {
inherit system;
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-14_x"}:
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_14"}:
let
nodeEnv = import ../../development/node-packages/node-env.nix {

View File

@ -2,7 +2,7 @@
{pkgs ? import <nixpkgs> {
inherit system;
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-14_x"}:
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_14"}:
let
nodeEnv = import ./node-env.nix {

View File

@ -2,7 +2,7 @@
{pkgs ? import <nixpkgs> {
inherit system;
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-14_x"}:
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_14"}:
let
nodeEnv = import ./node-env.nix {

View File

@ -5,7 +5,7 @@
, callPackage
, fetchFromGitHub
, nixosTests
, nodejs-18_x
, nodejs_18
}:
let
@ -13,7 +13,7 @@ let
inherit pkgs;
inherit (stdenv.hostPlatform) system;
# pin nodejs version
nodejs = nodejs-18_x;
nodejs = nodejs_18;
}).nodeDependencies;
in
@ -31,7 +31,7 @@ buildGoModule rec {
vendorHash = "sha256-ZsXPA4KyKbc/bwkidyHNDg62mE8KlE+yIssOBZLmHVg=";
nativeBuildInputs = [
nodejs-18_x
nodejs_18
];
postPatch = ''

View File

@ -1,5 +1,5 @@
#! /usr/bin/env nix-shell
#! nix-shell -i bash -p nodePackages.node2nix nodejs-18_x gnused wget
#! nix-shell -i bash -p nodePackages.node2nix nodejs_18 gnused wget
# Usage: ./generate-dependencies.sh <version>
# Use the same version format as in ./default.nix (without the 'v')

View File

@ -2,7 +2,7 @@
{pkgs ? import <nixpkgs> {
inherit system;
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-18_x"}:
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_18"}:
let
nodeEnv = import ./node-env.nix {

View File

@ -1,8 +1,8 @@
{ stdenv, fetchFromGitLab, pkgs, lib, nodejs-14_x, pkg-config
{ stdenv, fetchFromGitLab, pkgs, lib, nodejs_14, pkg-config
, libjpeg, pixman, cairo, pango, which, postgresql }:
let
nodejs = nodejs-14_x;
nodejs = nodejs_14;
version = "0.1.1";

View File

@ -2,7 +2,7 @@
{pkgs ? import ../../.. {
inherit system;
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-14_x"}:
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_14"}:
let
nodeEnv = import ../../development/node-packages/node-env.nix {

View File

@ -1,12 +1,12 @@
{ lib, stdenv, fetchFromGitHub, buildGoModule, makeWrapper, runCommand
{ lib, stdenv, fetchFromGitHub, buildGoModule, makeWrapper
, cacert, moreutils, jq, git, pkg-config, yarn, python3
, esbuild, nodejs-16_x, libsecret, xorg, ripgrep
, esbuild, nodejs_16, libsecret, xorg, ripgrep
, AppKit, Cocoa, Security, cctools }:
let
system = stdenv.hostPlatform.system;
nodejs = nodejs-16_x;
nodejs = nodejs_16;
yarn' = yarn.override { inherit nodejs; };
defaultYarnOpts = [ "frozen-lockfile" "non-interactive" "no-progress"];

View File

@ -2,7 +2,7 @@
{pkgs ? import <nixpkgs> {
inherit system;
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-12_x"}:
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_12"}:
let
nodeEnv = import ../../development/node-packages/node-env.nix {

View File

@ -7,13 +7,13 @@
{ stdenv
, pkgs
, lib
, nodejs-14_x
, nodejs_14
, fetchzip
}:
let
# nodejs-16_x fails with ENOTCACHED
nodejs = nodejs-14_x;
# nodejs_16 fails with ENOTCACHED
nodejs = nodejs_14;
nodePackages = import ./node-composition.nix {
inherit pkgs nodejs;

View File

@ -2,7 +2,7 @@
{pkgs ? import <nixpkgs> {
inherit system;
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-14_x"}:
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_14"}:
let
nodeEnv = import ../../development/node-packages/node-env.nix {

View File

@ -37,7 +37,7 @@
, yarn
, fixup_yarn_lock
, nodePackages
, nodejs-16_x
, nodejs_16
, plugins ? []
}@args:
@ -159,9 +159,9 @@ let
cd ../..
mkdir -p vendor/v8/${stdenv.hostPlatform.system}/libv8/obj/
ln -s "${nodejs-16_x.libv8}/lib/libv8.a" vendor/v8/${stdenv.hostPlatform.system}/libv8/obj/libv8_monolith.a
ln -s "${nodejs_16.libv8}/lib/libv8.a" vendor/v8/${stdenv.hostPlatform.system}/libv8/obj/libv8_monolith.a
ln -s ${nodejs-16_x.libv8}/include vendor/v8/include
ln -s ${nodejs_16.libv8}/include vendor/v8/include
mkdir -p ext/libv8-node
echo '--- !ruby/object:Libv8::Node::Location::Vendor {}' >ext/libv8-node/.location.yml
@ -208,7 +208,7 @@ let
nodePackages.uglify-js
nodePackages.terser
yarn
nodejs-16_x
nodejs_16
];
outputs = [ "out" "javascripts" ];

View File

@ -1,11 +1,11 @@
{ stdenv
, pkgs
, lib
, nodejs-14_x
, nodejs_14
}:
let
nodejs = nodejs-14_x;
nodejs = nodejs_14;
nodePackages = import ./node-packages.nix {
inherit pkgs nodejs;

View File

@ -2,7 +2,7 @@
{pkgs ? import <nixpkgs> {
inherit system;
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-14_x"}:
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_14"}:
let
nodeEnv = import ../../../development/node-packages/node-env.nix {

View File

@ -1,12 +1,12 @@
{ stdenv
, pkgs
, lib
, nodejs-16_x
, nodejs_16
, runtimeShell
}:
let
nodejs = nodejs-16_x;
nodejs = nodejs_16;
nodePackages = import ./node-packages.nix {
inherit pkgs nodejs;

Some files were not shown because too many files have changed in this diff Show More