mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-10-15 08:58:58 +03:00
Merge staging-next into staging
This commit is contained in:
commit
b50d36a69a
32
.git-blame-ignore-revs
Normal file
32
.git-blame-ignore-revs
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
# This file contains a list of commits that are not likely what you
|
||||||
|
# are looking for in a blame, such as mass reformatting or renaming.
|
||||||
|
# You can set this file as a default ignore file for blame by running
|
||||||
|
# the following command.
|
||||||
|
#
|
||||||
|
# $ git config blame.ignoreRevsFile .git-blame-ignore-revs
|
||||||
|
#
|
||||||
|
# To temporarily not use this file add
|
||||||
|
# --ignore-revs-file=""
|
||||||
|
# to your blame command.
|
||||||
|
#
|
||||||
|
# The ignoreRevsFile can't be set globally due to blame failing if the file isn't present.
|
||||||
|
# To not have to set the option in every repository it is needed in,
|
||||||
|
# save the following script in your path with the name "git-bblame"
|
||||||
|
# now you can run
|
||||||
|
# $ git bblame $FILE
|
||||||
|
# to use the .git-blame-ignore-revs file if it is present.
|
||||||
|
#
|
||||||
|
# #!/usr/bin/env bash
|
||||||
|
# repo_root=$(git rev-parse --show-toplevel)
|
||||||
|
# if [[ -e $repo_root/.git-blame-ignore-revs ]]; then
|
||||||
|
# git blame --ignore-revs-file="$repo_root/.git-blame-ignore-revs" $@
|
||||||
|
# else
|
||||||
|
# git blame $@
|
||||||
|
# fi
|
||||||
|
|
||||||
|
|
||||||
|
# nixos/modules/rename: Sort alphabetically
|
||||||
|
1f71224fe86605ef4cd23ed327b3da7882dad382
|
||||||
|
|
||||||
|
# nixos: fix module paths in rename.nix
|
||||||
|
d08ede042b74b8199dc748323768227b88efcf7c
|
@ -151,8 +151,7 @@ rec {
|
|||||||
};
|
};
|
||||||
|
|
||||||
_module.freeformType = mkOption {
|
_module.freeformType = mkOption {
|
||||||
# Disallow merging for now, but could be implemented nicely with a `types.optionType`
|
type = types.nullOr types.optionType;
|
||||||
type = types.nullOr (types.uniq types.attrs);
|
|
||||||
internal = true;
|
internal = true;
|
||||||
default = null;
|
default = null;
|
||||||
description = ''
|
description = ''
|
||||||
|
@ -240,6 +240,11 @@ checkConfigOutput '^"24"$' config.foo ./freeform-attrsOf.nix ./freeform-str-dep-
|
|||||||
checkConfigError 'infinite recursion encountered' config.foo ./freeform-attrsOf.nix ./freeform-unstr-dep-str.nix
|
checkConfigError 'infinite recursion encountered' config.foo ./freeform-attrsOf.nix ./freeform-unstr-dep-str.nix
|
||||||
checkConfigError 'The option .* is used but not defined' config.foo ./freeform-lazyAttrsOf.nix ./freeform-unstr-dep-str.nix
|
checkConfigError 'The option .* is used but not defined' config.foo ./freeform-lazyAttrsOf.nix ./freeform-unstr-dep-str.nix
|
||||||
checkConfigOutput '^"24"$' config.foo ./freeform-lazyAttrsOf.nix ./freeform-unstr-dep-str.nix ./define-value-string.nix
|
checkConfigOutput '^"24"$' config.foo ./freeform-lazyAttrsOf.nix ./freeform-unstr-dep-str.nix ./define-value-string.nix
|
||||||
|
# submodules in freeformTypes should have their locations annotated
|
||||||
|
checkConfigOutput '/freeform-submodules.nix"$' config.fooDeclarations.0 ./freeform-submodules.nix
|
||||||
|
# freeformTypes can get merged using `types.type`, including submodules
|
||||||
|
checkConfigOutput '^10$' config.free.xxx.foo ./freeform-submodules.nix
|
||||||
|
checkConfigOutput '^10$' config.free.yyy.bar ./freeform-submodules.nix
|
||||||
|
|
||||||
## types.anything
|
## types.anything
|
||||||
# Check that attribute sets are merged recursively
|
# Check that attribute sets are merged recursively
|
||||||
@ -299,6 +304,13 @@ checkConfigOutput "10" config.processedToplevel ./raw.nix
|
|||||||
checkConfigError "The option .multiple. is defined multiple times" config.multiple ./raw.nix
|
checkConfigError "The option .multiple. is defined multiple times" config.multiple ./raw.nix
|
||||||
checkConfigOutput "bar" config.priorities ./raw.nix
|
checkConfigOutput "bar" config.priorities ./raw.nix
|
||||||
|
|
||||||
|
# Test that types.optionType merges types correctly
|
||||||
|
checkConfigOutput '^10$' config.theOption.int ./optionTypeMerging.nix
|
||||||
|
checkConfigOutput '^"hello"$' config.theOption.str ./optionTypeMerging.nix
|
||||||
|
|
||||||
|
# Test that types.optionType correctly annotates option locations
|
||||||
|
checkConfigError 'The option .theOption.nested. in .other.nix. is already declared in .optionTypeFile.nix.' config.theOption.nested ./optionTypeFile.nix
|
||||||
|
|
||||||
cat <<EOF
|
cat <<EOF
|
||||||
====== module tests ======
|
====== module tests ======
|
||||||
$pass Pass
|
$pass Pass
|
||||||
|
22
lib/tests/modules/freeform-submodules.nix
Normal file
22
lib/tests/modules/freeform-submodules.nix
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
{ lib, options, ... }: with lib.types; {
|
||||||
|
|
||||||
|
options.fooDeclarations = lib.mkOption {
|
||||||
|
default = (options.free.type.getSubOptions [])._freeformOptions.foo.declarations;
|
||||||
|
};
|
||||||
|
|
||||||
|
options.free = lib.mkOption {
|
||||||
|
type = submodule {
|
||||||
|
config._module.freeformType = lib.mkMerge [
|
||||||
|
(attrsOf (submodule {
|
||||||
|
options.foo = lib.mkOption {};
|
||||||
|
}))
|
||||||
|
(attrsOf (submodule {
|
||||||
|
options.bar = lib.mkOption {};
|
||||||
|
}))
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config.free.xxx.foo = 10;
|
||||||
|
config.free.yyy.bar = 10;
|
||||||
|
}
|
28
lib/tests/modules/optionTypeFile.nix
Normal file
28
lib/tests/modules/optionTypeFile.nix
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
{ config, lib, ... }: {
|
||||||
|
|
||||||
|
_file = "optionTypeFile.nix";
|
||||||
|
|
||||||
|
options.theType = lib.mkOption {
|
||||||
|
type = lib.types.optionType;
|
||||||
|
};
|
||||||
|
|
||||||
|
options.theOption = lib.mkOption {
|
||||||
|
type = config.theType;
|
||||||
|
default = {};
|
||||||
|
};
|
||||||
|
|
||||||
|
config.theType = lib.mkMerge [
|
||||||
|
(lib.types.submodule {
|
||||||
|
options.nested = lib.mkOption {
|
||||||
|
type = lib.types.int;
|
||||||
|
};
|
||||||
|
})
|
||||||
|
(lib.types.submodule {
|
||||||
|
_file = "other.nix";
|
||||||
|
options.nested = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
};
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
|
}
|
27
lib/tests/modules/optionTypeMerging.nix
Normal file
27
lib/tests/modules/optionTypeMerging.nix
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
{ config, lib, ... }: {
|
||||||
|
|
||||||
|
options.theType = lib.mkOption {
|
||||||
|
type = lib.types.optionType;
|
||||||
|
};
|
||||||
|
|
||||||
|
options.theOption = lib.mkOption {
|
||||||
|
type = config.theType;
|
||||||
|
};
|
||||||
|
|
||||||
|
config.theType = lib.mkMerge [
|
||||||
|
(lib.types.submodule {
|
||||||
|
options.int = lib.mkOption {
|
||||||
|
type = lib.types.int;
|
||||||
|
default = 10;
|
||||||
|
};
|
||||||
|
})
|
||||||
|
(lib.types.submodule {
|
||||||
|
options.str = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
};
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
|
config.theOption.str = "hello";
|
||||||
|
|
||||||
|
}
|
@ -61,7 +61,11 @@ let
|
|||||||
boolToString
|
boolToString
|
||||||
;
|
;
|
||||||
|
|
||||||
inherit (lib.modules) mergeDefinitions;
|
inherit (lib.modules)
|
||||||
|
mergeDefinitions
|
||||||
|
fixupOptionType
|
||||||
|
mergeOptionDecls
|
||||||
|
;
|
||||||
outer_types =
|
outer_types =
|
||||||
rec {
|
rec {
|
||||||
isType = type: x: (x._type or "") == type;
|
isType = type: x: (x._type or "") == type;
|
||||||
@ -525,6 +529,31 @@ rec {
|
|||||||
modules = toList modules;
|
modules = toList modules;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# The type of a type!
|
||||||
|
optionType = mkOptionType {
|
||||||
|
name = "optionType";
|
||||||
|
description = "optionType";
|
||||||
|
check = value: value._type or null == "option-type";
|
||||||
|
merge = loc: defs:
|
||||||
|
let
|
||||||
|
# Prepares the type definitions for mergeOptionDecls, which
|
||||||
|
# annotates submodules types with file locations
|
||||||
|
optionModules = map ({ value, file }:
|
||||||
|
{
|
||||||
|
_file = file;
|
||||||
|
# There's no way to merge types directly from the module system,
|
||||||
|
# but we can cheat a bit by just declaring an option with the type
|
||||||
|
options = lib.mkOption {
|
||||||
|
type = value;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
) defs;
|
||||||
|
# Merges all the types into a single one, including submodule merging.
|
||||||
|
# This also propagates file information to all submodules
|
||||||
|
mergedOption = fixupOptionType loc (mergeOptionDecls loc optionModules);
|
||||||
|
in mergedOption.type;
|
||||||
|
};
|
||||||
|
|
||||||
submoduleWith =
|
submoduleWith =
|
||||||
{ modules
|
{ modules
|
||||||
, specialArgs ? {}
|
, specialArgs ? {}
|
||||||
|
@ -2418,6 +2418,23 @@
|
|||||||
githubId = 5510514;
|
githubId = 5510514;
|
||||||
name = "Conrad Mearns";
|
name = "Conrad Mearns";
|
||||||
};
|
};
|
||||||
|
corbanr = {
|
||||||
|
email = "corban@raunco.co";
|
||||||
|
github = "CorbanR";
|
||||||
|
githubId = 1918683;
|
||||||
|
matrix = "@corbansolo:matrix.org";
|
||||||
|
name = "Corban Raun";
|
||||||
|
keys = [
|
||||||
|
{
|
||||||
|
longkeyid = "rsa4096/0xA697A56F1F151189";
|
||||||
|
fingerprint = "6607 0B24 8CE5 64ED 22CE 0950 A697 A56F 1F15 1189";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
longkeyid = "ed25519/0x230F4AC153F90F29";
|
||||||
|
fingerprint = "D8CB 816A B678 A4E6 1EC7 5325 230F 4AC1 53F9 0F29";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
couchemar = {
|
couchemar = {
|
||||||
email = "couchemar@yandex.ru";
|
email = "couchemar@yandex.ru";
|
||||||
github = "couchemar";
|
github = "couchemar";
|
||||||
@ -10276,6 +10293,13 @@
|
|||||||
githubId = 6047658;
|
githubId = 6047658;
|
||||||
name = "Ryan Horiguchi";
|
name = "Ryan Horiguchi";
|
||||||
};
|
};
|
||||||
|
rhysmdnz = {
|
||||||
|
email = "rhys@memes.nz";
|
||||||
|
matrix = "@rhys:memes.nz";
|
||||||
|
github = "rhysmdnz";
|
||||||
|
githubId = 2162021;
|
||||||
|
name = "Rhys Davies";
|
||||||
|
};
|
||||||
ribose-jeffreylau = {
|
ribose-jeffreylau = {
|
||||||
name = "Jeffrey Lau";
|
name = "Jeffrey Lau";
|
||||||
email = "jeffrey.lau@ribose.com";
|
email = "jeffrey.lau@ribose.com";
|
||||||
|
@ -74,6 +74,13 @@ merging is handled.
|
|||||||
should only be used when checking, merging and nested evaluation are not
|
should only be used when checking, merging and nested evaluation are not
|
||||||
desirable.
|
desirable.
|
||||||
|
|
||||||
|
`types.optionType`
|
||||||
|
|
||||||
|
: The type of an option's type. Its merging operation ensures that nested
|
||||||
|
options have the correct file location annotated, and that if possible,
|
||||||
|
multiple option definitions are correctly merged together. The main use
|
||||||
|
case is as the type of the `_module.freeformType` option.
|
||||||
|
|
||||||
`types.attrs`
|
`types.attrs`
|
||||||
|
|
||||||
: A free-form attribute set.
|
: A free-form attribute set.
|
||||||
|
@ -111,6 +111,20 @@
|
|||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
<varlistentry>
|
||||||
|
<term>
|
||||||
|
<literal>types.optionType</literal>
|
||||||
|
</term>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
The type of an option’s type. Its merging operation ensures
|
||||||
|
that nested options have the correct file location
|
||||||
|
annotated, and that if possible, multiple option definitions
|
||||||
|
are correctly merged together. The main use case is as the
|
||||||
|
type of the <literal>_module.freeformType</literal> option.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term>
|
<term>
|
||||||
<literal>types.attrs</literal>
|
<literal>types.attrs</literal>
|
||||||
|
@ -83,6 +83,7 @@ in {
|
|||||||
b43Firmware_5_1_138
|
b43Firmware_5_1_138
|
||||||
b43Firmware_6_30_163_46
|
b43Firmware_6_30_163_46
|
||||||
b43FirmwareCutter
|
b43FirmwareCutter
|
||||||
|
xow_dongle-firmware
|
||||||
] ++ optional pkgs.stdenv.hostPlatform.isx86 facetimehd-firmware;
|
] ++ optional pkgs.stdenv.hostPlatform.isx86 facetimehd-firmware;
|
||||||
})
|
})
|
||||||
(mkIf cfg.wirelessRegulatoryDatabase {
|
(mkIf cfg.wirelessRegulatoryDatabase {
|
||||||
|
23
nixos/modules/hardware/xone.nix
Normal file
23
nixos/modules/hardware/xone.nix
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
let
|
||||||
|
cfg = config.hardware.xone;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.hardware.xone = {
|
||||||
|
enable = mkEnableOption "the xone driver for Xbox One and Xbobx Series X|S accessories";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
boot = {
|
||||||
|
blacklistedKernelModules = [ "xpad" "mt76x2u" ];
|
||||||
|
extraModulePackages = with config.boot.kernelPackages; [ xone ];
|
||||||
|
};
|
||||||
|
hardware.firmware = [ pkgs.xow_dongle-firmware ];
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
maintainers = with maintainers; [ rhysmdnz ];
|
||||||
|
};
|
||||||
|
}
|
@ -91,6 +91,7 @@
|
|||||||
./hardware/video/switcheroo-control.nix
|
./hardware/video/switcheroo-control.nix
|
||||||
./hardware/video/uvcvideo/default.nix
|
./hardware/video/uvcvideo/default.nix
|
||||||
./hardware/video/webcam/facetimehd.nix
|
./hardware/video/webcam/facetimehd.nix
|
||||||
|
./hardware/xone.nix
|
||||||
./hardware/xpadneo.nix
|
./hardware/xpadneo.nix
|
||||||
./i18n/input-method/default.nix
|
./i18n/input-method/default.nix
|
||||||
./i18n/input-method/fcitx.nix
|
./i18n/input-method/fcitx.nix
|
||||||
|
@ -1857,8 +1857,8 @@ let
|
|||||||
mktplcRef = {
|
mktplcRef = {
|
||||||
name = "code-spell-checker";
|
name = "code-spell-checker";
|
||||||
publisher = "streetsidesoftware";
|
publisher = "streetsidesoftware";
|
||||||
version = "2.1.5";
|
version = "2.1.7";
|
||||||
sha256 = "sha256-nIR3PtbtnSbAU0rS+qVtPsj++Dbfp/k86dWkx4xYcno=";
|
sha256 = "sha256-C0jYDIDBK1JH8eFaFmCUilBXCbU5y2TRF3OZAw9ijoY=";
|
||||||
};
|
};
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
changelog = "https://marketplace.visualstudio.com/items/streetsidesoftware.code-spell-checker/changelog";
|
changelog = "https://marketplace.visualstudio.com/items/streetsidesoftware.code-spell-checker/changelog";
|
||||||
|
@ -22,11 +22,12 @@
|
|||||||
, jq
|
, jq
|
||||||
, xorg
|
, xorg
|
||||||
, libGL
|
, libGL
|
||||||
, steam-run-native
|
, steam-run
|
||||||
# needed for avoiding crash on file selector
|
# needed for avoiding crash on file selector
|
||||||
, gsettings-desktop-schemas
|
, gsettings-desktop-schemas
|
||||||
, glib
|
, glib
|
||||||
, wrapGAppsHook
|
, wrapGAppsHook
|
||||||
|
, hicolor-icon-theme
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
@ -89,6 +90,8 @@ in stdenv.mkDerivation {
|
|||||||
xorg.libX11
|
xorg.libX11
|
||||||
libGL
|
libGL
|
||||||
python
|
python
|
||||||
|
gsettings-desktop-schemas
|
||||||
|
hicolor-icon-theme
|
||||||
];
|
];
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
@ -103,16 +106,6 @@ in stdenv.mkDerivation {
|
|||||||
|
|
||||||
install -D -m644 etc/PlayOnLinux.desktop $out/share/applications/playonlinux.desktop
|
install -D -m644 etc/PlayOnLinux.desktop $out/share/applications/playonlinux.desktop
|
||||||
|
|
||||||
makeWrapper $out/share/playonlinux/playonlinux{,-wrapper} \
|
|
||||||
--prefix PATH : ${binpath} \
|
|
||||||
--prefix XDG_DATA_DIRS : ${gsettings-desktop-schemas}/share/GConf
|
|
||||||
# steam-run is needed to run the downloaded wine executables
|
|
||||||
mkdir -p $out/bin
|
|
||||||
cat > $out/bin/playonlinux <<EOF
|
|
||||||
#!${stdenv.shell} -e
|
|
||||||
exec ${steam-run-native}/bin/steam-run $out/share/playonlinux/playonlinux-wrapper "\$@"
|
|
||||||
EOF
|
|
||||||
chmod a+x $out/bin/playonlinux
|
|
||||||
|
|
||||||
bunzip2 $out/share/playonlinux/bin/check_dd_x86.bz2
|
bunzip2 $out/share/playonlinux/bin/check_dd_x86.bz2
|
||||||
patchelf --set-interpreter $(cat ${ld32}) --set-rpath ${libs pkgsi686Linux} $out/share/playonlinux/bin/check_dd_x86
|
patchelf --set-interpreter $(cat ${ld32}) --set-rpath ${libs pkgsi686Linux} $out/share/playonlinux/bin/check_dd_x86
|
||||||
@ -127,6 +120,15 @@ in stdenv.mkDerivation {
|
|||||||
done
|
done
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
dontWrapGApps = true;
|
||||||
|
postFixup = ''
|
||||||
|
makeWrapper $out/share/playonlinux/playonlinux{,-wrapped} \
|
||||||
|
--prefix PATH : ${binpath} \
|
||||||
|
''${gappsWrapperArgs[@]}
|
||||||
|
makeWrapper ${steam-run}/bin/steam-run $out/bin/playonlinux \
|
||||||
|
--add-flags $out/share/playonlinux/playonlinux-wrapped
|
||||||
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "GUI for managing Windows programs under linux";
|
description = "GUI for managing Windows programs under linux";
|
||||||
homepage = "https://www.playonlinux.com/";
|
homepage = "https://www.playonlinux.com/";
|
||||||
|
@ -19,11 +19,11 @@ let
|
|||||||
vivaldiName = if isSnapshot then "vivaldi-snapshot" else "vivaldi";
|
vivaldiName = if isSnapshot then "vivaldi-snapshot" else "vivaldi";
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation rec {
|
||||||
pname = "vivaldi";
|
pname = "vivaldi";
|
||||||
version = "5.1.2567.39-1";
|
version = "5.1.2567.49-1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://downloads.vivaldi.com/${branch}/vivaldi-${branch}_${version}_amd64.deb";
|
url = "https://downloads.vivaldi.com/${branch}/vivaldi-${branch}_${version}_amd64.deb";
|
||||||
sha256 = "140idghryk132nyb8np011xiwzgh518n0fxrkjnnvi3c67shq7qc";
|
sha256 = "1cyd789apjh71vzry2zjxb0c215yarfryb9jzxjmkfvrqg4g23xr";
|
||||||
};
|
};
|
||||||
|
|
||||||
unpackPhase = ''
|
unpackPhase = ''
|
||||||
|
@ -25,7 +25,9 @@
|
|||||||
"application/vnd.openxmlformats-officedocument.spreadsheetml.template"
|
"application/vnd.openxmlformats-officedocument.spreadsheetml.template"
|
||||||
"application/vnd.ms-excel.sheet.macroenabled.12"
|
"application/vnd.ms-excel.sheet.macroenabled.12"
|
||||||
"application/vnd.ms-excel.template.macroEnabled.12"
|
"application/vnd.ms-excel.template.macroEnabled.12"
|
||||||
"application/x-dif;text/spreadsheet;text/csv"
|
"application/x-dif"
|
||||||
|
"text/spreadsheet"
|
||||||
|
"text/csv"
|
||||||
"application/x-prn"
|
"application/x-prn"
|
||||||
"application/vnd.ms-excel.sheet.binary.macroenabled.12"
|
"application/vnd.ms-excel.sheet.binary.macroenabled.12"
|
||||||
];
|
];
|
||||||
|
@ -158,7 +158,6 @@ in stdenvNoCC.mkDerivation (args // {
|
|||||||
${lib.optionalString (!enableParallelBuilding) "--disable-parallel"} \
|
${lib.optionalString (!enableParallelBuilding) "--disable-parallel"} \
|
||||||
-p:ContinuousIntegrationBuild=true \
|
-p:ContinuousIntegrationBuild=true \
|
||||||
-p:Deterministic=true \
|
-p:Deterministic=true \
|
||||||
-p:RestoreUseStaticGraphEvaluation=true \
|
|
||||||
--packages "$HOME/nuget_pkgs" \
|
--packages "$HOME/nuget_pkgs" \
|
||||||
${lib.optionalString (dotnetRestoreFlags != []) (builtins.toString dotnetRestoreFlags)} \
|
${lib.optionalString (dotnetRestoreFlags != []) (builtins.toString dotnetRestoreFlags)} \
|
||||||
${lib.optionalString (dotnetFlags != []) (builtins.toString dotnetFlags)}
|
${lib.optionalString (dotnetFlags != []) (builtins.toString dotnetFlags)}
|
||||||
|
@ -16,7 +16,6 @@ dotnetConfigureHook() {
|
|||||||
dotnet restore "$project" \
|
dotnet restore "$project" \
|
||||||
-p:ContinuousIntegrationBuild=true \
|
-p:ContinuousIntegrationBuild=true \
|
||||||
-p:Deterministic=true \
|
-p:Deterministic=true \
|
||||||
-p:RestoreUseStaticGraphEvaluation=true \
|
|
||||||
--source "@nugetSource@/lib" \
|
--source "@nugetSource@/lib" \
|
||||||
${parallelFlag-} \
|
${parallelFlag-} \
|
||||||
"${dotnetRestoreFlags[@]}" \
|
"${dotnetRestoreFlags[@]}" \
|
||||||
|
102
pkgs/development/libraries/libpulsar/default.nix
Normal file
102
pkgs/development/libraries/libpulsar/default.nix
Normal file
@ -0,0 +1,102 @@
|
|||||||
|
{ lib
|
||||||
|
, clang-tools
|
||||||
|
, llvmPackages
|
||||||
|
, boost17x
|
||||||
|
, protobuf
|
||||||
|
, python3Support ? false
|
||||||
|
, python3
|
||||||
|
, log4cxxSupport ? false
|
||||||
|
, log4cxx
|
||||||
|
, snappySupport ? false
|
||||||
|
, snappy
|
||||||
|
, zlibSupport ? true
|
||||||
|
, zlib
|
||||||
|
, zstdSupport ? true
|
||||||
|
, zstd
|
||||||
|
, gtest
|
||||||
|
, gtestSupport ? false
|
||||||
|
, cmake
|
||||||
|
, curl
|
||||||
|
, fetchurl
|
||||||
|
, jsoncpp
|
||||||
|
, openssl
|
||||||
|
, pkg-config
|
||||||
|
, stdenv
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
/*
|
||||||
|
Check if null or false
|
||||||
|
Example:
|
||||||
|
let result = enableFeature null
|
||||||
|
=> "OFF"
|
||||||
|
let result = enableFeature false
|
||||||
|
=> "OFF"
|
||||||
|
let result = enableFeature «derivation»
|
||||||
|
=> "ON"
|
||||||
|
*/
|
||||||
|
enableCmakeFeature = p: if (p == null || p == false) then "OFF" else "ON";
|
||||||
|
|
||||||
|
# Not really sure why I need to do this.. If I call clang-tools without the override it defaults to a different version and fails
|
||||||
|
clangTools = clang-tools.override { inherit stdenv llvmPackages; };
|
||||||
|
# If boost has python enabled, then boost-python package will be installed which is used by libpulsars python wrapper
|
||||||
|
boost = if python3Support then boost17x.override { inherit stdenv; enablePython = python3Support; python = python3; } else boost17x;
|
||||||
|
defaultOptionals = [ boost protobuf ]
|
||||||
|
++ lib.optional python3Support python3
|
||||||
|
++ lib.optional snappySupport snappy.dev
|
||||||
|
++ lib.optional zlibSupport zlib
|
||||||
|
++ lib.optional zstdSupport zstd
|
||||||
|
++ lib.optional log4cxxSupport log4cxx;
|
||||||
|
|
||||||
|
in
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "libpulsar";
|
||||||
|
version = "2.9.1";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
hash = "sha512-NKHiL7D/Lmnn6ICpQyUmmQYQETz4nZPJU9/4LMRDUQ3Pck6qDh+t6CRk+b9UQ2Vb0jvPIGTjEsSp2nC7TJk3ug==";
|
||||||
|
url = "mirror://apache/pulsar/pulsar-${version}/apache-pulsar-${version}-src.tar.gz";
|
||||||
|
};
|
||||||
|
|
||||||
|
sourceRoot = "apache-pulsar-${version}-src/pulsar-client-cpp";
|
||||||
|
|
||||||
|
# clang-tools needed for clang-format
|
||||||
|
nativeBuildInputs = [ cmake pkg-config clangTools ]
|
||||||
|
++ defaultOptionals
|
||||||
|
++ lib.optional gtestSupport gtest.dev;
|
||||||
|
|
||||||
|
buildInputs = [ jsoncpp openssl curl ]
|
||||||
|
++ defaultOptionals;
|
||||||
|
|
||||||
|
# Needed for GCC on Linux
|
||||||
|
NIX_CFLAGS_COMPILE = [ "-Wno-error=return-type" ];
|
||||||
|
|
||||||
|
cmakeFlags = [
|
||||||
|
"-DBUILD_TESTS=${enableCmakeFeature gtestSupport}"
|
||||||
|
"-DBUILD_PYTHON_WRAPPER=${enableCmakeFeature python3Support}"
|
||||||
|
"-DUSE_LOG4CXX=${enableCmakeFeature log4cxxSupport}"
|
||||||
|
"-DClangTools_PATH=${clangTools}/bin"
|
||||||
|
];
|
||||||
|
|
||||||
|
enableParallelBuilding = true;
|
||||||
|
doInstallCheck = true;
|
||||||
|
installCheckPhase = ''
|
||||||
|
echo ${lib.escapeShellArg ''
|
||||||
|
#include <pulsar/Client.h>
|
||||||
|
int main (int argc, char **argv) {
|
||||||
|
pulsar::Client client("pulsar://localhost:6650");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
''} > test.cc
|
||||||
|
$CXX test.cc -L $out/lib -I $out/include -lpulsar -o test
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://pulsar.apache.org/docs/en/client-libraries-cpp";
|
||||||
|
description = "Apache Pulsar C++ library";
|
||||||
|
|
||||||
|
platforms = platforms.all;
|
||||||
|
license = licenses.asl20;
|
||||||
|
maintainers = [ maintainers.corbanr ];
|
||||||
|
};
|
||||||
|
}
|
@ -1,4 +1,5 @@
|
|||||||
{ lib, stdenv, fetchFromGitHub, cmake, ninja
|
{ lib, stdenv, fetchFromGitHub, cmake, ninja
|
||||||
|
, fetchpatch
|
||||||
, secureBuild ? false
|
, secureBuild ? false
|
||||||
}:
|
}:
|
||||||
|
|
||||||
@ -7,14 +8,28 @@ let
|
|||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "mimalloc";
|
pname = "mimalloc";
|
||||||
version = "2.0.2";
|
version = "2.0.5";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "microsoft";
|
owner = "microsoft";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-n4FGld3bq6ZOSLTzXcVlucCGbQ5/eSFbijU0dfBD/T0=";
|
sha256 = "sha256-q3W/w1Ofqt6EbKF/Jf9wcC+7jAxh59B3cOGxudWQXlA=";
|
||||||
};
|
};
|
||||||
|
patches = [
|
||||||
|
(fetchpatch {
|
||||||
|
name = "older-macos-fixes.patch";
|
||||||
|
url = "https://github.com/microsoft/mimalloc/commit/40e0507a5959ee218f308d33aec212c3ebeef3bb.patch";
|
||||||
|
sha256 = "15qx2a3axhhwbfzxdis98b8j14y9cfgca0i484aj2pjpqnm0pb8c";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
|
doCheck = true;
|
||||||
|
preCheck = let
|
||||||
|
ldLibraryPathEnv = if stdenv.isDarwin then "DYLD_LIBRARY_PATH" else "LD_LIBRARY_PATH";
|
||||||
|
in ''
|
||||||
|
export ${ldLibraryPathEnv}="$(pwd)/build:''${${ldLibraryPathEnv}}"
|
||||||
|
'';
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake ninja ];
|
nativeBuildInputs = [ cmake ninja ];
|
||||||
cmakeFlags = [ "-DMI_INSTALL_TOPLEVEL=ON" ] ++ lib.optional secureBuild [ "-DMI_SECURE=ON" ];
|
cmakeFlags = [ "-DMI_INSTALL_TOPLEVEL=ON" ] ++ lib.optional secureBuild [ "-DMI_SECURE=ON" ];
|
||||||
@ -25,10 +40,9 @@ stdenv.mkDerivation rec {
|
|||||||
in ''
|
in ''
|
||||||
# first, move headers and cmake files, that's easy
|
# first, move headers and cmake files, that's easy
|
||||||
mkdir -p $dev/lib
|
mkdir -p $dev/lib
|
||||||
mv $out/include $dev/include
|
mv $out/lib/cmake $dev/lib/
|
||||||
mv $out/cmake $dev/lib/
|
|
||||||
|
|
||||||
find $out/lib
|
find $dev $out -type f
|
||||||
'' + (lib.optionalString secureBuild ''
|
'' + (lib.optionalString secureBuild ''
|
||||||
# pretend we're normal mimalloc
|
# pretend we're normal mimalloc
|
||||||
ln -sfv $out/lib/libmimalloc-secure${suffix} $out/lib/libmimalloc${suffix}
|
ln -sfv $out/lib/libmimalloc-secure${suffix} $out/lib/libmimalloc${suffix}
|
||||||
@ -44,6 +58,6 @@ stdenv.mkDerivation rec {
|
|||||||
homepage = "https://github.com/microsoft/mimalloc";
|
homepage = "https://github.com/microsoft/mimalloc";
|
||||||
license = licenses.bsd2;
|
license = licenses.bsd2;
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
maintainers = with maintainers; [ thoughtpolice ];
|
maintainers = with maintainers; [ kamadorueda thoughtpolice ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,48 @@
|
|||||||
|
From 716fcfa3203bc881b543916bdb9a17460951cd26 Mon Sep 17 00:00:00 2001
|
||||||
|
From: "P. R. d. O" <d.ol.rod@protonmail.com>
|
||||||
|
Date: Fri, 26 Nov 2021 07:13:32 -0600
|
||||||
|
Subject: [PATCH] Fixing paths on tests
|
||||||
|
|
||||||
|
---
|
||||||
|
tests/maintest.py | 7 ++++++-
|
||||||
|
tests/speedtest.py | 7 ++++++-
|
||||||
|
2 files changed, 12 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/tests/maintest.py b/tests/maintest.py
|
||||||
|
index 0e24ca4..3484437 100644
|
||||||
|
--- a/tests/maintest.py
|
||||||
|
+++ b/tests/maintest.py
|
||||||
|
@@ -1,6 +1,11 @@
|
||||||
|
import fleep
|
||||||
|
+import os
|
||||||
|
|
||||||
|
-with open("testfile", "rb") as file:
|
||||||
|
+current_dir = os.path.realpath(os.path.join(os.getcwd(),
|
||||||
|
+ os.path.dirname(__file__)))
|
||||||
|
+
|
||||||
|
+with open(os.path.join(current_dir, "./testfile"),
|
||||||
|
+ "rb") as file:
|
||||||
|
info = fleep.get(file.read(128))
|
||||||
|
|
||||||
|
assert info.type == ["raster-image"]
|
||||||
|
diff --git a/tests/speedtest.py b/tests/speedtest.py
|
||||||
|
index 89338ab..829d563 100644
|
||||||
|
--- a/tests/speedtest.py
|
||||||
|
+++ b/tests/speedtest.py
|
||||||
|
@@ -1,7 +1,12 @@
|
||||||
|
import time
|
||||||
|
import fleep
|
||||||
|
+import os
|
||||||
|
|
||||||
|
-with open("testfile", "rb") as file:
|
||||||
|
+current_dir = os.path.realpath(os.path.join(os.getcwd(),
|
||||||
|
+ os.path.dirname(__file__)))
|
||||||
|
+
|
||||||
|
+with open(os.path.join(current_dir, "./testfile"),
|
||||||
|
+ "rb") as file:
|
||||||
|
stream = file.read(128)
|
||||||
|
|
||||||
|
times = []
|
||||||
|
--
|
||||||
|
2.33.1
|
||||||
|
|
36
pkgs/development/python-modules/fleep/default.nix
Normal file
36
pkgs/development/python-modules/fleep/default.nix
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
{ lib
|
||||||
|
, buildPythonPackage
|
||||||
|
, fetchFromGitHub
|
||||||
|
, python
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "fleep";
|
||||||
|
version = "1.0.1";
|
||||||
|
|
||||||
|
# Pypi version does not have tests
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "floyernick";
|
||||||
|
repo = "fleep-py";
|
||||||
|
rev = "994bc2c274482d80ab13d89d8f7343eb316d3e44";
|
||||||
|
sha256 = "sha256-TaU7njx98nxkhZawGMFqWj4g+yCtIX9aPWQHoamzfMY=";
|
||||||
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
./0001-Fixing-paths-on-tests.patch
|
||||||
|
];
|
||||||
|
|
||||||
|
checkPhase = ''
|
||||||
|
${python.interpreter} tests/maintest.py
|
||||||
|
${python.interpreter} tests/speedtest.py
|
||||||
|
'';
|
||||||
|
|
||||||
|
pythonImportsCheck = [ "fleep" ];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "File format determination library";
|
||||||
|
homepage = "https://github.com/floyernick/fleep-py";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [ wolfangaukang ];
|
||||||
|
};
|
||||||
|
}
|
@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "graphql-subscription-manager";
|
pname = "graphql-subscription-manager";
|
||||||
version = "0.5.0";
|
version = "0.5.1";
|
||||||
|
|
||||||
disabled = pythonOlder "3.7";
|
disabled = pythonOlder "3.7";
|
||||||
|
|
||||||
@ -16,7 +16,7 @@ buildPythonPackage rec {
|
|||||||
owner = "Danielhiversen";
|
owner = "Danielhiversen";
|
||||||
repo = "PyGraphqlWebsocketManager";
|
repo = "PyGraphqlWebsocketManager";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-18GR0OZeEh6EQT0kKCJyq7ckvKYKDJn/lugN5xlRg64=";
|
sha256 = "sha256-PVQa6JmBnToXuL/wNkYO0b+K1e9yrQgRUzWNUbFN5mM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
64
pkgs/development/python-modules/nextcord/default.nix
Normal file
64
pkgs/development/python-modules/nextcord/default.nix
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
{ lib
|
||||||
|
, stdenv
|
||||||
|
, buildPythonPackage
|
||||||
|
, pythonOlder
|
||||||
|
, fetchFromGitHub
|
||||||
|
, substituteAll
|
||||||
|
, ffmpeg
|
||||||
|
, libopus
|
||||||
|
, aiohttp
|
||||||
|
, aiodns
|
||||||
|
, brotli
|
||||||
|
, cchardet
|
||||||
|
, orjson
|
||||||
|
, pynacl
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "nextcord";
|
||||||
|
version = "2.0.0a8";
|
||||||
|
|
||||||
|
format = "setuptools";
|
||||||
|
|
||||||
|
disabled = pythonOlder "3.8";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "nextcord";
|
||||||
|
repo = "nextcord";
|
||||||
|
rev = version;
|
||||||
|
hash = "sha256-aYFY58zWZlZwW3xwa1iAK4w29AofKIkTyCjQ2nR8JrY=";
|
||||||
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
(substituteAll {
|
||||||
|
src = ./paths.patch;
|
||||||
|
ffmpeg = "${ffmpeg}/bin/ffmpeg";
|
||||||
|
libopus = "${libopus}/lib/libopus${stdenv.hostPlatform.extensions.sharedLibrary}";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
aiodns
|
||||||
|
aiohttp
|
||||||
|
brotli
|
||||||
|
cchardet
|
||||||
|
orjson
|
||||||
|
pynacl
|
||||||
|
];
|
||||||
|
|
||||||
|
# upstream has no tests
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
|
pythonImportsCheck = [
|
||||||
|
"nextcord"
|
||||||
|
"nextcord.ext.commands"
|
||||||
|
"nextcord.ext.tasks"
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Python wrapper for the Discord API forked from discord.py";
|
||||||
|
homepage = "https://github.com/nextcord/nextcord";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [ dotlambda ];
|
||||||
|
};
|
||||||
|
}
|
26
pkgs/development/python-modules/nextcord/paths.patch
Normal file
26
pkgs/development/python-modules/nextcord/paths.patch
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
diff --git a/nextcord/opus.py b/nextcord/opus.py
|
||||||
|
index 97d437a3..755e1a5c 100644
|
||||||
|
--- a/nextcord/opus.py
|
||||||
|
+++ b/nextcord/opus.py
|
||||||
|
@@ -213,7 +213,7 @@ def _load_default() -> bool:
|
||||||
|
_filename = os.path.join(_basedir, 'bin', f'libopus-0.{_target}.dll')
|
||||||
|
_lib = libopus_loader(_filename)
|
||||||
|
else:
|
||||||
|
- _lib = libopus_loader(ctypes.util.find_library('opus'))
|
||||||
|
+ _lib = libopus_loader('@libopus@')
|
||||||
|
except Exception:
|
||||||
|
_lib = None
|
||||||
|
|
||||||
|
diff --git a/nextcord/player.py b/nextcord/player.py
|
||||||
|
index bedefc5a..34de0459 100644
|
||||||
|
--- a/nextcord/player.py
|
||||||
|
+++ b/nextcord/player.py
|
||||||
|
@@ -140,7 +140,7 @@ class FFmpegAudio(AudioSource):
|
||||||
|
.. versionadded:: 1.3
|
||||||
|
"""
|
||||||
|
|
||||||
|
- def __init__(self, source: Union[str, io.BufferedIOBase], *, executable: str = 'ffmpeg', args: Any, **subprocess_kwargs: Any):
|
||||||
|
+ def __init__(self, source: Union[str, io.BufferedIOBase], *, executable: str = '@ffmpeg@', args: Any, **subprocess_kwargs: Any):
|
||||||
|
piping = subprocess_kwargs.get('stdin') == subprocess.PIPE
|
||||||
|
if piping and isinstance(source, str):
|
||||||
|
raise TypeError("parameter conflict: 'source' parameter cannot be a string when piping to stdin")
|
@ -3,16 +3,16 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "leiningen";
|
pname = "leiningen";
|
||||||
version = "2.9.7";
|
version = "2.9.8";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://raw.github.com/technomancy/leiningen/${version}/bin/lein-pkg";
|
url = "https://raw.github.com/technomancy/leiningen/${version}/bin/lein-pkg";
|
||||||
sha256 = "sha256-948g0ZMfAoJw53vA8MAKWg76Tst6VnYwSjSuT0aeKB0=";
|
sha256 = "1sgnxw58srjxqnskl700p7r7n23pfpjvqpiqnz1m8r6c76jwnllr";
|
||||||
};
|
};
|
||||||
|
|
||||||
jarsrc = fetchurl {
|
jarsrc = fetchurl {
|
||||||
url = "https://github.com/technomancy/leiningen/releases/download/${version}/${pname}-${version}-standalone.jar";
|
url = "https://github.com/technomancy/leiningen/releases/download/${version}/${pname}-${version}-standalone.jar";
|
||||||
sha256 = "sha256-gvAUFKzs3bsOvW1XFQW7Zxpv0JMja82sJGjP5fLqqAI=";
|
sha256 = "13f4n15i0gsk9jq52gxivnsk32qjahmxgrddm54cf8ynw0a923ia";
|
||||||
};
|
};
|
||||||
|
|
||||||
JARNAME = "${pname}-${version}-standalone.jar";
|
JARNAME = "${pname}-${version}-standalone.jar";
|
||||||
|
@ -0,0 +1,32 @@
|
|||||||
|
{ stdenv, lib, fetchurl, cabextract }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "xow_dongle-firmware";
|
||||||
|
version = "2017-07";
|
||||||
|
|
||||||
|
dontUnpack = true;
|
||||||
|
dontInstall = true;
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "http://download.windowsupdate.com/c/msdownload/update/driver/drvs/2017/07/1cd6a87c-623f-4407-a52d-c31be49e925c_e19f60808bdcbfbd3c3df6be3e71ffc52e43261e.cab";
|
||||||
|
sha256 = "013g1zngxffavqrk5jy934q3bdhsv6z05ilfixdn8dj0zy26lwv5";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ cabextract ];
|
||||||
|
|
||||||
|
buildPhase = ''
|
||||||
|
cabextract -F FW_ACC_00U.bin ${src}
|
||||||
|
mkdir -p $out/lib/firmware
|
||||||
|
cp -a FW_ACC_00U.bin $out/lib/firmware/xow_dongle.bin
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Xbox One wireless dongle firmware";
|
||||||
|
homepage = "https://www.xbox.com/en-NZ/accessories/adapters/wireless-adapter-windows";
|
||||||
|
license = licenses.unfree;
|
||||||
|
maintainers = with lib.maintainers; [ rhysmdnz ];
|
||||||
|
platforms = platforms.linux;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
|
39
pkgs/os-specific/linux/xone/default.nix
Normal file
39
pkgs/os-specific/linux/xone/default.nix
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
{ stdenv, lib, fetchFromGitHub, kernel, fetchurl }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "xone-${version}-${kernel.version}";
|
||||||
|
version = "0.2";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "medusalix";
|
||||||
|
repo = "xone";
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "sha256-m4305Xl5w4nyAVqubjwWsiyPDVtfGykjlSW2eKEytVk=";
|
||||||
|
};
|
||||||
|
|
||||||
|
setSourceRoot = ''
|
||||||
|
export sourceRoot=$(pwd)/source
|
||||||
|
'';
|
||||||
|
|
||||||
|
nativeBuildInputs = kernel.moduleBuildDependencies;
|
||||||
|
|
||||||
|
makeFlags = [
|
||||||
|
"-C"
|
||||||
|
"${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
|
||||||
|
"M=$(sourceRoot)"
|
||||||
|
"VERSION=${version}"
|
||||||
|
];
|
||||||
|
|
||||||
|
buildFlags = [ "modules" ];
|
||||||
|
installFlags = [ "INSTALL_MOD_PATH=${placeholder "out"}" ];
|
||||||
|
installTargets = [ "modules_install" ];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Linux kernel driver for Xbox One and Xbox Series X|S accessories";
|
||||||
|
homepage = "https://github.com/medusalix/xone";
|
||||||
|
license = licenses.gpl2;
|
||||||
|
maintainers = with lib.maintainers; [ rhysmdnz ];
|
||||||
|
platforms = platforms.linux;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -3,12 +3,12 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "nncp";
|
pname = "nncp";
|
||||||
version = "8.5.0";
|
version = "8.6.0";
|
||||||
outputs = [ "out" "doc" "info" ];
|
outputs = [ "out" "doc" "info" ];
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://www.nncpgo.org/download/${pname}-${version}.tar.xz";
|
url = "http://www.nncpgo.org/download/${pname}-${version}.tar.xz";
|
||||||
sha256 = "sha256-6IUNJ3DE+nRc+bmpDO7l1gXlD6UDGggTSYRMFT57v/Q=";
|
sha256 = "sha256-rhbwoJwbfR2jdn4cD0ENnCmsyuYypEipVdtKDxW/g48=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ go redo-apenwarr ];
|
nativeBuildInputs = [ go redo-apenwarr ];
|
||||||
|
41
pkgs/tools/networking/opendrop/default.nix
Normal file
41
pkgs/tools/networking/opendrop/default.nix
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
{ lib
|
||||||
|
, buildPythonApplication
|
||||||
|
, fetchPypi
|
||||||
|
, fleep
|
||||||
|
, libarchive-c
|
||||||
|
, pillow
|
||||||
|
, requests-toolbelt
|
||||||
|
, setuptools
|
||||||
|
, zeroconf }:
|
||||||
|
|
||||||
|
buildPythonApplication rec {
|
||||||
|
pname = "opendrop";
|
||||||
|
version = "0.13.0";
|
||||||
|
|
||||||
|
src = fetchPypi {
|
||||||
|
inherit version pname;
|
||||||
|
sha256 = "sha256-FE1oGpL6C9iBhI8Zj71Pm9qkObJvSeU2gaBZwK1bTQc=";
|
||||||
|
};
|
||||||
|
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
fleep
|
||||||
|
libarchive-c
|
||||||
|
pillow
|
||||||
|
requests-toolbelt
|
||||||
|
setuptools
|
||||||
|
zeroconf
|
||||||
|
];
|
||||||
|
|
||||||
|
# There are tests, but getting the following error:
|
||||||
|
# nix_run_setup: error: argument action: invalid choice: 'test' (choose from 'receive', 'find', 'send')
|
||||||
|
# Opendrop works as intended though
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "An open Apple AirDrop implementation written in Python";
|
||||||
|
homepage = "https://owlink.org/";
|
||||||
|
license = licenses.gpl3Only;
|
||||||
|
maintainers = with maintainers; [ wolfangaukang ];
|
||||||
|
platforms = [ "x86_64-linux" ];
|
||||||
|
};
|
||||||
|
}
|
25
pkgs/tools/networking/owl/default.nix
Normal file
25
pkgs/tools/networking/owl/default.nix
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
{ stdenv, lib, fetchFromGitHub, cmake, libev, libnl, libpcap }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "owl";
|
||||||
|
version = "unstable-2022-01-30";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "seemoo-lab";
|
||||||
|
repo = "owl";
|
||||||
|
rev = "8e4e840b212ae5a09a8a99484be3ab18bad22fa7";
|
||||||
|
sha256 = "sha256-kFk+JFLGWGBu5FPH3qp/Bxa6t04f1kpeHz3H8GNF3fg=";
|
||||||
|
fetchSubmodules = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ cmake ];
|
||||||
|
buildInputs = [ libev libnl libpcap ];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "An open Apple Wireless Direct Link (AWDL) implementation written in C";
|
||||||
|
homepage = "https://owlink.org/";
|
||||||
|
license = licenses.gpl3Only;
|
||||||
|
maintainers = with maintainers; [ wolfangaukang ];
|
||||||
|
platforms = [ "x86_64-linux" ];
|
||||||
|
};
|
||||||
|
}
|
@ -549,6 +549,10 @@ with pkgs;
|
|||||||
|
|
||||||
graph-easy = callPackage ../tools/graphics/graph-easy { };
|
graph-easy = callPackage ../tools/graphics/graph-easy { };
|
||||||
|
|
||||||
|
opendrop = python3Packages.callPackage ../tools/networking/opendrop { };
|
||||||
|
|
||||||
|
owl = callPackage ../tools/networking/owl { };
|
||||||
|
|
||||||
packer = callPackage ../development/tools/packer { };
|
packer = callPackage ../development/tools/packer { };
|
||||||
|
|
||||||
packr = callPackage ../development/libraries/packr { };
|
packr = callPackage ../development/libraries/packr { };
|
||||||
@ -18581,6 +18585,8 @@ with pkgs;
|
|||||||
|
|
||||||
libptytty = callPackage ../development/libraries/libptytty { };
|
libptytty = callPackage ../development/libraries/libptytty { };
|
||||||
|
|
||||||
|
libpulsar = callPackage ../development/libraries/libpulsar { };
|
||||||
|
|
||||||
libpwquality = callPackage ../development/libraries/libpwquality { };
|
libpwquality = callPackage ../development/libraries/libpwquality { };
|
||||||
|
|
||||||
libqalculate = callPackage ../development/libraries/libqalculate {
|
libqalculate = callPackage ../development/libraries/libqalculate {
|
||||||
@ -21498,6 +21504,7 @@ with pkgs;
|
|||||||
|
|
||||||
openresty = callPackage ../servers/http/openresty {
|
openresty = callPackage ../servers/http/openresty {
|
||||||
withPerl = false;
|
withPerl = false;
|
||||||
|
modules = [];
|
||||||
};
|
};
|
||||||
|
|
||||||
opensmtpd = callPackage ../servers/mail/opensmtpd { };
|
opensmtpd = callPackage ../servers/mail/opensmtpd { };
|
||||||
@ -34201,6 +34208,8 @@ with pkgs;
|
|||||||
|
|
||||||
xosview2 = callPackage ../tools/X11/xosview2 { };
|
xosview2 = callPackage ../tools/X11/xosview2 { };
|
||||||
|
|
||||||
|
xow_dongle-firmware = callPackage ../os-specific/linux/firmware/xow_dongle-firmware { };
|
||||||
|
|
||||||
xpad = callPackage ../applications/misc/xpad { };
|
xpad = callPackage ../applications/misc/xpad { };
|
||||||
|
|
||||||
xsane = callPackage ../applications/graphics/sane/xsane.nix {
|
xsane = callPackage ../applications/graphics/sane/xsane.nix {
|
||||||
|
@ -462,6 +462,8 @@ in {
|
|||||||
|
|
||||||
xmm7360-pci = callPackage ../os-specific/linux/xmm7360-pci { };
|
xmm7360-pci = callPackage ../os-specific/linux/xmm7360-pci { };
|
||||||
|
|
||||||
|
xone = if lib.versionAtLeast kernel.version "5.4" then callPackage ../os-specific/linux/xone { } else null;
|
||||||
|
|
||||||
xpadneo = callPackage ../os-specific/linux/xpadneo { };
|
xpadneo = callPackage ../os-specific/linux/xpadneo { };
|
||||||
|
|
||||||
zenpower = callPackage ../os-specific/linux/zenpower { };
|
zenpower = callPackage ../os-specific/linux/zenpower { };
|
||||||
|
@ -3017,6 +3017,8 @@ in {
|
|||||||
|
|
||||||
flax = callPackage ../development/python-modules/flax { };
|
flax = callPackage ../development/python-modules/flax { };
|
||||||
|
|
||||||
|
fleep = callPackage ../development/python-modules/fleep { };
|
||||||
|
|
||||||
flexmock = callPackage ../development/python-modules/flexmock { };
|
flexmock = callPackage ../development/python-modules/flexmock { };
|
||||||
|
|
||||||
flickrapi = callPackage ../development/python-modules/flickrapi { };
|
flickrapi = callPackage ../development/python-modules/flickrapi { };
|
||||||
@ -5460,6 +5462,8 @@ in {
|
|||||||
|
|
||||||
nextcloudmonitor = callPackage ../development/python-modules/nextcloudmonitor { };
|
nextcloudmonitor = callPackage ../development/python-modules/nextcloudmonitor { };
|
||||||
|
|
||||||
|
nextcord = callPackage ../development/python-modules/nextcord { };
|
||||||
|
|
||||||
nghttp2 = (toPythonModule (pkgs.nghttp2.override {
|
nghttp2 = (toPythonModule (pkgs.nghttp2.override {
|
||||||
inherit (self) python cython setuptools;
|
inherit (self) python cython setuptools;
|
||||||
inherit (pkgs) ncurses;
|
inherit (pkgs) ncurses;
|
||||||
|
Loading…
Reference in New Issue
Block a user