Merge master into staging-next
This commit is contained in:
+26
-1
@@ -197,6 +197,30 @@ rec {
|
||||
*/
|
||||
toYAML = {}@args: toJSON args;
|
||||
|
||||
withRecursion =
|
||||
args@{
|
||||
/* If this option is not null, the given value will stop evaluating at a certain depth */
|
||||
depthLimit
|
||||
/* If this option is true, an error will be thrown, if a certain given depth is exceeded */
|
||||
, throwOnDepthLimit ? true
|
||||
}:
|
||||
assert builtins.isInt depthLimit;
|
||||
let
|
||||
transform = depth:
|
||||
if depthLimit != null && depth > depthLimit then
|
||||
if throwOnDepthLimit
|
||||
then throw "Exceeded maximum eval-depth limit of ${toString depthLimit} while trying to evaluate with `generators.withRecursion'!"
|
||||
else const "<unevaluated>"
|
||||
else id;
|
||||
mapAny = with builtins; depth: v:
|
||||
let
|
||||
evalNext = x: mapAny (depth + 1) (transform (depth + 1) x);
|
||||
in
|
||||
if isAttrs v then mapAttrs (const evalNext) v
|
||||
else if isList v then map evalNext v
|
||||
else transform (depth + 1) v;
|
||||
in
|
||||
mapAny 0;
|
||||
|
||||
/* Pretty print a value, akin to `builtins.trace`.
|
||||
* Should probably be a builtin as well.
|
||||
@@ -208,7 +232,8 @@ rec {
|
||||
allowPrettyValues ? false,
|
||||
/* If this option is true, the output is indented with newlines for attribute sets and lists */
|
||||
multiline ? true
|
||||
}@args: let
|
||||
}@args:
|
||||
let
|
||||
go = indent: v: with builtins;
|
||||
let isPath = v: typeOf v == "path";
|
||||
introSpace = if multiline then "\n${indent} " else " ";
|
||||
|
||||
+17
-6
@@ -162,13 +162,24 @@ rec {
|
||||
baseMsg = "The option `${showOption (prefix ++ firstDef.prefix)}' does not exist. Definition values:${showDefs [ firstDef ]}";
|
||||
in
|
||||
if attrNames options == [ "_module" ]
|
||||
then throw ''
|
||||
${baseMsg}
|
||||
then
|
||||
let
|
||||
optionName = showOption prefix;
|
||||
in
|
||||
if optionName == ""
|
||||
then throw ''
|
||||
${baseMsg}
|
||||
|
||||
However there are no options defined in `${showOption prefix}'. Are you sure you've
|
||||
declared your options properly? This can happen if you e.g. declared your options in `types.submodule'
|
||||
under `config' rather than `options'.
|
||||
''
|
||||
It seems as if you're trying to declare an option by placing it into `config' rather than `options'!
|
||||
''
|
||||
else
|
||||
throw ''
|
||||
${baseMsg}
|
||||
|
||||
However there are no options defined in `${showOption prefix}'. Are you sure you've
|
||||
declared your options properly? This can happen if you e.g. declared your options in `types.submodule'
|
||||
under `config' rather than `options'.
|
||||
''
|
||||
else throw baseMsg
|
||||
else null;
|
||||
|
||||
|
||||
+3
-1
@@ -247,7 +247,9 @@ rec {
|
||||
showDefs = defs: concatMapStrings (def:
|
||||
let
|
||||
# Pretty print the value for display, if successful
|
||||
prettyEval = builtins.tryEval (lib.generators.toPretty {} def.value);
|
||||
prettyEval = builtins.tryEval
|
||||
(lib.generators.toPretty { }
|
||||
(lib.generators.withRecursion { depthLimit = 10; throwOnDepthLimit = false; } def.value));
|
||||
# Split it into its lines
|
||||
lines = filter (v: ! isList v) (builtins.split "\n" prettyEval.value);
|
||||
# Only display the first 5 lines, and indent them for better visibility
|
||||
|
||||
@@ -529,6 +529,25 @@ runTests {
|
||||
};
|
||||
};
|
||||
|
||||
testToPrettyLimit =
|
||||
let
|
||||
a.b = 1;
|
||||
a.c = a;
|
||||
in {
|
||||
expr = generators.toPretty { } (generators.withRecursion { throwOnDepthLimit = false; depthLimit = 2; } a);
|
||||
expected = "{\n b = 1;\n c = {\n b = \"<unevaluated>\";\n c = {\n b = \"<unevaluated>\";\n c = \"<unevaluated>\";\n };\n };\n}";
|
||||
};
|
||||
|
||||
testToPrettyLimitThrow =
|
||||
let
|
||||
a.b = 1;
|
||||
a.c = a;
|
||||
in {
|
||||
expr = (builtins.tryEval
|
||||
(generators.toPretty { } (generators.withRecursion { depthLimit = 2; } a))).success;
|
||||
expected = false;
|
||||
};
|
||||
|
||||
testToPrettyMultiline = {
|
||||
expr = mapAttrs (const (generators.toPretty { })) rec {
|
||||
list = [ 3 4 [ false ] ];
|
||||
|
||||
@@ -1277,6 +1277,73 @@ Superuser created successfully.
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
The
|
||||
<link xlink:href="options.html#opt-networking.wireless.enable">networking.wireless</link>
|
||||
module (based on wpa_supplicant) has been heavily reworked,
|
||||
solving a number of issues and adding useful features:
|
||||
</para>
|
||||
<itemizedlist spacing="compact">
|
||||
<listitem>
|
||||
<para>
|
||||
The automatic discovery of wireless interfaces at boot has
|
||||
been made reliable again (issues
|
||||
<link xlink:href="https://github.com/NixOS/nixpkgs/issues/101963">#101963</link>,
|
||||
<link xlink:href="https://github.com/NixOS/nixpkgs/issues/23196">#23196</link>).
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
WPA3 and Fast BSS Transition (802.11r) are now enabled by
|
||||
default for all networks.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Secrets like pre-shared keys and passwords can now be
|
||||
handled safely, meaning without including them in a
|
||||
world-readable file
|
||||
(<literal>wpa_supplicant.conf</literal> under /nix/store).
|
||||
This is achieved by storing the secrets in a secured
|
||||
<link xlink:href="options.html#opt-networking.wireless.environmentFile">environmentFile</link>
|
||||
and referring to them though environment variables that
|
||||
are expanded inside the configuration.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
With multiple interfaces declared, independent
|
||||
wpa_supplicant daemons are started, one for each interface
|
||||
(the services are named
|
||||
<literal>wpa_supplicant-wlan0</literal>,
|
||||
<literal>wpa_supplicant-wlan1</literal>, etc.).
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
The generated <literal>wpa_supplicant.conf</literal> file
|
||||
is now formatted for easier reading.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
A new
|
||||
<link xlink:href="options.html#opt-networking.wireless.scanOnLowSignal">scanOnLowSignal</link>
|
||||
option has been added to facilitate fast roaming between
|
||||
access points (enabled by default).
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
A new
|
||||
<link xlink:href="options.html#opt-networking.wireless.networks._name_.authProtocols">networks.<name>.authProtocols</link>
|
||||
option has been added to change the authentication
|
||||
protocols used when connecting to a network.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
The
|
||||
|
||||
@@ -390,6 +390,16 @@ In addition to numerous new and upgraded packages, this release has the followin
|
||||
`myhostname`, but before `dns` should use the default priority
|
||||
- NSS modules which should come after `dns` should use mkAfter.
|
||||
|
||||
- The [networking.wireless](options.html#opt-networking.wireless.enable) module (based on wpa_supplicant) has been heavily reworked, solving a number of issues and adding useful features:
|
||||
- The automatic discovery of wireless interfaces at boot has been made reliable again (issues [#101963](https://github.com/NixOS/nixpkgs/issues/101963), [#23196](https://github.com/NixOS/nixpkgs/issues/23196)).
|
||||
- WPA3 and Fast BSS Transition (802.11r) are now enabled by default for all networks.
|
||||
- Secrets like pre-shared keys and passwords can now be handled safely, meaning without including them in a world-readable file (`wpa_supplicant.conf` under /nix/store).
|
||||
This is achieved by storing the secrets in a secured [environmentFile](options.html#opt-networking.wireless.environmentFile) and referring to them though environment variables that are expanded inside the configuration.
|
||||
- With multiple interfaces declared, independent wpa_supplicant daemons are started, one for each interface (the services are named `wpa_supplicant-wlan0`, `wpa_supplicant-wlan1`, etc.).
|
||||
- The generated `wpa_supplicant.conf` file is now formatted for easier reading.
|
||||
- A new [scanOnLowSignal](options.html#opt-networking.wireless.scanOnLowSignal) option has been added to facilitate fast roaming between access points (enabled by default).
|
||||
- A new [networks.<name>.authProtocols](options.html#opt-networking.wireless.networks._name_.authProtocols) option has been added to change the authentication protocols used when connecting to a network.
|
||||
|
||||
- The [networking.wireless.iwd](options.html#opt-networking.wireless.iwd.enable) module has a new [networking.wireless.iwd.settings](options.html#opt-networking.wireless.iwd.settings) option.
|
||||
|
||||
- The [services.syncoid.enable](options.html#opt-services.syncoid.enable) module now properly drops ZFS permissions after usage. Before it delegated permissions to whole pools instead of datasets and didn't clean up after execution. You can manually look this up for your pools by running `zfs allow your-pool-name` and use `zfs unallow syncoid your-pool-name` to clean this up.
|
||||
|
||||
@@ -310,7 +310,7 @@ in
|
||||
# the service - therefore we sleep in a loop until we can ping the
|
||||
# endpoint.
|
||||
preStart = ''
|
||||
while ! ping -q -c 1 v1-0-0-server.tarsnap.com &> /dev/null; do sleep 3; done
|
||||
while ! ping -4 -q -c 1 v1-0-0-server.tarsnap.com &> /dev/null; do sleep 3; done
|
||||
'';
|
||||
|
||||
script = let
|
||||
|
||||
@@ -20,10 +20,16 @@ let
|
||||
++ optional cfg.scanOnLowSignal ''bgscan="simple:30:-70:3600"''
|
||||
++ optional (cfg.extraConfig != "") cfg.extraConfig);
|
||||
|
||||
configIsGenerated = with cfg;
|
||||
networks != {} || extraConfig != "" || userControlled.enable;
|
||||
|
||||
# the original configuration file
|
||||
configFile =
|
||||
if cfg.networks != {} || cfg.extraConfig != "" || cfg.userControlled.enable
|
||||
if configIsGenerated
|
||||
then pkgs.writeText "wpa_supplicant.conf" generatedConfig
|
||||
else "/etc/wpa_supplicant.conf";
|
||||
# the config file with environment variables replaced
|
||||
finalConfig = ''"$RUNTIME_DIRECTORY"/wpa_supplicant.conf'';
|
||||
|
||||
# Creates a network block for wpa_supplicant.conf
|
||||
mkNetwork = ssid: opts:
|
||||
@@ -56,8 +62,8 @@ let
|
||||
let
|
||||
deviceUnit = optional (iface != null) "sys-subsystem-net-devices-${utils.escapeSystemdPath iface}.device";
|
||||
configStr = if cfg.allowAuxiliaryImperativeNetworks
|
||||
then "-c /etc/wpa_supplicant.conf -I ${configFile}"
|
||||
else "-c ${configFile}";
|
||||
then "-c /etc/wpa_supplicant.conf -I ${finalConfig}"
|
||||
else "-c ${finalConfig}";
|
||||
in {
|
||||
description = "WPA Supplicant instance" + optionalString (iface != null) " for interface ${iface}";
|
||||
|
||||
@@ -69,12 +75,25 @@ let
|
||||
stopIfChanged = false;
|
||||
|
||||
path = [ package ];
|
||||
serviceConfig.RuntimeDirectory = "wpa_supplicant";
|
||||
serviceConfig.RuntimeDirectoryMode = "700";
|
||||
serviceConfig.EnvironmentFile = mkIf (cfg.environmentFile != null)
|
||||
(builtins.toString cfg.environmentFile);
|
||||
|
||||
script =
|
||||
''
|
||||
if [ -f /etc/wpa_supplicant.conf -a "/etc/wpa_supplicant.conf" != "${configFile}" ]; then
|
||||
echo >&2 "<3>/etc/wpa_supplicant.conf present but ignored. Generated ${configFile} is used instead."
|
||||
fi
|
||||
${optionalString configIsGenerated ''
|
||||
if [ -f /etc/wpa_supplicant.conf ]; then
|
||||
echo >&2 "<3>/etc/wpa_supplicant.conf present but ignored. Generated ${configFile} is used instead."
|
||||
fi
|
||||
''}
|
||||
|
||||
# substitute environment variables
|
||||
${pkgs.gawk}/bin/awk '{
|
||||
for(varname in ENVIRON)
|
||||
gsub("@"varname"@", ENVIRON[varname])
|
||||
print
|
||||
}' "${configFile}" > "${finalConfig}"
|
||||
|
||||
iface_args="-s ${optionalString cfg.dbusControlled "-u"} -D${cfg.driver} ${configStr}"
|
||||
|
||||
@@ -155,6 +174,44 @@ in {
|
||||
'';
|
||||
};
|
||||
|
||||
environmentFile = mkOption {
|
||||
type = types.nullOr types.path;
|
||||
default = null;
|
||||
example = "/run/secrets/wireless.env";
|
||||
description = ''
|
||||
File consisting of lines of the form <literal>varname=value</literal>
|
||||
to define variables for the wireless configuration.
|
||||
|
||||
See section "EnvironmentFile=" in <citerefentry>
|
||||
<refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum>
|
||||
</citerefentry> for a syntax reference.
|
||||
|
||||
Secrets (PSKs, passwords, etc.) can be provided without adding them to
|
||||
the world-readable Nix store by defining them in the environment file and
|
||||
referring to them in option <option>networking.wireless.networks</option>
|
||||
with the syntax <literal>@varname@</literal>. Example:
|
||||
|
||||
<programlisting>
|
||||
# content of /run/secrets/wireless.env
|
||||
PSK_HOME=mypassword
|
||||
PASS_WORK=myworkpassword
|
||||
</programlisting>
|
||||
|
||||
<programlisting>
|
||||
# wireless-related configuration
|
||||
networking.wireless.environmentFile = "/run/secrets/wireless.env";
|
||||
networking.wireless.networks = {
|
||||
home.psk = "@PSK_HOME@";
|
||||
work.auth = '''
|
||||
eap=PEAP
|
||||
identity="my-user@example.com"
|
||||
password="@PASS_WORK@"
|
||||
''';
|
||||
};
|
||||
</programlisting>
|
||||
'';
|
||||
};
|
||||
|
||||
networks = mkOption {
|
||||
type = types.attrsOf (types.submodule {
|
||||
options = {
|
||||
@@ -165,10 +222,14 @@ in {
|
||||
The network's pre-shared key in plaintext defaulting
|
||||
to being a network without any authentication.
|
||||
|
||||
Be aware that these will be written to the nix store
|
||||
in plaintext!
|
||||
<warning><para>
|
||||
Be aware that this will be written to the nix store
|
||||
in plaintext! Use an environment variable instead.
|
||||
</para></warning>
|
||||
|
||||
Mutually exclusive with <varname>pskRaw</varname>.
|
||||
<note><para>
|
||||
Mutually exclusive with <varname>pskRaw</varname>.
|
||||
</para></note>
|
||||
'';
|
||||
};
|
||||
|
||||
@@ -179,7 +240,14 @@ in {
|
||||
The network's pre-shared key in hex defaulting
|
||||
to being a network without any authentication.
|
||||
|
||||
Mutually exclusive with <varname>psk</varname>.
|
||||
<warning><para>
|
||||
Be aware that this will be written to the nix store
|
||||
in plaintext! Use an environment variable instead.
|
||||
</para></warning>
|
||||
|
||||
<note><para>
|
||||
Mutually exclusive with <varname>psk</varname>.
|
||||
</para></note>
|
||||
'';
|
||||
};
|
||||
|
||||
@@ -231,7 +299,7 @@ in {
|
||||
example = ''
|
||||
eap=PEAP
|
||||
identity="user@example.com"
|
||||
password="secret"
|
||||
password="@EXAMPLE_PASSWORD@"
|
||||
'';
|
||||
description = ''
|
||||
Use this option to configure advanced authentication methods like EAP.
|
||||
@@ -242,7 +310,15 @@ in {
|
||||
</citerefentry>
|
||||
for example configurations.
|
||||
|
||||
Mutually exclusive with <varname>psk</varname> and <varname>pskRaw</varname>.
|
||||
<warning><para>
|
||||
Be aware that this will be written to the nix store
|
||||
in plaintext! Use an environment variable for secrets.
|
||||
</para></warning>
|
||||
|
||||
<note><para>
|
||||
Mutually exclusive with <varname>psk</varname> and
|
||||
<varname>pskRaw</varname>.
|
||||
</para></note>
|
||||
'';
|
||||
};
|
||||
|
||||
@@ -303,11 +379,17 @@ in {
|
||||
default = {};
|
||||
example = literalExample ''
|
||||
{ echelon = { # SSID with no spaces or special characters
|
||||
psk = "abcdefgh";
|
||||
psk = "abcdefgh"; # (password will be written to /nix/store!)
|
||||
};
|
||||
|
||||
echelon = { # safe version of the above: read PSK from the
|
||||
psk = "@PSK_ECHELON@"; # variable PSK_ECHELON, defined in environmentFile,
|
||||
}; # this won't leak into /nix/store
|
||||
|
||||
"echelon's AP" = { # SSID with spaces and/or special characters
|
||||
psk = "ijklmnop";
|
||||
psk = "ijklmnop"; # (password will be written to /nix/store!)
|
||||
};
|
||||
|
||||
"free.wifi" = {}; # Public wireless network
|
||||
}
|
||||
'';
|
||||
|
||||
@@ -479,6 +479,7 @@ in
|
||||
wiki-js = handleTest ./wiki-js.nix {};
|
||||
wireguard = handleTest ./wireguard {};
|
||||
wmderland = handleTest ./wmderland.nix {};
|
||||
wpa_supplicant = handleTest ./wpa_supplicant.nix {};
|
||||
wordpress = handleTest ./wordpress.nix {};
|
||||
xandikos = handleTest ./xandikos.nix {};
|
||||
xautolock = handleTest ./xautolock.nix {};
|
||||
|
||||
@@ -31,7 +31,6 @@ let
|
||||
linuxPackages_4_19
|
||||
linuxPackages_5_4
|
||||
linuxPackages_5_10
|
||||
linuxPackages_5_13
|
||||
linuxPackages_5_14
|
||||
|
||||
linuxPackages_4_14_hardened
|
||||
|
||||
@@ -0,0 +1,81 @@
|
||||
import ./make-test-python.nix ({ pkgs, lib, ...}:
|
||||
{
|
||||
name = "wpa_supplicant";
|
||||
meta = with lib.maintainers; {
|
||||
maintainers = [ rnhmjoj ];
|
||||
};
|
||||
|
||||
machine = { ... }: {
|
||||
imports = [ ../modules/profiles/minimal.nix ];
|
||||
|
||||
# add a virtual wlan interface
|
||||
boot.kernelModules = [ "mac80211_hwsim" ];
|
||||
|
||||
# wireless access point
|
||||
services.hostapd = {
|
||||
enable = true;
|
||||
wpa = true;
|
||||
interface = "wlan0";
|
||||
ssid = "nixos-test";
|
||||
wpaPassphrase = "reproducibility";
|
||||
};
|
||||
|
||||
# wireless client
|
||||
networking.wireless = {
|
||||
# the override is needed because the wifi is
|
||||
# disabled with mkVMOverride in qemu-vm.nix.
|
||||
enable = lib.mkOverride 0 true;
|
||||
userControlled.enable = true;
|
||||
interfaces = [ "wlan1" ];
|
||||
|
||||
networks = {
|
||||
# test network
|
||||
nixos-test.psk = "@PSK_NIXOS_TEST@";
|
||||
|
||||
# secrets substitution test cases
|
||||
test1.psk = "@PSK_VALID@"; # should be replaced
|
||||
test2.psk = "@PSK_SPECIAL@"; # should be replaced
|
||||
test3.psk = "@PSK_MISSING@"; # should not be replaced
|
||||
test4.psk = "P@ssowrdWithSome@tSymbol"; # should not be replaced
|
||||
};
|
||||
|
||||
# secrets
|
||||
environmentFile = pkgs.writeText "wpa-secrets" ''
|
||||
PSK_NIXOS_TEST="reproducibility"
|
||||
PSK_VALID="S0m3BadP4ssw0rd";
|
||||
# taken from https://github.com/minimaxir/big-list-of-naughty-strings
|
||||
PSK_SPECIAL=",./;'[]\-= <>?:\"{}|_+ !@#$%^\&*()`~";
|
||||
'';
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
testScript =
|
||||
''
|
||||
config_file = "/run/wpa_supplicant/wpa_supplicant.conf"
|
||||
|
||||
with subtest("Configuration file is inaccessible to other users"):
|
||||
machine.wait_for_file(config_file)
|
||||
machine.fail(f"sudo -u nobody ls {config_file}")
|
||||
|
||||
with subtest("Secrets variables have been substituted"):
|
||||
machine.fail(f"grep -q @PSK_VALID@ {config_file}")
|
||||
machine.fail(f"grep -q @PSK_SPECIAL@ {config_file}")
|
||||
machine.succeed(f"grep -q @PSK_MISSING@ {config_file}")
|
||||
machine.succeed(f"grep -q P@ssowrdWithSome@tSymbol {config_file}")
|
||||
|
||||
# save file for manual inspection
|
||||
machine.copy_from_vm(config_file)
|
||||
|
||||
with subtest("Daemon is running and accepting connections"):
|
||||
machine.wait_for_unit("wpa_supplicant-wlan1.service")
|
||||
status = machine.succeed("wpa_cli -i wlan1 status")
|
||||
assert "Failed to connect" not in status, \
|
||||
"Failed to connect to the daemon"
|
||||
|
||||
with subtest("Daemon can connect to the access point"):
|
||||
machine.wait_until_succeeds(
|
||||
"wpa_cli -i wlan1 status | grep -q wpa_state=COMPLETED"
|
||||
)
|
||||
'';
|
||||
})
|
||||
@@ -35,11 +35,11 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bisq-desktop";
|
||||
version = "1.7.3";
|
||||
version = "1.7.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/bisq-network/bisq/releases/download/v${version}/Bisq-64bit-${version}.deb";
|
||||
sha256 = "1q250lj0ig6aqd1dfc335z8pjj7qa7l75kws6d78k3wchzmk7jrk";
|
||||
sha256 = "1yhxq6pv8hc0pz8g993a9nng2srnmmajkqxf0lfvkypy13k9zdg4";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper copyDesktopItems imagemagick dpkg gnutar zip xz ];
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ lib, fetchurl, appimageTools, imagemagick }:
|
||||
{ lib, fetchurl, appimageTools, imagemagick, systemd }:
|
||||
|
||||
let
|
||||
pname = "ledger-live-desktop";
|
||||
@@ -13,9 +13,22 @@ let
|
||||
appimageContents = appimageTools.extractType2 {
|
||||
inherit name src;
|
||||
};
|
||||
in appimageTools.wrapType2 rec {
|
||||
|
||||
# Hotplug events from udevd are fired into the kernel, which then re-broadcasts them over a
|
||||
# special socket, to every libudev client listening for hotplug when the kernel does that. It will
|
||||
# try to preserve the uid of the sender but a non-root namespace (like the fhs-env) cant map root
|
||||
# to a uid, for security reasons, so the uid of the sender becomes nobody and libudev actively
|
||||
# rejects such messages. This patch disables that bit of security in libudev.
|
||||
# See: https://github.com/NixOS/nixpkgs/issues/116361
|
||||
systemdPatched = systemd.overrideAttrs ({ patches ? [ ], ... }: {
|
||||
patches = patches ++ [ ./systemd.patch ];
|
||||
});
|
||||
in
|
||||
appimageTools.wrapType2 rec {
|
||||
inherit name src;
|
||||
|
||||
extraPkgs = pkgs: [ systemdPatched ];
|
||||
|
||||
extraInstallCommands = ''
|
||||
mv $out/bin/${name} $out/bin/${pname}
|
||||
install -m 444 -D ${appimageContents}/ledger-live-desktop.desktop $out/share/applications/ledger-live-desktop.desktop
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
diff --git a/src/libsystemd/sd-device/device-monitor.c b/src/libsystemd/sd-device/device-monitor.c
|
||||
index fd5900704d..f9106fdbe5 100644
|
||||
--- a/src/libsystemd/sd-device/device-monitor.c
|
||||
+++ b/src/libsystemd/sd-device/device-monitor.c
|
||||
@@ -445,9 +445,6 @@ int device_monitor_receive_device(sd_device_monitor *m, sd_device **ret) {
|
||||
"sd-device-monitor: No sender credentials received, message ignored.");
|
||||
|
||||
cred = (struct ucred*) CMSG_DATA(cmsg);
|
||||
- if (cred->uid != 0)
|
||||
- return log_debug_errno(SYNTHETIC_ERRNO(EAGAIN),
|
||||
- "sd-device-monitor: Sender uid="UID_FMT", message ignored.", cred->uid);
|
||||
|
||||
if (streq(buf.raw, "libudev")) {
|
||||
/* udev message needs proper version magic */
|
||||
@@ -92,11 +92,11 @@ in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "brave";
|
||||
version = "1.29.79";
|
||||
version = "1.30.86";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
|
||||
sha256 = "7GJfnq2PWO4Bks4jb3DOQhKShrALP2hdMl5up4FYsnU=";
|
||||
sha256 = "0pg29i01dm5gqfd3aagsc83dbx0n3051wfxi0r1c9l93dwm5bmq9";
|
||||
};
|
||||
|
||||
dontConfigure = true;
|
||||
@@ -126,7 +126,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
ln -sf $BINARYWRAPPER $out/bin/brave
|
||||
|
||||
for exe in $out/opt/brave.com/brave/{brave,crashpad_handler}; do
|
||||
for exe in $out/opt/brave.com/brave/{brave,chrome_crashpad_handler}; do
|
||||
patchelf \
|
||||
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
|
||||
--set-rpath "${rpath}" $exe
|
||||
|
||||
@@ -11,15 +11,21 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "sha256-ACuTb1DGft2/32Ezg23jhpl9yua5kUTZ2kKL8KHU+BU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ unixtools.column which ];
|
||||
postPatch = ''
|
||||
patchShebangs check_dependencies.sh
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
unixtools.column
|
||||
which
|
||||
];
|
||||
|
||||
dontBuild = true;
|
||||
|
||||
preInstall = ''
|
||||
patchShebangs .
|
||||
'';
|
||||
|
||||
installFlags = [ "PREFIX=${placeholder "out"}" ];
|
||||
installFlags = [
|
||||
"PREFIX=${placeholder "out"}"
|
||||
"SYSCONFDIR=${placeholder "out"}/share"
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
# bash completion is already handled by make install
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{ lib, stdenv, fetchurl, fetchpatch, python, zlib, pkg-config, glib
|
||||
, perl, pixman, vde2, alsa-lib, texinfo, flex
|
||||
, bison, lzo, snappy, libaio, gnutls, nettle, curl, ninja, meson
|
||||
, bison, lzo, snappy, libaio, libtasn1, gnutls, nettle, curl, ninja, meson, sigtool
|
||||
, makeWrapper, autoPatchelfHook
|
||||
, attr, libcap, libcap_ng
|
||||
, CoreServices, Cocoa, Hypervisor, rez, setfile
|
||||
@@ -43,19 +43,20 @@ stdenv.mkDerivation rec {
|
||||
+ lib.optionalString xenSupport "-xen"
|
||||
+ lib.optionalString hostCpuOnly "-host-cpu-only"
|
||||
+ lib.optionalString nixosTestRunner "-for-vm-tests";
|
||||
version = "6.0.0";
|
||||
version = "6.1.0";
|
||||
|
||||
src = fetchurl {
|
||||
url= "https://download.qemu.org/qemu-${version}.tar.xz";
|
||||
sha256 = "1f9hz8rf12jm8baa7kda34yl4hyl0xh0c4ap03krfjx23i3img47";
|
||||
sha256 = "15iw7982g6vc4jy1l9kk1z9sl5bm1bdbwr74y7nvwjs1nffhig7f";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper python python.pkgs.sphinx pkg-config flex bison meson ninja ]
|
||||
nativeBuildInputs = [ python python.pkgs.sphinx python.pkgs.sphinx_rtd_theme pkg-config flex bison meson ninja ]
|
||||
++ lib.optionals gtkSupport [ wrapGAppsHook ]
|
||||
++ lib.optionals stdenv.isLinux [ autoPatchelfHook ];
|
||||
++ lib.optionals stdenv.isLinux [ autoPatchelfHook ]
|
||||
++ lib.optionals stdenv.isDarwin [ sigtool ];
|
||||
|
||||
buildInputs = [ zlib glib perl pixman
|
||||
vde2 texinfo lzo snappy
|
||||
vde2 texinfo lzo snappy libtasn1
|
||||
gnutls nettle curl
|
||||
]
|
||||
++ lib.optionals ncursesSupport [ ncurses ]
|
||||
@@ -85,22 +86,14 @@ stdenv.mkDerivation rec {
|
||||
patches = [
|
||||
./fix-qemu-ga.patch
|
||||
./9p-ignore-noatime.patch
|
||||
# Cocoa clipboard support only works on macOS 10.14+
|
||||
(fetchpatch {
|
||||
name = "CVE-2021-3545.patch";
|
||||
url = "https://gitlab.com/qemu-project/qemu/-/commit/121841b25d72d13f8cad554363138c360f1250ea.patch";
|
||||
sha256 = "13dgfd8dmxcalh2nvb68iv0kyv4xxrvpdqdxf1h3bjr4451glag1";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "CVE-2021-3546.patch";
|
||||
url = "https://gitlab.com/qemu-project/qemu/-/commit/9f22893adcb02580aee5968f32baa2cd109b3ec2.patch";
|
||||
sha256 = "1vkhm9vl671y4cra60b6704339qk1h5dyyb3dfvmvpsvfyh2pm7n";
|
||||
url = "https://gitlab.com/qemu-project/qemu/-/commit/7e3e20d89129614f4a7b2451fe321cc6ccca3b76.diff";
|
||||
sha256 = "09xz06g57wxbacic617pq9c0qb7nly42gif0raplldn5lw964xl2";
|
||||
revert = true;
|
||||
})
|
||||
] ++ lib.optional nixosTestRunner ./force-uid0-on-9p.patch
|
||||
++ lib.optionals stdenv.hostPlatform.isMusl [
|
||||
(fetchpatch {
|
||||
url = "https://raw.githubusercontent.com/alpinelinux/aports/2bb133986e8fa90e2e76d53369f03861a87a74ef/main/qemu/xattr_size_max.patch";
|
||||
sha256 = "1xfdjs1jlvs99hpf670yianb8c3qz2ars8syzyz8f2c2cp5y4bxb";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://raw.githubusercontent.com/alpinelinux/aports/2bb133986e8fa90e2e76d53369f03861a87a74ef/main/qemu/musl-F_SHLCK-and-F_EXLCK.patch";
|
||||
sha256 = "1gm67v41gw6apzgz7jr3zv9z80wvkv0jaxd2w4d16hmipa8bhs0k";
|
||||
@@ -117,13 +110,6 @@ stdenv.mkDerivation rec {
|
||||
sed -i "/install_subdir('run', install_dir: get_option('localstatedir'))/d" \
|
||||
qga/meson.build
|
||||
|
||||
# TODO: On aarch64-darwin, we automatically codesign everything, but qemu
|
||||
# needs specific entitlements and does its own signing. This codesign
|
||||
# command fails, but we have no fix at the moment, so this disables it.
|
||||
# This means `-accel hvf` is broken for now, on aarch64-darwin only.
|
||||
substituteInPlace meson.build \
|
||||
--replace 'if exe_sign' 'if false'
|
||||
|
||||
# glibc 2.33 compat fix: if `has_statx = true` is set, `tools/virtiofsd/passthrough_ll.c` will
|
||||
# rely on `stx_mnt_id`[1] which is not part of glibc's `statx`-struct definition.
|
||||
#
|
||||
|
||||
@@ -15,6 +15,15 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "1h1f70y40qd225dqx937vzb4k2cz219agm1zvnjxakn5jkz7b37w";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Upstream fix to build against gcc-11.
|
||||
(fetchurl {
|
||||
name = "gcc-11.patch";
|
||||
url = "http://git.fluxbox.org/fluxbox.git/patch/?id=22866c4d30f5b289c429c5ca88d800200db4fc4f";
|
||||
sha256 = "1x7126rlmzky51lk370fczssgnjs7i6wgfaikfib9pvn4vv945ai";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
buildInputs = [ freetype fribidi libXext libXft libXpm libXrandr libXrender xorgproto libXinerama imlib2 ];
|
||||
|
||||
@@ -9,13 +9,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "venta";
|
||||
version = "0.6";
|
||||
version = "0.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "darkomarko42";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "1fhiq1kji5qmwsh8335rzilvhs30g5jp126czf2rf532iba0ivd7";
|
||||
sha256 = "0vgm65mb8qd6nbkkinmqb1hldksfgd6281l58y28jc5q4244l9wp";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
{ lib, stdenv
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, nix-update-script
|
||||
, pantheon
|
||||
, pkg-config
|
||||
@@ -31,7 +30,7 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "elementary-code";
|
||||
version = "6.0.0";
|
||||
version = "6.0.1";
|
||||
|
||||
repoName = "code";
|
||||
|
||||
@@ -39,18 +38,9 @@ stdenv.mkDerivation rec {
|
||||
owner = "elementary";
|
||||
repo = repoName;
|
||||
rev = version;
|
||||
sha256 = "1w1m52mq3zr9alkxk1c0s4ncscka1km5ppd0r6zm86qan9cjwq0f";
|
||||
sha256 = "120328pprzqj4587yj54yya9v2mv1rfwylpmxyr5l2qf80cjxi9d";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Upstream code not respecting our localedir
|
||||
# https://github.com/elementary/code/pull/1090
|
||||
(fetchpatch {
|
||||
url = "https://github.com/elementary/code/commit/88dc40d7bbcc2288ada6673eb8f4fab345d97882.patch";
|
||||
sha256 = "16y20bvslcm390irlib759703lvf7w6rz4xzaiazjj1r1njwinvv";
|
||||
})
|
||||
];
|
||||
|
||||
passthru = {
|
||||
updateScript = nix-update-script {
|
||||
attrPath = "pantheon.${pname}";
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "elementary-files";
|
||||
version = "6.0.2";
|
||||
version = "6.0.3";
|
||||
|
||||
repoName = "files";
|
||||
|
||||
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
|
||||
owner = "elementary";
|
||||
repo = repoName;
|
||||
rev = version;
|
||||
sha256 = "1i514r3adypmcwinmv4c1kybims16xi4i3akx0yy04dib92hbk7c";
|
||||
sha256 = "10hgj5rrqxzk4q8jlhkwwrs4hgyavlhz3z1pqf36y663bq3h0izv";
|
||||
};
|
||||
|
||||
passthru = {
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "elementary-mail";
|
||||
version = "6.1.1";
|
||||
version = "6.2.0";
|
||||
|
||||
repoName = "mail";
|
||||
|
||||
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
|
||||
owner = "elementary";
|
||||
repo = repoName;
|
||||
rev = version;
|
||||
sha256 = "15ai0x9236pjx76m0756nyc1by78v0lg1dgdiifk868krdvipzzx";
|
||||
sha256 = "1ab620zhwqqjq1bs1alvpcw9jmdxjij0ywczvwbg8gqvcsc80lkn";
|
||||
};
|
||||
|
||||
passthru = {
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "elementary-tasks";
|
||||
version = "6.0.3";
|
||||
version = "6.0.4";
|
||||
|
||||
repoName = "tasks";
|
||||
|
||||
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
|
||||
owner = "elementary";
|
||||
repo = repoName;
|
||||
rev = version;
|
||||
sha256 = "0a6zgf7di4jyl764pn78wbanm0i5vrkk5ks3cfsvi3baprf3j9d5";
|
||||
sha256 = "1gb51gm8qgd8yzhqb7v69p2f1fgm3qf534if4lc85jrjsb8hgmhl";
|
||||
};
|
||||
|
||||
passthru = {
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
{ lib, stdenv
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, nix-update-script
|
||||
, pantheon
|
||||
, meson
|
||||
@@ -16,24 +15,15 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "switchboard-plug-applications";
|
||||
version = "6.0.0";
|
||||
version = "6.0.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "elementary";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "0hgvmrgg6g2sjb3sda7kzfcd3zgngd5w982drl6ll44k1mh16gsj";
|
||||
sha256 = "18izmzhqp6x5ivha9yl8gyz9adyrsylw7w5p0cwm1bndgqbi7yh5";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Upstream code not respecting our localedir
|
||||
# https://github.com/elementary/switchboard-plug-applications/pull/163
|
||||
(fetchpatch {
|
||||
url = "https://github.com/elementary/switchboard-plug-applications/commit/25db490654ab41694be7b7ba19218376f42fbb8d.patch";
|
||||
sha256 = "16y8zcwnnjsh72ifpyqcdb9f5ajdj0iy8kb5sj6v77c1cxdhrv29";
|
||||
})
|
||||
];
|
||||
|
||||
passthru = {
|
||||
updateScript = nix-update-script {
|
||||
attrPath = "pantheon.${pname}";
|
||||
|
||||
@@ -24,13 +24,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "switchboard-plug-onlineaccounts";
|
||||
version = "6.2.0";
|
||||
version = "6.2.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "elementary";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "1lp3i31jzp21n43d1mh4d4i8zgim3q3j4inw4hmyimyql2s83cc3";
|
||||
sha256 = "1q3f7zr04p2100mb255zy38il2i47l6vqdc9a9acjbk3n7q5sf92";
|
||||
};
|
||||
|
||||
passthru = {
|
||||
|
||||
@@ -12,7 +12,6 @@
|
||||
, libgee
|
||||
, gettext
|
||||
, gtk3
|
||||
, appstream
|
||||
, gnome-menus
|
||||
, json-glib
|
||||
, elementary-dock
|
||||
@@ -27,7 +26,7 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "wingpanel-applications-menu";
|
||||
version = "2.8.2";
|
||||
version = "2.9.0";
|
||||
|
||||
repoName = "applications-menu";
|
||||
|
||||
@@ -35,7 +34,7 @@ stdenv.mkDerivation rec {
|
||||
owner = "elementary";
|
||||
repo = repoName;
|
||||
rev = version;
|
||||
sha256 = "1pm3dnq35vbvyxqapmfy4frfwhc1l2zh634annlmbjiyfp5mzk0q";
|
||||
sha256 = "0mwjw2ghbdj336ax5srxbqnjprdhj1if7sm9k9idqkmifpzccs7i";
|
||||
};
|
||||
|
||||
passthru = {
|
||||
@@ -45,7 +44,6 @@ stdenv.mkDerivation rec {
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
appstream
|
||||
gettext
|
||||
meson
|
||||
ninja
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
, nix-update-script
|
||||
, pantheon
|
||||
, pkg-config
|
||||
, fetchpatch
|
||||
, meson
|
||||
, ninja
|
||||
, vala
|
||||
@@ -17,24 +16,15 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "wingpanel-indicator-notifications";
|
||||
version = "6.0.0";
|
||||
version = "6.0.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "elementary";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "1pvcpk1d2zh9pvw0clv3bhf2plcww6nbxs6j7xjbvnaqs7d6i1k2";
|
||||
sha256 = "1qrbg8l3ifz09jx6v5j7hmgw0hmirj6mh3z634yl1cadz45p8fc9";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Upstream code not respecting our localedir
|
||||
# https://github.com/elementary/wingpanel-indicator-notifications/pull/218
|
||||
(fetchpatch {
|
||||
url = "https://github.com/elementary/wingpanel-indicator-notifications/commit/c7e73f0683561345935a959dafa2083b7e22fe99.patch";
|
||||
sha256 = "10xiyq42bqfmih1jgqpq64nha3n0y7ra3j7j0q27rn5hhhgbyjs7";
|
||||
})
|
||||
];
|
||||
|
||||
passthru = {
|
||||
updateScript = nix-update-script {
|
||||
attrPath = "pantheon.${pname}";
|
||||
|
||||
@@ -22,13 +22,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "wingpanel";
|
||||
version = "3.0.0";
|
||||
version = "3.0.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "elementary";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "0ycys24y1rrz0ydpvs4mc89p4k986q1ziwbvziinxr1wsli9v1dj";
|
||||
sha256 = "078yi36r452sc33mv2ck8z0icya1lhzhickllrlhc60rdri36sb8";
|
||||
};
|
||||
|
||||
passthru = {
|
||||
|
||||
@@ -4,13 +4,13 @@ with lib;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libytnef";
|
||||
version = "1.9.3";
|
||||
version = "2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Yeraze";
|
||||
repo = "ytnef";
|
||||
rev = "v${version}";
|
||||
sha256 = "07h48s5qf08503pp9kafqbwipdqghiif22ghki7z8j67gyp04l6l";
|
||||
sha256 = "sha256-P5eTH5pKK+v4LCMAe6JbEbTYOJypmLMYVDYk5tGVZ14=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook ];
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
{ lib, stdenv, fetchurl, ocaml, findlib, ocamlbuild
|
||||
, topkg, result, lwt, cmdliner, fmt }:
|
||||
, topkg, result, lwt, cmdliner, fmt
|
||||
, js_of_ocaml
|
||||
}:
|
||||
let
|
||||
pname = "logs";
|
||||
webpage = "https://erratique.ch/software/${pname}";
|
||||
@@ -19,10 +21,10 @@ stdenv.mkDerivation rec {
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ ocaml findlib ocamlbuild ];
|
||||
buildInputs = [ findlib topkg fmt cmdliner lwt ];
|
||||
buildInputs = [ findlib topkg fmt cmdliner js_of_ocaml lwt ];
|
||||
propagatedBuildInputs = [ result ];
|
||||
|
||||
buildPhase = "${topkg.run} build --with-js_of_ocaml false";
|
||||
buildPhase = "${topkg.run} build --with-js_of_ocaml true";
|
||||
|
||||
inherit (topkg) installPhase;
|
||||
|
||||
|
||||
@@ -7,14 +7,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "ailment";
|
||||
version = "9.0.10010";
|
||||
version = "9.0.10055";
|
||||
disabled = pythonOlder "3.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "angr";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-kEHbuc5gmurMznTyfn/KnZEClLHJgv2CzK4O30dIgTg=";
|
||||
sha256 = "sha256-RaYwPWKFYbDbWm5lZYk9qaDCgL8HcimIRZasbPPOlqo=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ pyvex ];
|
||||
|
||||
@@ -1,26 +1,44 @@
|
||||
{ lib, buildPythonPackage, fetchPypi, isPy3k
|
||||
, aiohttp }:
|
||||
{ lib
|
||||
, aiohttp
|
||||
, aioresponses
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, pytest-aiohttp
|
||||
, pytest-asyncio
|
||||
, pytestCheckHook
|
||||
, pythonOlder
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "aiounifi";
|
||||
version = "26";
|
||||
version = "27";
|
||||
|
||||
disabled = ! isPy3k;
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "3dd0f9fc59edff5d87905ddef3eecc93f974c209d818d3a91061b05925da04af";
|
||||
src = fetchFromGitHub {
|
||||
owner = "Kane610";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "09bxyfrwhqwlfxwgbbnkyd7md9wz05y3fjvc9f0rrj70z7qcicnv";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ aiohttp ];
|
||||
propagatedBuildInputs = [
|
||||
aiohttp
|
||||
];
|
||||
|
||||
# upstream has no tests
|
||||
doCheck = false;
|
||||
checkInputs = [
|
||||
aioresponses
|
||||
pytest-aiohttp
|
||||
pytest-asyncio
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "aiounifi" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "An asynchronous Python library for communicating with Unifi Controller API";
|
||||
homepage = "https://pypi.python.org/pypi/aiounifi/";
|
||||
license = licenses.mit;
|
||||
description = "Python library for communicating with Unifi Controller API";
|
||||
homepage = "https://github.com/Kane610/aiounifi";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ peterhoeg ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -43,14 +43,14 @@ in
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "angr";
|
||||
version = "9.0.10010";
|
||||
version = "9.0.10055";
|
||||
disabled = pythonOlder "3.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = pname;
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-UWg3lrBMfQsR09wbx8F2nml8eymk7V60gwFbPXwNqAw=";
|
||||
sha256 = "sha256-egj24DBP2Bq2GMYOhZZPXmnobpbjxbD2V8MWwZpqhUg=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
||||
@@ -9,14 +9,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "angrop";
|
||||
version = "9.0.10010";
|
||||
version = "9.0.10055";
|
||||
disabled = pythonOlder "3.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "angr";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-VCVvJI98gyVZC2SPb5hd8FKLTYUhEILJtieb4IQGL2c=";
|
||||
sha256 = "sha256-OAn57lt25ZmEU62pJLJd+3T0v2nCYRDnwuVhiZfA7Uk=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
||||
@@ -7,13 +7,13 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "archinfo";
|
||||
version = "9.0.10010";
|
||||
version = "9.0.10055";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "angr";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-Eyquud4Cc0bU4z+ElWs/gPzuNRtNKPMxWjSLpwFlBXQ=";
|
||||
sha256 = "sha256-eQBART7WSAJKQRKNwmR1JKTkrlerHeHVgTK5v0R644Q=";
|
||||
};
|
||||
|
||||
checkInputs = [
|
||||
|
||||
@@ -6,12 +6,12 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "azure-mgmt-extendedlocation";
|
||||
version = "1.0.0b2";
|
||||
version = "1.0.0";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
extension = "zip";
|
||||
sha256 = "sha256-mjfH35T81JQ97jVgElWmZ8P5MwXVxZQv/QJKNLS3T8A=";
|
||||
sha256 = "e2388407dc27b93dec3314bfa64210d3514b98a4f961c410321fb4292b9b3e9a";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
version = "5.0.0";
|
||||
version = "5.1.0";
|
||||
pname = "azure-mgmt-netapp";
|
||||
disabled = isPy27;
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "2d5163c49f91636809ef1cacd48d91130803594855f43afe0f2b31fc5f02d53c";
|
||||
sha256 = "306088088ee10e86c4cf24cc82a9ca619db5cdfc0da3fa207d00ec7f77f06e8e";
|
||||
extension = "zip";
|
||||
};
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "casbin";
|
||||
version = "1.9.0";
|
||||
version = "1.9.1";
|
||||
|
||||
disabled = isPy27;
|
||||
|
||||
@@ -17,7 +17,7 @@ buildPythonPackage rec {
|
||||
owner = pname;
|
||||
repo = "pycasbin";
|
||||
rev = "v${version}";
|
||||
sha256 = "01prcwkmh3a4ggzjiaai489rrpmgwvqpjcavwjxw60mspyhsbv86";
|
||||
sha256 = "0pwaqajwxkb8c7rnb6cvpz877azs13f1mdq33z5gp2v09fj8s2b0";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
||||
@@ -13,14 +13,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "claripy";
|
||||
version = "9.0.10010";
|
||||
version = "9.0.10055";
|
||||
disabled = pythonOlder "3.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "angr";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-bcVbGDUTVLQ6ybPA2HjRlHJj1gnYK2dazhZXc9k0uSY=";
|
||||
sha256 = "sha256-QHhZVnUv54I8R7oCOBJgBcKZr8csg2OEOGxn4MKgmtk=";
|
||||
};
|
||||
|
||||
# Use upstream z3 implementation
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
|
||||
let
|
||||
# The binaries are following the argr projects release cycle
|
||||
version = "9.0.10010";
|
||||
version = "9.0.10055";
|
||||
|
||||
# Binary files from https://github.com/angr/binaries (only used for testing and only here)
|
||||
binaries = fetchFromGitHub {
|
||||
@@ -35,7 +35,7 @@ buildPythonPackage rec {
|
||||
owner = "angr";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-Fq/xkcG6wLRaXG37UEf/3r+EsacpkP2iA+HZLT05ETg=";
|
||||
sha256 = "sha256-fqnumSz3BfpG5/ReQQOhSGvsOMuinLs8q2HlPAxYQWM=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
||||
@@ -1,19 +1,24 @@
|
||||
{ lib, buildPythonPackage, pythonOlder, fetchFromGitHub, pytestCheckHook, requests }:
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, pythonOlder
|
||||
, fetchFromGitHub
|
||||
, pytestCheckHook
|
||||
, requests
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "fritzconnection";
|
||||
version = "1.6.0";
|
||||
version = "1.7.0";
|
||||
|
||||
disabled = pythonOlder "3.6";
|
||||
|
||||
# no tests on PyPI
|
||||
src = fetchFromGitHub {
|
||||
owner = "kbr";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "16sbv6ql6jd13lim88z8vl5205xppza10340bmq5m5f3lvzb7mpc";
|
||||
sha256 = "sha256-1HzeNtSqzqr9zyxF1PVWi6QfRupw8huMYmdFI6rzIdY=";
|
||||
};
|
||||
|
||||
disabled = pythonOlder "3.6";
|
||||
|
||||
propagatedBuildInputs = [ requests ];
|
||||
|
||||
checkInputs = [ pytestCheckHook ];
|
||||
@@ -21,7 +26,7 @@ buildPythonPackage rec {
|
||||
pythonImportsCheck = [ "fritzconnection" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Python-Tool to communicate with the AVM Fritz!Box";
|
||||
description = "Python module to communicate with the AVM Fritz!Box";
|
||||
homepage = "https://github.com/kbr/fritzconnection";
|
||||
changelog = "https://fritzconnection.readthedocs.io/en/${version}/sources/changes.html";
|
||||
license = licenses.mit;
|
||||
|
||||
@@ -4,11 +4,11 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "gphoto2";
|
||||
version = "2.2.4";
|
||||
version = "2.3.0";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "48b4c4ab70826d3ddaaf7440564d513c02d78680fa690994b0640d383ffb8a7d";
|
||||
sha256 = "a208264ed252a39b29a0b0f7ccc4c4ffb941398715aec84c3a547281a43c4eb8";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
@@ -12,12 +12,12 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "holidays";
|
||||
version = "0.11.2";
|
||||
version = "0.11.3";
|
||||
disabled = pythonOlder "3.6";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "0nqxan6nr3jp63i3sbb9s1v5dlig22bl927a6pl1ahks8cnr7rkn";
|
||||
sha256 = "b7bff8f9d7090656aee3c54c252c9e356785ee566c67de4af800ddbfa888bc77";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "ipyvue";
|
||||
version = "1.5.0";
|
||||
version = "1.6.0";
|
||||
|
||||
disabled = isPy27;
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "e8549a7ac7dc45948a5f2735e17f97622313c7fea24ea3c1bd4a5ebf02bf5638";
|
||||
sha256 = "61c21e698d99ec9dc22a155e8c00d50add99a2976b48cdfeab6bc010d2414f8b";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ ipywidgets ];
|
||||
|
||||
@@ -7,11 +7,11 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "mediafile";
|
||||
version = "0.8.0";
|
||||
version = "0.8.1";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-19K5DZMstRWu/6+N/McEdM1swedI5qr15kmnIAMA60Y=";
|
||||
sha256 = "878ccc378b77f2d6c175abea135ea25631f28c722e01e1a051924d962ebea165";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ mutagen six ];
|
||||
|
||||
@@ -25,6 +25,10 @@ buildPythonApplication rec {
|
||||
stestr
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
install -Dm644 tools/swift.bash_completion $out/share/bash_completion.d/swift
|
||||
'';
|
||||
|
||||
checkPhase = ''
|
||||
stestr run
|
||||
'';
|
||||
|
||||
@@ -11,11 +11,11 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pyvex";
|
||||
version = "9.0.10010";
|
||||
version = "9.0.10055";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-1vAiDXMYiclK5P8QZUBuy6KllcAQm8d7rQpN+CBDVVA=";
|
||||
sha256 = "sha256-ZfsFr8EkzdDYMyE/OJVwQylHVKcOrW1NBMI8cGmyF9A=";
|
||||
};
|
||||
|
||||
postPatch = lib.optionalString stdenv.isDarwin ''
|
||||
|
||||
@@ -26,6 +26,7 @@
|
||||
tree-sitter-lua = (builtins.fromJSON (builtins.readFile ./tree-sitter-lua.json));
|
||||
tree-sitter-markdown = (builtins.fromJSON (builtins.readFile ./tree-sitter-markdown.json));
|
||||
tree-sitter-nix = (builtins.fromJSON (builtins.readFile ./tree-sitter-nix.json));
|
||||
tree-sitter-norg = (builtins.fromJSON (builtins.readFile ./tree-sitter-norg.json));
|
||||
tree-sitter-ocaml = (builtins.fromJSON (builtins.readFile ./tree-sitter-ocaml.json));
|
||||
tree-sitter-php = (builtins.fromJSON (builtins.readFile ./tree-sitter-php.json));
|
||||
tree-sitter-python = (builtins.fromJSON (builtins.readFile ./tree-sitter-python.json));
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"url": "https://github.com/nvim-neorg/tree-sitter-norg.git",
|
||||
"rev": "84949f0c05195907c416cb7d02cf1369b9458b5f",
|
||||
"date": "2021-09-25T17:47:36+00:00",
|
||||
"path": "/nix/store/wa653ml1ajl8923f4am505asxwvsxbzq-tree-sitter-norg",
|
||||
"sha256": "07pzz9acg01r4yyws6savprjn3pccyylx6vq8q9lvrp76pnflks4",
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
"leaveDotGit": false
|
||||
}
|
||||
@@ -138,6 +138,10 @@ let
|
||||
orga = "rydesun";
|
||||
repo = "tree-sitter-dot";
|
||||
};
|
||||
"tree-sitter-norg" = {
|
||||
orga = "nvim-neorg";
|
||||
repo = "tree-sitter-norg";
|
||||
};
|
||||
};
|
||||
|
||||
allGrammars =
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "simavr";
|
||||
version = "1.5";
|
||||
version = "1.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "buserror";
|
||||
repo = "simavr";
|
||||
rev = "e0d4de41a72520491a4076b3ed87beb997a395c0";
|
||||
sha256 = "0b2lh6l2niv80dmbm9xkamvnivkbmqw6v97sy29afalrwfxylxla";
|
||||
rev = "v${version}";
|
||||
sha256 = "0njz03lkw5374x1lxrq08irz4b86lzj2hibx46ssp7zv712pq55q";
|
||||
};
|
||||
|
||||
makeFlags = [
|
||||
|
||||
@@ -17,15 +17,15 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "deno";
|
||||
version = "1.14.1";
|
||||
version = "1.14.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "denoland";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-WTBurNXI+t8S0f2ER6zw+6SlkzKYLDGFQcEVbXSQAtc=";
|
||||
sha256 = "sha256-7FcGwmJKKOmpuCJgHl65+EnwOWQAbmq6X1lZMhTlDaE=";
|
||||
};
|
||||
cargoSha256 = "sha256-/ohAzcfsoarPicinsZf5fi2cQwYD1oW5TOdWP8RbXos=";
|
||||
cargoSha256 = "sha256-mPxPieatGuROIwLGuQHBrZ8VTGd8c/6bKA+tt3Iv3OI=";
|
||||
|
||||
# Install completions post-install
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
@@ -11,11 +11,11 @@ let
|
||||
};
|
||||
in
|
||||
fetch_librusty_v8 {
|
||||
version = "0.28.0";
|
||||
version = "0.30.0";
|
||||
shas = {
|
||||
x86_64-linux = "sha256-Kz2sAAUux1BcrU2vukGybSs+REAIRUWMxqZakRPEeic=";
|
||||
aarch64-linux = "sha256-QXj9y6NrvxU6oL9QO2dYH4Fz+MbTzON7w8sTCei7Mqs=";
|
||||
x86_64-darwin = "sha256-zW1g3DZ4Mh4j3UYE312dDkbX6ngg50GaKCHYPa6H0Dk=";
|
||||
aarch64-darwin = "sha256-hLIRxApjTbkfDVPhK3EC7X/p6uQK5kOEILZfAmFV5AA=";
|
||||
x86_64-linux = "sha256-p5Vbt2fQPFR9SfLJ03f62/a8o9QIJOTXbA1s2liwNXY=";
|
||||
aarch64-linux = "sha256-j12KjdnL19d5U/QRfB/7ahUzcYnUddItp29bLM/mWzs=";
|
||||
x86_64-darwin = "sha256-w3k9oj+mP+i/hSf+ZjYLF+zsAcyLezbxhWXYoaPpn+U=";
|
||||
aarch64-darwin = "sha256-bOtZoG8vXnSBNTPJDkyW0xbMEbmGNtq+mEPKoP78Yew=";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,231 +0,0 @@
|
||||
From: Evgeni Golov <evgeni@debian.org>
|
||||
Subject: use the system tinyxml instead of the embedded copy
|
||||
Last-Update: 2015-08-09
|
||||
|
||||
diff --git a/src/Makefile.am b/src/Makefile.am
|
||||
index 7b9e263..bc7ba8c 100644
|
||||
--- a/src/Makefile.am
|
||||
+++ b/src/Makefile.am
|
||||
@@ -81,12 +81,6 @@ libdesmume_a_SOURCES = \
|
||||
utils/libfat/mem_allocate.h \
|
||||
utils/libfat/partition.cpp \
|
||||
utils/libfat/partition.h \
|
||||
- utils/tinyxml/tinystr.cpp \
|
||||
- utils/tinyxml/tinystr.h \
|
||||
- utils/tinyxml/tinyxml.cpp \
|
||||
- utils/tinyxml/tinyxml.h \
|
||||
- utils/tinyxml/tinyxmlerror.cpp \
|
||||
- utils/tinyxml/tinyxmlparser.cpp \
|
||||
utils/glcorearb.h \
|
||||
addons/slot2_auto.cpp addons/slot2_mpcf.cpp addons/slot2_paddle.cpp addons/slot2_gbagame.cpp addons/slot2_none.cpp addons/slot2_rumblepak.cpp addons/slot2_guitarGrip.cpp addons/slot2_expMemory.cpp addons/slot2_piano.cpp addons/slot2_passme.cpp addons/slot1_none.cpp addons/slot1_r4.cpp addons/slot1_retail_nand.cpp addons/slot1_retail_auto.cpp addons/slot1_retail_mcrom.cpp addons/slot1_retail_mcrom_debug.cpp addons/slot1comp_mc.cpp addons/slot1comp_mc.h addons/slot1comp_rom.h addons/slot1comp_rom.cpp addons/slot1comp_protocol.h addons/slot1comp_protocol.cpp \
|
||||
cheatSystem.cpp cheatSystem.h \
|
||||
@@ -204,3 +198,4 @@ if HAVE_GDB_STUB
|
||||
libdesmume_a_SOURCES += gdbstub.h
|
||||
endif
|
||||
libdesmume_a_LIBADD = fs-$(desmume_arch).$(OBJEXT)
|
||||
+LIBS += -ltinyxml
|
||||
diff --git a/src/Makefile.in b/src/Makefile.in
|
||||
index 9cf26a3..d9ff7b2 100644
|
||||
--- a/src/Makefile.in
|
||||
+++ b/src/Makefile.in
|
||||
@@ -184,9 +184,6 @@ am__libdesmume_a_SOURCES_DIST = armcpu.cpp armcpu.h \
|
||||
utils/libfat/libfat_public_api.h utils/libfat/lock.cpp \
|
||||
utils/libfat/lock.h utils/libfat/mem_allocate.h \
|
||||
utils/libfat/partition.cpp utils/libfat/partition.h \
|
||||
- utils/tinyxml/tinystr.cpp utils/tinyxml/tinystr.h \
|
||||
- utils/tinyxml/tinyxml.cpp utils/tinyxml/tinyxml.h \
|
||||
- utils/tinyxml/tinyxmlerror.cpp utils/tinyxml/tinyxmlparser.cpp \
|
||||
utils/glcorearb.h addons/slot2_auto.cpp addons/slot2_mpcf.cpp \
|
||||
addons/slot2_paddle.cpp addons/slot2_gbagame.cpp \
|
||||
addons/slot2_none.cpp addons/slot2_rumblepak.cpp \
|
||||
@@ -324,10 +321,6 @@ am_libdesmume_a_OBJECTS = armcpu.$(OBJEXT) arm_instructions.$(OBJEXT) \
|
||||
utils/libfat/libfat.$(OBJEXT) \
|
||||
utils/libfat/libfat_public_api.$(OBJEXT) \
|
||||
utils/libfat/lock.$(OBJEXT) utils/libfat/partition.$(OBJEXT) \
|
||||
- utils/tinyxml/tinystr.$(OBJEXT) \
|
||||
- utils/tinyxml/tinyxml.$(OBJEXT) \
|
||||
- utils/tinyxml/tinyxmlerror.$(OBJEXT) \
|
||||
- utils/tinyxml/tinyxmlparser.$(OBJEXT) \
|
||||
addons/slot2_auto.$(OBJEXT) addons/slot2_mpcf.$(OBJEXT) \
|
||||
addons/slot2_paddle.$(OBJEXT) addons/slot2_gbagame.$(OBJEXT) \
|
||||
addons/slot2_none.$(OBJEXT) addons/slot2_rumblepak.$(OBJEXT) \
|
||||
@@ -475,7 +468,7 @@ LIBAGG_LIBS = @LIBAGG_LIBS@
|
||||
LIBGLADE_CFLAGS = @LIBGLADE_CFLAGS@
|
||||
LIBGLADE_LIBS = @LIBGLADE_LIBS@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
-LIBS = @LIBS@
|
||||
+LIBS = @LIBS@ -ltinyxml
|
||||
LIBSOUNDTOUCH_CFLAGS = @LIBSOUNDTOUCH_CFLAGS@
|
||||
LIBSOUNDTOUCH_LIBS = @LIBSOUNDTOUCH_LIBS@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
@@ -625,9 +618,6 @@ libdesmume_a_SOURCES = armcpu.cpp armcpu.h arm_instructions.cpp \
|
||||
utils/libfat/libfat_public_api.h utils/libfat/lock.cpp \
|
||||
utils/libfat/lock.h utils/libfat/mem_allocate.h \
|
||||
utils/libfat/partition.cpp utils/libfat/partition.h \
|
||||
- utils/tinyxml/tinystr.cpp utils/tinyxml/tinystr.h \
|
||||
- utils/tinyxml/tinyxml.cpp utils/tinyxml/tinyxml.h \
|
||||
- utils/tinyxml/tinyxmlerror.cpp utils/tinyxml/tinyxmlparser.cpp \
|
||||
utils/glcorearb.h addons/slot2_auto.cpp addons/slot2_mpcf.cpp \
|
||||
addons/slot2_paddle.cpp addons/slot2_gbagame.cpp \
|
||||
addons/slot2_none.cpp addons/slot2_rumblepak.cpp \
|
||||
@@ -760,20 +750,6 @@ utils/libfat/lock.$(OBJEXT): utils/libfat/$(am__dirstamp) \
|
||||
utils/libfat/$(DEPDIR)/$(am__dirstamp)
|
||||
utils/libfat/partition.$(OBJEXT): utils/libfat/$(am__dirstamp) \
|
||||
utils/libfat/$(DEPDIR)/$(am__dirstamp)
|
||||
-utils/tinyxml/$(am__dirstamp):
|
||||
- @$(MKDIR_P) utils/tinyxml
|
||||
- @: > utils/tinyxml/$(am__dirstamp)
|
||||
-utils/tinyxml/$(DEPDIR)/$(am__dirstamp):
|
||||
- @$(MKDIR_P) utils/tinyxml/$(DEPDIR)
|
||||
- @: > utils/tinyxml/$(DEPDIR)/$(am__dirstamp)
|
||||
-utils/tinyxml/tinystr.$(OBJEXT): utils/tinyxml/$(am__dirstamp) \
|
||||
- utils/tinyxml/$(DEPDIR)/$(am__dirstamp)
|
||||
-utils/tinyxml/tinyxml.$(OBJEXT): utils/tinyxml/$(am__dirstamp) \
|
||||
- utils/tinyxml/$(DEPDIR)/$(am__dirstamp)
|
||||
-utils/tinyxml/tinyxmlerror.$(OBJEXT): utils/tinyxml/$(am__dirstamp) \
|
||||
- utils/tinyxml/$(DEPDIR)/$(am__dirstamp)
|
||||
-utils/tinyxml/tinyxmlparser.$(OBJEXT): utils/tinyxml/$(am__dirstamp) \
|
||||
- utils/tinyxml/$(DEPDIR)/$(am__dirstamp)
|
||||
addons/$(am__dirstamp):
|
||||
@$(MKDIR_P) addons
|
||||
@: > addons/$(am__dirstamp)
|
||||
@@ -1035,10 +1011,6 @@ mostlyclean-compile:
|
||||
-rm -f utils/libfat/partition.$(OBJEXT)
|
||||
-rm -f utils/md5.$(OBJEXT)
|
||||
-rm -f utils/task.$(OBJEXT)
|
||||
- -rm -f utils/tinyxml/tinystr.$(OBJEXT)
|
||||
- -rm -f utils/tinyxml/tinyxml.$(OBJEXT)
|
||||
- -rm -f utils/tinyxml/tinyxmlerror.$(OBJEXT)
|
||||
- -rm -f utils/tinyxml/tinyxmlparser.$(OBJEXT)
|
||||
-rm -f utils/vfat.$(OBJEXT)
|
||||
-rm -f utils/xstring.$(OBJEXT)
|
||||
|
||||
@@ -1175,10 +1147,6 @@ distclean-compile:
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@utils/libfat/$(DEPDIR)/libfat_public_api.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@utils/libfat/$(DEPDIR)/lock.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@utils/libfat/$(DEPDIR)/partition.Po@am__quote@
|
||||
-@AMDEP_TRUE@@am__include@ @am__quote@utils/tinyxml/$(DEPDIR)/tinystr.Po@am__quote@
|
||||
-@AMDEP_TRUE@@am__include@ @am__quote@utils/tinyxml/$(DEPDIR)/tinyxml.Po@am__quote@
|
||||
-@AMDEP_TRUE@@am__include@ @am__quote@utils/tinyxml/$(DEPDIR)/tinyxmlerror.Po@am__quote@
|
||||
-@AMDEP_TRUE@@am__include@ @am__quote@utils/tinyxml/$(DEPDIR)/tinyxmlparser.Po@am__quote@
|
||||
|
||||
.c.o:
|
||||
@am__fastdepCC_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
|
||||
@@ -1449,8 +1417,6 @@ distclean-generic:
|
||||
-rm -f utils/decrypt/$(am__dirstamp)
|
||||
-rm -f utils/libfat/$(DEPDIR)/$(am__dirstamp)
|
||||
-rm -f utils/libfat/$(am__dirstamp)
|
||||
- -rm -f utils/tinyxml/$(DEPDIR)/$(am__dirstamp)
|
||||
- -rm -f utils/tinyxml/$(am__dirstamp)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@@ -1460,7 +1426,7 @@ clean: clean-recursive
|
||||
clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am
|
||||
|
||||
distclean: distclean-recursive
|
||||
- -rm -rf ./$(DEPDIR) addons/$(DEPDIR) filter/$(DEPDIR) metaspu/$(DEPDIR) utils/$(DEPDIR) utils/AsmJit/core/$(DEPDIR) utils/AsmJit/x86/$(DEPDIR) utils/decrypt/$(DEPDIR) utils/libfat/$(DEPDIR) utils/tinyxml/$(DEPDIR)
|
||||
+ -rm -rf ./$(DEPDIR) addons/$(DEPDIR) filter/$(DEPDIR) metaspu/$(DEPDIR) utils/$(DEPDIR) utils/AsmJit/core/$(DEPDIR) utils/AsmJit/x86/$(DEPDIR) utils/decrypt/$(DEPDIR) utils/libfat/$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-compile distclean-generic \
|
||||
distclean-tags
|
||||
@@ -1506,7 +1472,7 @@ install-ps-am:
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-recursive
|
||||
- -rm -rf ./$(DEPDIR) addons/$(DEPDIR) filter/$(DEPDIR) metaspu/$(DEPDIR) utils/$(DEPDIR) utils/AsmJit/core/$(DEPDIR) utils/AsmJit/x86/$(DEPDIR) utils/decrypt/$(DEPDIR) utils/libfat/$(DEPDIR) utils/tinyxml/$(DEPDIR)
|
||||
+ -rm -rf ./$(DEPDIR) addons/$(DEPDIR) filter/$(DEPDIR) metaspu/$(DEPDIR) utils/$(DEPDIR) utils/AsmJit/core/$(DEPDIR) utils/AsmJit/x86/$(DEPDIR) utils/decrypt/$(DEPDIR) utils/libfat/$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
diff --git a/src/cli/Makefile.am b/src/cli/Makefile.am
|
||||
index 1985209..d958323 100755
|
||||
--- a/src/cli/Makefile.am
|
||||
+++ b/src/cli/Makefile.am
|
||||
@@ -5,7 +5,7 @@ AM_CPPFLAGS += $(SDL_CFLAGS) $(ALSA_CFLAGS) $(LIBAGG_CFLAGS) $(GLIB_CFLAGS) $(GT
|
||||
|
||||
bin_PROGRAMS = desmume-cli
|
||||
desmume_cli_SOURCES = main.cpp ../sndsdl.cpp ../ctrlssdl.h ../ctrlssdl.cpp ../driver.h ../driver.cpp
|
||||
-desmume_cli_LDADD = ../libdesmume.a $(SDL_LIBS) $(ALSA_LIBS) $(LIBAGG_LIBS) $(GLIB_LIBS) $(GTHREAD_LIBS) $(LIBSOUNDTOUCH_LIBS)
|
||||
+desmume_cli_LDADD = ../libdesmume.a $(SDL_LIBS) $(ALSA_LIBS) $(LIBAGG_LIBS) $(GLIB_LIBS) $(GTHREAD_LIBS) $(LIBSOUNDTOUCH_LIBS) -ltinyxml
|
||||
if HAVE_GDB_STUB
|
||||
desmume_cli_LDADD += ../gdbstub/libgdbstub.a
|
||||
endif
|
||||
diff --git a/src/cli/Makefile.in b/src/cli/Makefile.in
|
||||
index 14efd77..f04ab7d 100644
|
||||
--- a/src/cli/Makefile.in
|
||||
+++ b/src/cli/Makefile.in
|
||||
@@ -311,7 +311,7 @@ AM_LDFLAGS =
|
||||
desmume_cli_SOURCES = main.cpp ../sndsdl.cpp ../ctrlssdl.h ../ctrlssdl.cpp ../driver.h ../driver.cpp
|
||||
desmume_cli_LDADD = ../libdesmume.a $(SDL_LIBS) $(ALSA_LIBS) \
|
||||
$(LIBAGG_LIBS) $(GLIB_LIBS) $(GTHREAD_LIBS) \
|
||||
- $(LIBSOUNDTOUCH_LIBS) $(am__append_1)
|
||||
+ $(LIBSOUNDTOUCH_LIBS) -ltinyxml $(am__append_1)
|
||||
all: all-recursive
|
||||
|
||||
.SUFFIXES:
|
||||
diff --git a/src/gtk-glade/Makefile.am b/src/gtk-glade/Makefile.am
|
||||
index b667fca..c79fdac 100755
|
||||
--- a/src/gtk-glade/Makefile.am
|
||||
+++ b/src/gtk-glade/Makefile.am
|
||||
@@ -33,7 +33,7 @@ desmume_glade_SOURCES = \
|
||||
desmume_glade_LDADD = ../libdesmume.a \
|
||||
$(SDL_LIBS) $(GTKGLEXT_LIBS) $(LIBGLADE_LIBS) \
|
||||
$(GTHREAD_LIBS) $(ALSA_LIBS) $(LIBAGG_LIBS) \
|
||||
- $(LIBSOUNDTOUCH_LIBS)
|
||||
+ $(LIBSOUNDTOUCH_LIBS) -ltinyxml
|
||||
if HAVE_GDB_STUB
|
||||
desmume_glade_LDADD += ../gdbstub/libgdbstub.a
|
||||
endif
|
||||
diff --git a/src/gtk-glade/Makefile.in b/src/gtk-glade/Makefile.in
|
||||
index 5f77ec5..012aa72 100644
|
||||
--- a/src/gtk-glade/Makefile.in
|
||||
+++ b/src/gtk-glade/Makefile.in
|
||||
@@ -367,7 +367,7 @@ desmume_glade_SOURCES = \
|
||||
|
||||
desmume_glade_LDADD = ../libdesmume.a $(SDL_LIBS) $(GTKGLEXT_LIBS) \
|
||||
$(LIBGLADE_LIBS) $(GTHREAD_LIBS) $(ALSA_LIBS) $(LIBAGG_LIBS) \
|
||||
- $(LIBSOUNDTOUCH_LIBS) $(am__append_1)
|
||||
+ $(LIBSOUNDTOUCH_LIBS) -ltinyxml $(am__append_1)
|
||||
all: all-recursive
|
||||
|
||||
.SUFFIXES:
|
||||
diff --git a/src/gtk/Makefile.am b/src/gtk/Makefile.am
|
||||
index 59cb1f2..e451102 100755
|
||||
--- a/src/gtk/Makefile.am
|
||||
+++ b/src/gtk/Makefile.am
|
||||
@@ -32,7 +32,7 @@ desmume_SOURCES = \
|
||||
../filter/videofilter.cpp ../filter/videofilter.h \
|
||||
main.cpp main.h
|
||||
desmume_LDADD = ../libdesmume.a \
|
||||
- $(SDL_LIBS) $(GTK_LIBS) $(GTHREAD_LIBS) $(ALSA_LIBS) $(LIBAGG_LIBS) $(LIBSOUNDTOUCH_LIBS)
|
||||
+ $(SDL_LIBS) $(GTK_LIBS) $(GTHREAD_LIBS) $(ALSA_LIBS) $(LIBAGG_LIBS) $(LIBSOUNDTOUCH_LIBS) -ltinyxml
|
||||
if HAVE_GDB_STUB
|
||||
desmume_LDADD += ../gdbstub/libgdbstub.a
|
||||
endif
|
||||
diff --git a/src/gtk/Makefile.in b/src/gtk/Makefile.in
|
||||
index e1a2c37..75f392f 100644
|
||||
--- a/src/gtk/Makefile.in
|
||||
+++ b/src/gtk/Makefile.in
|
||||
@@ -382,7 +382,7 @@ desmume_SOURCES = \
|
||||
|
||||
desmume_LDADD = ../libdesmume.a $(SDL_LIBS) $(GTK_LIBS) \
|
||||
$(GTHREAD_LIBS) $(ALSA_LIBS) $(LIBAGG_LIBS) \
|
||||
- $(LIBSOUNDTOUCH_LIBS) $(am__append_1) $(am__append_2) \
|
||||
+ $(LIBSOUNDTOUCH_LIBS) -ltinyxml $(am__append_1) $(am__append_2) \
|
||||
$(am__append_3)
|
||||
UPDATE_DESKTOP = \
|
||||
appsdir=$(DESTDIR)$(datadir)/applications ; \
|
||||
diff --git a/src/utils/advanscene.cpp b/src/utils/advanscene.cpp
|
||||
index 8d8f370..09c35bb 100755
|
||||
--- a/src/utils/advanscene.cpp
|
||||
+++ b/src/utils/advanscene.cpp
|
||||
@@ -19,7 +19,7 @@
|
||||
#include <time.h>
|
||||
|
||||
#define TIXML_USE_STL
|
||||
-#include "tinyxml/tinyxml.h"
|
||||
+#include <tinyxml.h>
|
||||
|
||||
#include "advanscene.h"
|
||||
#include "../common.h"
|
||||
@@ -1,45 +1,75 @@
|
||||
{ lib, stdenv, fetchurl, fetchpatch
|
||||
, pkg-config, libtool, intltool
|
||||
, libXmu
|
||||
, lua
|
||||
, tinyxml
|
||||
, agg, alsa-lib, soundtouch, openal
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, SDL2
|
||||
, agg
|
||||
, alsa-lib
|
||||
, desktop-file-utils
|
||||
, gtk2, gtkglext, libglade
|
||||
, libGLU, libpcap, SDL, zziplib }:
|
||||
, gtk3
|
||||
, intltool
|
||||
, libGLU
|
||||
, libXmu
|
||||
, libpcap
|
||||
, libtool
|
||||
, lua
|
||||
, meson
|
||||
, ninja
|
||||
, openal
|
||||
, pkg-config
|
||||
, soundtouch
|
||||
, tinyxml
|
||||
, zlib
|
||||
}:
|
||||
|
||||
with lib;
|
||||
stdenv.mkDerivation rec {
|
||||
|
||||
pname = "desmume";
|
||||
version = "0.9.11";
|
||||
version = "0.9.11+unstable=2021-09-22";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/project/desmume/desmume/${version}/${pname}-${version}.tar.gz";
|
||||
sha256 = "15l8wdw3q61fniy3h93d84dnm6s4pyadvh95a0j6d580rjk4pcrs";
|
||||
src = fetchFromGitHub {
|
||||
owner = "TASVideos";
|
||||
repo = pname;
|
||||
rev = "7fc2e4b6b6a58420de65a4089d4df3934d7a46b1";
|
||||
hash = "sha256-sTCyjQ31w1Lp+aa3VQ7/rdLbhjnqthce54mjKJZQIDM=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
./gcc6_fixes.patch
|
||||
./gcc7_fixes.patch
|
||||
./01_use_system_tinyxml.patch
|
||||
nativeBuildInputs = [
|
||||
desktop-file-utils
|
||||
intltool
|
||||
libtool
|
||||
lua
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
];
|
||||
|
||||
CXXFLAGS = "-fpermissive";
|
||||
buildInputs = [
|
||||
SDL2
|
||||
agg
|
||||
alsa-lib
|
||||
gtk3
|
||||
libGLU
|
||||
libXmu
|
||||
libpcap
|
||||
openal
|
||||
soundtouch
|
||||
tinyxml
|
||||
zlib
|
||||
];
|
||||
|
||||
buildInputs =
|
||||
[ pkg-config libtool intltool libXmu lua agg alsa-lib soundtouch
|
||||
openal desktop-file-utils gtk2 gtkglext libglade
|
||||
libGLU libpcap SDL zziplib tinyxml ];
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
configureFlags = [
|
||||
"--disable-glade" # Failing on compile step
|
||||
"--enable-openal"
|
||||
"--enable-glx"
|
||||
"--enable-hud"
|
||||
"--enable-wifi" ];
|
||||
preConfigure = ''
|
||||
cd desmume/src/frontend/posix
|
||||
'';
|
||||
|
||||
meta = {
|
||||
mesonFlags = [
|
||||
"-Db_pie=true"
|
||||
"-Dopenal=true"
|
||||
"-Dwifi=true"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://www.desmume.com";
|
||||
description = "An open-source Nintendo DS emulator";
|
||||
longDescription = ''
|
||||
DeSmuME is a freeware emulator for the NDS roms & Nintendo DS
|
||||
@@ -48,10 +78,9 @@ stdenv.mkDerivation rec {
|
||||
roms. DeSmuME is also able to emulate nearly all of the
|
||||
commercial nds rom titles which other DS Emulators aren't.
|
||||
'';
|
||||
homepage = "http://www.desmume.com";
|
||||
license = licenses.gpl1Plus;
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = [ maintainers.AndersonTorres ];
|
||||
platforms = platforms.linux;
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
# TODO: investigate glade
|
||||
# TODO: investigate the patches
|
||||
|
||||
@@ -1,59 +0,0 @@
|
||||
From: zeromus
|
||||
Origin: upstream, https://sourceforge.net/p/desmume/code/5514, https://sourceforge.net/p/desmume/code/5517, https://sourceforge.net/p/desmume/code/5430
|
||||
Subject: fix GCC6 issues
|
||||
Bug: https://sourceforge.net/p/desmume/bugs/1570/
|
||||
Bug-Debian: http://bugs.debian.org/811691
|
||||
|
||||
Index: desmume/src/MMU_timing.h
|
||||
===================================================================
|
||||
--- desmume/src/MMU_timing.h (revision 5513)
|
||||
+++ desmume/src/MMU_timing.h (revision 5517)
|
||||
@@ -155,8 +155,8 @@
|
||||
enum { ASSOCIATIVITY = 1 << ASSOCIATIVESHIFT };
|
||||
enum { BLOCKSIZE = 1 << BLOCKSIZESHIFT };
|
||||
enum { TAGSHIFT = SIZESHIFT - ASSOCIATIVESHIFT };
|
||||
- enum { TAGMASK = (u32)(~0 << TAGSHIFT) };
|
||||
- enum { BLOCKMASK = ((u32)~0 >> (32 - TAGSHIFT)) & (u32)(~0 << BLOCKSIZESHIFT) };
|
||||
+ enum { TAGMASK = (u32)(~0U << TAGSHIFT) };
|
||||
+ enum { BLOCKMASK = ((u32)~0U >> (32 - TAGSHIFT)) & (u32)(~0U << BLOCKSIZESHIFT) };
|
||||
enum { WORDSIZE = sizeof(u32) };
|
||||
enum { WORDSPERBLOCK = (1 << BLOCKSIZESHIFT) / WORDSIZE };
|
||||
enum { DATAPERWORD = WORDSIZE * ASSOCIATIVITY };
|
||||
Index: desmume/src/ctrlssdl.cpp
|
||||
===================================================================
|
||||
--- desmume/src/ctrlssdl.cpp (revision 5513)
|
||||
+++ desmume/src/ctrlssdl.cpp (revision 5517)
|
||||
@@ -200,7 +200,7 @@
|
||||
break;
|
||||
case SDL_JOYAXISMOTION:
|
||||
/* Dead zone of 50% */
|
||||
- if( (abs(event.jaxis.value) >> 14) != 0 )
|
||||
+ if( ((u32)abs(event.jaxis.value) >> 14) != 0 )
|
||||
{
|
||||
key = ((event.jaxis.which & 15) << 12) | JOY_AXIS << 8 | ((event.jaxis.axis & 127) << 1);
|
||||
if (event.jaxis.value > 0) {
|
||||
@@ -370,7 +370,7 @@
|
||||
Note: button constants have a 1bit offset. */
|
||||
case SDL_JOYAXISMOTION:
|
||||
key_code = ((event->jaxis.which & 15) << 12) | JOY_AXIS << 8 | ((event->jaxis.axis & 127) << 1);
|
||||
- if( (abs(event->jaxis.value) >> 14) != 0 )
|
||||
+ if( ((u32)abs(event->jaxis.value) >> 14) != 0 )
|
||||
{
|
||||
if (event->jaxis.value > 0)
|
||||
key_code |= 1;
|
||||
Index: desmume/src/wifi.cpp
|
||||
===================================================================
|
||||
--- desmume/src/wifi.cpp (revision 5429)
|
||||
+++ desmume/src/wifi.cpp (revision 5430)
|
||||
@@ -320,9 +320,9 @@
|
||||
|
||||
#if (WIFI_LOGGING_LEVEL >= 1)
|
||||
#if WIFI_LOG_USE_LOGC
|
||||
- #define WIFI_LOG(level, ...) if(level <= WIFI_LOGGING_LEVEL) LOGC(8, "WIFI: "__VA_ARGS__);
|
||||
+ #define WIFI_LOG(level, ...) if(level <= WIFI_LOGGING_LEVEL) LOGC(8, "WIFI: " __VA_ARGS__);
|
||||
#else
|
||||
- #define WIFI_LOG(level, ...) if(level <= WIFI_LOGGING_LEVEL) printf("WIFI: "__VA_ARGS__);
|
||||
+ #define WIFI_LOG(level, ...) if(level <= WIFI_LOGGING_LEVEL) printf("WIFI: " __VA_ARGS__);
|
||||
#endif
|
||||
#else
|
||||
#define WIFI_LOG(level, ...) {}
|
||||
@@ -1,18 +0,0 @@
|
||||
From e1f7039f1b06add4fb75b2f8774000b8f05574af Mon Sep 17 00:00:00 2001
|
||||
From: rogerman <rogerman@users.sf.net>
|
||||
Date: Mon, 17 Aug 2015 21:15:04 +0000
|
||||
Subject: Fix bug with libfat string handling.
|
||||
|
||||
diff --git a/src/utils/libfat/directory.cpp b/src/utils/libfat/directory.cpp
|
||||
index 765d7ae5..b6d7f01f 100644
|
||||
--- a/src/utils/libfat/directory.cpp
|
||||
+++ b/src/utils/libfat/directory.cpp
|
||||
@@ -139,7 +139,7 @@ static size_t _FAT_directory_mbstoucs2 (ucs2_t* dst, const char* src, size_t len
|
||||
int bytes;
|
||||
size_t count = 0;
|
||||
|
||||
- while (count < len-1 && src != '\0') {
|
||||
+ while (count < len-1 && *src != '\0') {
|
||||
bytes = mbrtowc (&tempChar, src, MB_CUR_MAX, &ps);
|
||||
if (bytes > 0) {
|
||||
*dst = (ucs2_t)tempChar;
|
||||
@@ -6,13 +6,13 @@
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "apfs";
|
||||
version = "unstable-2021-06-25-${kernel.version}";
|
||||
version = "unstable-2021-09-21-${kernel.version}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linux-apfs";
|
||||
repo = "linux-apfs-rw";
|
||||
rev = "2ce6d06dc73036d113da5166c59393233bf54229";
|
||||
sha256 = "sha256-18HFtPr0qcTIZ8njwEtveiPYO+HGlj90bdUoL47UUY0=";
|
||||
rev = "362c4e32ab585b9234a26aa3e49f29b605612a31";
|
||||
sha256 = "sha256-Y8/PGPLirNrICF+Bum60v/DBPa1xpox5VBvt64myZzs=";
|
||||
};
|
||||
|
||||
hardeningDisable = [ "pic" ];
|
||||
@@ -29,7 +29,7 @@ stdenv.mkDerivation {
|
||||
homepage = "https://github.com/linux-apfs/linux-apfs-rw";
|
||||
license = licenses.gpl2Only;
|
||||
platforms = platforms.linux;
|
||||
broken = kernel.kernelOlder "4.19";
|
||||
broken = kernel.kernelOlder "4.9";
|
||||
maintainers = with maintainers; [ Luflosi ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -17,12 +17,6 @@
|
||||
"sha256": "11frhnprvxnqxm8yn1kay2jv2i473i9glnvsjnqz6kj8f0q2gl4v",
|
||||
"url": "https://github.com/anthraxx/linux-hardened/releases/download/5.10.69-hardened1/linux-hardened-5.10.69-hardened1.patch"
|
||||
},
|
||||
"5.13": {
|
||||
"extra": "-hardened1",
|
||||
"name": "linux-hardened-5.13.19-hardened1.patch",
|
||||
"sha256": "1cj99y2xn7l89lf4mn7arp0r98r4nmvql3ffjpngzv8hsf79xgg7",
|
||||
"url": "https://github.com/anthraxx/linux-hardened/releases/download/5.13.19-hardened1/linux-hardened-5.13.19-hardened1.patch"
|
||||
},
|
||||
"5.14": {
|
||||
"extra": "-hardened1",
|
||||
"name": "linux-hardened-5.14.8-hardened1.patch",
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
{ lib, buildPackages, fetchurl, perl, buildLinux, nixosTests, modDirVersionArg ? null, ... } @ args:
|
||||
|
||||
with lib;
|
||||
|
||||
buildLinux (args // rec {
|
||||
version = "5.13.19";
|
||||
|
||||
# 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 = "0yxbcd1k4l4cmdn0hzcck4s0yvhvq9fpwp120dv9cz4i9rrfqxz8";
|
||||
};
|
||||
} // (args.argsOverride or { }))
|
||||
@@ -9,7 +9,7 @@
|
||||
, ...
|
||||
} @ args:
|
||||
|
||||
kernel.override ( args // {
|
||||
(kernel.override ( args // {
|
||||
|
||||
argsOverride = {
|
||||
version = "${kernel.version}-bcachefs-unstable-${date}";
|
||||
@@ -30,4 +30,4 @@ kernel.override ( args // {
|
||||
extraConfig = "BCACHEFS_FS m";
|
||||
} ] ++ kernelPatches;
|
||||
|
||||
})
|
||||
})).overrideAttrs ({ meta ? {}, ... }: { meta = meta // { broken = true; }; })
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ lib, stdenv, fetchurl, fetchpatch, openssl, pkg-config, libnl
|
||||
, nixosTests
|
||||
, withDbus ? true, dbus
|
||||
, withReadline ? true, readline
|
||||
, withPcsclite ? true, pcsclite
|
||||
@@ -139,6 +140,10 @@ stdenv.mkDerivation rec {
|
||||
install -Dm444 wpa_supplicant.conf $out/share/doc/wpa_supplicant/wpa_supplicant.conf.example
|
||||
'';
|
||||
|
||||
passthru.tests = {
|
||||
inherit (nixosTests) wpa_supplicant;
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://w1.fi/wpa_supplicant/";
|
||||
description = "A tool for connecting to WPA and WPA2-protected wireless networks";
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
{ stdenv
|
||||
, lib
|
||||
, fetchFromGitea
|
||||
, rustPlatform
|
||||
, makeWrapper
|
||||
, protobuf
|
||||
, Security
|
||||
, imagemagick
|
||||
, ffmpeg
|
||||
, exiftool
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "pict-rs";
|
||||
version = "0.3.0-alpha.37";
|
||||
|
||||
src = fetchFromGitea {
|
||||
domain = "git.asonix.dog";
|
||||
owner = "asonix";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-21yfsCicn2bjSNEMMWDG8wvnw10uT3M1L3cXCUhc24c=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-F/mqdIjF5QOq5Plnq0DyeFP1+b7dCBcoU9iFxzcaZws=";
|
||||
|
||||
# needed for internal protobuf c wrapper library
|
||||
PROTOC = "${protobuf}/bin/protoc";
|
||||
PROTOC_INCLUDE = "${protobuf}/include";
|
||||
|
||||
buildInputs = [ makeWrapper ] ++ lib.optionals stdenv.isDarwin [ Security ];
|
||||
|
||||
postInstall = ''
|
||||
wrapProgram "$out/bin/pict-rs" \
|
||||
--prefix PATH : "${lib.makeBinPath [ imagemagick ffmpeg exiftool ]}"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "a simple image hosting service";
|
||||
homepage = "https://git.asonix.dog/asonix/pict-rs";
|
||||
license = with licenses; [ agpl3Plus ];
|
||||
maintainers = with maintainers; [ happysalada ];
|
||||
};
|
||||
}
|
||||
@@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "exploitdb";
|
||||
version = "2021-09-25";
|
||||
version = "2021-09-29";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "offensive-security";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-KjeldF3oBX4QLba7pTmvRwymxZ+x8HPfIKT7IevrOlU=";
|
||||
sha256 = "sha256-7SV7qLREyOPCTn9CFjxmdfIJUb4VO82KsUQvVKPfEpA=";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
|
||||
@@ -19,23 +19,29 @@ stdenv.mkDerivation rec {
|
||||
|
||||
nativeBuildInputs = [ makeWrapper installShellFiles ];
|
||||
|
||||
makeFlags = [ "PREFIX=$(out)" "GITVER=${version}" "CC=${stdenv.cc.targetPrefix}cc" ];
|
||||
makeFlags = [
|
||||
"PREFIX=$(out)"
|
||||
"GITVER=${version}"
|
||||
"CC=${stdenv.cc.targetPrefix}cc"
|
||||
];
|
||||
|
||||
preInstall = ''
|
||||
mkdir -p $out/bin
|
||||
'';
|
||||
enableParallelBuilding = true;
|
||||
|
||||
postInstall = ''
|
||||
installManPage doc/masscan.8
|
||||
installManPage doc/masscan.?
|
||||
|
||||
mkdir -p $out/share/{doc,licenses}/masscan
|
||||
mkdir -p $out/etc/masscan
|
||||
install -Dm444 -t $out/etc/masscan data/exclude.conf
|
||||
install -Dm444 -t $out/share/doc/masscan doc/*.{html,js,md}
|
||||
install -Dm444 -t $out/share/licenses/masscan LICENSE
|
||||
|
||||
cp data/exclude.conf $out/etc/masscan
|
||||
cp -t $out/share/doc/masscan doc/algorithm.js doc/howto-afl.md doc/bot.html
|
||||
cp LICENSE $out/share/licenses/masscan/LICENSE
|
||||
wrapProgram $out/bin/masscan \
|
||||
--prefix LD_LIBRARY_PATH : "${libpcap}/lib"
|
||||
'';
|
||||
|
||||
wrapProgram $out/bin/masscan --prefix LD_LIBRARY_PATH : "${libpcap}/lib"
|
||||
doInstallCheck = true;
|
||||
|
||||
installCheckPhase = ''
|
||||
$out/bin/masscan --selftest
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
|
||||
@@ -466,7 +466,6 @@ mapAliases ({
|
||||
linuxPackages_4_19 = linuxKernel.packages.linux_4_19;
|
||||
linuxPackages_5_4 = linuxKernel.packages.linux_5_4;
|
||||
linuxPackages_5_10 = linuxKernel.packages.linux_5_10;
|
||||
linuxPackages_5_13 = linuxKernel.packages.linux_5_13;
|
||||
linuxPackages_5_14 = linuxKernel.packages.linux_5_14;
|
||||
|
||||
linux_mptcp_95 = linuxKernel.kernels.linux_mptcp_95;
|
||||
@@ -483,7 +482,6 @@ mapAliases ({
|
||||
linux_5_10 = linuxKernel.kernels.linux_5_10;
|
||||
linux-rt_5_10 = linuxKernel.kernels.linux_rt_5_10;
|
||||
linux-rt_5_11 = linuxKernel.kernels.linux_rt_5_11;
|
||||
linux_5_13 = linuxKernel.kernels.linux_5_13;
|
||||
linux_5_14 = linuxKernel.kernels.linux_5_14;
|
||||
|
||||
# added 2020-04-04
|
||||
|
||||
@@ -20448,6 +20448,11 @@ with pkgs;
|
||||
|
||||
petidomo = callPackage ../servers/mail/petidomo { };
|
||||
|
||||
pict-rs = callPackage ../servers/web-apps/pict-rs {
|
||||
inherit (darwin.apple_sdk.frameworks) Security;
|
||||
ffmpeg = ffmpeg_4;
|
||||
};
|
||||
|
||||
popa3d = callPackage ../servers/mail/popa3d { };
|
||||
|
||||
postfix = callPackage ../servers/mail/postfix { };
|
||||
@@ -21554,8 +21559,6 @@ with pkgs;
|
||||
linux_5_4_hardened = linuxKernel.kernels.linux_5_4_hardened;
|
||||
linuxPackages_5_10_hardened = linuxKernel.packages.linux_5_10_hardened;
|
||||
linux_5_10_hardened = linuxKernel.kernels.linux_5_10_hardened;
|
||||
linuxPackages_5_13_hardened = linuxKernel.packages.linux_5_13_hardened;
|
||||
linux_5_13_hardened = linuxKernel.kernels.linux_5_13_hardened;
|
||||
linuxPackages_5_14_hardened = linuxKernel.packages.linux_5_14_hardened;
|
||||
linux_5_14_hardened = linuxKernel.kernels.linux_5_14_hardened;
|
||||
|
||||
@@ -26947,6 +26950,7 @@ with pkgs;
|
||||
qemu = callPackage ../applications/virtualization/qemu {
|
||||
inherit (darwin.apple_sdk.frameworks) CoreServices Cocoa Hypervisor;
|
||||
inherit (darwin.stubs) rez setfile;
|
||||
inherit (darwin) sigtool;
|
||||
python = python3;
|
||||
};
|
||||
|
||||
@@ -31377,7 +31381,7 @@ with pkgs;
|
||||
|
||||
depotdownloader = callPackage ../tools/misc/depotdownloader { };
|
||||
|
||||
desmume = callPackage ../misc/emulators/desmume { inherit (gnome2) gtkglext libglade; };
|
||||
desmume = callPackage ../misc/emulators/desmume { };
|
||||
|
||||
dbacl = callPackage ../tools/misc/dbacl { };
|
||||
|
||||
|
||||
@@ -155,13 +155,6 @@ in {
|
||||
];
|
||||
};
|
||||
|
||||
linux_5_13 = callPackage ../os-specific/linux/kernel/linux-5.13.nix {
|
||||
kernelPatches = [
|
||||
kernelPatches.bridge_stp_helper
|
||||
kernelPatches.request_key_helper
|
||||
];
|
||||
};
|
||||
|
||||
linux_5_14 = callPackage ../os-specific/linux/kernel/linux-5.14.nix {
|
||||
kernelPatches = [
|
||||
kernelPatches.bridge_stp_helper
|
||||
@@ -177,7 +170,7 @@ in {
|
||||
};
|
||||
|
||||
linux_testing_bcachefs = callPackage ../os-specific/linux/kernel/linux-testing-bcachefs.nix rec {
|
||||
kernel = linux_5_13;
|
||||
kernel = linux_5_14;
|
||||
kernelPatches = kernel.kernelPatches;
|
||||
};
|
||||
|
||||
@@ -220,7 +213,6 @@ in {
|
||||
linux_4_19_hardened = hardenedKernelFor kernels.linux_4_19 { };
|
||||
linux_5_4_hardened = hardenedKernelFor kernels.linux_5_4 { };
|
||||
linux_5_10_hardened = hardenedKernelFor kernels.linux_5_10 { };
|
||||
linux_5_13_hardened = hardenedKernelFor kernels.linux_5_13 { };
|
||||
linux_5_14_hardened = hardenedKernelFor kernels.linux_5_14 { };
|
||||
|
||||
}));
|
||||
@@ -458,7 +450,6 @@ in {
|
||||
linux_4_19 = recurseIntoAttrs (packagesFor kernels.linux_4_19);
|
||||
linux_5_4 = recurseIntoAttrs (packagesFor kernels.linux_5_4);
|
||||
linux_5_10 = recurseIntoAttrs (packagesFor kernels.linux_5_10);
|
||||
linux_5_13 = recurseIntoAttrs (packagesFor kernels.linux_5_13);
|
||||
linux_5_14 = recurseIntoAttrs (packagesFor kernels.linux_5_14);
|
||||
};
|
||||
|
||||
@@ -489,7 +480,6 @@ in {
|
||||
linux_4_19_hardened = recurseIntoAttrs (hardenedPackagesFor kernels.linux_4_19 { });
|
||||
linux_5_4_hardened = recurseIntoAttrs (hardenedPackagesFor kernels.linux_5_4 { });
|
||||
linux_5_10_hardened = recurseIntoAttrs (hardenedPackagesFor kernels.linux_5_10 { });
|
||||
linux_5_13_hardened = recurseIntoAttrs (hardenedPackagesFor kernels.linux_5_13 { });
|
||||
linux_5_14_hardened = recurseIntoAttrs (hardenedPackagesFor kernels.linux_5_14 { });
|
||||
|
||||
linux_zen = recurseIntoAttrs (packagesFor kernels.linux_zen);
|
||||
|
||||
Reference in New Issue
Block a user