1
0
Fork 1
mirror of https://github.com/NixOS/nixpkgs.git synced 2024-11-20 04:31:52 +00:00

Merge staging-next into staging

This commit is contained in:
github-actions[bot] 2022-03-22 00:02:58 +00:00 committed by GitHub
commit 03c279d7ea
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
63 changed files with 8618 additions and 3553 deletions

View file

@ -85,7 +85,7 @@ you will still need to commit the modified version of the lock files, but at lea
each tool has an abstraction to just build the node_modules (dependencies) directory. you can always use the stdenv.mkDerivation with the node_modules to build the package (symlink the node_modules directory and then use the package build command). the node_modules abstraction can be also used to build some web framework frontends. For an example of this see how [plausible](https://github.com/NixOS/nixpkgs/blob/master/pkgs/servers/web-apps/plausible/default.nix) is built. mkYarnModules to make the derivation containing node_modules. Then when building the frontend you can just symlink the node_modules directory
## javascript packages inside nixpkgs {#javascript-packages-nixpkgs}
## Javascript packages inside nixpkgs {#javascript-packages-nixpkgs}
The `pkgs/development/node-packages` folder contains a generated collection of
[NPM packages](https://npmjs.com/) that can be installed with the Nix package
@ -121,12 +121,14 @@ requires `node-gyp-build`, so [we override](https://github.com/NixOS/nixpkgs/blo
};
```
### Adding and Updating Javascript packages in nixpkgs
To add a package from NPM to nixpkgs:
1. Modify `pkgs/development/node-packages/node-packages.json` to add, update
or remove package entries to have it included in `nodePackages` and
`nodePackages_latest`.
2. Run the script: `cd pkgs/development/node-packages && ./generate.sh`.
2. Run the script: `./pkgs/development/node-packages/generate.sh`.
3. Build your new package to test your changes:
`cd /path/to/nixpkgs && nix-build -A nodePackages.<new-or-updated-package>`.
To build against the latest stable Current Node.js version (e.g. 14.x):
@ -137,6 +139,26 @@ For more information about the generation process, consult the
[README.md](https://github.com/svanderburg/node2nix) file of the `node2nix`
tool.
To update NPM packages in nixpkgs, run the same `generate.sh` script:
```sh
./pkgs/development/node-packages/generate.sh
```
#### Git protocol error
Some packages may have Git dependencies from GitHub specified with `git://`.
GitHub has
[disabled unecrypted Git connections](https://github.blog/2021-09-01-improving-git-protocol-security-github/#no-more-unauthenticated-git),
so you may see the following error when running the generate script:
`The unauthenticated git protocol on port 9418 is no longer supported`.
Use the following Git configuration to resolve the issue:
```sh
git config --global url."https://github.com/".insteadOf git://github.com/
```
## Tool specific instructions {#javascript-tool-specific}
### node2nix {#javascript-node2nix}

View file

@ -287,6 +287,13 @@
<link xlink:href="options.html#opt-services.nbd.server.enable">services.nbd</link>.
</para>
</listitem>
<listitem>
<para>
<link xlink:href="https://github.com/Mic92/nix-ld">nix-ld</link>,
Run unpatched dynamic binaries on NixOS. Available as
<link xlink:href="options.html#opt-programs.nix-ld.enable">programs.nix-ld</link>.
</para>
</listitem>
<listitem>
<para>
<link xlink:href="https://timetagger.app">timetagger</link>,

View file

@ -83,6 +83,8 @@ In addition to numerous new and upgraded packages, this release has the followin
- [nbd](https://nbd.sourceforge.io/), a Network Block Device server. Available as [services.nbd](options.html#opt-services.nbd.server.enable).
- [nix-ld](https://github.com/Mic92/nix-ld), Run unpatched dynamic binaries on NixOS. Available as [programs.nix-ld](options.html#opt-programs.nix-ld.enable).
- [timetagger](https://timetagger.app), an open source time-tracker with an intuitive user experience and powerful reporting. [services.timetagger](options.html#opt-services.timetagger.enable).
- [rstudio-server](https://www.rstudio.com/products/rstudio/#rstudio-server), a browser-based version of the RStudio IDE for the R programming language. Available as [services.rstudio-server](options.html#opt-services.rstudio-server.enable).

View file

@ -244,7 +244,7 @@ in
modules = optional (igpuDriver == "amdgpu") [ pkgs.xorg.xf86videoamdgpu ];
deviceSection = ''
BusID "${igpuBusId}"
${optionalString syncCfg.enable ''Option "AccelMethod" "none"''}
${optionalString (syncCfg.enable && igpuDriver != "amdgpu") ''Option "AccelMethod" "none"''}
'';
} ++ singleton {
name = "nvidia";
@ -269,9 +269,15 @@ in
Option "AllowNVIDIAGPUScreens"
'';
services.xserver.displayManager.setupCommands = optionalString syncCfg.enable ''
services.xserver.displayManager.setupCommands = let
sinkGpuProviderName = if igpuDriver == "amdgpu" then
# find the name of the provider if amdgpu
"`${pkgs.xorg.xrandr}/bin/xrandr --listproviders | ${pkgs.gnugrep}/bin/grep -i AMD | ${pkgs.gnused}/bin/sed -n 's/^.*name://p'`"
else
igpuDriver;
in optionalString syncCfg.enable ''
# Added by nvidia configuration module for Optimus/PRIME.
${pkgs.xorg.xrandr}/bin/xrandr --setprovideroutputsource ${igpuDriver} NVIDIA-0
${pkgs.xorg.xrandr}/bin/xrandr --setprovideroutputsource "${sinkGpuProviderName}" NVIDIA-0
${pkgs.xorg.xrandr}/bin/xrandr --auto
'';
@ -283,14 +289,14 @@ in
environment.etc."egl/egl_external_platform.d".source =
"/run/opengl-driver/share/egl/egl_external_platform.d/";
hardware.opengl.package = mkIf (!offloadCfg.enable) nvidia_x11.out;
hardware.opengl.package32 = mkIf (!offloadCfg.enable) nvidia_x11.lib32;
hardware.opengl.extraPackages = [
nvidia_x11.out
pkgs.nvidia-vaapi-driver
] ++ optional offloadCfg.enable nvidia_x11.out;
];
hardware.opengl.extraPackages32 = [
nvidia_x11.lib32
pkgs.pkgsi686Linux.nvidia-vaapi-driver
] ++ optional offloadCfg.enable nvidia_x11.lib32;
];
environment.systemPackages = [ nvidia_x11.bin ]
++ optionals cfg.nvidiaSettings [ nvidia_x11.settings ]

View file

@ -181,6 +181,7 @@
./programs/mtr.nix
./programs/nano.nix
./programs/nbd.nix
./programs/nix-ld.nix
./programs/neovim.nix
./programs/nm-applet.nix
./programs/npm.nix

View file

@ -0,0 +1,12 @@
{ pkgs, lib, config, ... }:
{
meta.maintainers = [ lib.maintainers.mic92 ];
options = {
programs.nix-ld.enable = lib.mkEnableOption ''nix-ld, Documentation: <link xlink:href="https://github.com/Mic92/nix-ld"/>'';
};
config = lib.mkIf config.programs.nix-ld.enable {
systemd.tmpfiles.rules = [
"L+ ${pkgs.nix-ld.ldPath} - - - - ${pkgs.nix-ld}/libexec/nix-ld"
];
};
}

View file

@ -224,6 +224,7 @@ in
targets.samba = {
description = "Samba Server";
after = [ "network.target" ];
wants = [ "network-online.target" ];
wantedBy = [ "multi-user.target" ];
};
# Refer to https://github.com/samba-team/samba/tree/master/packaging/systemd

View file

@ -356,6 +356,7 @@ in
nginx-sso = handleTest ./nginx-sso.nix {};
nginx-variants = handleTest ./nginx-variants.nix {};
nitter = handleTest ./nitter.nix {};
nix-ld = handleTest ./nix-ld {};
nix-serve = handleTest ./nix-serve.nix {};
nix-serve-ssh = handleTest ./nix-serve-ssh.nix {};
nixops = handleTest ./nixops/default.nix {};

20
nixos/tests/nix-ld.nix Normal file
View file

@ -0,0 +1,20 @@
import ./make-test-python.nix ({ lib, pkgs, ...} :
{
name = "nix-ld";
nodes.machine = { pkgs, ... }: {
programs.nix-ld.enable = true;
environment.systemPackages = [
(pkgs.runCommand "patched-hello" {} ''
install -D -m755 ${pkgs.hello}/bin/hello $out/bin/hello
patchelf $out/bin/hello --set-interpreter ${pkgs.nix-ld.ldPath}
'')
];
};
testScript = ''
start_all()
path = "${pkgs.stdenv.cc}/nix-support/dynamic-linker"
with open(path) as f:
real_ld = f.read().strip()
machine.succeed(f"NIX_LD={real_ld} hello")
'';
})

View file

@ -1,16 +1,16 @@
{ lib, fetchFromGitHub, fetchpatch, python3Packages, wrapQtAppsHook }:
{ lib, fetchFromGitHub, python3Packages, wrapQtAppsHook }:
let
py = python3Packages;
in py.buildPythonApplication rec {
pname = "friture";
version = "0.48";
version = "0.49";
src = fetchFromGitHub {
owner = "tlecomte";
repo = pname;
rev = "v${version}";
sha256 = "sha256-oOH58jD49xAeSuP+l6tYUpwkYsnfeSGTt8x4DFzTY6g=";
sha256 = "sha256-xKgyBV/Qc+9PgXyxcT0xG1GXLC6KnjavJ/0SUE+9VSY=";
};
nativeBuildInputs = (with py; [ numpy cython scipy ]) ++
@ -28,15 +28,6 @@ in py.buildPythonApplication rec {
rtmixer
];
patches = [
# Backported fix that resolves an issue with setuptools packaging
(fetchpatch {
name = "fix-setuptools-packaging.patch";
url = "https://github.com/tlecomte/friture/commit/ea7210dae883edf17de8fec82f9428b18ee138b6.diff";
sha256 = "sha256-Kv/vmC8kcqfOgfIPQyZN46sbV6bezhq6pyj8bvke6s8=";
})
];
postPatch = ''
# Remove version constraints from Python dependencies in setup.py
sed -i -E "s/\"([A-Za-z0-9]+)(=|>|<)=[0-9\.]+\"/\"\1\"/g" setup.py

View file

@ -2,7 +2,7 @@
python3Packages.buildPythonApplication rec {
pname = "pyradio";
version = "0.8.9.15";
version = "0.8.9.16";
propagatedBuildInputs = with python3Packages; [
requests
@ -14,7 +14,7 @@ python3Packages.buildPythonApplication rec {
owner = "coderholic";
repo = pname;
rev = version;
sha256 = "sha256-r4T7t8Q46N59jqTkvdKBo6tffkrOYhoO/CZWvkBHOAQ=";
sha256 = "sha256-uerQfyGHWhLbO6UkLSMA1tdfW/8fDQkcm6hYIdwwC7I=";
};
checkPhase = ''

View file

@ -10,14 +10,14 @@ let
# If an update breaks things, one of those might have valuable info:
# https://aur.archlinux.org/packages/spotify/
# https://community.spotify.com/t5/Desktop-Linux
version = "1.1.77.643.g3c4c6fc6";
version = "1.1.80.699.gc3dac750";
# To get the latest stable revision:
# curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/spotify?channel=stable' | jq '.download_url,.version,.last_updated'
# To get general information:
# curl -H 'Snap-Device-Series: 16' 'https://api.snapcraft.io/v2/snaps/info/spotify' | jq '.'
# More examples of api usage:
# https://github.com/canonical-websites/snapcraft.io/blob/master/webapp/publisher/snaps/views.py
rev = "57";
rev = "58";
deps = [
alsa-lib
@ -80,7 +80,7 @@ stdenv.mkDerivation {
# https://community.spotify.com/t5/Desktop-Linux/Redistribute-Spotify-on-Linux-Distributions/td-p/1695334
src = fetchurl {
url = "https://api.snapcraft.io/api/v1/snaps/download/pOBIoZ2LrCB3rDohMxoYGnbN14EHOgD7_${rev}.snap";
sha512 = "d9f8fe692db479bcce1f47c87b65c5ac6d62e16b76a0f9b2d693d82d2b9ed2c7cf370cb091ce8ecd291c47d1efdbaa897c9bffb210edd901dc3d5425995229f7";
sha512 = "91385a5a8de31d6e9f1945d23108447fd369c1cdc2e4d95cbb7cec5d403c3be14a1b0fabe3fb01aef809a39b033d289add1bcb307ab19c7fcb63689dbae57c53";
};
nativeBuildInputs = [ makeWrapper wrapGAppsHook squashfsTools ];

View file

@ -1,26 +1,19 @@
{
"name": "rust-analyzer",
"version": "0.2.834",
"version": "0.2.975",
"dependencies": {
"https-proxy-agent": "^5.0.0",
"node-fetch": "^2.6.1",
"vscode-languageclient": "8.0.0-next.2",
"d3": "^7.1.0",
"vscode-languageclient": "8.0.0-next.8",
"d3": "^7.3.0",
"d3-graphviz": "^4.0.0",
"@types/glob": "^7.1.4",
"@types/mocha": "^8.2.3",
"@types/node": "~14.17.5",
"@types/node-fetch": "^2.5.11",
"@types/vscode": "^1.57.0",
"@typescript-eslint/eslint-plugin": "^4.28.2",
"@typescript-eslint/parser": "^4.28.2",
"eslint": "^7.30.0",
"glob": "^7.1.6",
"mocha": "^9.0.2",
"@types/vscode": "~1.63.0",
"@typescript-eslint/eslint-plugin": "^5.10.0",
"@typescript-eslint/parser": "^5.10.0",
"@vscode/test-electron": "^2.1.1",
"eslint": "^8.7.0",
"tslib": "^2.3.0",
"typescript": "^4.3.5",
"typescript": "^4.5.5",
"typescript-formatter": "^7.2.2",
"vsce": "^1.95.1",
"vscode-test": "^1.5.1"
"vsce": "^2.6.7"
}
}

View file

@ -20,13 +20,13 @@ let
# Use the plugin version as in vscode marketplace, updated by update script.
inherit (vsix) version;
releaseTag = "2021-11-29";
releaseTag = "2022-03-07";
src = fetchFromGitHub {
owner = "rust-analyzer";
repo = "rust-analyzer";
rev = releaseTag;
sha256 = "sha256-vh7z8jupVxXPOko3sWUsOB7eji/7lKfwJ/CE3iw97Sw=";
sha256 = "sha256-/qKh4utesAjlyG8A3hEmSx+HBgh48Uje6ZRtUGz5f0g=";
};
build-deps = nodePackages."rust-analyzer-build-deps-../../applications/editors/vscode/extensions/rust-analyzer/build-deps";

View file

@ -0,0 +1,49 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl jq libarchive
#shellcheck shell=bash
set -euo pipefail
cd "$(dirname "$0")"
nixpkgs=../../../../../../
node_packages="$nixpkgs/pkgs/development/node-packages"
owner=rust-analyzer
repo=rust-analyzer
ver=$(
curl -s "https://api.github.com/repos/$owner/$repo/releases" |
jq 'map(select(.prerelease | not)) | .[0].tag_name' --raw-output
)
node_src="$(nix-build "$nixpkgs" -A rust-analyzer.src --no-out-link)/editors/code"
# Check vscode compatibility
req_vscode_ver="$(jq '.engines.vscode' "$node_src/package.json" --raw-output)"
req_vscode_ver="${req_vscode_ver#^}"
cur_vscode_ver="$(nix-instantiate --eval --strict "$nixpkgs" -A vscode.version | tr -d '"')"
if [[ "$(nix-instantiate --eval --strict -E "(builtins.compareVersions \"$req_vscode_ver\" \"$cur_vscode_ver\")")" -gt 0 ]]; then
echo "vscode $cur_vscode_ver is incompatible with the extension requiring ^$req_vscode_ver"
exit 1
fi
extension_ver=$(curl "https://github.com/rust-analyzer/rust-analyzer/releases/download/$ver/rust-analyzer-linux-x64.vsix" -L |
bsdtar -xf - --to-stdout extension/package.json | # Use bsdtar to extract vsix(zip).
jq --raw-output '.version')
echo "Extension version: $extension_ver"
# We need devDependencies to build vsix.
# `esbuild` is a binary package an is already in nixpkgs so we omit it here.
jq '{ name, version: $ver, dependencies: (.dependencies + .devDependencies | del(.esbuild)) }' "$node_src/package.json" \
--arg ver "$extension_ver" \
>"build-deps/package.json.new"
old_deps="$(jq '.dependencies' build-deps/package.json)"
new_deps="$(jq '.dependencies' build-deps/package.json.new)"
if [[ "$old_deps" == "$new_deps" ]]; then
echo "package.json dependencies not changed, do simple version change"
sed -E '/^ "rust-analyzer-build-deps/,+3 s/version = ".*"/version = "'"$extension_ver"'"/' \
--in-place "$node_packages"/node-packages.nix
mv build-deps/package.json{.new,}
else
echo "package.json dependencies changed, updating nodePackages"
mv build-deps/package.json{.new,}
./"$node_packages"/generate.sh
fi

View file

@ -30,14 +30,23 @@
, systemd
, udev
, xdg-utils
# The 1Password polkit file requires a list of users for whom polkit
# integrations should be enabled. This should be a list of strings that
# correspond to usernames.
, polkitPolicyOwners ? []
}:
stdenv.mkDerivation rec {
let
# Convert the polkitPolicyOwners variable to a polkit-compatible string for the polkit file.
policyOwners = lib.concatStringsSep " " (map (user: "unix-user:${user}") polkitPolicyOwners);
in stdenv.mkDerivation rec {
pname = "1password";
version = "8.5.0";
version = "8.6.0";
src = fetchurl {
url = "https://downloads.1password.com/linux/tar/stable/x86_64/1password-${version}.x64.tar.gz";
sha256 = "tnZr+qjUcJ9Fhk6RP8iwu+/JsvYSE03NHhBfhedyCTQ=";
sha256 = "AgmLbf2YHZr8McSIL5dxp5HxOC7gLrZWIopuA7aL0JI=";
};
nativeBuildInputs = [ makeWrapper ];
@ -86,9 +95,12 @@ stdenv.mkDerivation rec {
substituteInPlace $out/share/applications/${pname}.desktop \
--replace 'Exec=/opt/1Password/${pname}' 'Exec=${pname}'
'' + (lib.optionalString (polkitPolicyOwners != [ ])
''
# Polkit file
install -Dm 0644 -t $out/share/polkit-1/actions com.1password.1Password.policy
mkdir -p $out/share/polkit-1/actions
substitute com.1password.1Password.policy.tpl $out/share/polkit-1/actions/com.1password.1Password.policy --replace "\''${POLICY_OWNERS}" "${policyOwners}"
'') + ''
# Icons
cp -a resources/icons $out/share

View file

@ -4,7 +4,7 @@
, python3Packages, gettext
, appstream-glib, gdk-pixbuf, glib, gobject-introspection, gspell, gtk3, gtksourceview4, gnome
, steam, xdg-utils, pciutils, cabextract, wineWowPackages
, freetype, p7zip, gamemode
, freetype, p7zip, gamemode, mangohud
, bottlesExtraLibraries ? pkgs: [ ] # extra packages to add to steam.run multiPkgs
, bottlesExtraPkgs ? pkgs: [ ] # extra packages to add to steam.run targetPkgs
}:
@ -12,7 +12,7 @@
let
steam-run = (steam.override {
# required by wine runner `caffe`
extraLibraries = pkgs: with pkgs; [ libunwind libusb1 ]
extraLibraries = pkgs: with pkgs; [ libunwind libusb1 gnutls ]
++ bottlesExtraLibraries pkgs;
extraPkgs = pkgs: [ ]
++ bottlesExtraPkgs pkgs;
@ -20,8 +20,10 @@ let
in
python3Packages.buildPythonApplication rec {
pname = "bottles";
version = "2022.2.28-trento-1";
sha256 = "tE6YuuZZcs3RKxs1S6OoGt0CXz3oHUi/sopFN0iywds=";
version = "2022.3.14-trento-3";
sha256 = "0wdqj9l69a9pnray2zcfgl2yw0hmrh23njbgwgqccimch014ckdq";
# Note: Update via pkgs/applications/misc/bottles/update.py
# mostly copypasted from pkgs/applications/networking/instant-messengers/telegram/tdesktop/update.py
src = fetchFromGitHub {
owner = "bottlesdevs";
@ -80,6 +82,7 @@ python3Packages.buildPythonApplication rec {
freetype
p7zip
gamemode # programs.gamemode.enable
mangohud
];
format = "other";
@ -89,13 +92,19 @@ python3Packages.buildPythonApplication rec {
preConfigure = ''
patchShebangs build-aux/meson/postinstall.py
substituteInPlace src/backend/wine/winecommand.py \
--replace '= f"{Paths.runners}' '= f"${steam-run}/bin/steam-run {Paths.runners}'
--replace \
'self.__get_runner()' \
'(lambda r: (f"${steam-run}/bin/steam-run {r}", r)[r == "wine" or r == "wine64"])(self.__get_runner())'
'';
preFixup = ''
makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
'';
passthru = {
updateScript = ./update.py;
};
meta = with lib; {
description = "An easy-to-use wineprefix manager";
homepage = "https://usebottles.com/";

View file

@ -0,0 +1,65 @@
#! /usr/bin/env nix-shell
#! nix-shell -i python3 -p python3 nix nix-prefetch-git
import fileinput
import json
import os
import re
import subprocess
from datetime import datetime
from urllib.request import urlopen, Request
DIR = os.path.dirname(os.path.abspath(__file__))
HEADERS = {'Accept': 'application/vnd.github.v3+json'}
def github_api_request(endpoint):
base_url = 'https://api.github.com/'
request = Request(base_url + endpoint, headers=HEADERS)
with urlopen(request) as http_response:
return json.loads(http_response.read().decode('utf-8'))
def get_commit_date(repo, sha):
url = f'https://api.github.com/repos/{repo}/commits/{sha}'
request = Request(url, headers=HEADERS)
with urlopen(request) as http_response:
commit = json.loads(http_response.read().decode())
date = commit['commit']['committer']['date'].rstrip('Z')
date = datetime.fromisoformat(date).date().isoformat()
return 'unstable-' + date
def nix_prefetch_git(url, rev):
"""Prefetches the requested Git revision (incl. submodules) of the given repository URL."""
print(f'nix-prefetch-git {url} {rev}')
out = subprocess.check_output(['nix-prefetch-git', '--quiet', '--url', url, '--rev', rev, '--fetch-submodules'])
return json.loads(out)['sha256']
def nix_prefetch_url(url, unpack=False):
"""Prefetches the content of the given URL."""
print(f'nix-prefetch-url {url}')
options = ['--type', 'sha256']
if unpack:
options += ['--unpack']
out = subprocess.check_output(['nix-prefetch-url'] + options + [url])
return out.decode('utf-8').rstrip()
def update_file(relpath, version, sha256):
file_path = os.path.join(DIR, relpath)
with fileinput.FileInput(file_path, inplace=True) as f:
for line in f:
result = line
result = re.sub(r'^ version = ".+";', f' version = "{version}";', result)
result = re.sub(r'^ sha256 = ".+";', f' sha256 = "{sha256}";', result)
print(result, end='')
if __name__ == "__main__":
bottles_version = github_api_request('repos/bottlesdevs/Bottles/releases/latest')['tag_name']
bottles_hash = nix_prefetch_git('https://github.com/bottlesdevs/Bottles.git', bottles_version)
update_file('default.nix', bottles_version, bottles_hash)

View file

@ -1,8 +1,8 @@
{
"stable": {
"version": "99.0.4844.74",
"sha256": "165vzxv3xi4r9ia3qnqsr4p9ai0344w1pnq03c6jdq7x613lcprd",
"sha256bin64": "1xzr7qv4rcardl3apr8w22dn81lzqkklhp26qqlbdcylacqqji04",
"version": "99.0.4844.82",
"sha256": "0p6jqwal0yrvn8iylm2f3n07hkkaf8899iw9i3cvks0d870hpfxq",
"sha256bin64": "0zhhibz727qx2wg2pcazha3q9xwf1bcm1f9hgid7jq2pq7fq3hdr",
"deps": {
"gn": {
"version": "2022-01-10",
@ -45,9 +45,9 @@
}
},
"ungoogled-chromium": {
"version": "99.0.4844.74",
"sha256": "165vzxv3xi4r9ia3qnqsr4p9ai0344w1pnq03c6jdq7x613lcprd",
"sha256bin64": "1xzr7qv4rcardl3apr8w22dn81lzqkklhp26qqlbdcylacqqji04",
"version": "99.0.4844.82",
"sha256": "0p6jqwal0yrvn8iylm2f3n07hkkaf8899iw9i3cvks0d870hpfxq",
"sha256bin64": "0zhhibz727qx2wg2pcazha3q9xwf1bcm1f9hgid7jq2pq7fq3hdr",
"deps": {
"gn": {
"version": "2022-01-10",
@ -56,8 +56,8 @@
"sha256": "1103lf38h7412949j6nrk48m2vv2rrxacn42sjg33lg88nyv7skv"
},
"ungoogled-patches": {
"rev": "99.0.4844.74-1",
"sha256": "1ki517fi55rz7ib2sq0q6gw1w1m2j4yakkpcgpmgvapg05s3zg7m"
"rev": "99.0.4844.82-1",
"sha256": "1zj8834slli7ydslcwid15r7id4iw0d7ns42hkrj24zl9zh3d5q3"
}
}
}

View file

@ -1,109 +0,0 @@
{ stdenv, lib, fetchgit, makeDesktopItem, pkg-config, makeWrapper
# Build
, python2, autoconf213, yasm, perl
, unzip, gnome2, gnum4
# Runtime
, xorg, zip, freetype, fontconfig, glibc, libffi
, dbus, dbus-glib, gtk2, alsa-lib, jack2, ffmpeg
}:
let
libPath = lib.makeLibraryPath [ ffmpeg ];
in stdenv.mkDerivation rec {
pname = "webbrowser";
version = "29.0.0rc1";
src = fetchgit {
url = "https://git.nuegia.net/webbrowser.git";
rev = version;
sha256 = "1d82943mla6q3257081d946kgms91dg0n93va3zlzm9hbbqilzm6";
fetchSubmodules = true;
};
desktopItem = makeDesktopItem {
name = "webbrowser";
exec = "webbrowser %U";
icon = "webbrowser";
desktopName = "Web Browser";
genericName = "Web Browser";
categories = [ "Network" "WebBrowser" ];
mimeTypes = [
"text/html"
"text/xml"
"application/xhtml+xml"
"application/vnd.mozilla.xul+xml"
"x-scheme-handler/http"
"x-scheme-handler/https"
];
};
nativeBuildInputs = [
gnum4 makeWrapper perl pkg-config python2 unzip
];
buildInputs = [
alsa-lib dbus dbus-glib ffmpeg fontconfig freetype yasm zip jack2 gtk2
gnome2.GConf xorg.libXt
];
enableParallelBuilding = true;
configurePhase = ''
export MOZCONFIG=$PWD/.mozconfig
export MOZ_NOSPAM=1
cp $src/doc/mozconfig.example $MOZCONFIG
# Need to modify it
chmod 644 $MOZCONFIG
substituteInPlace $MOZCONFIG \
--replace "mk_add_options PYTHON=/usr/bin/python2" "mk_add_options PYTHON=${python2}/bin/python2" \
--replace "mk_add_options AUTOCONF=/usr/bin/autoconf-2.13" "mk_add_options AUTOCONF=${autoconf213}/bin/autoconf" \
--replace 'mk_add_options MOZ_OBJDIR=$HOME/build/wbobjects/' "" \
--replace "ac_add_options --x-libraries=/usr/lib64" "ac_add_options --x-libraries=${lib.makeLibraryPath [ xorg.libX11 ]}" \
--replace "_BUILD_64=1" "_BUILD_64=${lib.optionalString stdenv.hostPlatform.is64bit "1"}" \
--replace "--enable-ccache" "--disable-ccache"
echo >> $MOZCONFIG '
#
# NixOS-specific adjustments
#
ac_add_options --prefix=$out
mk_add_options MOZ_MAKE_FLAGS="-j$NIX_BUILD_CORES"
'
'';
buildPhase = "$src/mach build";
installPhase = ''
$src/mach install
mkdir -p $out/share/applications
cp ${desktopItem}/share/applications/* $out/share/applications
for n in 16 32 48; do
size=$n"x"$n
mkdir -p $out/share/icons/hicolor/$size/apps
cp $src/webbrowser/branding/unofficial/default$n.png \
$out/share/icons/hicolor/$size/apps/webbrowser.png
done
# Needed to make videos work
wrapProgram $out/lib/webbrowser-${version}/webbrowser \
--prefix LD_LIBRARY_PATH : "${libPath}"
'';
meta = with lib; {
description = "Generic web browser without trackers compatible with XUL plugins using UXP rendering engine";
homepage = "https://git.nuegia.net/webbrowser.git/";
license = [ licenses.mpl20 licenses.gpl3 ];
maintainers = with maintainers; [ TheBrainScrambler ];
platforms = [ "i686-linux" "x86_64-linux" ];
broken = true; # 2021-01-07
};
}

View file

@ -43,13 +43,13 @@ assert enablePsiMedia -> enablePlugins;
mkDerivation rec {
pname = "psi-plus";
version = "1.5.1600";
version = "1.5.1615";
src = fetchFromGitHub {
owner = "psi-plus";
repo = "psi-plus-snapshots";
rev = version;
sha256 = "sha256-AZSxElEpYUYa92KdYxVyM+ppKHpXXwwlBFVOOKH/O7g=";
sha256 = "sha256-aD+JVGmBWHUav2bH9rXGtgqI+/5lJTMrYLRP7E65JxI=";
};
cmakeFlags = [

View file

@ -0,0 +1,66 @@
{ lib
, mkDerivation
, fetchurl
, autoPatchelfHook
, zstd
, curl
, ffmpeg
, libjpeg_turbo
, libpam-wrapper
, libv4l
, pulseaudio
, zlib
, xorg
}:
mkDerivation rec {
pname = "sky";
version = "2.1.7801";
src = fetchurl {
url = "https://tel.red/repos/archlinux/sky-archlinux-${version}-1-x86_64.pkg.tar.zst";
sha256 = "sha256-3xiq2b3CwNjRd09q0z8olrmLGhgkJGAVkZoJSIHom+k=";
};
nativeBuildInputs = [ autoPatchelfHook zstd ];
buildInputs = [
curl
ffmpeg
libjpeg_turbo
libpam-wrapper
libv4l
pulseaudio
xorg.libX11
xorg.libXScrnSaver
xorg.libXcursor
xorg.libXdamage
xorg.libXinerama
xorg.libXmu
xorg.libXrandr
xorg.libXtst
xorg.libXv
xorg.libxkbfile
zlib
];
installPhase = ''
runHook preInstall
mkdir $out
mv * $out/
ln --force --symbolic $out/lib/sky/sky{,_sender} $out/bin
substituteInPlace $out/share/applications/sky.desktop \
--replace /usr/ $out/
runHook postInstall
'';
meta = {
description = "Lync & Skype for Business on Linux";
homepage = "https://tel.red/";
license = lib.licenses.unfree;
maintainers = [ lib.maintainers.wucke13 ];
platforms = [ "x86_64-linux" ];
};
}

View file

@ -0,0 +1,101 @@
{ lib
, stdenv
, fetchFromGitHub
, fetchzip
, makeWrapper
, makeDesktopItem
, mkYarnPackage
, electron
, desktopToDarwinBundle
, copyDesktopItems
}:
let
executableName = "micropad";
electron_exec =
if stdenv.isDarwin
then "${electron}/Applications/Electron.app/Contents/MacOS/Electron"
else "${electron}/bin/electron";
in
mkYarnPackage rec {
pname = "micropad";
version = "3.30.6";
src = fetchFromGitHub {
owner = "MicroPad";
repo = "Micropad-Electron";
rev = "v${version}";
sha256 = "sha256-v3hnHG6FMW2xBU/DnenqjFizQv/OZ9cW99n/3SoENe8=";
};
micropad-core = fetchzip {
url = "https://github.com/MicroPad/MicroPad-Core/releases/download/v${version}/micropad.tar.xz";
hash = "sha256-aqshYbVrQg6tYtTlO91FGiH7DuueOA0OU5KGCVc7XvI=";
};
packageJSON = ./package.json;
yarnLock = ./yarn.lock;
yarnNix = ./yarn.nix;
nativeBuildInputs = [ copyDesktopItems makeWrapper ]
++ lib.optionals stdenv.isDarwin [ desktopToDarwinBundle ];
buildPhase = ''
runHook preBuild
pushd deps/micropad/
yarn --offline build
popd
runHook postBuild
'';
installPhase = ''
runHook preInstall
# resources
mkdir -p "$out/share/"
cp -r './deps/micropad' "$out/share/micropad"
ln -s '${micropad-core}' "$out/share/micropad/core"
rm "$out/share/micropad/node_modules"
cp -r './node_modules' "$out/share/micropad"
# icons
for icon in $out/share/micropad/build/icons/*.png; do
mkdir -p "$out/share/icons/hicolor/$(basename $icon .png | sed -e 's/^icon-//')/apps"
ln -s "$icon" "$out/share/icons/hicolor/$(basename $icon .png | sed -e 's/^icon-//')/apps/micropad.png"
done
# executable wrapper
makeWrapper '${electron_exec}' "$out/bin/${executableName}" \
--add-flags "$out/share/micropad" \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--enable-features=UseOzonePlatform --ozone-platform=wayland}}"
runHook postInstall
'';
# Do not attempt generating a tarball for micropad again.
# note: `doDist = false;` does not work.
distPhase = ''
true
'';
# The desktop item properties should be kept in sync with data from upstream:
# https://github.com/MicroPad/MicroPad-Electron/blob/master/package.json
desktopItems = [
(makeDesktopItem {
name = "micropad";
exec = "${executableName} %u";
icon = "micropad";
desktopName = "µPad";
startupWMClass = "µPad";
comment = meta.description;
categories = ["Office"];
})
];
meta = with lib; {
description = "A powerful note-taking app that helps you organise + take notes without restrictions";
homepage = "https://getmicropad.com/";
license = licenses.mpl20;
maintainers = with maintainers; [rhysmdnz];
inherit (electron.meta) platforms;
};
}

View file

@ -0,0 +1,87 @@
{
"name": "micropad",
"version": "3.30.5",
"description": "A powerful note-taking app that helps you organise + take notes without restrictions.",
"main": "main.js",
"scripts": {
"start": "yarn build && yarn electron . --is-dev --no-sandbox",
"build": "yarn tsc -p tsconfig.json",
"update-core": "rm -rf core && rm -rf tmp && mkdir tmp && wget https://github.com/MicroPad/MicroPad-Core/releases/download/v${npm_package_version}/micropad.tar.xz -P ./tmp && cd tmp && tar -xf micropad.tar.xz && rm build/*.map && rm build/static/*/*.map && cp -r build ../core && cd .. && rm -rf tmp",
"pack": "yarn build && yarn electron-builder --dir",
"dist": "yarn build && yarn electron-builder"
},
"repository": {
"type": "git",
"url": "git+https://github.com/MicroPad/Electron.git"
},
"author": {
"name": "Nick Webster",
"email": "nick@nick.geek.nz"
},
"license": "MPL-2.0",
"bugs": {
"url": "https://github.com/MicroPad/Electron/issues"
},
"homepage": "https://getmicropad.com",
"devDependencies": {
"electron": "^17.1.0",
"electron-builder": "^23.0.2",
"typescript": "~4.5.4"
},
"dependencies": {
"dictionary-en": "^3.0.0",
"dictionary-en-au": "^2.1.1",
"electron-context-menu": "^3.1.2",
"localforage": "^1.10.0",
"typo-js": "^1.2.1"
},
"build": {
"appId": "com.getmicropad.micropad",
"productName": "µPad",
"publish": {
"provider": "github",
"releaseType": "release"
},
"asarUnpack": [
"preload.js"
],
"linux": {
"target": [
"tar.gz",
"AppImage",
"snap",
"deb",
"rpm",
"pacman"
],
"executableName": "micropad",
"category": "Office",
"icon": "build/icons"
},
"pacman": {
"depends": [
"gtk3"
]
},
"snap": {
"publish": {
"provider": "github",
"releaseType": "release"
}
},
"mac": {
"target": {
"target": "dmg",
"arch": "universal"
},
"category": "public.app-category.productivity",
"identity": null
},
"win": {
"target": [
"nsis",
"portable"
]
}
}
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,50 +0,0 @@
{lib, stdenv, fetchgit
, wxGTK, perl, python2, zlib, libGLU, libGL, libX11
, automake, autoconf
}:
stdenv.mkDerivation rec {
pname = "golly";
version = "2.8.99.2.20161122";
#src = fetchurl {
# url="mirror://sourceforge/project/golly/golly/golly-2.8/golly-2.8-src.tar.gz";
# sha256="0a4vn2hm7h4b47v2iwip1z3n9y8isf79v08aipl2iqms2m3p5204";
#};
src = fetchgit {
url = "git://git.code.sf.net/p/golly/code";
rev = "93495edf3c9639332c6eb43ca7149c69629ee5d8";
sha256 = "1j308s9zlqkr3wnl1l32s5zk7r3g4ijwawkkysl8j5ik9sibi2gk";
};
setSourceRoot = ''
export sourceRoot="$(echo */gui-wx/configure)"
'';
nativeBuildInputs = [autoconf automake];
buildInputs = [
wxGTK perl python2 zlib libGLU libGL libX11
];
# Link against Python explicitly as it is needed for scripts
makeFlags=[
"AM_LDFLAGS="
];
NIX_LDFLAGS="-l${python2.libPrefix} -lperl -ldl -lGL";
preConfigure=''
export NIX_LDFLAGS="$NIX_LDFLAGS -L$(dirname "$(find ${perl} -name libperl.so)")"
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE
-DPYTHON_SHLIB=$(basename "$(
readlink -f ${python2}/lib/libpython*.so)")"
sh autogen.sh
'';
meta = {
description = "Cellular automata simulation program";
license = lib.licenses.gpl2;
maintainers = [lib.maintainers.raskin];
platforms = lib.platforms.linux;
downloadPage = "https://sourceforge.net/projects/golly/files/golly";
};
}

View file

@ -0,0 +1,45 @@
{ lib
, stdenv
, fetchFromGitHub
, qmake
, wrapQtAppsHook
}:
stdenv.mkDerivation rec {
pname = "yuview";
version = "2.12.1";
src = fetchFromGitHub {
owner = "IENT";
repo = "YUView";
rev = "v${version}";
sha256 = "sha256-BQnlq6TBxGbwqn6lAZGBo4+2HeXdFYL33LKqKSXMvdY=";
};
nativeBuildInputs = [ qmake wrapQtAppsHook ];
patches = [ ./disable_version_check.patch ];
enableParallelBuilding = true;
meta = with lib; {
homepage = "https://ient.github.io/YUView";
description = "YUV Viewer and Analysis Tool";
longDescription = ''
YUView is a Qt based YUV player with an advanced analytic toolset for
Linux, Windows and Mac. At its core, YUView is a powerful YUV player that
can open and show almost any YUV format. With its simple interface it is
easy to navigate through sequences and inspect details and a side by side
and comparison view can help to spot differences between two sequences. A
sophisticated statistics renderer can overlay the video with supplemental
information. More features include playlists, support for visual tests and
presentations, support of compressed formats (through libde265 and
FFmpeg), support for raw RGB files as well as image files and image
sequences, and many more. Further information can be found in the YUV help
in the application itself or in our wiki.
'';
license = licenses.gpl3Plus;
maintainers = with maintainers; [ leixb ];
platforms = platforms.unix;
};
}

View file

@ -0,0 +1,15 @@
diff --git a/YUViewLib/src/common/Typedef.h b/YUViewLib/src/common/Typedef.h
--- a/YUViewLib/src/common/Typedef.h
+++ b/YUViewLib/src/common/Typedef.h
@@ -212,12 +212,7 @@ private:
#define YUVIEW_VERSION "Unknown"
#endif
-#ifndef YUVIEW_HASH
#define VERSION_CHECK 0
-#define YUVIEW_HASH 0
-#else
-#define VERSION_CHECK 1
-#endif
#define MAX_RECENT_FILES 10

View file

@ -0,0 +1,32 @@
{ lib, fetchurl, unzip }:
let
pname = "ccsymbols";
version = "2020-04-19";
in
fetchurl rec {
name = "${pname}-${version}";
url = "https://www.ctrl.blog/file/${version}_cc-symbols.zip";
sha256 = "sha256-mrNgTS6BAVJrIz9fHOjf8pkSbZtZ55UjyoL9tQ1fiA8=";
recursiveHash = true;
nativeBuildInputs = [ unzip ];
downloadToTemp = true;
postFetch = ''
mkdir -p "$out/share/fonts/ccsymbols"
unzip -d "$out/share/fonts/ccsymbols" "$downloadedFile"
'';
passthru = { inherit pname version; };
meta = with lib; {
description = "Creative Commons symbol font";
homepage = "https://www.ctrl.blog/entry/creative-commons-unicode-fallback-font.html";
maintainers = with maintainers; [ qyliss ];
license = licenses.publicDomain;
platforms = platforms.all;
};
}

View file

@ -43,6 +43,10 @@
"gnome-trash": [
"gnome-trash@gnome-trash.b00f.gitlab.com",
"gnome-trash@b00f.github.io"
],
"volume-scroller": [
"volume_scroller@trflynn89.pm.me",
"volume_scroller@noskoski"
]
},
"40": {
@ -98,6 +102,10 @@
"wireguard-indicator": [
"wireguard-indicator@gregos.me",
"wireguard-indicator@atareao.es"
],
"volume-scroller": [
"volume_scroller@trflynn89.pm.me",
"volume_scroller@noskoski"
]
},
"41": {
@ -129,5 +137,6 @@
"floatingDock@sun.wxg@gmail.com",
"floating-dock@nandoferreira_prof@hotmail.com"
]
}
},
"42": {}
}

View file

@ -58,6 +58,7 @@ in rec {
gnome38Extensions = mapUuidNames (produceExtensionsList "38");
gnome40Extensions = mapUuidNames (produceExtensionsList "40");
gnome41Extensions = mapUuidNames (produceExtensionsList "41");
gnome42Extensions = mapUuidNames (produceExtensionsList "42");
gnomeExtensions = lib.trivial.pipe (gnome40Extensions // gnome41Extensions) [
# Apply some custom patches for automatically packaged extensions

View file

@ -55,6 +55,9 @@
"extension-list@tu.berry" = "extension-list";
"screen-lock@garciabaameiro.com" = "screen-lock"; # Don't know why they got 'extension-list' as slug
"volume_scroller@trflynn89.pm.me" = "volume-scroller";
"volume_scroller@noskoski" = "volume-scroller-2";
# ####### GNOME 3.38 #######
"bottompanel@tmoer93" = "bottompanel";

File diff suppressed because one or more lines are too long

View file

@ -18,6 +18,7 @@ supported_versions = {
"38": "3.38",
"40": "40",
"41": "41",
"42": "42",
}

View file

@ -15,13 +15,13 @@
mkDerivation rec {
pname = "obconf-qt";
version = "0.16.1";
version = "0.16.2";
src = fetchFromGitHub {
owner = "lxqt";
repo = pname;
rev = version;
sha256 = "1nw2r3h7ynmygpslnzjn40vvickd988nm31wy2b645xcck89q4rm";
sha256 = "zxwQfKowgpLjfxSV2t7Ly8o7DFqoIxi60zIVCcKDQWo=";
};
nativeBuildInputs = [

View file

@ -3,10 +3,10 @@
mkXfceDerivation {
category = "apps";
pname = "xfce4-screenshooter";
version = "1.9.9";
version = "1.9.10";
odd-unstable = false;
sha256 = "sha256-QOYJl+bxRk0+spgtGADPgkw2lPLfQOwTZQuZNHWq39c=";
sha256 = "sha256-i3QdQij58JYv3fWdESUeTV0IW3A8RVGNtmuxUc6FUMg=";
buildInputs = [ exo gtk3 libsoup libxfce4ui libxfce4util xfce4-panel glib-networking ];

View file

@ -86,5 +86,5 @@ rec {
gcc = gcc10; # can bump to 11 along with stdenv.cc
};
cudatoolkit_11 = cudatoolkit_11_4;
cudatoolkit_11 = cudatoolkit_11_6;
}

View file

@ -21,6 +21,9 @@ stdenv.mkDerivation rec {
cmakeFlags = lib.optional (!(stdenv.hostPlatform.isCompatible stdenv.buildPlatform)) "-DEXTERNAL_CAPNP";
# Upstream 77ac9154440bcc216fda1092fd5bb51da62ae09c, modified to apply to v0.9.1. Drop on update.
patches = lib.optional stdenv.hostPlatform.isMusl ./musl-no-fibers.patch;
meta = with lib; {
homepage = "https://capnproto.org/";
description = "Cap'n Proto cerealization protocol";

View file

@ -0,0 +1,244 @@
From 3d983eff304c28574c330a52d70a60145c9e157e Mon Sep 17 00:00:00 2001
From: Jonas Vautherin <jonas.vautherin@gmail.com>
Date: Fri, 14 Jan 2022 00:14:26 +0100
Subject: [PATCH] Add support for musl
---
Based on upstream 77ac9154440bcc216fda1092fd5bb51da62ae09c,
modified slightly by dtzWill to apply to v0.9.1.
(drop whitespace change to a cmake "if (WITH_OPENSSL)",
leave the other instance of that change since it applies)
---
Co-authored-by: Guillaume Papin <guillaume.papin@epitech.eu>
(cherry picked from commit 77ac9154440bcc216fda1092fd5bb51da62ae09c)
---
.github/workflows/quick-test.yml | 9 ++++++
c++/CMakeLists.txt | 46 ++++++++++++++++++++++++++++-
c++/cmake/CapnProtoConfig.cmake.in | 32 ++++++++++++++++++++
c++/configure.ac | 47 ++++++++++++++++++++++++++++--
c++/src/kj/CMakeLists.txt | 11 ++++++-
5 files changed, 141 insertions(+), 4 deletions(-)
diff --git a/.github/workflows/quick-test.yml b/.github/workflows/quick-test.yml
index c18ef6a6..773ff043 100644
--- a/.github/workflows/quick-test.yml
+++ b/.github/workflows/quick-test.yml
@@ -10,6 +10,15 @@ on:
- 'release-*'
jobs:
+ Linux-musl:
+ runs-on: ubuntu-latest
+ container: alpine:latest
+ steps:
+ - uses: actions/checkout@v2
+ - name: install dependencies
+ run: apk add autoconf automake build-base cmake libtool libucontext-dev linux-headers openssl-dev
+ - name: super-test
+ run: ./super-test.sh quick
Linux:
runs-on: ubuntu-latest
strategy:
diff --git a/c++/CMakeLists.txt b/c++/CMakeLists.txt
index 548dfd1f..5de7ab26 100644
--- a/c++/CMakeLists.txt
+++ b/c++/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.4)
+cmake_minimum_required(VERSION 3.6)
project("Cap'n Proto" CXX)
set(VERSION 0.9.1)
@@ -64,6 +64,50 @@ elseif (WITH_OPENSSL)
find_package(OpenSSL REQUIRED COMPONENTS Crypto SSL)
endif()
+set(WITH_FIBERS "AUTO" CACHE STRING
+ "Whether or not to build libkj-async with fibers")
+# define list of values GUI will offer for the variable
+set_property(CACHE WITH_FIBERS PROPERTY STRINGS AUTO ON OFF)
+
+# CapnProtoConfig.cmake.in needs this variable.
+set(_WITH_LIBUCONTEXT OFF)
+
+if (WITH_FIBERS OR WITH_FIBERS STREQUAL "AUTO")
+ set(_capnp_fibers_found OFF)
+ if (WIN32 OR CYGWIN)
+ set(_capnp_fibers_found ON)
+ else()
+ # Fibers need makecontext, setcontext, getcontext, swapcontext that may be in libc,
+ # or in libucontext (e.g. for musl).
+ # We assume that makecontext implies that the others are present.
+ include(CheckLibraryExists)
+ check_library_exists(c makecontext "" HAVE_UCONTEXT_LIBC)
+ if (HAVE_UCONTEXT_LIBC)
+ set(_capnp_fibers_found ON)
+ else()
+ # Try with libucontext
+ find_package(PkgConfig)
+ if (PKG_CONFIG_FOUND)
+ pkg_check_modules(libucontext IMPORTED_TARGET libucontext)
+ if (libucontext_FOUND)
+ set(_WITH_LIBUCONTEXT ON)
+ set(_capnp_fibers_found ON)
+ endif()
+ else()
+ set(_capnp_fibers_found OFF)
+ endif()
+ endif()
+ endif()
+
+ if (_capnp_fibers_found)
+ set(WITH_FIBERS ON)
+ elseif(WITH_FIBERS STREQUAL "AUTO")
+ set(WITH_FIBERS OFF)
+ else()
+ message(FATAL_ERROR "Missing 'makecontext', 'getcontext', 'setcontext' or 'swapcontext' symbol in libc and no libucontext found: KJ won't be able to build with fibers. Disable fibers (-DWITH_FIBERS=OFF).")
+ endif()
+endif()
+
if(MSVC)
# TODO(cleanup): Enable higher warning level in MSVC, but make sure to test
# build with that warning level and clean out false positives.
diff --git a/c++/cmake/CapnProtoConfig.cmake.in b/c++/cmake/CapnProtoConfig.cmake.in
index 667f502f..0580b11a 100644
--- a/c++/cmake/CapnProtoConfig.cmake.in
+++ b/c++/cmake/CapnProtoConfig.cmake.in
@@ -62,6 +62,38 @@ if (@WITH_OPENSSL@) # WITH_OPENSSL
endif()
endif()
+if (@_WITH_LIBUCONTEXT@) # _WITH_LIBUCONTEXT
+ set(forwarded_config_flags)
+ if(CapnProto_FIND_QUIETLY)
+ list(APPEND forwarded_config_flags QUIET)
+ endif()
+ if(CapnProto_FIND_REQUIRED)
+ list(APPEND forwarded_config_flags REQUIRED)
+ endif()
+ # If the consuming project called find_package(CapnProto) with the QUIET or REQUIRED flags, forward
+ # them to calls to find_package(PkgConfig) and pkg_check_modules(). Note that find_dependency()
+ # would do this for us in the former case, but there is no such forwarding wrapper for
+ # pkg_check_modules().
+
+ find_package(PkgConfig ${forwarded_config_flags})
+ if(NOT ${PkgConfig_FOUND})
+ # If we're here, the REQUIRED flag must not have been passed, else we would have had a fatal
+ # error. Nevertheless, a diagnostic for this case is probably nice.
+ if(NOT CapnProto_FIND_QUIETLY)
+ message(WARNING "pkg-config cannot be found")
+ endif()
+ set(CapnProto_FOUND OFF)
+ return()
+ endif()
+
+ if (CMAKE_VERSION VERSION_LESS 3.6)
+ # CMake >= 3.6 required due to the use of IMPORTED_TARGET
+ message(SEND_ERROR "libucontext support requires CMake >= 3.6.")
+ endif()
+
+ pkg_check_modules(libucontext IMPORTED_TARGET ${forwarded_config_flags} libucontext)
+endif()
+
include("${CMAKE_CURRENT_LIST_DIR}/CapnProtoTargets.cmake")
include("${CMAKE_CURRENT_LIST_DIR}/CapnProtoMacros.cmake")
diff --git a/c++/configure.ac b/c++/configure.ac
index 72fe8456..b627bec8 100644
--- a/c++/configure.ac
+++ b/c++/configure.ac
@@ -32,6 +32,11 @@ AC_ARG_WITH([openssl],
[build libkj-tls by linking against openssl @<:@default=check@:>@])],
[],[with_openssl=check])
+AC_ARG_WITH([fibers],
+ [AS_HELP_STRING([--with-fibers],
+ [build libkj-async with fibers @<:@default=check@:>@])],
+ [],[with_fibers=check])
+
AC_ARG_ENABLE([reflection], [
AS_HELP_STRING([--disable-reflection], [
compile Cap'n Proto in "lite mode", in which all reflection APIs (schema.h, dynamic.h, etc.)
@@ -195,8 +200,46 @@ AS_IF([test "$with_openssl" != no], [
])
AM_CONDITIONAL([BUILD_KJ_TLS], [test "$with_openssl" != no])
-# CapnProtoConfig.cmake.in needs this variable.
-AC_SUBST(WITH_OPENSSL, $with_openssl)
+# Fibers need the symbols getcontext, setcontext, swapcontext and makecontext.
+# We assume that makecontext implies the rest.
+AS_IF([test "$with_fibers" != no], [
+ libc_supports_fibers=yes
+ AC_SEARCH_LIBS([makecontext], [], [], [
+ libc_supports_fibers=no
+ ])
+
+ AS_IF([test "$libc_supports_fibers" = yes], [
+ with_fibers=yes
+ ], [
+ # If getcontext does not exist in libc, try with libucontext
+ ucontext_supports_fibers=yes
+ AC_CHECK_LIB(ucontext, [makecontext], [], [
+ ucontext_supports_fibers=no
+ ])
+ AS_IF([test "$ucontext_supports_fibers" = yes], [
+ ASYNC_LIBS="$ASYNC_LIBS -lucontext"
+ with_fibers=yes
+ ], [
+ AS_IF([test "$with_fibers" = yes], [
+ AC_MSG_ERROR([Missing symbols required for fibers (makecontext, setcontext, ...). Disable fibers (--without-fibers) or install libucontext])
+ ], [
+ AC_MSG_WARN([could not find required symbols (makecontext, setcontext, ...) -- won't build with fibers])
+ with_fibers=no
+ ])
+ ])
+ ])
+])
+AS_IF([test "$with_fibers" = yes], [
+ CXXFLAGS="$CXXFLAGS -DKJ_USE_FIBERS"
+], [
+ CXXFLAGS="$CXXFLAGS -DKJ_USE_FIBERS=0"
+])
+
+# CapnProtoConfig.cmake.in needs these variables,
+# we force them to NO because we don't need the CMake dependency for them,
+# the dependencies are provided by the .pc files.
+AC_SUBST(WITH_OPENSSL, NO)
+AC_SUBST(_WITH_LIBUCONTEXT, NO)
AM_CONDITIONAL([HAS_FUZZING_ENGINE], [test "x$LIB_FUZZING_ENGINE" != "x"])
diff --git a/c++/src/kj/CMakeLists.txt b/c++/src/kj/CMakeLists.txt
index 813fac4d..f7b4dddf 100644
--- a/c++/src/kj/CMakeLists.txt
+++ b/c++/src/kj/CMakeLists.txt
@@ -136,6 +136,15 @@ if(NOT CAPNP_LITE)
add_library(kj-async ${kj-async_sources})
add_library(CapnProto::kj-async ALIAS kj-async)
target_link_libraries(kj-async PUBLIC kj)
+ if(WITH_FIBERS)
+ target_compile_definitions(kj-async PUBLIC KJ_USE_FIBERS)
+ if(_WITH_LIBUCONTEXT)
+ target_link_libraries(kj-async PUBLIC PkgConfig::libucontext)
+ endif()
+ else()
+ target_compile_definitions(kj-async PUBLIC KJ_USE_FIBERS=0)
+ endif()
+
if(UNIX)
# external clients of this library need to link to pthreads
target_compile_options(kj-async INTERFACE "-pthread")
@@ -181,7 +190,7 @@ if(NOT CAPNP_LITE)
add_library(kj-tls ${kj-tls_sources})
add_library(CapnProto::kj-tls ALIAS kj-tls)
target_link_libraries(kj-tls PUBLIC kj-async)
- if (WITH_OPENSSL)
+ if(WITH_OPENSSL)
target_compile_definitions(kj-tls PRIVATE KJ_HAS_OPENSSL)
target_link_libraries(kj-tls PRIVATE OpenSSL::SSL OpenSSL::Crypto)
endif()
--
2.35.1

View file

@ -9,7 +9,7 @@ node2nix=$(nix-build ../../.. -A nodePackages.node2nix)
rm -f ./node-env.nix
# Track the latest active nodejs LTS here: https://nodejs.org/en/about/releases/
${node2nix}/bin/node2nix \
"${node2nix}/bin/node2nix" \
-i node-packages.json \
-o node-packages.nix \
-c composition.nix \

File diff suppressed because it is too large Load diff

View file

@ -45,14 +45,14 @@
buildPythonPackage rec {
pname = "mitmproxy";
version = "7.0.4";
version = "8.0.0";
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "v${version}";
sha256 = "sha256-424WNG9Yj+Zfo1UTh7emknZ7xTtpFPz7Ph+FpE149FM=";
sha256 = "sha256-Efazsi8BjBrk7lBKSn2APKHxCc7mzxNrC92BL0VsnCM=";
};
propagatedBuildInputs = [
@ -98,8 +98,6 @@ buildPythonPackage rec {
requests
];
doCheck = !stdenv.isDarwin;
postPatch = ''
# remove dependency constraints
sed 's/>=\([0-9]\.\?\)\+\( \?, \?<\([0-9]\.\?\)\+\)\?\( \?, \?!=\([0-9]\.\?\)\+\)\?//' -i setup.py

View file

@ -17,7 +17,7 @@
buildPythonPackage rec {
pname = "openai";
version = "0.15.0";
version = "0.16.0";
disabled = pythonOlder "3.7.1";
@ -26,7 +26,7 @@ buildPythonPackage rec {
owner = "openai";
repo = "openai-python";
rev = "v${version}";
sha256 = "sha256-HOMBVrAz3cP8r4w8CKXKy6epxf00myYJiKv1PQ1iqhQ=";
sha256 = "sha256-9BxFOiGIf3Cy7OU0as6onV5ltECInM9wwCr+qCMuPbU=";
};
propagatedBuildInputs = [

View file

@ -8,7 +8,7 @@
}:
buildPythonPackage rec {
version = "1.9.2";
version = "1.10.0";
pname = "xmlschema";
disabled = pythonOlder "3.6";
@ -17,7 +17,7 @@ buildPythonPackage rec {
owner = "sissaschool";
repo = "xmlschema";
rev = "v${version}";
sha256 = "1d18x150g0jz3nw5al5dygizwkjgzdnmd5kf46v8ribfz48iirr6";
sha256 = "sha256-er6+/2fZTw+CDIwCGqTNoXi7KJ3XOsbcWYaH8A2SSgo=";
};
propagatedBuildInputs = [

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "sqlcheck";
version = "1.2";
version = "1.3";
src = fetchFromGitHub {
owner = "jarulraj";
repo = "sqlcheck";
rev = "v${version}";
sha256 = "0v8idyhwhbphxzmh03lih3wd9gdq317zn7wsf01infih7b6l0k69";
sha256 = "sha256-rGqCtEO2K+OT44nYU93mF1bJ07id+ixPkRSC8DcO6rY=";
fetchSubmodules = true;
};

View file

@ -62,36 +62,24 @@ let
</configuration>
'';
# temporary version patch - this needs to be fixed upstream
sdkVersionPatch = writeText "global.json.patch" ''
diff --git a/global.json b/global.json
index fe0b480a..a2ce2eeb 100644
--- a/global.json
+++ b/global.json
@@ -1,5 +1,5 @@
{
"sdk": {
- "version": "6.0.100"
+ "version": "6.0"
}
}
'';
in stdenv.mkDerivation rec {
pname = "omnisharp-roslyn";
version = "1.38.0";
version = "1.38.1";
src = fetchFromGitHub {
owner = "OmniSharp";
repo = pname;
rev = "v${version}";
sha256 = "00V+7Z1IoCSuSM0RClM81IslzCzC/FNYxHIKtnI9QDg=";
sha256 = "At8yfp5SDwPSoJM/WdQEBM4EG8q2SlHvp8qZIc9ftlE=";
};
nativeBuildInputs = [ makeWrapper dotnet-sdk ];
patches = [ sdkVersionPatch ];
postPatch = ''
# Relax the version requirement
substituteInPlace global.json \
--replace '6.0.100' '${dotnet-sdk.version}'
'';
buildPhase = ''
runHook preBuild

View file

@ -1,34 +1,34 @@
{ fetchurl }: [
{
pname = "cake.scripting.abstractions";
version = "0.8.1";
version = "0.9.0";
src = fetchurl {
url = "https://api.nuget.org/v3-flatcontainer/cake.scripting.abstractions/0.8.1/cake.scripting.abstractions.0.8.1.nupkg";
sha256 = "0hrr7a3z1qddfm21pp21wr94q2f85w5kq1gavn5dylajiaqz505c";
url = "https://api.nuget.org/v3-flatcontainer/cake.scripting.abstractions/0.9.0/cake.scripting.abstractions.0.9.0.nupkg";
sha256 = "15nqr100crclha0lzgil25j1wn45517gb34059qypj05j8psfmjx";
};
}
{
pname = "cake.scripting.transport";
version = "0.8.1";
version = "0.9.0";
src = fetchurl {
url = "https://api.nuget.org/v3-flatcontainer/cake.scripting.transport/0.8.1/cake.scripting.transport.0.8.1.nupkg";
sha256 = "0pfpgyr62r74s9h4i3kdxb92d21x14pmvwa1bfk3v2s5qdb3fxj8";
url = "https://api.nuget.org/v3-flatcontainer/cake.scripting.transport/0.9.0/cake.scripting.transport.0.9.0.nupkg";
sha256 = "1gpbvframx4dx4mzfh44cib6dfd26q7878vf073m9gv3y43sws7b";
};
}
{
pname = "dotnet.script.dependencymodel";
version = "1.1.0";
version = "1.3.1";
src = fetchurl {
url = "https://api.nuget.org/v3-flatcontainer/dotnet.script.dependencymodel/1.1.0/dotnet.script.dependencymodel.1.1.0.nupkg";
sha256 = "0ly1jwvzndrhgvrwy7kagabyca40j8w9p5jvvfj4wlpffvxq44xl";
url = "https://api.nuget.org/v3-flatcontainer/dotnet.script.dependencymodel/1.3.1/dotnet.script.dependencymodel.1.3.1.nupkg";
sha256 = "0bi9rg6c77qav8mb0rbvs5pczf9f0ii8i11c9vyib53bv6fiifxp";
};
}
{
pname = "dotnet.script.dependencymodel.nuget";
version = "1.1.0";
version = "1.3.1";
src = fetchurl {
url = "https://api.nuget.org/v3-flatcontainer/dotnet.script.dependencymodel.nuget/1.1.0/dotnet.script.dependencymodel.nuget.1.1.0.nupkg";
sha256 = "1kvjrm28jlfmcsy5fna8hy814chbcsc39ka12h8mgpdvjkr93njr";
url = "https://api.nuget.org/v3-flatcontainer/dotnet.script.dependencymodel.nuget/1.3.1/dotnet.script.dependencymodel.nuget.1.3.1.nupkg";
sha256 = "1v2xd0f2xrkgdznnjad5vhjan51k9qwi4piyg5vdz9mvywail51q";
};
}
{
@ -161,10 +161,10 @@
}
{
pname = "microsoft.codeanalysis.analyzers";
version = "3.3.2";
version = "3.3.3";
src = fetchurl {
url = "https://api.nuget.org/v3-flatcontainer/microsoft.codeanalysis.analyzers/3.3.2/microsoft.codeanalysis.analyzers.3.3.2.nupkg";
sha256 = "162vb5894zxps0cf5n9gc08an7gwybzz87allx3lsszvllr9ldx4";
url = "https://api.nuget.org/v3-flatcontainer/microsoft.codeanalysis.analyzers/3.3.3/microsoft.codeanalysis.analyzers.3.3.3.nupkg";
sha256 = "09m4cpry8ivm9ga1abrxmvw16sslxhy2k5sl14zckhqb1j164im6";
};
}
{
@ -177,82 +177,82 @@
}
{
pname = "microsoft.codeanalysis.common";
version = "4.0.0-6.21526.21";
version = "4.2.0-1.22074.8";
src = fetchurl {
url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.common/4.0.0-6.21526.21/microsoft.codeanalysis.common.4.0.0-6.21526.21.nupkg";
sha256 = "0sv5hxadf9pbclssc9kq2cnvfkrnb0f2f4gmqhp2cy4xkr9fjn92";
url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.common/4.2.0-1.22074.8/microsoft.codeanalysis.common.4.2.0-1.22074.8.nupkg";
sha256 = "113232x2s787mm0bfvw0iiy5gl2wxs9jw6yrsxah2h7mg8q0s1h8";
};
}
{
pname = "microsoft.codeanalysis.csharp";
version = "4.0.0-6.21526.21";
version = "4.2.0-1.22074.8";
src = fetchurl {
url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.csharp/4.0.0-6.21526.21/microsoft.codeanalysis.csharp.4.0.0-6.21526.21.nupkg";
sha256 = "0cgp6rjw0lj3hr19sg5xvb5g29amrnng6y23rzcv5knw7a6zavs7";
url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.csharp/4.2.0-1.22074.8/microsoft.codeanalysis.csharp.4.2.0-1.22074.8.nupkg";
sha256 = "017cljjhqyjxdp66f1l1pwxdi2qbfkbabih41frp93n0ips4qzkb";
};
}
{
pname = "microsoft.codeanalysis.csharp.features";
version = "4.0.0-6.21526.21";
version = "4.2.0-1.22074.8";
src = fetchurl {
url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.csharp.features/4.0.0-6.21526.21/microsoft.codeanalysis.csharp.features.4.0.0-6.21526.21.nupkg";
sha256 = "1a8xhrc4g2xlhmangcj0hv9872fw3zv1bcq52b54vczm6aym39pj";
url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.csharp.features/4.2.0-1.22074.8/microsoft.codeanalysis.csharp.features.4.2.0-1.22074.8.nupkg";
sha256 = "04x7jdvlrg4syc3w3j2l3rz9icd6p64km3caaa93pb53k1wmhqb0";
};
}
{
pname = "microsoft.codeanalysis.csharp.scripting";
version = "4.0.0-6.21526.21";
version = "4.2.0-1.22074.8";
src = fetchurl {
url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.csharp.scripting/4.0.0-6.21526.21/microsoft.codeanalysis.csharp.scripting.4.0.0-6.21526.21.nupkg";
sha256 = "1mlf75v2nabfi9hwx9q2d14mcxlz3n8gdkczpyvvyfh3f72pl4x3";
url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.csharp.scripting/4.2.0-1.22074.8/microsoft.codeanalysis.csharp.scripting.4.2.0-1.22074.8.nupkg";
sha256 = "1lbgxqwi07wfy1xsvqkd4lsw0rmbjkdnwzmzpzaa2lf9k07p9n3h";
};
}
{
pname = "microsoft.codeanalysis.csharp.workspaces";
version = "4.0.0-6.21526.21";
version = "4.2.0-1.22074.8";
src = fetchurl {
url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.csharp.workspaces/4.0.0-6.21526.21/microsoft.codeanalysis.csharp.workspaces.4.0.0-6.21526.21.nupkg";
sha256 = "04r6crnqml1c8mabsfrjzxc6bq6ndc9wwqwy8zsal80gwa54yj3v";
url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.csharp.workspaces/4.2.0-1.22074.8/microsoft.codeanalysis.csharp.workspaces.4.2.0-1.22074.8.nupkg";
sha256 = "0jq0g8yi105vap8ssxir86ysmpj61gqh6lgfg2k0y1q67swganlw";
};
}
{
pname = "microsoft.codeanalysis.externalaccess.omnisharp";
version = "4.0.0-6.21526.21";
version = "4.2.0-1.22074.8";
src = fetchurl {
url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.externalaccess.omnisharp/4.0.0-6.21526.21/microsoft.codeanalysis.externalaccess.omnisharp.4.0.0-6.21526.21.nupkg";
sha256 = "1f7wp5829wz8nrafqwlr74p3xgw86591cl2d9dnhs8cp9p6y5ah9";
url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.externalaccess.omnisharp/4.2.0-1.22074.8/microsoft.codeanalysis.externalaccess.omnisharp.4.2.0-1.22074.8.nupkg";
sha256 = "0wbbdqvzy0viz4vy6w1vpzjr7gpirkmvz5lcfvcvxv5ygjvxxi2w";
};
}
{
pname = "microsoft.codeanalysis.externalaccess.omnisharp.csharp";
version = "4.0.0-6.21526.21";
version = "4.2.0-1.22074.8";
src = fetchurl {
url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.externalaccess.omnisharp.csharp/4.0.0-6.21526.21/microsoft.codeanalysis.externalaccess.omnisharp.csharp.4.0.0-6.21526.21.nupkg";
sha256 = "1mc9h0svsqdrmr8bk1zgvjn1awc06mwhsp34q8grcb6n1w641hsp";
url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.externalaccess.omnisharp.csharp/4.2.0-1.22074.8/microsoft.codeanalysis.externalaccess.omnisharp.csharp.4.2.0-1.22074.8.nupkg";
sha256 = "0k5lr898hywfcbkfyiz60c28ccd1dka9l07b3c6ccmbpc68ras1w";
};
}
{
pname = "microsoft.codeanalysis.features";
version = "4.0.0-6.21526.21";
version = "4.2.0-1.22074.8";
src = fetchurl {
url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.features/4.0.0-6.21526.21/microsoft.codeanalysis.features.4.0.0-6.21526.21.nupkg";
sha256 = "0bg93pzv89v0s74mn52ng4cz2ys2bk8z96b3ml06r9wa3piz08la";
url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.features/4.2.0-1.22074.8/microsoft.codeanalysis.features.4.2.0-1.22074.8.nupkg";
sha256 = "1h0wsw4zg0f36ib3hjcc9y2y8jhaazwy17j2jv17363abbc3pf3l";
};
}
{
pname = "microsoft.codeanalysis.scripting.common";
version = "4.0.0-6.21526.21";
version = "4.2.0-1.22074.8";
src = fetchurl {
url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.scripting.common/4.0.0-6.21526.21/microsoft.codeanalysis.scripting.common.4.0.0-6.21526.21.nupkg";
sha256 = "0s5h10zj2qyfs0a09agdba06vc09pcq2wamr7pf8dx415vkjswyj";
url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.scripting.common/4.2.0-1.22074.8/microsoft.codeanalysis.scripting.common.4.2.0-1.22074.8.nupkg";
sha256 = "06xzv4jlmz1q9v5r6d2ak734wwskld66maqp763nq3h62nhrxyxg";
};
}
{
pname = "microsoft.codeanalysis.workspaces.common";
version = "4.0.0-6.21526.21";
version = "4.2.0-1.22074.8";
src = fetchurl {
url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.workspaces.common/4.0.0-6.21526.21/microsoft.codeanalysis.workspaces.common.4.0.0-6.21526.21.nupkg";
sha256 = "0kp2l72zpfydfqv5cm8wqvk86wpgh946j8sw9hvhm3xwzflchl7b";
url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.workspaces.common/4.2.0-1.22074.8/microsoft.codeanalysis.workspaces.common.4.2.0-1.22074.8.nupkg";
sha256 = "09fivivc5s2p7iy5939gizs7kyvhn647sgjz55dbhmla5z774l80";
};
}
{
@ -265,18 +265,18 @@
}
{
pname = "microsoft.csharp";
version = "4.3.0";
version = "4.7.0";
src = fetchurl {
url = "https://api.nuget.org/v3-flatcontainer/microsoft.csharp/4.3.0/microsoft.csharp.4.3.0.nupkg";
sha256 = "0gw297dgkh0al1zxvgvncqs0j15lsna9l1wpqas4rflmys440xvb";
url = "https://api.nuget.org/v3-flatcontainer/microsoft.csharp/4.7.0/microsoft.csharp.4.7.0.nupkg";
sha256 = "0gd67zlw554j098kabg887b5a6pq9kzavpa3jjy5w53ccjzjfy8j";
};
}
{
pname = "microsoft.diasymreader";
version = "1.3.0";
version = "1.4.0-beta2-21528-02";
src = fetchurl {
url = "https://api.nuget.org/v3-flatcontainer/microsoft.diasymreader/1.3.0/microsoft.diasymreader.1.3.0.nupkg";
sha256 = "1nswah83z3pfibaqmjd8y96fgnkrak8005qqinc8nqs5mpkf5pfb";
url = "https://api.nuget.org/v3-flatcontainer/microsoft.diasymreader/1.4.0-beta2-21528-02/microsoft.diasymreader.1.4.0-beta2-21528-02.nupkg";
sha256 = "14yfqjfmibyzipy0rdvknvy19brydac9llzrzj82wv6kwb8ap5x2";
};
}
{
@ -471,14 +471,6 @@
sha256 = "1x5isi71z02khikzvm7vaschb006pqqrsv86ky1x08a4hir4s43h";
};
}
{
pname = "microsoft.extensions.logging.abstractions";
version = "2.1.1";
src = fetchurl {
url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.logging.abstractions/2.1.1/microsoft.extensions.logging.abstractions.2.1.1.nupkg";
sha256 = "1sgpwj0sa0ac7m5fnkb482mnch8fsv8hfbvk53c6lyh47s1xhdjg";
};
}
{
pname = "microsoft.extensions.logging.abstractions";
version = "6.0.0";

View file

@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec {
pname = "rslint";
version = "0.3.1";
version = "0.3.2";
src = fetchFromGitHub {
owner = "rslint";
repo = pname;
rev = "v${version}";
sha256 = "sha256-AkSQpGbhRVmDuDAbMzx00BELpI2szJ+rjKo8Qjcug1E=";
sha256 = "sha256-3DEwi+bhqwP8aMpZYl07GZbe7IecraB3m54lZ5LViVc=";
};
cargoSha256 = "sha256-U8Uf7LG6+dOi+XxRpJrpy0kAqyr8fAlVchE9ZJ+ex/s=";
cargoSha256 = "sha256-bqF5v52uxbvmVmphXAmcWlCI6nbQzZemCxlTcqhRDTY=";
cargoBuildFlags = [
"-p" "rslint_cli"

View file

@ -1,5 +1,6 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl jq nix-prefetch libarchive
# shellcheck shell=bash
set -euo pipefail
cd "$(dirname "$0")"
owner=rust-analyzer

View file

@ -9,13 +9,13 @@ let
in
rustPlatform.buildRustPackage rec {
pname = "t-rec";
version = "0.6.0";
version = "0.7.3";
src = fetchFromGitHub {
owner = "sassman";
repo = "t-rec-rs";
rev = "v${version}";
sha256 = "InArrBqfhDrsonjmCIPTBVOA/s2vYml9Ay6cdrKLd7c=";
sha256 = "sha256-rVlNyvSeiQbauf8CREJDmb02wv6b/4IeOerRCRWVQVA=";
};
nativeBuildInputs = [ makeWrapper ];
@ -26,7 +26,7 @@ rustPlatform.buildRustPackage rec {
wrapProgram "$out/bin/t-rec" --prefix PATH : "${binPath}"
'';
cargoSha256 = "4gwfrC65YlXV6Wu2ninK1TvMNUkY1GstVYPr0FK+xLU=";
cargoSha256 = "sha256-pcdvEHxqU6ZJwcsbnQEd9M0waK7y4aluYEpLIlZoK/s=";
meta = with lib; {
description = "Blazingly fast terminal recorder that generates animated gif images for the web written in rust";

View file

@ -0,0 +1,18 @@
{ lib, buildPackages, fetchurl, perl, buildLinux, nixosTests, modDirVersionArg ? null, ... } @ args:
with lib;
buildLinux (args // rec {
version = "5.17";
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
# branchVersion needs to be x.y
extraMeta.branch = versions.majorMinor version;
src = fetchurl {
url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
sha256 = "sha256-VV/vYd3bWRqD1i3QTiUnkvmvS6nvFGg/ZIQORvogsbE=";
};
} // (args.argsOverride or { }))

View file

@ -0,0 +1,49 @@
{ stdenv, meson, ninja, lib, nixosTests, fetchFromGitHub }:
let
self = stdenv.mkDerivation {
name = "nix-ld";
src = fetchFromGitHub {
owner = "Mic92";
repo = "nix-ld";
rev = "1.0.0";
sha256 = "sha256-QYPg8wPpq7q5Xd1jW17Lh36iKFSsVkN/gWYoQRv2XoU=";
};
doCheck = true;
nativeBuildInputs = [ meson ninja ];
mesonFlags = [
"-Dnix-system=${stdenv.system}"
];
hardeningDisable = [
"stackprotector"
];
postInstall = ''
mkdir -p $out/nix-support
basename $(< ${stdenv.cc}/nix-support/dynamic-linker) > $out/nix-support/ld-name
'';
passthru.tests.nix-ld = nixosTests.nix-ld;
passthru.ldPath = let
libDir = if stdenv.system == "x86_64-linux" ||
stdenv.system == "mips64-linux" ||
stdenv.system == "powerpc64le-linux"
then
"/lib64"
else
"/lib";
ldName = lib.fileContents "${self}/nix-support/ld-name";
in "${libDir}/${ldName}";
meta = with lib; {
description = "Run unpatched dynamic binaries on NixOS";
homepage = "https://github.com/Mic92/nix-ld";
license = licenses.mit;
maintainers = with maintainers; [ mic92 ];
platforms = platforms.linux;
};
};
in self

View file

@ -12,16 +12,16 @@
# server, and the FHS userenv and corresponding NixOS module should
# automatically pick up the changes.
stdenv.mkDerivation rec {
version = "1.25.6.5577-c8bd13540";
version = "1.25.7.5604-980a13e02";
pname = "plexmediaserver";
# Fetch the source
src = if stdenv.hostPlatform.system == "aarch64-linux" then fetchurl {
url = "https://downloads.plex.tv/plex-media-server-new/${version}/debian/plexmediaserver_${version}_arm64.deb";
hash = "sha256-5z9Yl2pHrIrf9LQ3kzYJc372NeVsrP4dHTJglrh1Nw8=";
hash = "sha256-X0KaaX5NvF04pyRHSUeHtXQ+OTv9BK0bzDl1J5C6Vts=";
} else fetchurl {
url = "https://downloads.plex.tv/plex-media-server-new/${version}/debian/plexmediaserver_${version}_amd64.deb";
hash = "sha256-nPjxknyhJNosXmhtvQVvYlNMBdSug8hhwrsVIEiBCG0=";
hash = "sha256-tqpOQDdHBl55jSyonNV7/UjCcx6jY9VdAzh/zBA/CAs=";
};
outputs = [ "out" "basedb" ];

View file

@ -1,17 +1,24 @@
{ lib, fetchFromGitHub, rustPlatform }:
{ lib
, stdenv
, fetchFromGitHub
, rustPlatform
, darwin
}:
rustPlatform.buildRustPackage rec {
pname = "fend";
version = "0.1.29";
version = "1.0.1";
src = fetchFromGitHub {
owner = "printfn";
repo = pname;
rev = "v${version}";
sha256 = "sha256-g3TycwDtB8+5innRlJukuqD2pSRz71slxOKjgzHve7w=";
sha256 = "sha256-EV3uxoN6RuQ7grXLcFev1ZCfjVnVIDumQmHdpUm1Jbc=";
};
cargoSha256 = "sha256-LYUQeDoq5C9p5pMvFtLQegl7Cl6K+21DPzjSrnCqJo8=";
cargoSha256 = "sha256-lNpFdrriAglLaiWjxVP4JoiBuU+zdLlerAIApIvHHZw=";
buildInputs = lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ];
doInstallCheck = true;

View file

@ -38,10 +38,10 @@
}:
mkDerivation {
pname = "nix-output-monitor";
version = "1.1.2.1";
version = "1.1.3.0";
src = fetchzip {
url = "https://github.com/maralorn/nix-output-monitor/archive/refs/tags/v1.1.2.1.tar.gz";
sha256 = "00jn963jskyqnwvbvn5x0z92x2gv105p5h8m13nlmr90lj4axynx";
url = "https://github.com/maralorn/nix-output-monitor/archive/refs/tags/v1.1.3.0.tar.gz";
sha256 = "085phr84m0b056mj3c09gzcwv7b1wax7nhsg2qscahfz0q8f4ym7";
};
isLibrary = true;
isExecutable = true;

View file

@ -7,16 +7,16 @@
buildGoModule rec {
pname = "cameradar";
version = "5.0.1";
version = "5.0.2";
src = fetchFromGitHub {
owner = "Ullaakut";
repo = pname;
rev = "v${version}";
sha256 = "03nm03cqhq04ixw4rssfkgrin918pa0v7ai26v4h99gz7j8hs7ll";
sha256 = "sha256-GOqmz/aiOLGMfs9rQBIEQSgBycPzhu8BohcAc2U+gBw=";
};
vendorSha256 = "099np130dn51nb4lcyrrm46fihfipxrw0vpqs2jh5g4c6pnbk200";
vendorSha256 = "sha256-AIi57DWMvAKl0PhuwHO/0cHoDKk5e0bJsqHYBka4NiU=";
nativeBuildInputs = [
pkg-config

View file

@ -1,20 +0,0 @@
{ lib, fetchurl, python2Packages }:
python2Packages.buildPythonApplication rec {
pname = "vnc2flv";
version = "20100207";
src = fetchurl {
url = "mirror://pypi/v/vnc2flv/${pname}-${version}.tar.gz";
sha256 = "14d4nm8yim0bm0nd3wyj7z4zdsg5zk3d9bhhvwdc36x03r8d0sbq";
};
# error: invalid command 'test'
doCheck = false;
meta = {
description = "Tool to record VNC sessions to Flash Video";
homepage = "https://www.unixuser.org/~euske/python/vnc2flv/";
license = lib.licenses.mit;
};
}

View file

@ -0,0 +1,59 @@
{ lib
, stdenv
, fetchFromGitHub
, slurp
, grim
, gnome
, wl-clipboard
, imagemagick
, makeWrapper
}:
stdenv.mkDerivation rec {
pname = "wl-color-picker";
version = "1.3";
src = fetchFromGitHub {
owner = "jgmdev";
repo = "wl-color-picker";
rev = "v${version}";
sha256 = "sha256-lvhpXy4Sd1boYNGhbPoZTJlBhlW5obltDOrEzB1Gq0A=";
};
nativeBuildInputs = [ makeWrapper ];
patchPhase = ''
substituteInPlace Makefile \
--replace 'which' 'ls' \
--replace 'grim' "${grim}/bin/grim" \
--replace 'slurp' "${slurp}/bin/slurp" \
--replace 'convert' "${imagemagick}/bin/convert" \
--replace 'zenity' "${gnome.zenity}/bin/zenity" \
--replace 'wl-copy' "${wl-clipboard}/bin/wl-copy"
'';
installFlags = [
"DESTDIR=${placeholder "out"}"
];
postInstall = ''
wrapProgram $out/usr/bin/wl-color-picker \
--prefix PATH : ${lib.makeBinPath [
grim
slurp
imagemagick
gnome.zenity
wl-clipboard
]}
mkdir -p $out/bin
ln -s $out/usr/bin/wl-color-picker $out/bin/wl-color-picker
'';
meta = with lib; {
description = "Wayland color picker that also works on wlroots";
homepage = "https://github.com/jgmdev/wl-color-picker";
license = licenses.mit;
maintainers = with maintainers; [ onny ];
platforms = platforms.linux;
};
}

View file

@ -430,6 +430,7 @@ mapAliases ({
gobby5 = gobby; # Added 2021-02-01
gobjectIntrospection = throw "'gobjectIntrospection' has been renamed to/replaced by 'gobject-introspection'"; # Converted to throw 2022-02-22
gogoclient = throw "gogoclient has been removed, because it was unmaintained"; # Added 2021-12-15
golly-beta = throw "golly-beta has been removed: use golly instead"; # Added 2022-03-21
goimports = throw "'goimports' has been renamed to/replaced by 'gotools'"; # Converted to throw 2022-02-22
gometalinter = throw "gometalinter was abandoned by upstream. Consider switching to golangci-lint instead"; # Added 2020-04-23
googleAuthenticator = throw "'googleAuthenticator' has been renamed to/replaced by 'google-authenticator'"; # Converted to throw 2022-02-22
@ -638,6 +639,7 @@ mapAliases ({
linuxPackages_5_10 = linuxKernel.packages.linux_5_10;
linuxPackages_5_15 = linuxKernel.packages.linux_5_15;
linuxPackages_5_16 = linuxKernel.packages.linux_5_16;
linuxPackages_5_17 = linuxKernel.packages.linux_5_17;
linuxPackages_5_4 = linuxKernel.packages.linux_5_4;
linuxPackages_hardkernel_4_14 = linuxKernel.packages.hardkernel_4_14;
linuxPackages_rpi0 = linuxKernel.packages.linux_rpi1;
@ -655,6 +657,7 @@ mapAliases ({
linux_5_10 = linuxKernel.kernels.linux_5_10;
linux_5_15 = linuxKernel.kernels.linux_5_15;
linux_5_16 = linuxKernel.kernels.linux_5_16;
linux_5_17 = linuxKernel.kernels.linux_5_17;
linux_5_4 = linuxKernel.kernels.linux_5_4;
linux_mptcp_95 = linuxKernel.kernels.linux_mptcp_95;
linux_rpi0 = linuxKernel.kernels.linux_rpi1;
@ -1268,12 +1271,14 @@ mapAliases ({
virtmanager = virt-manager; # Added 2019-10-29
virtmanager-qt = virt-manager-qt; # Added 2019-10-29
virtviewer = throw "'virtviewer' has been renamed to/replaced by 'virt-viewer'"; # Converted to throw 2022-02-22
vnc2flv = throw "vnc2flv has been removed: abandoned by upstream"; # Added 2022-03-21
vorbisTools = throw "'vorbisTools' has been renamed to/replaced by 'vorbis-tools'"; # Converted to throw 2022-02-22
vtun = throw "vtune has been removed as it's unmaintained upstream"; # Added 2021-10-29
### W ###
way-cooler = throw "way-cooler is abandoned by its author: https://way-cooler.org/blog/2020/01/09/way-cooler-post-mortem.html"; # Added 2020-01-13
webbrowser = throw "webbrowser was removed because it's unmaintained upstream and was marked as broken in nixpkgs for over a year"; # Added 2022-03-21
webkit = throw "'webkit' has been renamed to/replaced by 'webkitgtk'"; # Converted to throw 2022-02-22
webkitgtk24x-gtk2 = throw "webkitgtk24x-gtk2 has been removed because it's insecure. Please use webkitgtk"; # Added 2019-12-05
webkitgtk24x-gtk3 = throw "webkitgtk24x-gtk3 has been removed because it's insecure. Please use webkitgtk"; # Added 2019-12-05

View file

@ -2731,6 +2731,8 @@ with pkgs;
wl-clipboard-x11 = callPackage ../tools/wayland/wl-clipboard-x11 { };
wl-color-picker = callPackage ../tools/wayland/wl-color-picker { };
wl-mirror = callPackage ../tools/wayland/wl-mirror { };
wlogout = callPackage ../tools/wayland/wlogout { };
@ -3536,6 +3538,10 @@ with pkgs;
metabase = callPackage ../servers/metabase { };
micropad = callPackage ../applications/office/micropad {
electron = electron_17;
};
midicsv = callPackage ../tools/audio/midicsv { };
miniscript = callPackage ../applications/blockchains/miniscript { };
@ -10923,8 +10929,6 @@ with pkgs;
vkBasalt32 = pkgsi686Linux.vkBasalt;
};
vnc2flv = callPackage ../tools/video/vnc2flv {};
vncrec = callPackage ../tools/video/vncrec { };
vo-amrwbenc = callPackage ../development/libraries/vo-amrwbenc { };
@ -23617,6 +23621,8 @@ with pkgs;
cascadia-code = callPackage ../data/fonts/cascadia-code { };
ccsymbols = callPackage ../data/fonts/ccsymbols { };
charis-sil = callPackage ../data/fonts/charis-sil { };
cherry = callPackage ../data/fonts/cherry { inherit (xorg) fonttosfnt mkfontdir; };
@ -27850,6 +27856,8 @@ with pkgs;
nixos-shell = callPackage ../tools/virtualization/nixos-shell {};
nix-ld = callPackage ../os-specific/linux/nix-ld {};
noaa-apt = callPackage ../applications/radio/noaa-apt { };
node-problem-detector = callPackage ../applications/networking/cluster/node-problem-detector { };
@ -28282,8 +28290,6 @@ with pkgs;
palemoon = callPackage ../applications/networking/browsers/palemoon { };
webbrowser = callPackage ../applications/networking/browsers/webbrowser {};
pamix = callPackage ../applications/audio/pamix { };
pamixer = callPackage ../applications/audio/pamixer { };
@ -28961,6 +28967,10 @@ with pkgs;
sish = callPackage ../tools/networking/sish { };
sky = libsForQt5.callPackage ../applications/networking/instant-messengers/sky {
libjpeg_turbo = libjpeg_turbo.override { enableJpeg8 = true; };
};
skypeforlinux = callPackage ../applications/networking/instant-messengers/skypeforlinux { };
SkypeExport = callPackage ../applications/networking/instant-messengers/SkypeExport { };
@ -30410,6 +30420,8 @@ with pkgs;
ytmdl = callPackage ../tools/misc/ytmdl { };
yuview = libsForQt5.yuview;
zam-plugins = callPackage ../applications/audio/zam-plugins { };
zammad = callPackage ../applications/networking/misc/zammad { };
@ -31963,6 +31975,7 @@ with pkgs;
gnome38Extensions
gnome40Extensions
gnome41Extensions
gnome42Extensions
;
gnome-connections = callPackage ../desktops/gnome/apps/gnome-connections { };
@ -33005,7 +33018,6 @@ with pkgs;
gravit = callPackage ../applications/science/astronomy/gravit { };
golly = callPackage ../applications/science/misc/golly { wxGTK = wxGTK30; };
golly-beta = callPackage ../applications/science/misc/golly/beta.nix { wxGTK = wxGTK30; };
megam = callPackage ../applications/science/misc/megam {
inherit (ocaml-ng.ocamlPackages_4_07) ocaml;

View file

@ -166,6 +166,13 @@ in {
];
};
linux_5_17 = callPackage ../os-specific/linux/kernel/linux-5.17.nix {
kernelPatches = [
kernelPatches.bridge_stp_helper
kernelPatches.request_key_helper
];
};
linux_testing = let
testing = callPackage ../os-specific/linux/kernel/linux-testing.nix {
kernelPatches = [
@ -485,6 +492,7 @@ in {
linux_5_10 = recurseIntoAttrs (packagesFor kernels.linux_5_10);
linux_5_15 = recurseIntoAttrs (packagesFor kernels.linux_5_15);
linux_5_16 = recurseIntoAttrs (packagesFor kernels.linux_5_16);
linux_5_17 = recurseIntoAttrs (packagesFor kernels.linux_5_17);
};
rtPackages = {
@ -529,7 +537,7 @@ in {
packageAliases = {
linux_default = if stdenv.hostPlatform.isi686 then packages.linux_5_10 else packages.linux_5_15;
# Update this when adding the newest kernel major version!
linux_latest = packages.linux_5_16;
linux_latest = packages.linux_5_17;
linux_mptcp = packages.linux_mptcp_95;
linux_rt_default = packages.linux_rt_5_4;
linux_rt_latest = packages.linux_rt_5_10;

View file

@ -226,4 +226,5 @@ in (kdeFrameworks // plasmaMobileGear // plasma5 // plasma5.thirdParty // kdeGea
soundkonverter = callPackage ../applications/audio/soundkonverter {};
yuview = callPackage ../applications/video/yuview { };
})))