From d5aaa78e0eca95c3fc3387fe58f33d7ff181c297 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Tue, 19 Jan 2021 17:52:52 +0000 Subject: [PATCH 01/25] libsForQt5.libcommuni: 3.5.0 -> 3.6.0 --- pkgs/development/libraries/libcommuni/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/libcommuni/default.nix b/pkgs/development/libraries/libcommuni/default.nix index 3f91c8e579f..1e49c156e4b 100644 --- a/pkgs/development/libraries/libcommuni/default.nix +++ b/pkgs/development/libraries/libcommuni/default.nix @@ -4,13 +4,13 @@ stdenv.mkDerivation rec { pname = "libcommuni"; - version = "3.5.0"; + version = "3.6.0"; src = fetchFromGitHub { owner = "communi"; repo = "libcommuni"; rev = "v${version}"; - sha256 = "15crqc7a4kwrfbxs121rpdysw0694hh7dr290gg7pm61akvnrqcm"; + sha256 = "sha256-ABvrMoOVSycbQ8iRDzi7zkFnuSgHMMBgm9cDUWlD4uc="; }; buildInputs = [ qtbase qtdeclarative ]; From ec644e05cb58734f9d8f73aba236838020909809 Mon Sep 17 00:00:00 2001 From: Thiago Kenji Okada Date: Fri, 15 Jan 2021 17:21:25 -0300 Subject: [PATCH 02/25] flutter: remove non-stable versions Related issue #108606. Nowadays we have multiple outdated versions of Flutter in nixpkgs. Instead, let's focus in having in having stable versions of Flutter working. Users needing to use beta or dev versions of Flutter can use mkFlutter function, that still exists. --- .../development/compilers/flutter/default.nix | 23 +------ .../development/compilers/flutter/flutter.nix | 3 +- .../patches/dev/disable-auto-update.patch | 31 --------- .../flutter/patches/dev/move-cache.patch | 64 ------------------- .../development/interpreters/dart/default.nix | 2 +- pkgs/top-level/aliases.nix | 2 + pkgs/top-level/all-packages.nix | 2 - 7 files changed, 6 insertions(+), 121 deletions(-) delete mode 100644 pkgs/development/compilers/flutter/patches/dev/disable-auto-update.patch delete mode 100644 pkgs/development/compilers/flutter/patches/dev/move-cache.patch diff --git a/pkgs/development/compilers/flutter/default.nix b/pkgs/development/compilers/flutter/default.nix index 3eea7f596b6..d455eb10110 100644 --- a/pkgs/development/compilers/flutter/default.nix +++ b/pkgs/development/compilers/flutter/default.nix @@ -1,8 +1,5 @@ { callPackage, dart }: let - dart_stable = dart.override { version = "2.10.0"; }; - dart_beta = dart.override { version = "2.10.0"; }; - dart_dev = dart.override { version = "2.11.0-161.0.dev"; }; mkFlutter = opts: callPackage (import ./flutter.nix opts) { }; getPatches = dir: let files = builtins.attrNames (builtins.readDir dir); @@ -11,30 +8,12 @@ in { mkFlutter = mkFlutter; stable = mkFlutter rec { + inherit dart; pname = "flutter"; channel = "stable"; version = "1.22.0"; filename = "flutter_linux_${version}-${channel}.tar.xz"; sha256Hash = "0ryrx458ss8ryhmspcfrhjvad2pl46bxh1qk5vzwzhxiqdc79vm8"; patches = getPatches ./patches/stable; - dart = dart_stable; - }; - beta = mkFlutter rec { - pname = "flutter"; - channel = "beta"; - version = "1.22.0-12.3.pre"; - filename = "flutter_linux_${version}-${channel}.tar.xz"; - sha256Hash = "1axzz137z4lgpa09h7bjf52i6dij6a9wmjbha1182db23r09plzh"; - patches = getPatches ./patches/stable; - dart = dart_beta; - }; - dev = mkFlutter rec { - pname = "flutter"; - channel = "dev"; - version = "1.23.0-7.0.pre"; - filename = "flutter_linux_${version}-${channel}.tar.xz"; - sha256Hash = "166qb4qbv051bc71yj7c0vrkamhvzz3fp3mz318qzm947mydwjj5"; - patches = getPatches ./patches/dev; - dart = dart_dev; }; } diff --git a/pkgs/development/compilers/flutter/flutter.nix b/pkgs/development/compilers/flutter/flutter.nix index a7ec8732250..36c2fdff201 100644 --- a/pkgs/development/compilers/flutter/flutter.nix +++ b/pkgs/development/compilers/flutter/flutter.nix @@ -13,7 +13,8 @@ , coreutils , git , runCommand -, lib, stdenv +, stdenv +, lib , fetchurl , alsaLib , dbus diff --git a/pkgs/development/compilers/flutter/patches/dev/disable-auto-update.patch b/pkgs/development/compilers/flutter/patches/dev/disable-auto-update.patch deleted file mode 100644 index f9ac00d1d32..00000000000 --- a/pkgs/development/compilers/flutter/patches/dev/disable-auto-update.patch +++ /dev/null @@ -1,31 +0,0 @@ -diff --git a/bin/internal/shared.sh b/bin/internal/shared.sh -index 22efe87443..c6954575c5 100644 ---- a/bin/internal/shared.sh -+++ b/bin/internal/shared.sh -@@ -212,8 +212,6 @@ function shared::execute() { - # FLUTTER_TOOL_ARGS="--enable-asserts $FLUTTER_TOOL_ARGS" - # FLUTTER_TOOL_ARGS="$FLUTTER_TOOL_ARGS --observe=65432" - -- upgrade_flutter 7< "$PROG_NAME" -- - BIN_NAME="$(basename "$PROG_NAME")" - case "$BIN_NAME" in - flutter*) -diff --git a/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart b/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart -index fb1616ba96..b973b3fd58 100644 ---- a/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart -+++ b/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart -@@ -291,13 +291,6 @@ class FlutterCommandRunner extends CommandRunner { - globals.flutterUsage.suppressAnalytics = true; - } - -- try { -- await globals.flutterVersion.ensureVersionFile(); -- } on FileSystemException catch (e) { -- globals.printError('Failed to write the version file to the artifact cache: "$e".'); -- globals.printError('Please ensure you have permissions in the artifact cache directory.'); -- throwToolExit('Failed to write the version file'); -- } - final bool machineFlag = topLevelResults['machine'] as bool; - if (topLevelResults.command?.name != 'upgrade' && topLevelResults['version-check'] as bool && !machineFlag) { - await globals.flutterVersion.checkFlutterVersionFreshness(); diff --git a/pkgs/development/compilers/flutter/patches/dev/move-cache.patch b/pkgs/development/compilers/flutter/patches/dev/move-cache.patch deleted file mode 100644 index eb6ff5cf582..00000000000 --- a/pkgs/development/compilers/flutter/patches/dev/move-cache.patch +++ /dev/null @@ -1,64 +0,0 @@ -diff --git a/dev/devicelab/lib/framework/runner.dart b/dev/devicelab/lib/framework/runner.dart -index a059a8e992..b664a7070c 100644 ---- a/dev/devicelab/lib/framework/runner.dart -+++ b/dev/devicelab/lib/framework/runner.dart -@@ -137,7 +137,7 @@ Future cleanupSystem() async { - print('\nTelling Gradle to shut down (JAVA_HOME=$javaHome)'); - final String gradlewBinaryName = Platform.isWindows ? 'gradlew.bat' : 'gradlew'; - final Directory tempDir = Directory.systemTemp.createTempSync('flutter_devicelab_shutdown_gradle.'); -- recursiveCopy(Directory(path.join(flutterDirectory.path, 'bin', 'cache', 'artifacts', 'gradle_wrapper')), tempDir); -+ recursiveCopy(Directory(path.join(globals.fsUtils.homeDirPath, '.cache', 'flutter', 'artifacts', 'gradle_wrapper')), tempDir); - copy(File(path.join(path.join(flutterDirectory.path, 'packages', 'flutter_tools'), 'templates', 'app', 'android.tmpl', 'gradle', 'wrapper', 'gradle-wrapper.properties')), Directory(path.join(tempDir.path, 'gradle', 'wrapper'))); - if (!Platform.isWindows) { - await exec( -diff --git a/packages/flutter_tools/lib/src/asset.dart b/packages/flutter_tools/lib/src/asset.dart -index 36714c5fb4..c0cc049ee1 100644 ---- a/packages/flutter_tools/lib/src/asset.dart -+++ b/packages/flutter_tools/lib/src/asset.dart -@@ -6,6 +6,7 @@ import 'package:meta/meta.dart'; - import 'package:package_config/package_config.dart'; - import 'package:yaml/yaml.dart'; - -+import 'base/common.dart'; - import 'base/context.dart'; - import 'base/file_system.dart'; - import 'base/utils.dart'; -@@ -397,7 +398,7 @@ List<_Asset> _getMaterialAssets(String fontSet) { - for (final Map font in (family['fonts'] as List).cast>()) { - final Uri entryUri = globals.fs.path.toUri(font['asset'] as String); - result.add(_Asset( -- baseDir: globals.fs.path.join(Cache.flutterRoot, 'bin', 'cache', 'artifacts', 'material_fonts'), -+ baseDir: globals.fs.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 aaca036d78..43ff428f8d 100644 ---- a/packages/flutter_tools/lib/src/cache.dart -+++ b/packages/flutter_tools/lib/src/cache.dart -@@ -226,8 +226,15 @@ class Cache { - return; - } - assert(_lock == null); -+ -+ final Directory dir = globals.fs.directory(globals.fs.path.join(globals.fsUtils.homeDirPath, '.cache', 'flutter')); -+ if (!dir.existsSync()) { -+ dir.createSync(recursive: true); -+ globals.os.chmod(dir, '755'); -+ } -+ - final File lockFile = -- globals.fs.file(globals.fs.path.join(flutterRoot, 'bin', 'cache', 'lockfile')); -+ globals.fs.file(globals.fs.path.join(globals.fsUtils.homeDirPath, '.cache', 'flutter', 'lockfile')); - try { - _lock = lockFile.openSync(mode: FileMode.write); - } on FileSystemException catch (e) { -@@ -330,7 +337,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')); - } - } - diff --git a/pkgs/development/interpreters/dart/default.nix b/pkgs/development/interpreters/dart/default.nix index 7fa59a18c5f..d3c10540ebf 100644 --- a/pkgs/development/interpreters/dart/default.nix +++ b/pkgs/development/interpreters/dart/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, unzip, version ? "2.7.2" }: +{ lib, stdenv, fetchurl, unzip, version ? "2.10.0" }: let diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 21ef7acf4b0..2f0e601094f 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -174,6 +174,8 @@ mapAliases ({ fish-foreign-env = throw "fish-foreign-env has been replaced with fishPlugins.foreign-env"; # added 2020-12-29, modified 2021-01-10 flameGraph = flamegraph; # added 2018-04-25 flink_1_5 = throw "flink_1_5 was removed, use flink instead"; # added 2021-01-25 + flutter-beta = throw "Non-stable versions of Flutter have been removed. You can use flutterPackages.mkFlutter to generate a package for other Flutter versions."; # added 2020-01-15 + flutter-dev = throw "Non-stable versions of Flutter have been removed. You can use flutterPackages.mkFlutter to generate a package for other Flutter versions."; # added 2020-01-15 flvtool2 = throw "flvtool2 has been removed."; # added 2020-11-03 foldingathome = fahclient; # added 2020-09-03 font-awesome-ttf = font-awesome; # 2018-02-25 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index bd3f5e27d31..37a8b9d8ea5 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9592,8 +9592,6 @@ in flutterPackages = recurseIntoAttrs (callPackage ../development/compilers/flutter { }); flutter = flutterPackages.stable; - flutter-beta = flutterPackages.beta; - flutter-dev = flutterPackages.dev; fpc = callPackage ../development/compilers/fpc { }; From 75326dbecd58643d38d7a0fb5af8f65fe2487f45 Mon Sep 17 00:00:00 2001 From: Thiago Kenji Okada Date: Fri, 15 Jan 2021 17:22:01 -0300 Subject: [PATCH 03/25] dart: remove all versions except the one used by flutterPackages.stable For those that need other versions of Dart, they can use the new sources parameter instead. --- .../development/interpreters/dart/default.nix | 95 ++++--------------- pkgs/top-level/aliases.nix | 3 + pkgs/top-level/all-packages.nix | 3 - 3 files changed, 20 insertions(+), 81 deletions(-) diff --git a/pkgs/development/interpreters/dart/default.nix b/pkgs/development/interpreters/dart/default.nix index d3c10540ebf..5a7feef62f8 100644 --- a/pkgs/development/interpreters/dart/default.nix +++ b/pkgs/development/interpreters/dart/default.nix @@ -1,89 +1,28 @@ -{ lib, stdenv, fetchurl, unzip, version ? "2.10.0" }: - -let - - sources = let - +{ stdenv +, lib +, fetchurl +, unzip +, version ? "2.10.0" +, sources ? + let base = "https://storage.googleapis.com/dart-archive/channels"; - stable_version = "stable"; - dev_version = "dev"; x86_64 = "x64"; i686 = "ia32"; aarch64 = "arm64"; - - in { - "1.24.3-x86_64-darwin" = fetchurl { - url = "${base}/${stable_version}/release/${version}/sdk/dartsdk-macos-${x86_64}-release.zip"; - sha256 = "1n4cq4jrms4j0yl54b3w14agcgy8dbipv5788jziwk8q06a8c69l"; - }; - "1.24.3-x86_64-linux" = fetchurl { - url = "${base}/${stable_version}/release/${version}/sdk/dartsdk-linux-${x86_64}-release.zip"; - sha256 = "16sm02wbkj328ni0z1z4n4msi12lb8ijxzmbbfamvg766mycj8z3"; - }; - "1.24.3-i686-linux" = fetchurl { - url = "${base}/${stable_version}/release/${version}/sdk/dartsdk-linux-${i686}-release.zip"; - sha256 = "0a559mfpb0zfd49zdcpld95h2g1lmcjwwsqf69hd9rw6j67qyyyn"; - }; - "1.24.3-aarch64-linux" = fetchurl { - url = "${base}/${stable_version}/release/${version}/sdk/dartsdk-linux-${aarch64}-release.zip"; - sha256 = "1p5bn04gr91chcszgmw5ng8mlzgwsrdr2v7k7ppwr1slkx97fsrh"; - }; - "2.7.2-x86_64-darwin" = fetchurl { - url = "${base}/${stable_version}/release/${version}/sdk/dartsdk-macos-${x86_64}-release.zip"; - sha256 = "111zl075qdk2zd4d4mmfkn30jmzsri9nq3nspnmc2l245gdq34jj"; - }; - "2.7.2-x86_64-linux" = fetchurl { - url = "${base}/${stable_version}/release/${version}/sdk/dartsdk-linux-${x86_64}-release.zip"; - sha256 = "0vvsgda1smqdjn35yiq9pxx8f5haxb4hqnspcsfs6sn5c36k854v"; - }; - "2.7.2-i686-linux" = fetchurl { - url = "${base}/${stable_version}/release/${version}/sdk/dartsdk-linux-${i686}-release.zip"; - sha256 = "0dj01d2wwrp3cc5x73vs6fzhs6db60gkbjlrw3w9j04wcx69i38m"; - }; - "2.7.2-aarch64-linux" = fetchurl { - url = "${base}/${stable_version}/release/${version}/sdk/dartsdk-linux-${aarch64}-release.zip"; - sha256 = "1p66fkdh1kv0ypmadmg67c3y3li3aaf1lahqh2g6r6qrzbh5da2p"; - }; - "2.10.0-x86_64-darwin" = fetchurl { - url = "${base}/${stable_version}/release/${version}/sdk/dartsdk-macos-${x86_64}-release.zip"; + in + { + "${version}-x86_64-darwin" = fetchurl { + url = "${base}/stable/release/${version}/sdk/dartsdk-macos-${x86_64}-release.zip"; sha256 = "1n4qgsax5wi7krgvvs0dy7fz39nlykiw8gr0gdacc85hgyhqg09j"; }; - "2.10.0-x86_64-linux" = fetchurl { - url = "${base}/${stable_version}/release/${version}/sdk/dartsdk-linux-${x86_64}-release.zip"; + "${version}-x86_64-linux" = fetchurl { + url = "${base}/stable/release/${version}/sdk/dartsdk-linux-${x86_64}-release.zip"; sha256 = "0dncmsfbwcn3ygflhp83i6z4bvc02fbpaq1vzdzw8xdk3sbynchb"; }; - "2.9.0-4.0.dev-x86_64-darwin" = fetchurl { - url = "${base}/${dev_version}/release/${version}/sdk/dartsdk-macos-${x86_64}-release.zip"; - sha256 = "0gj91pbvqrxsvxaj742cllqha2z65867gggzq9hq5139vkkpfj9s"; - }; - "2.9.0-4.0.dev-x86_64-linux" = fetchurl { - url = "${base}/${dev_version}/release/${version}/sdk/dartsdk-linux-${x86_64}-release.zip"; - sha256 = "16d9842fb3qbc0hy0zmimav9zndfkq96glgykj20xssc88qpjk2r"; - }; - "2.9.0-4.0.dev-i686-linux" = fetchurl { - url = "${base}/${dev_version}/release/${version}/sdk/dartsdk-linux-${i686}-release.zip"; - sha256 = "105wgyxmi491c7qw0z3zhn4lv52h80ngyz4ch9dyj0sq8nndz2rc"; - }; - "2.9.0-4.0.dev-aarch64-linux" = fetchurl { - url = "${base}/${dev_version}/release/${version}/sdk/dartsdk-linux-${aarch64}-release.zip"; - sha256 = "1x6mlmc4hccmx42k7srhma18faxpxvghjwqahna80508rdpljwgc"; - }; - "2.11.0-161.0.dev-x86_64-darwin" = fetchurl { - url = "${base}/${dev_version}/release/${version}/sdk/dartsdk-macos-${x86_64}-release.zip"; - sha256 = "0mlwxp7jkkjafxkc4vqlgwl62y0hk1arhfrvc9hpm9dv98g3bdjj"; - }; - "2.11.0-161.0.dev-x86_64-linux" = fetchurl { - url = "${base}/${dev_version}/release/${version}/sdk/dartsdk-linux-${x86_64}-release.zip"; - sha256 = "05difz4w2fyh2yq5p5pkrqk59jqljlxhc1i6lmy5kihh6z69r12i"; - }; - }; - -in - -with lib; + } +}: stdenv.mkDerivation { - pname = "dart"; inherit version; @@ -100,11 +39,11 @@ stdenv.mkDerivation { find $out/bin -executable -type f -exec patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) {} \; ''; - libPath = makeLibraryPath [ stdenv.cc.cc ]; + libPath = lib.makeLibraryPath [ stdenv.cc.cc ]; dontStrip = true; - meta = { + meta = with lib; { homepage = "https://www.dartlang.org/"; maintainers = with maintainers; [ grburst ]; description = "Scalable programming language, with robust libraries and runtimes, for building web, server, and mobile apps"; diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 2f0e601094f..95a063331b2 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -117,6 +117,9 @@ mapAliases ({ cv = progress; # added 2015-09-06 d1x_rebirth = dxx-rebirth; # added 2018-04-25 d2x_rebirth = dxx-rebirth; # added 2018-04-25 + dart_dev = throw "Non-stable versions of Dart have been removed."; # added 2020-01-15 + dart_old = throw "Non-stable versions of Dart have been removed."; # added 2020-01-15 + dart_stable = dart; # added 2020-01-15 dat = nodePackages.dat; dbvisualizer = throw "dbvisualizer has been removed from nixpkgs, as it's unmaintained"; # added 2020-09-20 dbus_daemon = dbus.daemon; # added 2018-04-25 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 37a8b9d8ea5..e9a88422f0c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -29488,9 +29488,6 @@ in spdlog = spdlog_1; dart = callPackage ../development/interpreters/dart { }; - dart_old = dart.override { version = "1.24.3"; }; - dart_stable = dart.override { version = "2.7.2"; }; - dart_dev = dart.override { version = "2.9.0-4.0.dev"; }; httrack = callPackage ../tools/backup/httrack { }; From c5623e1bb1d37e5e7c841e278f0c243dc25a5b70 Mon Sep 17 00:00:00 2001 From: Thiago Kenji Okada Date: Fri, 15 Jan 2021 17:32:57 -0300 Subject: [PATCH 04/25] dart: 2.10.0 -> 2.10.4 --- pkgs/development/interpreters/dart/default.nix | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/pkgs/development/interpreters/dart/default.nix b/pkgs/development/interpreters/dart/default.nix index 5a7feef62f8..4d9e5cf223b 100644 --- a/pkgs/development/interpreters/dart/default.nix +++ b/pkgs/development/interpreters/dart/default.nix @@ -2,7 +2,7 @@ , lib , fetchurl , unzip -, version ? "2.10.0" +, version ? "2.10.4" , sources ? let base = "https://storage.googleapis.com/dart-archive/channels"; @@ -13,11 +13,19 @@ { "${version}-x86_64-darwin" = fetchurl { url = "${base}/stable/release/${version}/sdk/dartsdk-macos-${x86_64}-release.zip"; - sha256 = "1n4qgsax5wi7krgvvs0dy7fz39nlykiw8gr0gdacc85hgyhqg09j"; + sha256 = "1d18l8ja8dckzs2y0fxwdbwh06fxzlx0fyhabcgxsvh3xg9qxhj5"; }; "${version}-x86_64-linux" = fetchurl { url = "${base}/stable/release/${version}/sdk/dartsdk-linux-${x86_64}-release.zip"; - sha256 = "0dncmsfbwcn3ygflhp83i6z4bvc02fbpaq1vzdzw8xdk3sbynchb"; + sha256 = "0pjqj2bsliq13q8b2mk2v07w4vzjqcmr984ygnwv5kx0dp5md7vq"; + }; + "${version}-i686-linux" = fetchurl { + url = "${base}/stable/release/${version}/sdk/dartsdk-linux-${i686}-release.zip"; + sha256 = "0fyqfikbd85jrckzvxvq7npb2l2kqzifg8pm2jy0ivr5lb1021r8"; + }; + "${version}-aarch64-linux" = fetchurl { + url = "${base}/stable/release/${version}/sdk/dartsdk-linux-${aarch64}-release.zip"; + sha256 = "04743g0z8fcv757jlcrbf6v8m3f0fz5smjmv9n4a6fprfzj8bw0k"; }; } }: From d6db914fc498270536c214fc094326fa5e9b0003 Mon Sep 17 00:00:00 2001 From: Thiago Kenji Okada Date: Fri, 15 Jan 2021 17:38:59 -0300 Subject: [PATCH 05/25] flutter: 1.22.0 -> 1.22.4 --- pkgs/development/compilers/flutter/default.nix | 6 ++---- pkgs/development/compilers/flutter/flutter.nix | 4 ++-- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/pkgs/development/compilers/flutter/default.nix b/pkgs/development/compilers/flutter/default.nix index d455eb10110..61641e95960 100644 --- a/pkgs/development/compilers/flutter/default.nix +++ b/pkgs/development/compilers/flutter/default.nix @@ -10,10 +10,8 @@ in stable = mkFlutter rec { inherit dart; pname = "flutter"; - channel = "stable"; - version = "1.22.0"; - filename = "flutter_linux_${version}-${channel}.tar.xz"; - sha256Hash = "0ryrx458ss8ryhmspcfrhjvad2pl46bxh1qk5vzwzhxiqdc79vm8"; + version = "1.22.4"; + sha256Hash = "0qalgav9drqddcj8lfvl9ddf3325n953pvkmgha47lslg9sa88zw"; patches = getPatches ./patches/stable; }; } diff --git a/pkgs/development/compilers/flutter/flutter.nix b/pkgs/development/compilers/flutter/flutter.nix index 36c2fdff201..bb955ba2b80 100644 --- a/pkgs/development/compilers/flutter/flutter.nix +++ b/pkgs/development/compilers/flutter/flutter.nix @@ -1,9 +1,9 @@ -{ channel -, pname +{ pname , version , sha256Hash , patches , dart +, channel ? "stable" , filename ? "flutter_linux_${version}-${channel}.tar.xz" }: From e19491e24c98c9da4900b7c890ded47f7bfb58ee Mon Sep 17 00:00:00 2001 From: Thiago Kenji Okada Date: Sun, 24 Jan 2021 08:19:42 -0300 Subject: [PATCH 06/25] dart: 2.10.4 -> 2.10.5 --- pkgs/development/interpreters/dart/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/development/interpreters/dart/default.nix b/pkgs/development/interpreters/dart/default.nix index 4d9e5cf223b..25d1729f4dd 100644 --- a/pkgs/development/interpreters/dart/default.nix +++ b/pkgs/development/interpreters/dart/default.nix @@ -2,7 +2,7 @@ , lib , fetchurl , unzip -, version ? "2.10.4" +, version ? "2.10.5" , sources ? let base = "https://storage.googleapis.com/dart-archive/channels"; @@ -13,19 +13,19 @@ { "${version}-x86_64-darwin" = fetchurl { url = "${base}/stable/release/${version}/sdk/dartsdk-macos-${x86_64}-release.zip"; - sha256 = "1d18l8ja8dckzs2y0fxwdbwh06fxzlx0fyhabcgxsvh3xg9qxhj5"; + sha256 = "1vb2m25w6v901id9syan9q69fa60sxxd7qpyzq21fn5dpah0g99i"; }; "${version}-x86_64-linux" = fetchurl { url = "${base}/stable/release/${version}/sdk/dartsdk-linux-${x86_64}-release.zip"; - sha256 = "0pjqj2bsliq13q8b2mk2v07w4vzjqcmr984ygnwv5kx0dp5md7vq"; + sha256 = "1mb6m3vxjya1dz47mdna23c2015n3bz8dvz8fwggq6k3zp0a4dsh"; }; "${version}-i686-linux" = fetchurl { url = "${base}/stable/release/${version}/sdk/dartsdk-linux-${i686}-release.zip"; - sha256 = "0fyqfikbd85jrckzvxvq7npb2l2kqzifg8pm2jy0ivr5lb1021r8"; + sha256 = "10g4qrwvmabrdg4i8y0wq9g7whqcpkdfp05yilflg70ybplrscf7"; }; "${version}-aarch64-linux" = fetchurl { url = "${base}/stable/release/${version}/sdk/dartsdk-linux-${aarch64}-release.zip"; - sha256 = "04743g0z8fcv757jlcrbf6v8m3f0fz5smjmv9n4a6fprfzj8bw0k"; + sha256 = "0js83wy496swcwia144fhxk872irb5nr6i8558hxabkdrpv1bky5"; }; } }: From 5f72a823deeab9ef9f94bd7b208d11fab281f5d6 Mon Sep 17 00:00:00 2001 From: Thiago Kenji Okada Date: Sun, 24 Jan 2021 09:10:52 -0300 Subject: [PATCH 07/25] flutter: 1.22.4 -> 1.22.5 Needs to do a build in 2-pass now since Google stopped shipping all dependencies needed to build Flutter. This may be an oversight from them since they used to ship everything, but this makes the whole build process more robust. The first step will download all dependencies from pub, and the second step will build Flutter. Since we need to build repository first, we also require a new depsSha256 parameter to be passed, that represents the SHA256 of the resulting derivation of all Flutter dependencies downloaded from https://pub.dev. This commit also makes some changes in mkFlutter, allowing the user to pass src instead of passing version/channel/filename, allowing for more flexibility (i.e: building from a local fork of Flutter). --- .../development/compilers/flutter/default.nix | 17 +++++-- .../development/compilers/flutter/flutter.nix | 46 +++++++++---------- .../{stable => }/disable-auto-update.patch | 0 .../patches/{stable => }/move-cache.patch | 0 .../compilers/flutter/repository.nix | 24 ++++++++++ 5 files changed, 58 insertions(+), 29 deletions(-) rename pkgs/development/compilers/flutter/patches/{stable => }/disable-auto-update.patch (100%) rename pkgs/development/compilers/flutter/patches/{stable => }/move-cache.patch (100%) create mode 100644 pkgs/development/compilers/flutter/repository.nix diff --git a/pkgs/development/compilers/flutter/default.nix b/pkgs/development/compilers/flutter/default.nix index 61641e95960..8572040cb0c 100644 --- a/pkgs/development/compilers/flutter/default.nix +++ b/pkgs/development/compilers/flutter/default.nix @@ -1,17 +1,24 @@ -{ callPackage, dart }: +{ callPackage, fetchurl, dart }: + let mkFlutter = opts: callPackage (import ./flutter.nix opts) { }; getPatches = dir: let files = builtins.attrNames (builtins.readDir dir); in map (f: dir + ("/" + f)) files; + version = "1.22.5"; + channel = "stable"; + filename = "flutter_linux_${version}-${channel}.tar.xz"; in { mkFlutter = mkFlutter; stable = mkFlutter rec { - inherit dart; + inherit dart version; pname = "flutter"; - version = "1.22.4"; - sha256Hash = "0qalgav9drqddcj8lfvl9ddf3325n953pvkmgha47lslg9sa88zw"; - patches = getPatches ./patches/stable; + patches = getPatches ./patches; + src = fetchurl { + url = "https://storage.googleapis.com/flutter_infra/releases/${channel}/linux/${filename}"; + sha256 = "1dv5kczcj9npf7xxlanmpc9ijnxa3ap46521cxn14c0i3y9295ja"; + }; + depsSha256 = "0d7vhk6axgqajy2d9ia9lc6awcnz6cc3n04r7hnh7bx4hb0jv0l1"; }; } diff --git a/pkgs/development/compilers/flutter/flutter.nix b/pkgs/development/compilers/flutter/flutter.nix index bb955ba2b80..230add2a320 100644 --- a/pkgs/development/compilers/flutter/flutter.nix +++ b/pkgs/development/compilers/flutter/flutter.nix @@ -1,10 +1,9 @@ { pname , version -, sha256Hash , patches , dart -, channel ? "stable" -, filename ? "flutter_linux_${version}-${channel}.tar.xz" +, src +, depsSha256 }: { bash @@ -31,21 +30,20 @@ , nspr , nss , systemd +, callPackage }: let - drvName = "flutter-${channel}-${version}"; + repository = callPackage ./repository.nix { + inherit src pname version dart depsSha256; + }; + drvName = "flutter-${version}"; + flutter = stdenv.mkDerivation { name = "${drvName}-unwrapped"; - src = fetchurl { - url = - "https://storage.googleapis.com/flutter_infra/releases/${channel}/linux/${filename}"; - sha256 = sha256Hash; - }; + buildInputs = [ git repository ]; - buildInputs = [ git ]; - - inherit patches; + inherit src patches; postPatch = '' patchShebangs --build ./bin/ @@ -53,25 +51,25 @@ let ''; buildPhase = '' - FLUTTER_ROOT=$(pwd) - FLUTTER_TOOLS_DIR="$FLUTTER_ROOT/packages/flutter_tools" - SNAPSHOT_PATH="$FLUTTER_ROOT/bin/cache/flutter_tools.snapshot" - STAMP_PATH="$FLUTTER_ROOT/bin/cache/flutter_tools.stamp" - SCRIPT_PATH="$FLUTTER_TOOLS_DIR/bin/flutter_tools.dart" - DART_SDK_PATH="${dart}" + export FLUTTER_ROOT="$(pwd)" + export FLUTTER_TOOLS_DIR="$FLUTTER_ROOT/packages/flutter_tools" + export SCRIPT_PATH="$FLUTTER_TOOLS_DIR/bin/flutter_tools.dart" - HOME=../.. # required for pub upgrade --offline, ~/.pub-cache - # path is relative otherwise it's replaced by /build/flutter + mkdir -p "$out/bin/cache" + export SNAPSHOT_PATH="$out/bin/cache/flutter_tools.snapshot" + export STAMP_PATH="$out/bin/cache/flutter_tools.stamp" - (cd "$FLUTTER_TOOLS_DIR" && ${dart}/bin/pub upgrade --offline) + export DART_SDK_PATH="${dart}" + export PUB_CACHE="${repository}" + + pushd "$FLUTTER_TOOLS_DIR" + ${dart}/bin/pub get --offline + popd local revision="$(cd "$FLUTTER_ROOT"; git rev-parse HEAD)" ${dart}/bin/dart --snapshot="$SNAPSHOT_PATH" --packages="$FLUTTER_TOOLS_DIR/.packages" "$SCRIPT_PATH" echo "$revision" > "$STAMP_PATH" echo -n "${version}" > version - - rm -rf bin/cache/{artifacts,dart-sdk,downloads} - rm -f bin/cache/*.stamp ''; installPhase = '' diff --git a/pkgs/development/compilers/flutter/patches/stable/disable-auto-update.patch b/pkgs/development/compilers/flutter/patches/disable-auto-update.patch similarity index 100% rename from pkgs/development/compilers/flutter/patches/stable/disable-auto-update.patch rename to pkgs/development/compilers/flutter/patches/disable-auto-update.patch diff --git a/pkgs/development/compilers/flutter/patches/stable/move-cache.patch b/pkgs/development/compilers/flutter/patches/move-cache.patch similarity index 100% rename from pkgs/development/compilers/flutter/patches/stable/move-cache.patch rename to pkgs/development/compilers/flutter/patches/move-cache.patch diff --git a/pkgs/development/compilers/flutter/repository.nix b/pkgs/development/compilers/flutter/repository.nix new file mode 100644 index 00000000000..0f8de0a912f --- /dev/null +++ b/pkgs/development/compilers/flutter/repository.nix @@ -0,0 +1,24 @@ +{ lib, stdenv, dart, fetchurl, src, pname, version, depsSha256 }: + +stdenv.mkDerivation { + inherit src version; + + pname = "${pname}-deps"; + buildInputs = [ dart ]; + + buildPhase = '' + export PUB_CACHE="$out" + export FLUTTER_ROOT="$(pwd)" + export FLUTTER_TOOLS_DIR="$FLUTTER_ROOT/packages/flutter_tools" + + pushd "$FLUTTER_TOOLS_DIR" + ${dart}/bin/pub get + ''; + + dontInstall = true; + dontFixup = true; + + outputHashAlgo = "sha256"; + outputHashMode = "recursive"; + outputHash = depsSha256; +} From d87aba56a8555af6ad022cfa9ddc9d7b338e7450 Mon Sep 17 00:00:00 2001 From: Thiago Kenji Okada Date: Sun, 24 Jan 2021 10:08:17 -0300 Subject: [PATCH 08/25] dart/flutter: add thiagokokada as maintainer --- pkgs/development/compilers/flutter/flutter.nix | 2 +- pkgs/development/interpreters/dart/default.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/compilers/flutter/flutter.nix b/pkgs/development/compilers/flutter/flutter.nix index 230add2a320..e3fcf77e391 100644 --- a/pkgs/development/compilers/flutter/flutter.nix +++ b/pkgs/development/compilers/flutter/flutter.nix @@ -145,7 +145,7 @@ runCommand drvName homepage = "https://flutter.dev"; license = licenses.bsd3; platforms = [ "x86_64-linux" ]; - maintainers = with maintainers; [ babariviere ericdallo ]; + maintainers = with maintainers; [ babariviere ericdallo thiagokokada ]; }; } '' mkdir -p $out/bin diff --git a/pkgs/development/interpreters/dart/default.nix b/pkgs/development/interpreters/dart/default.nix index 25d1729f4dd..cf92e723a61 100644 --- a/pkgs/development/interpreters/dart/default.nix +++ b/pkgs/development/interpreters/dart/default.nix @@ -53,7 +53,7 @@ stdenv.mkDerivation { meta = with lib; { homepage = "https://www.dartlang.org/"; - maintainers = with maintainers; [ grburst ]; + maintainers = with maintainers; [ grburst thiagokokada ]; description = "Scalable programming language, with robust libraries and runtimes, for building web, server, and mobile apps"; longDescription = '' Dart is a class-based, single inheritance, object-oriented language From 577645d09fe5bae5f3a5244ba12e3ec13b488a6e Mon Sep 17 00:00:00 2001 From: Thiago Kenji Okada Date: Mon, 25 Jan 2021 11:36:46 -0300 Subject: [PATCH 09/25] dart: add some assertions --- pkgs/development/interpreters/dart/default.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/development/interpreters/dart/default.nix b/pkgs/development/interpreters/dart/default.nix index cf92e723a61..5fb180201b9 100644 --- a/pkgs/development/interpreters/dart/default.nix +++ b/pkgs/development/interpreters/dart/default.nix @@ -9,6 +9,9 @@ x86_64 = "x64"; i686 = "ia32"; aarch64 = "arm64"; + # Make sure that if the user overrides version parameter they're + # also need to override sources, to avoid mistakes + version = "2.10.5"; in { "${version}-x86_64-darwin" = fetchurl { @@ -30,6 +33,9 @@ } }: +assert version != null && version != ""; +assert sources != null && (builtins.isAttrs sources); + stdenv.mkDerivation { pname = "dart"; inherit version; From 51bcc5408f04bde16a9122b3dfc74ecb6436fece Mon Sep 17 00:00:00 2001 From: Pacman99 Date: Fri, 25 Dec 2020 11:04:23 -0800 Subject: [PATCH 10/25] callaudiod: init at 0.0.4 Co-authored-by: davidak --- .../applications/audio/callaudiod/default.nix | 43 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 45 insertions(+) create mode 100644 pkgs/applications/audio/callaudiod/default.nix diff --git a/pkgs/applications/audio/callaudiod/default.nix b/pkgs/applications/audio/callaudiod/default.nix new file mode 100644 index 00000000000..d742961939f --- /dev/null +++ b/pkgs/applications/audio/callaudiod/default.nix @@ -0,0 +1,43 @@ +{ lib +, stdenv +, fetchFromGitLab +, meson +, ninja +, pkg-config +, glib +, alsaLib +, libpulseaudio +}: + +stdenv.mkDerivation rec { + pname = "callaudiod"; + version = "0.0.4"; + + src = fetchFromGitLab { + domain = "gitlab.com"; + owner = "mobian1"; + repo = pname; + rev = version; + sha256 = "07k7xp5a9c4d4lq7amaj6cg6b3gsd77x9wvf7nzcf4vpaph4yiyj"; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + ]; + + buildInputs = [ + alsaLib + libpulseaudio + glib + ]; + + meta = with lib; { + description = "Daemon for dealing with audio routing during phone calls"; + homepage = "https://gitlab.com/mobian1/callaudiod"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ pacman99 ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index bd3f5e27d31..adc1ac6b9b2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1111,6 +1111,8 @@ in bunny = callPackage ../tools/package-management/bunny { }; + callaudiod = callPackage ../applications/audio/callaudiod { }; + calls = callPackage ../applications/networking/calls { }; inherit (nodePackages) castnow; From d44ccc878fa2047d38cb8ab0eacaa84d960cf606 Mon Sep 17 00:00:00 2001 From: Pacman99 Date: Sat, 26 Dec 2020 14:03:24 -0800 Subject: [PATCH 11/25] feedbackd-unstable: init at 2020-01-25 --- pkgs/applications/misc/feedbackd/default.nix | 52 ++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 54 insertions(+) create mode 100644 pkgs/applications/misc/feedbackd/default.nix diff --git a/pkgs/applications/misc/feedbackd/default.nix b/pkgs/applications/misc/feedbackd/default.nix new file mode 100644 index 00000000000..34119c2006d --- /dev/null +++ b/pkgs/applications/misc/feedbackd/default.nix @@ -0,0 +1,52 @@ +{ lib +, stdenv +, fetchFromGitLab +, meson +, ninja +, pkg-config +, wrapGAppsHook +, glib +, gsound +, libgudev +, json-glib +, vala +, gobject-introspection +}: + +stdenv.mkDerivation rec { + pname = "feedbackd-unstable"; + version = "2021-01-25"; + + src = fetchFromGitLab { + domain = "source.puri.sm"; + owner = "Librem5"; + repo = "feedbackd"; + rev = "v0.0.0+git${builtins.replaceStrings ["-"] [""] version}"; + sha256 = "184ag10sfzrka533inv6f38x6z769kq5jj56vdkcm65j5h786w5v"; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + wrapGAppsHook + vala + gobject-introspection + ]; + + buildInputs = [ + glib + gsound + libgudev + json-glib + ]; + + meta = with lib; { + description = "A daemon to provide haptic (and later more) feedback on events"; + homepage = "https://source.puri.sm/Librem5/feedbackd"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ pacman99 ]; + platforms = platforms.linux; + }; +} + diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index adc1ac6b9b2..71e35dde363 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -21795,6 +21795,8 @@ in fdr = libsForQt5.callPackage ../applications/science/programming/fdr { }; + feedbackd = callPackage ../applications/misc/feedbackd { }; + fehlstart = callPackage ../applications/misc/fehlstart { }; fetchmail = callPackage ../applications/misc/fetchmail { }; From 24552931d8d5dbd1b8bfb0e330dd2f46bdf90e67 Mon Sep 17 00:00:00 2001 From: Pacman99 Date: Thu, 21 Jan 2021 09:50:31 -0700 Subject: [PATCH 12/25] calls: 0.1.5 -> 0.2.0 --- .../applications/networking/calls/default.nix | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/pkgs/applications/networking/calls/default.nix b/pkgs/applications/networking/calls/default.nix index e6d4845761a..01797397f4e 100644 --- a/pkgs/applications/networking/calls/default.nix +++ b/pkgs/applications/networking/calls/default.nix @@ -1,13 +1,17 @@ -{ lib, stdenv +{ lib +, stdenv , fetchFromGitLab , meson , ninja +, cmake , pkg-config -, libhandy_0 +, libhandy , modemmanager , gtk3 , gom , gsound +, feedbackd +, callaudiod , evolution-data-server , folks , desktop-file-utils @@ -22,14 +26,14 @@ stdenv.mkDerivation rec { pname = "calls"; - version = "0.1.5"; + version = "0.2.0"; src = fetchFromGitLab { domain = "source.puri.sm"; owner = "Librem5"; - repo = "calls"; + repo = pname; rev = "v${version}"; - sha256 = "1wqkczl1fn4d2py00fsb6kh05avmc7c49gi49j3592fqsvi87j18"; + sha256 = "1qmjdhnr95dawccw1ss8hc3lk0cypj86xg2amjq7avzn86ryd76l"; }; nativeBuildInputs = [ @@ -38,16 +42,19 @@ stdenv.mkDerivation rec { pkg-config desktop-file-utils vala + cmake wrapGAppsHook ]; buildInputs = [ modemmanager - libhandy_0 + libhandy evolution-data-server folks gom gsound + feedbackd + callaudiod gtk3 libpeas ]; From f9c1057e79e86d68a5f1543f0e38ba2c3e5fc804 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabi=C3=A1n=20Heredia=20Montiel?= Date: Wed, 27 Jan 2021 13:17:48 -0600 Subject: [PATCH 13/25] nvidia.x11: 460.32.03 -> 460.39 --- pkgs/os-specific/linux/nvidia-x11/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix index 004858964a7..50b724870d8 100644 --- a/pkgs/os-specific/linux/nvidia-x11/default.nix +++ b/pkgs/os-specific/linux/nvidia-x11/default.nix @@ -22,10 +22,10 @@ rec { # Policy: use the highest stable version as the default (on our master). stable = if stdenv.hostPlatform.system == "x86_64-linux" then generic { - version = "460.32.03"; - sha256_64bit = "0qb0f8djys55b7qgvpbwafw5lkwvmcslqz3i2kr3jm354gy248ag"; - settingsSha256 = "0mfkw0s4gy1dx671cp1kbpkpkf9c4271w5dz0ykiacz22simi83l"; - persistencedSha256 = "1zrnmwlwqg3pgy1jvldy9iv994wr823rl7vjr1kqnngdmn7bflxl"; + version = "460.39"; + sha256_64bit = "0zx3v4xas9z18yv1z3irp626h8kvcg8aw344sqpacfh1g106dw0b"; + settingsSha256 = "15fa6lmfmgg02gya47ynx5d7cqsb73w4rbg4ly7lc1pnwl5f9qhm"; + persistencedSha256 = "1dj3w03fa1i32c9c7w9392bg3nr2dk8mm4qm0wv12cv587zml0gx"; } else legacy_390; From 3344d206551b107513437d9307be6e767588f2b7 Mon Sep 17 00:00:00 2001 From: Ales Huzik Date: Wed, 27 Jan 2021 23:01:59 +1100 Subject: [PATCH 14/25] obs-gstreamer: init at 0.2.1 --- .../video/obs-studio/obs-gstreamer.nix | 44 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 46 insertions(+) create mode 100644 pkgs/applications/video/obs-studio/obs-gstreamer.nix diff --git a/pkgs/applications/video/obs-studio/obs-gstreamer.nix b/pkgs/applications/video/obs-studio/obs-gstreamer.nix new file mode 100644 index 00000000000..e32ec7575b2 --- /dev/null +++ b/pkgs/applications/video/obs-studio/obs-gstreamer.nix @@ -0,0 +1,44 @@ +{ lib +, stdenv +, fetchFromGitHub +, gst_all_1 +, pkg-config +, meson +, ninja +, obs-studio +}: + +stdenv.mkDerivation rec { + pname = "obs-gstreamer"; + version = "0.2.1"; + + src = fetchFromGitHub { + owner = "fzwoch"; + repo = "obs-gstreamer"; + rev = "v${version}"; + sha256 = "1fdpwr8br8x9cnrhr3j4f0l81df26n3bj2ibi3cg96rl86054nid"; + }; + + nativeBuildInputs = [ pkg-config meson ninja ]; + buildInputs = [ gst_all_1.gstreamermm obs-studio ]; + + # obs-studio expects the shared object to be located in bin/32bit or bin/64bit + # https://github.com/obsproject/obs-studio/blob/d60c736cb0ec0491013293c8a483d3a6573165cb/libobs/obs-nix.c#L48 + postInstall = let + pluginPath = { + i686-linux = "bin/32bit"; + x86_64-linux = "bin/64bit"; + }.${stdenv.targetPlatform.system} or (throw "Unsupported system: ${stdenv.targetPlatform.system}"); + in '' + mkdir -p $out/share/obs/obs-plugins/obs-gstreamer/${pluginPath} + ln -s $out/lib/obs-plugins/obs-gstreamer.so $out/share/obs/obs-plugins/obs-gstreamer/${pluginPath} + ''; + + meta = with lib; { + description = "An OBS Studio source, encoder and video filter plugin to use GStreamer elements/pipelines in OBS Studio"; + homepage = "https://github.com/fswoch/obs-gstreamer"; + maintainers = with maintainers; [ ahuzik ]; + license = licenses.gpl2Plus; + platforms = [ "x86_64-linux" "i686-linux" ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 73b42d95b28..34ec0591aaf 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -23884,6 +23884,8 @@ in obs-wlrobs = callPackage ../applications/video/obs-studio/wlrobs.nix { }; + obs-gstreamer = callPackage ../applications/video/obs-studio/obs-gstreamer.nix { }; + obs-move-transition = callPackage ../applications/video/obs-studio/obs-move-transition.nix { }; obs-v4l2sink = libsForQt5.callPackage ../applications/video/obs-studio/v4l2sink.nix { }; From da874229971a9d8183cc7ac3586a25f9eeb488a7 Mon Sep 17 00:00:00 2001 From: Mario Rodas Date: Thu, 28 Jan 2021 04:20:00 +0000 Subject: [PATCH 15/25] brakeman: 4.8.0 -> 5.0.0 https://github.com/presidentbeef/brakeman/releases/tag/v5.0.0 --- pkgs/development/tools/analysis/brakeman/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/analysis/brakeman/default.nix b/pkgs/development/tools/analysis/brakeman/default.nix index de351524f39..3ac6b34f948 100644 --- a/pkgs/development/tools/analysis/brakeman/default.nix +++ b/pkgs/development/tools/analysis/brakeman/default.nix @@ -4,13 +4,13 @@ buildRubyGem rec { inherit ruby; name = "${gemName}-${version}"; gemName = "brakeman"; - version = "4.8.0"; - source.sha256 = "0xy28pq4x1i7xns5af9k8fx35sqffz2lg94fgbsi9zhi877b7srg"; + version = "5.0.0"; + source.sha256 = "0k1ynqsr9b0vnxqb7d5hbdk4q1i98zjzdnx4y1ylikz4rmkizf91"; meta = with lib; { description = "Static analysis security scanner for Ruby on Rails"; homepage = "https://brakemanscanner.org/"; - changelog = "https://github.com/presidentbeef/brakeman/releases/tag/v${version}"; + changelog = "https://github.com/presidentbeef/brakeman/blob/v${version}/CHANGES.md"; license = [ licenses.unfreeRedistributable ]; platforms = ruby.meta.platforms; maintainers = [ maintainers.marsam ]; From 5d8b32289bf6b12dbe2da7cdbf09714287ebca21 Mon Sep 17 00:00:00 2001 From: Mario Rodas Date: Thu, 28 Jan 2021 04:20:00 +0000 Subject: [PATCH 16/25] heroku: 7.45.0 -> 7.47.11 --- pkgs/development/tools/heroku/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/heroku/default.nix b/pkgs/development/tools/heroku/default.nix index e1aee1e28ca..81c059d2939 100644 --- a/pkgs/development/tools/heroku/default.nix +++ b/pkgs/development/tools/heroku/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "heroku"; - version = "7.45.0"; + version = "7.47.11"; src = fetchurl { url = "https://cli-assets.heroku.com/heroku-v${version}/heroku-v${version}.tar.xz"; - sha256 = "0yxwy7ldi4r7r03a9ay7ikawfwa11x7lvldjskm7nl4a1g4i3jqi"; + sha256 = "1inf2radpkd9jndap91cw0wbb2qmi71i287vyydl492372cf3cs2"; }; nativeBuildInputs = [ makeWrapper ]; From 718916d395df0645016021c5f75835aec0e5a2f5 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Thu, 28 Jan 2021 04:31:03 +0000 Subject: [PATCH 17/25] python37Packages.google-cloud-iam: 2.0.0 -> 2.1.0 --- pkgs/development/python-modules/google-cloud-iam/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/google-cloud-iam/default.nix b/pkgs/development/python-modules/google-cloud-iam/default.nix index f96940f4e67..243c2b86c1e 100644 --- a/pkgs/development/python-modules/google-cloud-iam/default.nix +++ b/pkgs/development/python-modules/google-cloud-iam/default.nix @@ -12,11 +12,11 @@ buildPythonPackage rec { pname = "google-cloud-iam"; - version = "2.0.0"; + version = "2.1.0"; src = fetchPypi { inherit pname version; - sha256 = "1zxsx5avs8njiyw32zvsx2yblmmiwxy771x334hbgmy0aqms4lak"; + sha256 = "d34604508e3e87b9161ccd5ff29474867ac91ffb8d29e1a2fc9ff0e26d934b73"; }; propagatedBuildInputs = [ google-api-core libcst proto-plus ]; From 00138204d098f186682e46c4f3ccb76f763a33ae Mon Sep 17 00:00:00 2001 From: Austin Butler Date: Wed, 27 Jan 2021 21:05:04 -0800 Subject: [PATCH 18/25] nomachine-client: 6.12.3 -> 7.0.211 --- pkgs/tools/admin/nomachine-client/default.nix | 29 +++++++++---------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/pkgs/tools/admin/nomachine-client/default.nix b/pkgs/tools/admin/nomachine-client/default.nix index 6727a897878..c419c7e834a 100644 --- a/pkgs/tools/admin/nomachine-client/default.nix +++ b/pkgs/tools/admin/nomachine-client/default.nix @@ -1,10 +1,10 @@ { lib, stdenv, file, fetchurl, makeWrapper, autoPatchelfHook, jsoncpp, libpulseaudio }: let - versionMajor = "6.12"; - versionMinor = "3"; - versionBuild_x86_64 = "7"; - versionBuild_i686 = "8"; + versionMajor = "7.0"; + versionMinor = "211"; + versionBuild_x86_64 = "4"; + versionBuild_i686 = "4"; in stdenv.mkDerivation rec { pname = "nomachine-client"; @@ -13,23 +13,18 @@ in src = if stdenv.hostPlatform.system == "x86_64-linux" then fetchurl { - urls = [ - "https://download.nomachine.com/download/${versionMajor}/Linux/nomachine_${version}_${versionBuild_x86_64}_x86_64.tar.gz" - "https://web.archive.org/web/https://download.nomachine.com/download/${versionMajor}/Linux/nomachine_${version}_${versionBuild_x86_64}_x86_64.tar.gz" - ]; - sha256 = "1dqsqwxbd77g6gc0hvjmmg4flm3vwwv5y98m8d9wxyybp37vkmgd"; + url = "https://download.nomachine.com/download/${versionMajor}/Linux/nomachine_${version}_${versionBuild_x86_64}_x86_64.tar.gz"; + sha256 = "06habqsl5gp13sym519r3qp188qwqqfw8p48wcs4zj3kcri6fjz0"; } else if stdenv.hostPlatform.system == "i686-linux" then fetchurl { - urls = [ - "https://download.nomachine.com/download/${versionMajor}/Linux/nomachine_${version}_${versionBuild_i686}_i686.tar.gz" - "https://web.archive.org/web/https://download.nomachine.com/download/${versionMajor}/Linux/nomachine_${version}_${versionBuild_i686}_i686.tar.gz" - ]; - sha256 = "1q14hxjy66s5cpq19rshscsm679csb6p16c5p2agh5zd64cr4am6"; + url = "https://download.nomachine.com/download/${versionMajor}/Linux/nomachine_${version}_${versionBuild_i686}_i686.tar.gz"; + sha256 = "1y4lr95mwilwr7gqsxqvygq4w3dcp4cjh8m06wdi3avwdzrjkgj9"; } else throw "NoMachine client is not supported on ${stdenv.hostPlatform.system}"; + # nxusb-legacy is only needed for kernel versions < 3 postUnpack = '' mv $(find . -type f -name nxclient.tar.gz) . mv $(find . -type f -name nxplayer.tar.gz) . @@ -37,6 +32,8 @@ in tar xf nxclient.tar.gz tar xf nxplayer.tar.gz rm $(find . -maxdepth 1 -type f) + rm -r NX/share/src/nxusb-legacy + rm NX/bin/nxusbd-legacy NX/lib/libnxusb-legacy.so ''; nativeBuildInputs = [ file makeWrapper autoPatchelfHook ]; @@ -85,8 +82,8 @@ in description = "NoMachine remote desktop client (nxplayer)"; homepage = "https://www.nomachine.com/"; license = { - fullName = "NoMachine 6 End-User License Agreement"; - url = "https://www.nomachine.com/licensing-6"; + fullName = "NoMachine 7 End-User License Agreement"; + url = "https://www.nomachine.com/licensing-7"; free = false; }; maintainers = with maintainers; [ talyz ]; From b2ed5d775bb5124f6cd304cad0c42a517ef24417 Mon Sep 17 00:00:00 2001 From: Ben Siraphob Date: Thu, 28 Jan 2021 12:10:33 +0700 Subject: [PATCH 19/25] trackballs: clarify license --- pkgs/games/trackballs/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/games/trackballs/default.nix b/pkgs/games/trackballs/default.nix index 4c7d2ba6956..8ebeab4b260 100644 --- a/pkgs/games/trackballs/default.nix +++ b/pkgs/games/trackballs/default.nix @@ -18,6 +18,7 @@ stdenv.mkDerivation rec { homepage = "https://trackballs.github.io/"; description = "3D Marble Madness clone"; platforms = platforms.linux; - license = licenses.gpl2; + # Music is licensed under Ethymonics Free Music License. + license = licenses.gpl2Plus; }; } From d4f09d953724f0e3bf157e6c229f7d272c1227f2 Mon Sep 17 00:00:00 2001 From: Ryan Burns Date: Thu, 28 Jan 2021 00:01:35 -0800 Subject: [PATCH 20/25] arp-scan: enable on darwin --- pkgs/tools/misc/arp-scan/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/misc/arp-scan/default.nix b/pkgs/tools/misc/arp-scan/default.nix index f4786a57bd7..e25543b5145 100644 --- a/pkgs/tools/misc/arp-scan/default.nix +++ b/pkgs/tools/misc/arp-scan/default.nix @@ -35,7 +35,7 @@ stdenv.mkDerivation rec { ''; homepage = "http://www.nta-monitor.com/wiki/index.php/Arp-scan_Documentation"; license = licenses.gpl3; - platforms = platforms.linux; - maintainers = with maintainers; [ bjornfor mikoim ]; + platforms = platforms.linux ++ platforms.darwin; + maintainers = with maintainers; [ bjornfor mikoim r-burns ]; }; } From c174292ec789bb246d2c6e01ade79c7968261c77 Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Thu, 21 Jan 2021 18:00:33 +0100 Subject: [PATCH 21/25] =?UTF-8?q?coqPackages.corn:=208.8.1=20=E2=86=92=208?= =?UTF-8?q?.12.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkgs/development/coq-modules/corn/default.nix | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/pkgs/development/coq-modules/corn/default.nix b/pkgs/development/coq-modules/corn/default.nix index 9f2316f3177..6910f487c64 100644 --- a/pkgs/development/coq-modules/corn/default.nix +++ b/pkgs/development/coq-modules/corn/default.nix @@ -3,8 +3,14 @@ with lib; mkCoqDerivation rec { pname = "corn"; inherit version; - defaultVersion = if versions.range "8.6" "8.9" coq.coq-version then "8.8.1" else null; - release."8.8.1".sha256 = "0gh32j0f18vv5lmf6nb87nr5450w6ai06rhrnvlx2wwi79gv10wp"; + defaultVersion = switch coq.coq-version [ + { case = "8.6"; out = "8.8.1"; } + { case = (versions.range "8.7" "8.12"); out = "8.12.0"; } + ] null; + release = { + "8.8.1".sha256 = "0gh32j0f18vv5lmf6nb87nr5450w6ai06rhrnvlx2wwi79gv10wp"; + "8.12.0".sha256 = "0b92vhyzn1j6cs84z2182fn82hxxj0bqq7hk6cs4awwb3vc7dkhi"; + }; preConfigure = "patchShebangs ./configure.sh"; configureScript = "./configure.sh"; From ef8f775d2a8f4a631a03b2a2c6ab890bd83d83ab Mon Sep 17 00:00:00 2001 From: Michal Sojka Date: Thu, 28 Jan 2021 09:48:18 +0100 Subject: [PATCH 22/25] pdfpc: Update license to match upstream Upstream changed the license - see https://github.com/pdfpc/pdfpc/blob/master/CHANGELOG.rst#version-450. --- pkgs/applications/misc/pdfpc/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/misc/pdfpc/default.nix b/pkgs/applications/misc/pdfpc/default.nix index 6430b894b7b..84ba3ced8fc 100644 --- a/pkgs/applications/misc/pdfpc/default.nix +++ b/pkgs/applications/misc/pdfpc/default.nix @@ -38,7 +38,7 @@ stdenv.mkDerivation rec { meta = with lib; { description = "A presenter console with multi-monitor support for PDF files"; homepage = "https://pdfpc.github.io/"; - license = licenses.gpl2Plus; + license = licenses.gpl3Plus; maintainers = with maintainers; [ pSub ]; platforms = platforms.unix; }; From 4c9a74aa459dc525fcfdfb3019b234f68de66c8a Mon Sep 17 00:00:00 2001 From: sternenseemann <0rpkxez4ksa01gb3typccl0i@systemli.org> Date: Wed, 20 Jan 2021 17:28:59 +0100 Subject: [PATCH 23/25] ocamlPackages.curly: add missing meta set --- pkgs/development/ocaml-modules/curly/default.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkgs/development/ocaml-modules/curly/default.nix b/pkgs/development/ocaml-modules/curly/default.nix index 491b2844ef1..1c48b509c41 100644 --- a/pkgs/development/ocaml-modules/curly/default.nix +++ b/pkgs/development/ocaml-modules/curly/default.nix @@ -26,5 +26,12 @@ buildDunePackage rec { substituteInPlace src/curly.ml \ --replace "exe=\"curl\"" "exe=\"${curl}/bin/curl\"" ''; + + meta = with lib; { + description = "Curly is a brain dead wrapper around the curl command line utility"; + homepage = "https://github.com/rgrinberg/curly"; + license = licenses.isc; + maintainers = [ maintainers.sternenseemann ]; + }; } From 750510ee7cf588f317cddb7810ef2f28b8d66fb7 Mon Sep 17 00:00:00 2001 From: Jacek Generowicz Date: Thu, 28 Jan 2021 11:17:37 +0100 Subject: [PATCH 24/25] pythonPackages.pytest-order: init at 0.9.4 (#110141) --- .../python-modules/pytest-order/default.nix | 35 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 ++ 2 files changed, 37 insertions(+) create mode 100644 pkgs/development/python-modules/pytest-order/default.nix diff --git a/pkgs/development/python-modules/pytest-order/default.nix b/pkgs/development/python-modules/pytest-order/default.nix new file mode 100644 index 00000000000..b07be1178c6 --- /dev/null +++ b/pkgs/development/python-modules/pytest-order/default.nix @@ -0,0 +1,35 @@ +{ buildPythonPackage +, fetchPypi +, lib +, pytest +, pytest-xdist +, pytest-dependency +, pytest-mock +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "pytest-order"; + version = "0.9.4"; + + src = fetchPypi { + inherit pname version; + sha256 = "0b7i8z6rywnkb3skyg8bnfqgkjrwvkn64b4q07wfl1q7x65ksd26"; + }; + + propagatedBuildInputs = [ pytest ]; + + checkInputs = [ + pytestCheckHook + pytest-xdist + pytest-dependency + pytest-mock + ]; + + meta = { + description = "Pytest plugin that allows you to customize the order in which your tests are run"; + homepage = "https://github.com/mrbean-bremen/pytest-order"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.jacg ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 30802297181..31451222e22 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6087,6 +6087,8 @@ in { pytest-openfiles = callPackage ../development/python-modules/pytest-openfiles { }; + pytest-order = callPackage ../development/python-modules/pytest-order { }; + pytest-ordering = callPackage ../development/python-modules/pytest-ordering { }; pytest-pep257 = callPackage ../development/python-modules/pytest-pep257 { }; From f32d7e4e032e83955659ba31bdcdc605ff0dfbab Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Tue, 26 Jan 2021 11:12:20 +0100 Subject: [PATCH 25/25] nixos: add services.rsyncd.socketActivated option Define systemd-socket activation using the upstream configuration files as a reference. The "rsyncd" systemd unit has been renamed to "rsync" for consistency with upstream. --- .../services/network-filesystems/rsyncd.nix | 60 +++++++++++++++++-- nixos/tests/rsyncd.nix | 39 +++++++----- 2 files changed, 80 insertions(+), 19 deletions(-) diff --git a/nixos/modules/services/network-filesystems/rsyncd.nix b/nixos/modules/services/network-filesystems/rsyncd.nix index 9f1263ddff5..edac86eb0e3 100644 --- a/nixos/modules/services/network-filesystems/rsyncd.nix +++ b/nixos/modules/services/network-filesystems/rsyncd.nix @@ -46,6 +46,13 @@ in { ''; }; + socketActivated = mkOption { + default = false; + type = types.bool; + description = + "If enabled Rsync will be socket-activated rather than run persistently."; + }; + }; }; @@ -63,12 +70,55 @@ in { services.rsyncd.settings.global.port = toString cfg.port; - systemd.services.rsyncd = { - description = "Rsync daemon"; - wantedBy = [ "multi-user.target" ]; - serviceConfig.ExecStart = - "${pkgs.rsync}/bin/rsync --daemon --no-detach --config=${configFile}"; + systemd = let + serviceConfigSecurity = { + ProtectSystem = "full"; + PrivateDevices = "on"; + NoNewPrivileges = "on"; + }; + in { + services.rsync = { + enable = !cfg.socketActivated; + aliases = [ "rsyncd" ]; + + description = "fast remote file copy program daemon"; + after = [ "network.target" ]; + documentation = [ "man:rsync(1)" "man:rsyncd.conf(5)" ]; + + serviceConfig = serviceConfigSecurity // { + ExecStart = + "${pkgs.rsync}/bin/rsync --daemon --no-detach --config=${configFile}"; + RestartSec = 1; + }; + + wantedBy = [ "multi-user.target" ]; + }; + + services."rsync@" = { + description = "fast remote file copy program daemon"; + after = [ "network.target" ]; + + serviceConfig = serviceConfigSecurity // { + ExecStart = "${pkgs.rsync}/bin/rsync --daemon --config=${configFile}"; + StandardInput = "socket"; + StandardOutput = "inherit"; + StandardError = "journal"; + }; + }; + + sockets.rsync = { + enable = cfg.socketActivated; + + description = "socket for fast remote file copy program daemon"; + conflicts = [ "rsync.service" ]; + + listenStreams = [ (toString cfg.port) ]; + socketConfig.Accept = true; + + wantedBy = [ "sockets.target" ]; + }; }; + }; meta.maintainers = with lib.maintainers; [ ehmry ]; diff --git a/nixos/tests/rsyncd.nix b/nixos/tests/rsyncd.nix index 3639320f645..44464e42f28 100644 --- a/nixos/tests/rsyncd.nix +++ b/nixos/tests/rsyncd.nix @@ -2,24 +2,35 @@ import ./make-test-python.nix ({ pkgs, ... }: { name = "rsyncd"; meta.maintainers = with pkgs.lib.maintainers; [ ehmry ]; - nodes.machine.services.rsyncd = { - enable = true; - settings = { - global = { - "reverse lookup" = false; - "forward lookup" = false; + nodes = let + mkNode = socketActivated: + { config, ... }: { + networking.firewall.allowedTCPPorts = [ config.services.rsyncd.port ]; + services.rsyncd = { + enable = true; + inherit socketActivated; + settings = { + global = { + "reverse lookup" = false; + "forward lookup" = false; + }; + tmp = { + path = "/nix/store"; + comment = "test module"; + }; + }; + }; }; - tmp = { - path = "/nix/store"; - comment = "test module"; - }; - - }; + in { + a = mkNode false; + b = mkNode true; }; testScript = '' start_all() - machine.wait_for_unit("rsyncd") - machine.succeed("rsync localhost::") + a.wait_for_unit("rsync") + b.wait_for_unit("sockets.target") + b.succeed("rsync a::") + a.succeed("rsync b::") ''; })