3
0
Fork 0
forked from mirrors/nixpkgs

Merge master into haskell-updates

This commit is contained in:
github-actions[bot] 2022-06-04 00:13:01 +00:00 committed by GitHub
commit 9ebf890b3f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
155 changed files with 1412 additions and 650 deletions

View file

@ -26,8 +26,20 @@ stdenv.mkDerivation {
The main difference between `fetchurl` and `fetchzip` is in how they store the contents. `fetchurl` will store the unaltered contents of the URL within the Nix store. `fetchzip` on the other hand, will decompress the archive for you, making files and directories directly accessible in the future. `fetchzip` can only be used with archives. Despite the name, `fetchzip` is not limited to .zip files and can also be used with any tarball.
## `fetchpatch` {#fetchpatch}
`fetchpatch` works very similarly to `fetchurl` with the same arguments expected. It expects patch files as a source and performs normalization on them before computing the checksum. For example, it will remove comments or other unstable parts that are sometimes added by version control systems and can change over time.
- `relative`: Similar to using `git-diff`'s `--relative` flag, only keep changes inside the specified directory, making paths relative to it.
- `stripLen`: Remove the first `stripLen` components of pathnames in the patch.
- `extraPrefix`: Prefix pathnames by this string.
- `excludes`: Exclude files matching these patterns (applies after the above arguments).
- `includes`: Include only files matching these patterns (applies after the above arguments).
- `revert`: Revert the patch.
Note that because the checksum is computed after applying these effects, using or modifying these arguments will have no effect unless the `sha256` argument is changed as well.
Most other fetchers return a directory rather than a single file.
## `fetchsvn` {#fetchsvn}

View file

@ -511,6 +511,8 @@ patches = [
Otherwise, you can add a `.patch` file to the `nixpkgs` repository. In the interest of keeping our maintenance burden to a minimum, only patches that are unique to `nixpkgs` should be added in this way.
If a patch is available online but does not cleanly apply, it can be modified in some fixed ways by using additional optional arguments for `fetchpatch`. Check [](#fetchpatch) for details.
```nix
patches = [ ./0001-changes.patch ];
```
@ -538,17 +540,6 @@ If you do need to do create this sort of patch file, one way to do so is with gi
$ git diff -a > nixpkgs/pkgs/the/package/0001-changes.patch
```
If a patch is available online but does not cleanly apply, it can be modified in some fixed ways by using additional optional arguments for `fetchpatch`:
- `relative`: Similar to using `git-diff`'s `--relative` flag, only keep changes inside the specified directory, making paths relative to it.
- `stripLen`: Remove the first `stripLen` components of pathnames in the patch.
- `extraPrefix`: Prefix pathnames by this string.
- `excludes`: Exclude files matching these patterns (applies after the above arguments).
- `includes`: Include only files matching these patterns (applies after the above arguments).
- `revert`: Revert the patch.
Note that because the checksum is computed after applying these effects, using or modifying these arguments will have no effect unless the `sha256` argument is changed as well.
## Package tests {#sec-package-tests}
Tests are important to ensure quality and make reviews and automatic updates easy.

View file

@ -12257,6 +12257,12 @@
githubId = 48666;
name = "Matthew \"strager\" Glazar";
};
strikerlulu = {
email = "strikerlulu7@gmail.com";
github = "strikerlulu";
githubId = 38893265;
name = "StrikerLulu";
};
stumoss = {
email = "samoss@gmail.com";
github = "stumoss";

View file

@ -332,6 +332,19 @@ repository):
'';
```
Similarly, the type checking of test scripts can be disabled in the following
way:
```nix
import ./make-test-python.nix {
skipTypeCheck = true;
nodes.machine =
{ config, pkgs, ... }:
{ configuration…
};
}
```
## Failing tests early {#ssec-failing-tests-early}
To fail tests early when certain invariables are no longer met (instead of waiting for the build to time out), the decorator `polling_condition` is provided. For example, if we are testing a program `foo` that should not quit after being started, we might write the following:

View file

@ -589,6 +589,19 @@ import ./make-test-python.nix {
Python code…
# fmt: on
'';
</programlisting>
<para>
Similarly, the type checking of test scripts can be disabled in
the following way:
</para>
<programlisting language="bash">
import ./make-test-python.nix {
skipTypeCheck = true;
nodes.machine =
{ config, pkgs, ... }:
{ configuration…
};
}
</programlisting>
</section>
<section xml:id="ssec-failing-tests-early">

View file

@ -89,7 +89,7 @@
</section>
<section xml:id="sec-release-22.11-notable-changes">
<title>Other Notable Changes</title>
<itemizedlist spacing="compact">
<itemizedlist>
<listitem>
<para>
A new module was added for the Saleae Logic device family,

View file

@ -44,7 +44,8 @@ In addition to numerous new and upgraded packages, this release has the followin
## Other Notable Changes {#sec-release-22.11-notable-changes}
* A new module was added for the Saleae Logic device family, providing the options `hardware.saleae-logic.enable` and `hardware.saleae-logic.package`.
* Matrix Synapse now requires entries in the `state_group_edges` table to be unique, in order to prevent accidentally introducing duplicate information (for example, because a database backup was restored multiple times). If your Synapse database already has duplicate rows in this table, this could fail with an error and require manual remediation.
- A new module was added for the Saleae Logic device family, providing the options `hardware.saleae-logic.enable` and `hardware.saleae-logic.package`.
- Matrix Synapse now requires entries in the `state_group_edges` table to be unique, in order to prevent accidentally introducing duplicate information (for example, because a database backup was restored multiple times). If your Synapse database already has duplicate rows in this table, this could fail with an error and require manual remediation.
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->

View file

@ -25,6 +25,8 @@ python3Packages.buildPythonApplication rec {
checkPhase = ''
mypy --disallow-untyped-defs \
--no-implicit-optional \
--pretty \
--no-color-output \
--ignore-missing-imports ${src}/test_driver
pylint --errors-only --enable=unused-import ${src}/test_driver
black --check --diff ${src}/test_driver

View file

@ -0,0 +1,42 @@
# This file contains type hints that can be prepended to Nix test scripts so they can be type
# checked.
from test_driver.driver import Driver
from test_driver.vlan import VLan
from test_driver.machine import Machine
from test_driver.logger import Logger
from typing import Callable, Iterator, ContextManager, Optional, List, Dict, Any, Union
from typing_extensions import Protocol
from pathlib import Path
class RetryProtocol(Protocol):
def __call__(self, fn: Callable, timeout: int = 900) -> None:
raise Exception("This is just type information for the Nix test driver")
class PollingConditionProtocol(Protocol):
def __call__(
self,
fun_: Optional[Callable] = None,
*,
seconds_interval: float = 2.0,
description: Optional[str] = None,
) -> Union[Callable[[Callable], ContextManager], ContextManager]:
raise Exception("This is just type information for the Nix test driver")
start_all: Callable[[], None]
subtest: Callable[[str], ContextManager[None]]
retry: RetryProtocol
test_script: Callable[[], None]
machines: List[Machine]
vlans: List[VLan]
driver: Driver
log: Logger
create_machine: Callable[[Dict[str, Any]], Machine]
run_tests: Callable[[], None]
join_all: Callable[[], None]
serial_stdout_off: Callable[[], None]
serial_stdout_on: Callable[[], None]
polling_condition: PollingConditionProtocol

View file

@ -50,6 +50,7 @@ rec {
, qemu_pkg ? pkgs.qemu_test
, enableOCR ? false
, skipLint ? false
, skipTypeCheck ? false
, passthru ? {}
, interactive ? false
}:
@ -85,7 +86,7 @@ rec {
nodeHostNames = let
nodesList = map (c: c.config.system.name) (lib.attrValues nodes);
in nodesList ++ lib.optional (lib.length nodesList == 1) "machine";
in nodesList ++ lib.optional (lib.length nodesList == 1 && !lib.elem "machine" nodesList) "machine";
# TODO: This is an implementation error and needs fixing
# the testing famework cannot legitimately restrict hostnames further
@ -100,6 +101,9 @@ rec {
then testScript { inherit nodes; }
else testScript;
uniqueVlans = lib.unique (builtins.concatLists vlans);
vlanNames = map (i: "vlan${toString i}: VLan;") uniqueVlans;
machineNames = map (name: "${name}: Machine;") nodeHostNames;
in
if lib.length invalidNodeNames > 0 then
throw ''
@ -113,7 +117,7 @@ rec {
else lib.warnIf skipLint "Linting is disabled" (runCommand testDriverName
{
inherit testName;
nativeBuildInputs = [ makeWrapper ];
nativeBuildInputs = [ makeWrapper mypy ];
testScript = testScript';
preferLocalBuild = true;
passthru = passthru // {
@ -125,7 +129,25 @@ rec {
mkdir -p $out/bin
vmStartScripts=($(for i in ${toString vms}; do echo $i/bin/run-*-vm; done))
echo -n "$testScript" > $out/test-script
${lib.optionalString (!skipTypeCheck) ''
# prepend type hints so the test script can be type checked with mypy
cat "${./test-script-prepend.py}" >> testScriptWithTypes
echo "${builtins.toString machineNames}" >> testScriptWithTypes
echo "${builtins.toString vlanNames}" >> testScriptWithTypes
echo -n "$testScript" >> testScriptWithTypes
# set pythonpath so mypy knows where to find the imports. this requires the py.typed file.
export PYTHONPATH='${./test-driver}'
mypy --no-implicit-optional \
--pretty \
--no-color-output \
testScriptWithTypes
unset PYTHONPATH
''}
echo -n "$testScript" >> $out/test-script
ln -s ${testDriver}/bin/nixos-test-driver $out/bin/nixos-test-driver
${testDriver}/bin/generate-driver-symbols
@ -152,6 +174,7 @@ rec {
, testScript
, enableOCR ? false
, name ? "unnamed"
, skipTypeCheck ? false
# Skip linting (mainly intended for faster dev cycles)
, skipLint ? false
, passthru ? {}
@ -213,13 +236,13 @@ rec {
);
driver = setupDriverForTest {
inherit testScript enableOCR skipLint passthru;
inherit testScript enableOCR skipTypeCheck skipLint passthru;
testName = name;
qemu_pkg = pkgs.qemu_test;
nodes = mkNodes pkgs.qemu_test;
};
driverInteractive = setupDriverForTest {
inherit testScript enableOCR skipLint passthru;
inherit testScript enableOCR skipTypeCheck skipLint passthru;
testName = name;
qemu_pkg = pkgs.qemu;
nodes = mkNodes pkgs.qemu;

View file

@ -96,13 +96,22 @@ in
};
repository = mkOption {
type = types.str;
type = with types; nullOr str;
default = null;
description = ''
repository to backup to.
'';
example = "sftp:backup@192.168.1.100:/backups/${name}";
};
repositoryFile = mkOption {
type = with types; nullOr path;
default = null;
description = ''
Path to the file containing the repository location to backup to.
'';
};
paths = mkOption {
type = types.nullOr (types.listOf types.str);
default = null;
@ -142,7 +151,7 @@ in
extraBackupArgs = mkOption {
type = types.listOf types.str;
default = [];
default = [ ];
description = ''
Extra arguments passed to restic backup.
'';
@ -153,7 +162,7 @@ in
extraOptions = mkOption {
type = types.listOf types.str;
default = [];
default = [ ];
description = ''
Extra extended options to be passed to the restic --option flag.
'';
@ -172,7 +181,7 @@ in
pruneOpts = mkOption {
type = types.listOf types.str;
default = [];
default = [ ];
description = ''
A list of options (--keep-* et al.) for 'restic forget
--prune', to automatically prune old snapshots. The
@ -197,9 +206,25 @@ in
'';
example = "find /home/matt/git -type d -name .git";
};
backupPrepareCommand = mkOption {
type = with types; nullOr str;
default = null;
description = ''
A script that must run before starting the backup process.
'';
};
backupCleanupCommand = mkOption {
type = with types; nullOr str;
default = null;
description = ''
A script that must run after finishing the backup process.
'';
};
};
}));
default = {};
default = { };
example = {
localbackup = {
paths = [ "/home" ];
@ -225,66 +250,85 @@ in
config = {
warnings = mapAttrsToList (n: v: "services.restic.backups.${n}.s3CredentialsFile is deprecated, please use services.restic.backups.${n}.environmentFile instead.") (filterAttrs (n: v: v.s3CredentialsFile != null) config.services.restic.backups);
systemd.services =
mapAttrs' (name: backup:
let
extraOptions = concatMapStrings (arg: " -o ${arg}") backup.extraOptions;
resticCmd = "${pkgs.restic}/bin/restic${extraOptions}";
filesFromTmpFile = "/run/restic-backups-${name}/includes";
backupPaths = if (backup.dynamicFilesFrom == null)
then if (backup.paths != null) then concatStringsSep " " backup.paths else ""
else "--files-from ${filesFromTmpFile}";
pruneCmd = optionals (builtins.length backup.pruneOpts > 0) [
( resticCmd + " forget --prune " + (concatStringsSep " " backup.pruneOpts) )
( resticCmd + " check" )
];
# Helper functions for rclone remotes
rcloneRemoteName = builtins.elemAt (splitString ":" backup.repository) 1;
rcloneAttrToOpt = v: "RCLONE_" + toUpper (builtins.replaceStrings [ "-" ] [ "_" ] v);
rcloneAttrToConf = v: "RCLONE_CONFIG_" + toUpper (rcloneRemoteName + "_" + v);
toRcloneVal = v: if lib.isBool v then lib.boolToString v else v;
in nameValuePair "restic-backups-${name}" ({
environment = {
RESTIC_PASSWORD_FILE = backup.passwordFile;
RESTIC_REPOSITORY = backup.repository;
} // optionalAttrs (backup.rcloneOptions != null) (mapAttrs' (name: value:
nameValuePair (rcloneAttrToOpt name) (toRcloneVal value)
) backup.rcloneOptions) // optionalAttrs (backup.rcloneConfigFile != null) {
RCLONE_CONFIG = backup.rcloneConfigFile;
} // optionalAttrs (backup.rcloneConfig != null) (mapAttrs' (name: value:
nameValuePair (rcloneAttrToConf name) (toRcloneVal value)
) backup.rcloneConfig);
path = [ pkgs.openssh ];
restartIfChanged = false;
serviceConfig = {
Type = "oneshot";
ExecStart = (optionals (backupPaths != "") [ "${resticCmd} backup --cache-dir=%C/restic-backups-${name} ${concatStringsSep " " backup.extraBackupArgs} ${backupPaths}" ])
++ pruneCmd;
User = backup.user;
RuntimeDirectory = "restic-backups-${name}";
CacheDirectory = "restic-backups-${name}";
CacheDirectoryMode = "0700";
} // optionalAttrs (backup.environmentFile != null) {
EnvironmentFile = backup.environmentFile;
};
} // optionalAttrs (backup.initialize || backup.dynamicFilesFrom != null) {
preStart = ''
${optionalString (backup.initialize) ''
${resticCmd} snapshots || ${resticCmd} init
''}
${optionalString (backup.dynamicFilesFrom != null) ''
${pkgs.writeScript "dynamicFilesFromScript" backup.dynamicFilesFrom} > ${filesFromTmpFile}
''}
'';
} // optionalAttrs (backup.dynamicFilesFrom != null) {
postStart = ''
rm ${filesFromTmpFile}
'';
})
) config.services.restic.backups;
mapAttrs'
(name: backup:
let
extraOptions = concatMapStrings (arg: " -o ${arg}") backup.extraOptions;
resticCmd = "${pkgs.restic}/bin/restic${extraOptions}";
filesFromTmpFile = "/run/restic-backups-${name}/includes";
backupPaths =
if (backup.dynamicFilesFrom == null)
then if (backup.paths != null) then concatStringsSep " " backup.paths else ""
else "--files-from ${filesFromTmpFile}";
pruneCmd = optionals (builtins.length backup.pruneOpts > 0) [
(resticCmd + " forget --prune " + (concatStringsSep " " backup.pruneOpts))
(resticCmd + " check")
];
# Helper functions for rclone remotes
rcloneRemoteName = builtins.elemAt (splitString ":" backup.repository) 1;
rcloneAttrToOpt = v: "RCLONE_" + toUpper (builtins.replaceStrings [ "-" ] [ "_" ] v);
rcloneAttrToConf = v: "RCLONE_CONFIG_" + toUpper (rcloneRemoteName + "_" + v);
toRcloneVal = v: if lib.isBool v then lib.boolToString v else v;
in
nameValuePair "restic-backups-${name}" ({
environment = {
RESTIC_PASSWORD_FILE = backup.passwordFile;
RESTIC_REPOSITORY = backup.repository;
RESTIC_REPOSITORY_FILE = backup.repositoryFile;
} // optionalAttrs (backup.rcloneOptions != null) (mapAttrs'
(name: value:
nameValuePair (rcloneAttrToOpt name) (toRcloneVal value)
)
backup.rcloneOptions) // optionalAttrs (backup.rcloneConfigFile != null) {
RCLONE_CONFIG = backup.rcloneConfigFile;
} // optionalAttrs (backup.rcloneConfig != null) (mapAttrs'
(name: value:
nameValuePair (rcloneAttrToConf name) (toRcloneVal value)
)
backup.rcloneConfig);
path = [ pkgs.openssh ];
restartIfChanged = false;
serviceConfig = {
Type = "oneshot";
ExecStart = (optionals (backupPaths != "") [ "${resticCmd} backup --cache-dir=%C/restic-backups-${name} ${concatStringsSep " " backup.extraBackupArgs} ${backupPaths}" ])
++ pruneCmd;
User = backup.user;
RuntimeDirectory = "restic-backups-${name}";
CacheDirectory = "restic-backups-${name}";
CacheDirectoryMode = "0700";
} // optionalAttrs (backup.environmentFile != null) {
EnvironmentFile = backup.environmentFile;
};
} // optionalAttrs (backup.initialize || backup.dynamicFilesFrom != null || backup.backupPrepareCommand != null) {
preStart = ''
${optionalString (backup.backupPrepareCommand != null) ''
${pkgs.writeScript "backupPrepareCommand" backup.backupPrepareCommand}
''}
${optionalString (backup.initialize) ''
${resticCmd} snapshots || ${resticCmd} init
''}
${optionalString (backup.dynamicFilesFrom != null) ''
${pkgs.writeScript "dynamicFilesFromScript" backup.dynamicFilesFrom} > ${filesFromTmpFile}
''}
'';
} // optionalAttrs (backup.dynamicFilesFrom != null || backup.backupCleanupCommand != null) {
postStart = ''
${optionalString (backup.backupCleanupCommand != null) ''
${pkgs.writeScript "backupCleanupCommand" backup.backupCleanupCommand}
''}
${optionalString (backup.dynamicFilesFrom != null) ''
rm ${filesFromTmpFile}
''}
'';
})
)
config.services.restic.backups;
systemd.timers =
mapAttrs' (name: backup: nameValuePair "restic-backups-${name}" {
wantedBy = [ "timers.target" ];
timerConfig = backup.timerConfig;
}) config.services.restic.backups;
mapAttrs'
(name: backup: nameValuePair "restic-backups-${name}" {
wantedBy = [ "timers.target" ];
timerConfig = backup.timerConfig;
})
config.services.restic.backups;
};
}

View file

@ -13,6 +13,8 @@ let
# is in theory not needed as this is already the default for default builds
UpdateChannel = 0;
Headless = true;
} // lib.optionalAttrs (cfg.ipcPasswordFile != "") {
IPCPassword = "#ipcPassword#";
});
ipc-config = format.generate "IPC.config" cfg.ipcSettings;
@ -81,8 +83,7 @@ in
type = format.type;
description = ''
The ASF.json file, all the options are documented <link xlink:href="https://github.com/JustArchiNET/ArchiSteamFarm/wiki/Configuration#global-config">here</link>.
Do note that `AutoRestart` and `UpdateChannel` is always to `false`
respectively `0` because NixOS takes care of updating everything.
Do note that `AutoRestart` and `UpdateChannel` is always to `false` respectively `0` because NixOS takes care of updating everything.
`Headless` is also always set to `true` because there is no way to provide inputs via a systemd service.
You should try to keep ASF up to date since upstream does not provide support for anything but the latest version and you're exposing yourself to all kinds of issues - as is outlined <link xlink:href="https://github.com/JustArchiNET/ArchiSteamFarm/wiki/Configuration#updateperiod">here</link>.
'';
@ -92,6 +93,11 @@ respectively `0` because NixOS takes care of updating everything.
default = { };
};
ipcPasswordFile = mkOption {
type = types.path;
description = "Path to a file containig the password. The file must be readable by the <literal>asf</literal> user/group.";
};
ipcSettings = mkOption {
type = format.type;
description = ''
@ -115,14 +121,12 @@ respectively `0` because NixOS takes care of updating everything.
options = {
username = mkOption {
type = types.str;
description =
"Name of the user to log in. Default is attribute name.";
description = "Name of the user to log in. Default is attribute name.";
default = "";
};
passwordFile = mkOption {
type = types.path;
description =
"Path to a file containig the password. The file must be readable by the <literal>asf</literal> user/group.";
description = "Path to a file containig the password. The file must be readable by the <literal>asf</literal> user/group.";
};
enabled = mkOption {
type = types.bool;
@ -131,8 +135,7 @@ respectively `0` because NixOS takes care of updating everything.
};
settings = mkOption {
type = types.attrs;
description =
"Additional settings that are documented <link xlink:href=\"https://github.com/JustArchiNET/ArchiSteamFarm/wiki/Configuration#bot-config\">here</link>.";
description = "Additional settings that are documented <link xlink:href=\"https://github.com/JustArchiNET/ArchiSteamFarm/wiki/Configuration#bot-config\">here</link>.";
default = { };
};
};
@ -156,6 +159,7 @@ respectively `0` because NixOS takes care of updating everything.
users = {
users.asf = {
home = cfg.dataDir;
homeMode = "700";
isSystemUser = true;
group = "asf";
description = "Archis-Steam-Farm service user";
@ -176,8 +180,7 @@ respectively `0` because NixOS takes care of updating everything.
Group = "asf";
WorkingDirectory = cfg.dataDir;
Type = "simple";
ExecStart =
"${cfg.package}/bin/ArchiSteamFarm --path ${cfg.dataDir} --process-required --no-restart --service --no-config-migrate";
ExecStart = "${cfg.package}/bin/ArchiSteamFarm --path ${cfg.dataDir} --process-required --no-restart --service --no-config-migrate";
# mostly copied from the default systemd service
PrivateTmp = true;
@ -202,29 +205,38 @@ respectively `0` because NixOS takes care of updating everything.
}
];
preStart = ''
mkdir -p config
rm -f www
rm -f config/{*.json,*.config}
preStart =
let
createBotsScript = pkgs.runCommandLocal "ASF-bots" { } ''
mkdir -p $out
# clean potential removed bots
rm -rf $out/*.json
for i in ${strings.concatStringsSep " " (lists.map (x: "${getName x},${x}") (attrsets.mapAttrsToList mkBot cfg.bots))}; do IFS=",";
set -- $i
ln -fs $2 $out/$1
done
'';
replaceSecretBin = "${pkgs.replace-secret}/bin/replace-secret";
in
''
mkdir -p config
ln -s ${asf-config} config/ASF.json
cp --no-preserve=mode ${asf-config} config/ASF.json
${replaceSecretBin} '#ipcPassword#' '${cfg.ipcPasswordFile}' config/ASF.json
${strings.optionalString (cfg.ipcSettings != {}) ''
ln -s ${ipc-config} config/IPC.config
''}
${optionalString (cfg.ipcSettings != {}) ''
ln -fs ${ipc-config} config/IPC.config
''}
ln -s ${pkgs.runCommandLocal "ASF-bots" {} ''
mkdir -p $out/lib/asf/bots
for i in ${strings.concatStringsSep " " (lists.map (x: "${getName x},${x}") (attrsets.mapAttrsToList mkBot cfg.bots))}; do IFS=",";
set -- $i
ln -s $2 $out/lib/asf/bots/$1
done
''}/lib/asf/bots/* config/
${optionalString (cfg.ipcSettings != {}) ''
ln -fs ${createBotsScript}/* config/
''}
${strings.optionalString cfg.web-ui.enable ''
ln -s ${cfg.web-ui.package}/lib/dist www
''}
'';
rm -f www
${optionalString cfg.web-ui.enable ''
ln -s ${cfg.web-ui.package}/lib/dist www
''}
'';
};
};
};

View file

@ -1,96 +1,119 @@
import ./make-test-python.nix (
{ pkgs, ... }:
let
password = "some_password";
repository = "/tmp/restic-backup";
rcloneRepository = "rclone:local:/tmp/restic-rclone-backup";
let
password = "some_password";
repository = "/tmp/restic-backup";
repositoryFile = "${pkgs.writeText "repositoryFile" "/tmp/restic-backup-from-file"}";
rcloneRepository = "rclone:local:/tmp/restic-rclone-backup";
passwordFile = "${pkgs.writeText "password" "correcthorsebatterystaple"}";
initialize = true;
paths = [ "/opt" ];
pruneOpts = [
"--keep-daily 2"
"--keep-weekly 1"
"--keep-monthly 1"
"--keep-yearly 99"
];
in
{
name = "restic";
backupPrepareCommand = ''
touch /opt/backupPrepareCommand
test ! -e /opt/backupCleanupCommand
'';
meta = with pkgs.lib.maintainers; {
maintainers = [ bbigras i077 ];
};
backupCleanupCommand = ''
rm /opt/backupPrepareCommand
touch /opt/backupCleanupCommand
'';
nodes = {
server =
{ pkgs, ... }:
{
services.restic.backups = {
remotebackup = {
inherit repository passwordFile initialize paths pruneOpts;
};
rclonebackup = {
repository = rcloneRepository;
rcloneConfig = {
type = "local";
one_file_system = true;
};
passwordFile = "${pkgs.writeText "password" "correcthorsebatterystaple"}";
initialize = true;
paths = [ "/opt" ];
pruneOpts = [
"--keep-daily 2"
"--keep-weekly 1"
"--keep-monthly 1"
"--keep-yearly 99"
];
in
{
name = "restic";
# This gets overridden by rcloneConfig.type
rcloneConfigFile = pkgs.writeText "rclone.conf" ''
[local]
type=ftp
'';
inherit passwordFile initialize paths pruneOpts;
};
remoteprune = {
inherit repository passwordFile;
pruneOpts = [ "--keep-last 1" ];
};
};
meta = with pkgs.lib.maintainers; {
maintainers = [ bbigras i077 ];
};
environment.sessionVariables.RCLONE_CONFIG_LOCAL_TYPE = "local";
nodes = {
server =
{ pkgs, ... }:
{
services.restic.backups = {
remotebackup = {
inherit repository passwordFile initialize paths pruneOpts backupPrepareCommand backupCleanupCommand;
};
remotebackup-from-file = {
inherit repositoryFile passwordFile initialize paths pruneOpts;
};
rclonebackup = {
repository = rcloneRepository;
rcloneConfig = {
type = "local";
one_file_system = true;
};
};
testScript = ''
server.start()
server.wait_for_unit("dbus.socket")
server.fail(
"${pkgs.restic}/bin/restic -r ${repository} -p ${passwordFile} snapshots",
"${pkgs.restic}/bin/restic -r ${rcloneRepository} -p ${passwordFile} snapshots",
)
server.succeed(
"mkdir -p /opt",
"touch /opt/some_file",
"mkdir -p /tmp/restic-rclone-backup",
"timedatectl set-time '2016-12-13 13:45'",
"systemctl start restic-backups-remotebackup.service",
"systemctl start restic-backups-rclonebackup.service",
'${pkgs.restic}/bin/restic -r ${repository} -p ${passwordFile} snapshots -c | grep -e "^1 snapshot"',
'${pkgs.restic}/bin/restic -r ${rcloneRepository} -p ${passwordFile} snapshots -c | grep -e "^1 snapshot"',
"timedatectl set-time '2017-12-13 13:45'",
"systemctl start restic-backups-remotebackup.service",
"systemctl start restic-backups-rclonebackup.service",
"timedatectl set-time '2018-12-13 13:45'",
"systemctl start restic-backups-remotebackup.service",
"systemctl start restic-backups-rclonebackup.service",
"timedatectl set-time '2018-12-14 13:45'",
"systemctl start restic-backups-remotebackup.service",
"systemctl start restic-backups-rclonebackup.service",
"timedatectl set-time '2018-12-15 13:45'",
"systemctl start restic-backups-remotebackup.service",
"systemctl start restic-backups-rclonebackup.service",
"timedatectl set-time '2018-12-16 13:45'",
"systemctl start restic-backups-remotebackup.service",
"systemctl start restic-backups-rclonebackup.service",
'${pkgs.restic}/bin/restic -r ${repository} -p ${passwordFile} snapshots -c | grep -e "^4 snapshot"',
'${pkgs.restic}/bin/restic -r ${rcloneRepository} -p ${passwordFile} snapshots -c | grep -e "^4 snapshot"',
"systemctl start restic-backups-remoteprune.service",
'${pkgs.restic}/bin/restic -r ${repository} -p ${passwordFile} snapshots -c | grep -e "^1 snapshot"',
)
'';
}
# This gets overridden by rcloneConfig.type
rcloneConfigFile = pkgs.writeText "rclone.conf" ''
[local]
type=ftp
'';
inherit passwordFile initialize paths pruneOpts;
};
remoteprune = {
inherit repository passwordFile;
pruneOpts = [ "--keep-last 1" ];
};
};
environment.sessionVariables.RCLONE_CONFIG_LOCAL_TYPE = "local";
};
};
testScript = ''
server.start()
server.wait_for_unit("dbus.socket")
server.fail(
"${pkgs.restic}/bin/restic -r ${repository} -p ${passwordFile} snapshots",
'${pkgs.restic}/bin/restic --repository-file ${repositoryFile} -p ${passwordFile} snapshots"',
"${pkgs.restic}/bin/restic -r ${rcloneRepository} -p ${passwordFile} snapshots",
)
server.succeed(
"mkdir -p /opt",
"touch /opt/some_file",
"mkdir -p /tmp/restic-rclone-backup",
"timedatectl set-time '2016-12-13 13:45'",
"systemctl start restic-backups-remotebackup.service",
"rm /opt/backupCleanupCommand",
"systemctl start restic-backups-remotebackup-from-file.service",
"systemctl start restic-backups-rclonebackup.service",
'${pkgs.restic}/bin/restic -r ${repository} -p ${passwordFile} snapshots -c | grep -e "^1 snapshot"',
'${pkgs.restic}/bin/restic --repository-file ${repositoryFile} -p ${passwordFile} snapshots -c | grep -e "^1 snapshot"',
'${pkgs.restic}/bin/restic -r ${rcloneRepository} -p ${passwordFile} snapshots -c | grep -e "^1 snapshot"',
"timedatectl set-time '2017-12-13 13:45'",
"systemctl start restic-backups-remotebackup.service",
"rm /opt/backupCleanupCommand",
"systemctl start restic-backups-rclonebackup.service",
"timedatectl set-time '2018-12-13 13:45'",
"systemctl start restic-backups-remotebackup.service",
"rm /opt/backupCleanupCommand",
"systemctl start restic-backups-rclonebackup.service",
"timedatectl set-time '2018-12-14 13:45'",
"systemctl start restic-backups-remotebackup.service",
"rm /opt/backupCleanupCommand",
"systemctl start restic-backups-rclonebackup.service",
"timedatectl set-time '2018-12-15 13:45'",
"systemctl start restic-backups-remotebackup.service",
"rm /opt/backupCleanupCommand",
"systemctl start restic-backups-rclonebackup.service",
"timedatectl set-time '2018-12-16 13:45'",
"systemctl start restic-backups-remotebackup.service",
"rm /opt/backupCleanupCommand",
"systemctl start restic-backups-rclonebackup.service",
'${pkgs.restic}/bin/restic -r ${repository} -p ${passwordFile} snapshots -c | grep -e "^4 snapshot"',
'${pkgs.restic}/bin/restic -r ${rcloneRepository} -p ${passwordFile} snapshots -c | grep -e "^4 snapshot"',
"systemctl start restic-backups-remoteprune.service",
'${pkgs.restic}/bin/restic -r ${repository} -p ${passwordFile} snapshots -c | grep -e "^1 snapshot"',
)
'';
}
)

View file

@ -1,4 +1,4 @@
{ lib, stdenv, fetchurl, alsa-lib, cmake, gtk2, libjack2, libgnomecanvas
{ lib, stdenv, fetchurl, fetchpatch, alsa-lib, cmake, gtk2, libjack2, libgnomecanvas
, libpthreadstubs, libsamplerate, libsndfile, libtool, libxml2
, pkg-config, openssl }:
@ -11,6 +11,16 @@ stdenv.mkDerivation rec {
sha256 = "0b25iicgn8c42487fdw32ycfrll1pm2zjgy5djvgw6mfcaa4gizh";
};
patches = [
# Pull patch pending upstream inclusion for -fno-common toollchain support:
# https://github.com/petri-foo/Petri-Foo/pull/43
(fetchpatch {
name = "fno-common.patch";
url = "https://github.com/petri-foo/Petri-Foo/commit/6a3256c9b619b1fed18ad15063f110e8d91aa6fe.patch";
sha256 = "05yc4g22iwnd054jmvihrl461yr0cxnghslfrbhan6bac6fcvlal";
})
];
nativeBuildInputs = [ cmake pkg-config ];
buildInputs = [ alsa-lib gtk2 libjack2 libgnomecanvas libpthreadstubs

View file

@ -1,5 +1,6 @@
{ lib, stdenv
, fetchFromGitHub
, fetchpatch
, bison
, git
, python2
@ -71,6 +72,14 @@ stdenv.mkDerivation rec {
patches = [
./force-gcc-as-linker.patch
./system-libuv.patch
# Pull upstream fix for -fno-common toolchains:
# https://github.com/mruby-zest/mruby-zest-build/issues/25
(fetchpatch {
name = "fno-common.patch";
url = "https://github.com/mruby-zest/mruby-zest-build/commit/4eb88250f22ee684acac95d4d1f114df504e37a7.patch";
sha256 = "0wg7qy1vg0mzcxagf35bv35dlr0q17pxjicigpf86yqppvgrzrsb";
})
];
# Add missing dependencies of deps/mruby-dir-glob/mrbgem.rake

View file

@ -38,13 +38,13 @@ let
in
stdenv.mkDerivation rec {
pname = "cudatext";
version = "1.165.0";
version = "1.165.2";
src = fetchFromGitHub {
owner = "Alexey-T";
repo = "CudaText";
rev = version;
sha256 = "sha256-Ri/3rDZu+r0++yEO9K9V25z0PiJxc+EOz0RZUz4yGVE=";
sha256 = "sha256-eNpU7PpzyL2KHPL6cPmxZw/49VALjCWUdavV6Ex1IQI=";
};
postPatch = ''

View file

@ -16,8 +16,8 @@
},
"ATSynEdit": {
"owner": "Alexey-T",
"rev": "2022.05.16",
"sha256": "sha256-cEHGEMVcOjuq0mIIhrMqrBDaskWvLQoGrFLagOqkdwU="
"rev": "2022.06.01",
"sha256": "sha256-dilFwvtD8OLLq7QOPWSG3FeBM12Yy4ztM+CedJQAAaU="
},
"ATSynEdit_Cmp": {
"owner": "Alexey-T",
@ -31,8 +31,8 @@
},
"ATSynEdit_Ex": {
"owner": "Alexey-T",
"rev": "2022.05.15",
"sha256": "sha256-iqadjpIr+Kn1r7MDQtHQsgtr97IZ8+HQ+q5DiUWASAQ="
"rev": "2022.05.23",
"sha256": "sha256-/PqEx2Z1TVjnxfeWR9qBZUNzdqDBttuLmSBzIEPe1MY="
},
"Python-for-Lazarus": {
"owner": "Alexey-T",

View file

@ -10,14 +10,14 @@
python3Packages.buildPythonPackage rec {
pname = "hydrus";
version = "484";
version = "487";
format = "other";
src = fetchFromGitHub {
owner = "hydrusnetwork";
repo = "hydrus";
rev = "refs/tags/v${version}";
sha256 = "sha256-W0oWETj0xnuS2XAORRb5sb39gbpvyE+cHqgIU+grolQ=";
sha256 = "sha256-4FYUIEk8KJO4nqONNpLUtxAMud3vdfl50zbKQxC5Hw4=";
};
nativeBuildInputs = [

View file

@ -23,6 +23,8 @@
, libxcb
, libxkbcommon
, libxshmfence
, libGL
, libappindicator-gtk3
, mesa
, nspr
, nss
@ -42,11 +44,11 @@ let
in stdenv.mkDerivation rec {
pname = "1password";
version = "8.8.0-11.BETA";
version = "8.8.0-119.BETA";
src = fetchurl {
url = "https://downloads.1password.com/linux/tar/beta/x86_64/1password-${version}.x64.tar.gz";
sha256 = "sha256-HU+nIz3aKXXdBWEBMSRlbi8yZ+JEsE33o6nfbWRgpBo=";
sha256 = "sha256-MnfO41r86jLGI9R30trCPR+BwXVKACyrB3dWSbPbBIA=";
};
nativeBuildInputs = [ makeWrapper ];
@ -78,6 +80,8 @@ in stdenv.mkDerivation rec {
libxcb
libxkbcommon
libxshmfence
libGL
libappindicator-gtk3
mesa
nspr
nss

View file

@ -23,6 +23,8 @@
, libxcb
, libxkbcommon
, libxshmfence
, libappindicator-gtk3
, libGL
, mesa
, nspr
, nss
@ -42,11 +44,11 @@ let
in stdenv.mkDerivation rec {
pname = "1password";
version = "8.7.0";
version = "8.7.1";
src = fetchurl {
url = "https://downloads.1password.com/linux/tar/stable/x86_64/1password-${version}.x64.tar.gz";
sha256 = "sha256-Ubn1KEjK8H8d8+4QNEpEOuclWyD8ujUbO5CpzWr+kSg=";
sha256 = "sha256-ykD2reAL5spSoCpfGTFOE/yERdooYUsWmo45rpRe/Fw=";
};
nativeBuildInputs = [ makeWrapper ];
@ -78,6 +80,8 @@ in stdenv.mkDerivation rec {
libxcb
libxkbcommon
libxshmfence
libGL
libappindicator-gtk3
mesa
nspr
nss

View file

@ -22,11 +22,11 @@
buildPythonApplication rec {
pname = "bikeshed";
version = "3.4.3";
version = "3.5.2";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-vJW4yNbKCZraJ5vx8FheNsBl+zObGoLFgAVqoU0p9QQ=";
sha256 = "sha256-fa9z/y4Enrei8gb48MSS7vzDcttZVO7MJkdEIaDZb0I=";
};
# Relax requirements from "==" to ">="

View file

@ -1,6 +1,7 @@
{ stdenv
, lib
, fetchFromGitLab
, gitUpdater
, appstream-glib
, desktop-file-utils
, fwupd
@ -19,14 +20,14 @@
stdenv.mkDerivation rec {
pname = "gnome-firmware";
version = "42.1";
version = "42.2";
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
owner = "World";
repo = "gnome-firmware";
rev = version;
sha256 = "9QZ98EElENWsME/jXoj9YJl2e+ipyLm0g4grQUwmnuE=";
sha256 = "L0R2lXU69I6NI7Srq5s+8N9261Ic8B7FVaaXNjz2Ll0=";
};
nativeBuildInputs = [
@ -53,6 +54,11 @@ stdenv.mkDerivation rec {
"-Dconsolekit=false"
];
passthru.updateScript = gitUpdater {
inherit pname version;
ignoredVersions = "(alpha|beta|rc).*";
};
meta = with lib; {
homepage = "https://gitlab.gnome.org/World/gnome-firmware";
description = "Tool for installing firmware on devices";

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "gpxsee";
version = "10.5";
version = "11.0";
src = fetchFromGitHub {
owner = "tumic0";
repo = "GPXSee";
rev = version;
sha256 = "sha256-TvOdyzWvGSdl8aSA+pAOpPVpQzK9POmqtClqdXAMsws=";
sha256 = "sha256-UT3Q7pirEXvwQmqHHiSivX/VNZPVLwRJ/aiP7wpkhqQ=";
};
patches = (substituteAll {

View file

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "spicetify-cli";
version = "2.9.4";
version = "2.10.1";
src = fetchFromGitHub {
owner = "khanhas";
repo = pname;
rev = "v${version}";
sha256 = "sha256-dHkbjmb9qlMO+pYUmdnoztkrMqPW6GfceAUxgnRmlDA=";
sha256 = "sha256-d5YuBLCsC7tHSzSa12rUcO0gr5f6gQ2s0wnQ3OMZO3U=";
};
vendorSha256 = "sha256-zYIbtcDM9iYSRHagvI9D284Y7w0ZxG4Ba1p4jqmQyng=";

View file

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "clusterctl";
version = "1.1.3";
version = "1.1.4";
src = fetchFromGitHub {
owner = "kubernetes-sigs";
repo = "cluster-api";
rev = "v${version}";
sha256 = "sha256-0njXmYhZM4DXFeK9KboXnVw8uHdz4PFJ2aJxwhgyEc8=";
sha256 = "sha256-0hQ+FicY74I5Fpl4FQsYMtQyBgzRnUeXl/vsNQ6GHZw=";
};
vendorSha256 = "sha256-JVRLPsfI1ITilAOkVIAa2IjjuAlJ2PCpvYEkhnTzRDA=";
vendorSha256 = "sha256-PLUN9d+oo7vHUUpiIBUgU1snPlsHOMt+8q+jQZzZC+8=";
subPackages = [ "cmd/clusterctl" ];
@ -25,7 +25,7 @@ buildGoModule rec {
postInstall = ''
# errors attempting to write config to read-only $HOME
export HOME=$(mktemp -d)
export HOME=$TMPDIR
installShellCompletion --cmd clusterctl \
--bash <($out/bin/clusterctl completion bash) \

View file

@ -1,29 +1,21 @@
{ lib
, buildGoModule
, fetchFromGitHub
, fetchpatch
, installShellFiles
}:
buildGoModule rec {
pname = "k0sctl";
version = "0.12.6";
version = "0.13.0";
src = fetchFromGitHub {
owner = "k0sproject";
repo = pname;
rev = "v${version}";
sha256 = "sha256-TkkMO6xBHY5t5Rpd0ieSDXMrnQ+Xdq+65Rk93ZkYcUs=";
sha256 = "sha256-A50PbZTgv0EfL5aqTiTEOdfRXUgKGzTsRIiMgXItkxI=";
};
vendorSha256 = "sha256-nTAuvHcsJiW0XYX5GM1SL8cnOhwdrj6iw8tuAkEWNzQ=";
patches = [
(fetchpatch {
url = "https://github.com/k0sproject/${pname}/commit/22c694ab0335a1e6146d0d3f939ef79d2c005a3d.patch";
sha256 = "sha256-Ftq/vbQd5ArdHboDt6NdyuqpFalHVnsQBdpmyDG/t5Q=";
})
];
vendorSha256 = "sha256-2i6SoixE5RitRuJpOU4LdzN9JY/76c3mjsbsXlQp854=";
ldflags = [
"-s"

View file

@ -1,16 +1,12 @@
{ lib, buildGoPackage, fetchFromGitHub, go-bindata, installShellFiles }:
{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
let
goPackagePath = "k8s.io/kops";
generic = { version, sha256, rev ? version, ... }@attrs:
let attrs' = builtins.removeAttrs attrs [ "version" "sha256" "rev" ]; in
buildGoPackage
buildGoModule
{
pname = "kops";
inherit version;
inherit goPackagePath;
src = fetchFromGitHub {
rev = rev;
owner = "kubernetes";
@ -18,24 +14,26 @@ let
inherit sha256;
};
nativeBuildInputs = [ go-bindata installShellFiles ];
vendorSha256 = null;
nativeBuildInputs = [ installShellFiles ];
subPackages = [ "cmd/kops" ];
ldflags = [
"-s"
"-w"
"-X k8s.io/kops.Version=${version}"
"-X k8s.io/kops.GitVersion=${version}"
];
preBuild = ''
(cd go/src/k8s.io/kops
go-bindata -o upup/models/bindata.go -pkg models -prefix upup/models/ upup/models/...)
'';
doCheck = false;
postInstall = ''
for shell in bash zsh; do
$out/bin/kops completion $shell > kops.$shell
installShellCompletion kops.$shell
done
installShellCompletion --cmd kops \
--bash <($GOPATH/bin/kops completion bash) \
--fish <($GOPATH/bin/kops completion fish) \
--zsh <($GOPATH/bin/kops completion zsh)
'';
meta = with lib; {
@ -49,7 +47,6 @@ let
} // attrs';
in
rec {
mkKops = generic;
kops_1_21 = mkKops rec {

View file

@ -1,5 +1,6 @@
{ lib
, buildGoModule
, buildGo118Module
, fetchFromGitHub
, callPackage
, config
@ -19,10 +20,11 @@ let
, vendorSha256 ? throw "vendorSha256 missing: please use `buildGoModule`" /* added 2022/01 */
, deleteVendor ? false
, proxyVendor ? false
, mkProviderGoModule ? buildGoModule
, # Looks like "registry.terraform.io/vancluever/acme"
provider-source-address
}@attrs:
buildGoModule {
mkProviderGoModule {
pname = repo;
inherit vendorSha256 version deleteVendor proxyVendor;
subPackages = [ "." ];
@ -58,6 +60,7 @@ let
{
# Packages that don't fit the default model
brightbox = automated-providers.brightbox.override { mkProviderGoModule = buildGo118Module; };
# mkisofs needed to create ISOs holding cloud-init data,
# and wrapped to terraform via deecb4c1aab780047d79978c636eeb879dd68630
libvirt = automated-providers.libvirt.overrideAttrs (_: { propagatedBuildInputs = [ cdrtools ]; });

View file

@ -176,10 +176,10 @@
"owner": "brightbox",
"provider-source-address": "registry.terraform.io/brightbox/brightbox",
"repo": "terraform-provider-brightbox",
"rev": "v2.2.0",
"sha256": "1n0gdfsj8ylmm5pqsjs3dvjvj8larc30x5p9jq546xvi2idvl39n",
"vendorSha256": "03761vl8xcirmas38q8xivx2r312c07fmg1y80lklmswbd8d0f71",
"version": "2.2.0"
"rev": "v3.0.4",
"sha256": "sha256-UUDL1w/3IEa+Na77FoYReevJLT3AJq5giHYS6Bq4DQs=",
"vendorSha256": "sha256-M/S7gRRcAs53Ctx1oecHrlTxYxI1Kpr3ygTZLHG/9pY=",
"version": "3.0.4"
},
"buildkite": {
"owner": "buildkite",
@ -531,10 +531,10 @@
"owner": "hashicorp",
"provider-source-address": "registry.terraform.io/hashicorp/http",
"repo": "terraform-provider-http",
"rev": "v2.1.0",
"sha256": "1gih0ksrmhz82966c45ad2yv829pcgbvls92cll7r5haqgvx6k79",
"vendorSha256": null,
"version": "2.1.0"
"rev": "v2.2.0",
"sha256": "sha256-Ym9z/b2geSLdXYlQGggjyNTBZLo+GeMW5XLM+Gvk/gA=",
"vendorSha256": "sha256-Qk3ztfAtKt6Gq9QBtaeodwVkH/71TrCNMMAdrXO6Tjs=",
"version": "2.2.0"
},
"huaweicloud": {
"owner": "huaweicloud",

View file

@ -1,16 +1,16 @@
{ buildGoModule, lib, fetchFromGitHub }:
buildGoModule rec {
pname = "tfswitch";
version = "0.13.1218";
version = "0.13.1250";
src = fetchFromGitHub {
owner = "warrensbox";
repo = "terraform-switcher";
rev = version;
sha256 = "sha256-RJdbNXO+6TqFLapWiZ1UeXGS5522ykQvhhNDEHPr8xE=";
sha256 = "sha256-OfQUwAv7PgjcDLE4Wm6I8pAHeLV9sHlLHRVqTB13B4c=";
};
vendorSha256 = "sha256-Xqgki072Iy+snRriPVJ9oaDNJ/LiKL+AuU+eVw0zlDU=";
vendorSha256 = "sha256-jM9xYwBshBpaT4duBTvVwYUOapQfUbq9kL7EaRIGfQY=";
# Disable tests since it requires network access and relies on the
# presence of release.hashicorp.com
@ -22,7 +22,8 @@ buildGoModule rec {
'';
meta = with lib; {
description = "A command line tool to switch between different versions of terraform";
description =
"A command line tool to switch between different versions of terraform";
homepage = "https://github.com/warrensbox/terraform-switcher";
license = licenses.mit;
maintainers = with maintainers; [ psibi ];

View file

@ -1,17 +1,17 @@
{ lib, stdenv, fetchurl, libosip }:
{ lib, stdenv, fetchurl, libosip, sqlite }:
stdenv.mkDerivation rec {
pname = "siproxd";
version = "0.8.2";
version = "0.8.3";
src = fetchurl {
url = "mirror://sourceforge/siproxd/siproxd-${version}.tar.gz";
sha256 = "1l6cyxxhra825jiiw9npa7jrbfgbyfpk4966cqkrw66cn28y8v2j";
sha256 = "0dkpl3myxz3gvj2n2qpqrd19dip9il0vf7qybdvn5wgznrmplvcs";
};
patches = [ ./cheaders.patch ];
buildInputs = [ libosip ];
buildInputs = [ libosip sqlite ];
meta = {
homepage = "http://siproxd.sourceforge.net/";

View file

@ -14,6 +14,12 @@ stdenv.mkDerivation rec {
buildInputs = [ zlib bzip2 xz ];
# Workaround build failure on -fno-common toolchains like upstream
# gcc-10. Otherwise build fails as:
# ld: ./libfml.a(rle.o):/build/source/SeqLib/fermi-lite/rle.h:33: multiple definition of
# `rle_auxtab'; ./libfml.a(misc.o):/build/source/SeqLib/fermi-lite/rle.h:33: first defined here
NIX_CFLAGS_COMPILE = "-fcommon";
installPhase = ''
runHook preInstall
install -Dm555 src/svaba/svaba $out/bin/svaba

View file

@ -48,6 +48,7 @@ let
"8.14.1".sha256 = "0sx78pgx0qw8v7v2r32zzy3l161zipzq95iacda628girim7psnl";
"8.15.0".sha256 = "sha256:1ma76wfrpfsl72yh10w1ys2a0vi0mdc2jc79kdc8nrmxkhpw1nxx";
"8.15.1".sha256 = "sha256:1dsa04jzkx5pw69pmxn0l55q4w88lg6fvz7clbga0bazzsfnsgd6";
"8.15.2".sha256 = "sha256:0gn8dz69scxnxaq6ycb3x34bjfk9wlp1y2xn8w69kg9fm4b6gkc7";
};
releaseRev = v: "V${v}";
fetched = import ../../../../build-support/coq/meta-fetch/default.nix

View file

@ -21,11 +21,11 @@ let
self = python3Packages.buildPythonApplication rec {
pname = "mercurial${lib.optionalString fullBuild "-full"}";
version = "6.1.2";
version = "6.1.3";
src = fetchurl {
url = "https://mercurial-scm.org/release/mercurial-${version}.tar.gz";
sha256 = "sha256-pSgQ/AFAmCjEl00Lwsu1yA6UjVtYTPsadpliPpJKLyo=";
sha256 = "sha256-4CLB7yjlUCeT9DBnJOhEPF1ycUhBkG9GyjUe/XupG3w=";
};
format = "other";
@ -35,7 +35,7 @@ let
cargoDeps = if rustSupport then rustPlatform.fetchCargoTarball {
inherit src;
name = "mercurial-${version}";
sha256 = "sha256-OSaeOp+SjQ5n61jV8UthtQQqkneBYJhESoQDCwRSTco=";
sha256 = "sha256-NL4rzP9ljhdBtcJOGq759dNnzg2jANhZzMvpez+CbpM=";
sourceRoot = "mercurial-${version}/rust";
} else null;
cargoRoot = if rustSupport then "rust" else null;
@ -91,7 +91,7 @@ let
homepage = "https://www.mercurial-scm.org";
downloadPage = "https://www.mercurial-scm.org/release/";
license = licenses.gpl2Plus;
maintainers = with maintainers; [ eelco lukegb pacien ];
maintainers = with maintainers; [ eelco lukegb pacien techknowlogick ];
platforms = platforms.unix;
};
};

View file

@ -30,6 +30,10 @@ mkDerivation rec {
./ffmpeg-out-of-box.patch
];
# Workaround build failure on -fno-common toolchains:
# ld: alsa_device.o:(.bss+0x8): multiple definition of `rc'; QvkAlsaDevice.o:(.bss+0x8): first defined here
NIX_CFLAGS_COMPILE = "-fcommon";
preConfigure = ''
sed -i 's/lrelease-qt5/lrelease/g' vokoscreen.pro
'';

View file

@ -9,6 +9,11 @@ stdenv.mkDerivation rec {
sha256 = "1zkgnj2sfvckix360wwk1v5s43g69snm45m0drnzyv7hgf5g7q1q";
};
# Workaround build failure on -fno-common toolchains:
# ld: char-coding.o:/build/w_scan-20170107/si_types.h:117: multiple definition of
# `service_t'; countries.o:/build/w_scan-20170107/si_types.h:117: first defined here
NIX_CFLAGS_COMPILE = "-fcommon";
meta = {
description = "Small CLI utility to scan DVB and ATSC transmissions";
homepage = "http://wirbel.htpc-forum.de/w_scan/index_en.html";

View file

@ -2,19 +2,19 @@
rustPlatform.buildRustPackage rec {
pname = "cloud-hypervisor";
version = "23.1";
version = "24.0";
src = fetchFromGitHub {
owner = "cloud-hypervisor";
repo = pname;
rev = "v${version}";
sha256 = "sha256-Pyocmj5cr2vOfeyRG3mBU11I3iXndUh3VifRSlnjoE8=";
sha256 = "sha256-0QZmIqcBt2qBysosa55nAT7M+hTRX9Q4Z0qtLxK0IWg=";
};
nativeBuildInputs = [ pkg-config ];
buildInputs = [ openssl ] ++ lib.optional stdenv.isAarch64 dtc;
cargoSha256 = "1rx4d38d0ajdq3qs638gmagmj3f9j29i5mhrrzw039mggahjbksw";
cargoSha256 = "sha256-L6K5SxkmQo+8UpvvWtWG1ZuGivR5+o7FDt0eYa/tXgI=";
OPENSSL_NO_VENDOR = true;

View file

@ -106,7 +106,6 @@ rec {
xorg.libXi
xorg.libSM
xorg.libICE
gnome2.GConf
freetype
curlWithGnuTls
nspr

View file

@ -1,5 +1,5 @@
diff --git a/hddtempUtil.js b/hddtempUtil.js
index e5d1d6d..856654b 100644
index e5d1d6d..23f6289 100644
--- a/hddtempUtil.js
+++ b/hddtempUtil.js
@@ -7,7 +7,7 @@ var HddtempUtil = class extends CommandLineUtil.CommandLineUtil {
@ -7,7 +7,7 @@ index e5d1d6d..856654b 100644
constructor() {
super();
- let hddtempArgv = GLib.find_program_in_path('hddtemp');
+ let hddtempArgv = GLib.find_program_in_path('@hddtemp@/bin/hddtemp');
+ let hddtempArgv = '@hddtemp@/bin/hddtemp';
if(hddtempArgv) {
// check if this user can run hddtemp directly.
if(!GLib.spawn_command_line_sync(hddtempArgv)[3]){
@ -17,8 +17,8 @@ index e5d1d6d..856654b 100644
let systemctl = GLib.find_program_in_path('systemctl');
- let pidof = GLib.find_program_in_path('pidof');
- let nc = GLib.find_program_in_path('nc');
+ let pidof = GLib.find_program_in_path('@procps@/bin/pidof');
+ let nc = GLib.find_program_in_path('@netcat@/bin/nc');
+ let pidof = '@procps@/bin/pidof';
+ let nc = '@netcat@/bin/nc';
let pid = undefined;
if(systemctl) {
@ -32,7 +32,7 @@ index e5d1d6d..856654b 100644
pid = Number(output.trim());
}
diff --git a/liquidctlUtil.js b/liquidctlUtil.js
index 766bf62..7cd4e94 100644
index 766bf62..2a6faf8 100644
--- a/liquidctlUtil.js
+++ b/liquidctlUtil.js
@@ -8,7 +8,7 @@ const commandLineUtil = Me.imports.commandLineUtil;
@ -40,12 +40,12 @@ index 766bf62..7cd4e94 100644
constructor() {
super();
- const path = GLib.find_program_in_path('liquidctl');
+ const path = GLib.find_program_in_path('@liquidctl@/bin/liquidctl');
+ const path = '@liquidctl@/bin/liquidctl';
this._argv = path ? [path, 'status', '--json'] : null;
}
diff --git a/nvmecliUtil.js b/nvmecliUtil.js
index ae2ea93..2349b9e 100644
index 98a61df..8a40624 100644
--- a/nvmecliUtil.js
+++ b/nvmecliUtil.js
@@ -3,7 +3,7 @@ const GLib = imports.gi.GLib;
@ -53,12 +53,12 @@ index ae2ea93..2349b9e 100644
function getNvmeData (argv){
- const nvme = GLib.find_program_in_path('nvme')
+ const nvme = GLib.find_program_in_path('@nvmecli@/bin/nvme')
+ const nvme = '@nvmecli@/bin/nvme'
return JSON.parse(GLib.spawn_command_line_sync(`${nvme} ${argv} -o json`)[1].toString())
}
diff --git a/sensorsUtil.js b/sensorsUtil.js
index 62fa580..c017748 100644
index bd6de61..5951b17 100644
--- a/sensorsUtil.js
+++ b/sensorsUtil.js
@@ -7,7 +7,7 @@ var SensorsUtil = class extends CommandLineUtil.CommandLineUtil {
@ -66,12 +66,12 @@ index 62fa580..c017748 100644
constructor() {
super();
- let path = GLib.find_program_in_path('sensors');
+ let path = GLib.find_program_in_path('@lm_sensors@/bin/sensors');
+ let path = '@lm_sensors@/bin/sensors';
// -A: Do not show adapter -j: JSON output
this._argv = path ? [path, '-A', '-j'] : null;
}
diff --git a/smartctlUtil.js b/smartctlUtil.js
index 03d469b..6057a3b 100644
index 4888323..66b6c61 100644
--- a/smartctlUtil.js
+++ b/smartctlUtil.js
@@ -3,7 +3,7 @@ const GLib = imports.gi.GLib;
@ -79,7 +79,7 @@ index 03d469b..6057a3b 100644
const ByteArray = imports.byteArray;
function getSmartData (argv){
- const smartctl = GLib.find_program_in_path('smartctl')
+ const smartctl = GLib.find_program_in_path('@smartmontools@/bin/smartctl')
return JSON.parse(ByteArray.toString( GLib.spawn_command_line_sync(`${smartctl} ${argv} -j`)[1] ))
+ const smartctl = '@smartmontools@/bin/smartctl'
return JSON.parse(ByteArray.toString( GLib.spawn_command_line_sync(`'${smartctl}' ${argv} -j`)[1] ))
}

File diff suppressed because one or more lines are too long

View file

@ -21,6 +21,12 @@ stdenv.mkDerivation rec {
sha256 = "sha256:07g9q9sjk4xsbqix7jxggfp36v15pmqw4bms80g5car0hfbszirn";
})];
# Workaround build failure on -fno-common toolchains like upstream
# gcc-10. Otherwise build fails as:
# ld: libcamlrun.a(startup.o):(.bss+0x800): multiple definition of
# `caml_code_fragments_table'; libcamlrun.a(backtrace.o):(.bss+0x20): first defined here
NIX_CFLAGS_COMPILE = "-fcommon";
prefixKey = "-prefix ";
configureFlags = [ "-no-tk" ] ++ optionals useX11 [ "-x11lib" xlibsWrapper ];
buildFlags = [ "world" ] ++ optionals useNativeCompilers [ "bootstrap" "world.opt" ];

View file

@ -10,4 +10,10 @@ import ./generic.nix {
sha256 = "sha256:08mpy7lsiwv8m5qrqc4xzyiv2hri5713gz2qs1nfz02hz1bd79mc"; }
];
sha256 = "03d7ida94s1gpr3gadf4jyhmh5rrszd5s4m4z59daaib25rvfyv7";
# Workaround build failure on -fno-common toolchains like upstream
# gcc-10. Otherwise build fails as:
# ld: libcamlrun.a(startup.o):(.bss+0x800): multiple definition of
# `caml_code_fragments_table'; libcamlrun.a(backtrace.o):(.bss+0x20): first defined here
NIX_CFLAGS_COMPILE = "-fcommon";
}

View file

@ -10,4 +10,10 @@ import ./generic.nix {
sha256 = "sha256:12sw512kpwk0xf2g6j0h5vqgd8xcmgrvgyilx6fxbd6bnfv1yib9"; }
];
sha256 = "1qwwvy8nzd87hk8rd9sm667nppakiapnx4ypdwcrlnav2dz6kil3";
# Workaround build failure on -fno-common toolchains like upstream
# gcc-10. Otherwise build fails as:
# ld: libcamlrun.a(startup.o):(.bss+0x800): multiple definition of
# `caml_code_fragments_table'; libcamlrun.a(backtrace.o):(.bss+0x20): first defined here
NIX_CFLAGS_COMPILE = "-fcommon";
}

View file

@ -9,4 +9,10 @@ import ./generic.nix {
{ url = "https://github.com/ocaml/ocaml/commit/a8b2cc3b40f5269ce8525164ec2a63b35722b22b.patch";
sha256 = "sha256:1rrknmrk86xrj2k3hznnjk1gwnliyqh125zabg1hvy6dlvml9b0x"; }
];
# Workaround build failure on -fno-common toolchains like upstream
# gcc-10. Otherwise build fails as:
# ld: libcamlrun.a(startup.o):(.bss+0x800): multiple definition of
# `caml_code_fragments_table'; libcamlrun.a(backtrace.o):(.bss+0x20): first defined here
NIX_CFLAGS_COMPILE = "-fcommon";
}

View file

@ -12,4 +12,10 @@ import ./generic.nix {
{ url = "https://github.com/ocaml/ocaml/commit/6bcff7e6ce1a43e088469278eb3a9341e6a2ca5b.patch";
sha256 = "sha256:1hd45f7mwwrrym2y4dbcwklpv0g94avbz7qrn81l7w8mrrj3bngi"; }
];
# Workaround build failure on -fno-common toolchains like upstream
# gcc-10. Otherwise build fails as:
# ld: libcamlrun.a(startup.o):(.bss+0x800): multiple definition of
# `caml_code_fragments_table'; libcamlrun.a(backtrace.o):(.bss+0x20): first defined here
NIX_CFLAGS_COMPILE = "-fcommon";
}

View file

@ -12,4 +12,10 @@ import ./generic.nix {
{ url = "https://github.com/ocaml/ocaml/commit/50c2d1275e537906ea144bd557fde31e0bf16e5f.patch";
sha256 = "sha256:0ck9b2dpgg5k2p9ndbgniql24h35pn1bbpxjvk69j715lswzy4mh"; }
];
# Workaround build failure on -fno-common toolchains like upstream
# gcc-10. Otherwise build fails as:
# ld: libcamlrun.a(startup.o):(.bss+0x800): multiple definition of
# `caml_code_fragments_table'; libcamlrun.a(backtrace.o):(.bss+0x20): first defined here
NIX_CFLAGS_COMPILE = "-fcommon";
}

View file

@ -12,4 +12,10 @@ import ./generic.nix {
{ url = "https://github.com/ocaml/ocaml/commit/137a4ad167f25fe1bee792977ed89f30d19bcd74.patch";
sha256 = "sha256:0izsf6rm3677vbbx0snkmn9pkfcsayrdwz3ipiml5wjiaysnchjz"; }
];
# Workaround build failure on -fno-common toolchains like upstream
# gcc-10. Otherwise build fails as:
# ld: libcamlrun.a(startup.o):(.bss+0x800): multiple definition of
# `caml_code_fragments_table'; libcamlrun.a(backtrace.o):(.bss+0x20): first defined here
NIX_CFLAGS_COMPILE = "-fcommon";
}

View file

@ -12,4 +12,10 @@ import ./generic.nix {
{ url = "https://github.com/ocaml/ocaml/commit/00b8c4d503732343d5d01761ad09650fe50ff3a0.patch";
sha256 = "sha256:02cfya5ff5szx0fsl5x8ax76jyrla9zmf3qxavf3adhwq5ssrfcv"; }
];
# Workaround build failure on -fno-common toolchains like upstream
# gcc-10. Otherwise build fails as:
# ld: libcamlrun.a(startup.o):(.bss+0x800): multiple definition of
# `caml_code_fragments_table'; libcamlrun.a(backtrace.o):(.bss+0x20): first defined here
NIX_CFLAGS_COMPILE = "-fcommon";
}

View file

@ -15,4 +15,10 @@ import ./generic.nix {
{ url = "https://github.com/ocaml/ocaml/commit/17df117b4939486d3285031900587afce5262c8c.patch";
sha256 = "sha256:1b3jc6sj2k23yvfwrv6nc1f4x2n2biqbhbbp74aqb6iyqyjsq35n"; }
];
# Workaround build failure on -fno-common toolchains like upstream
# gcc-10. Otherwise build fails as:
# ld: libcamlrun.a(startup.o):(.bss+0x800): multiple definition of
# `caml_code_fragments_table'; libcamlrun.a(backtrace.o):(.bss+0x20): first defined here
NIX_CFLAGS_COMPILE = "-fcommon";
}

View file

@ -37,7 +37,7 @@ mkCoqDerivation {
preConfigure = ''
patchShebangs util
substituteInPlace Makefile \
--replace 'COQVERSION= ' 'COQVERSION= 8.15.1 or-else '\
--replace 'COQVERSION= ' 'COQVERSION= 8.15.2 or-else 8.15.1 or-else '\
--replace 'FLOYD_FILES=' 'FLOYD_FILES= ${toString extra_floyd_files}'
'';

View file

@ -129,6 +129,11 @@ compcert.overrideAttrs (o:
url = "https://github.com/AbsInt/CompCert/commit/10a976994d7fd30d143354c289ae735d210ccc09.patch";
sha256 = "sha256:0bg58gpkgxlmxzp6sg0dvybrfk0pxnm7qd6vxlrbsbm2w6wk03jv";
})
# Support for Coq 8.15.2
(fetchpatch {
url = "https://github.com/AbsInt/CompCert/commit/283a5be7296c4c0a94d863b427c77007ab875733.patch";
sha256 = "sha256:1s7hvb5ii3p8kkcjlzwldvk8xc3iiibxi9935qjbrh25xi6qs66k";
})
];
}
] [];

View file

@ -14,6 +14,13 @@ stdenv.mkDerivation {
sourceRoot = ".";
# Workaround build failure on -fno-common toolchains like upstream
# gcc-10. Otherwise build fails as:
# ld: ../common/ipp.o:(.bss+0x0): multiple definition of `lpath'; tglobals.o:(.bss+0x30): first defined here
# TODO: remove the workaround once upstream releases version past:
# https://sourceforge.net/p/unicon/unicon/ci/b1a65230233f3825d055aee913b4fdcf178a0eaf/
NIX_CFLAGS_COMPILE = "-fcommon";
configurePhase = ''
case "$(uname -a | sed 's/ /_/g')" in
Darwin*Version_9*i386) sys=intel_macos;;

View file

@ -32,6 +32,11 @@
nativeBuildInputs = [ jdk8 ant git ];
buildInputs = [ udev xorg.libX11 xorg.libXrandr xorg.libXcursor xorg.libXt xorg.libXxf86vm xorg.libXrender ];
# Workaround build failure on -fno-common toolchains:
# ld: ../obj/Bindingtest1p1Impl_JNI.o:(.bss+0x8): multiple definition of
# `unsigned_size_t_1'; ../obj/TK_Surface_JNI.o:(.bss+0x8): first defined here
NIX_CFLAGS_COMPILE = "-fcommon";
buildPhase = ''
cp -r ${gluegen-src} $NIX_BUILD_TOP/gluegen
chmod -R +w $NIX_BUILD_TOP/gluegen

View file

@ -1,28 +0,0 @@
{ lib, stdenv, fetchurl, cmake, openssl, pcsclite, opensc, libxml2, Security }:
stdenv.mkDerivation rec {
version = "3.10.5";
pname = "libdigidoc";
src = fetchurl {
url = "https://github.com/open-eid/libdigidoc/releases/download/v${version}/libdigidoc-${version}.tar.gz";
sha256 = "0nw36a4i6rcq7z6jqz5h2ln9hmmsfhw65jga3rymlswk2k7bndgn";
};
nativeBuildInputs = [ cmake ];
buildInputs = [ openssl pcsclite opensc libxml2 ]
++ lib.optionals stdenv.isDarwin [ Security ];
cmakeFlags = lib.optionals stdenv.isDarwin [ "-DFRAMEWORK=OFF" ];
meta = with lib; {
description = "Library for creating DigiDoc signature files";
homepage = "https://github.com/open-eid/libdigidoc";
license = licenses.lgpl2;
maintainers = [ maintainers.jagajaga ];
mainProgram = "cdigidoc";
platforms = platforms.unix;
};
}

View file

@ -1,4 +1,4 @@
{ lib, stdenv, fetchurl, cmake, makeWrapper, minizip, pcsclite, opensc, openssl
{ lib, stdenv, fetchurl, fetchpatch, cmake, makeWrapper, minizip, pcsclite, opensc, openssl
, xercesc, xml-security-c, pkg-config, xsd, zlib, xalanc, xxd }:
stdenv.mkDerivation rec {
@ -10,6 +10,18 @@ stdenv.mkDerivation rec {
sha256 = "sha256-U5i5IAyJF4359q6M6mQemEuG7+inPYIXqLy8GHv4dkg=";
};
patches = [
(fetchpatch {
# fix runtime crashes when signing with OpenSSL>1.1.1l
# https://github.com/open-eid/libdigidocpp/issues/474 asks for a new release
url = "https://github.com/open-eid/libdigidocpp/commit/42a8cfd834c10bdd206fe784a13217df222b1c8e.patch";
sha256 = "sha256-o3ZT0dXhIu79C5ZR+2HPdLMZ3YwPG1v3vly5bseuxtU=";
excludes = [
".github/workflows/build.yml" # failed hunk
];
})
];
nativeBuildInputs = [ cmake makeWrapper pkg-config xxd ];
buildInputs = [
@ -17,10 +29,12 @@ stdenv.mkDerivation rec {
xml-security-c xsd zlib xalanc
];
outputs = [ "out" "lib" "dev" "bin" ];
# replace this hack with a proper cmake variable or environment variable
# once https://github.com/open-eid/cmake/pull/34 (or #35) gets merged.
postInstall = ''
wrapProgram $out/bin/digidoc-tool \
wrapProgram $bin/bin/digidoc-tool \
--prefix LD_LIBRARY_PATH : ${opensc}/lib/pkcs11/
'';

View file

@ -7,6 +7,14 @@ stdenv.mkDerivation {
url = "mirror://sourceforge/libipfix/files/libipfix/libipfix_110209.tgz";
sha256 = "0h7v0sxjjdc41hl5vq2x0yhyn04bczl11bqm97825mivrvfymhn6";
};
# Workaround build failure on -fno-common toolchains:
# ld: ../libmisc/libmisc.a(mlog.o):/build/libipfix_110209/libmisc/misc.h:111: multiple definition of
# `ht_globals'; collector.o:/build/libipfix_110209/collector/../libmisc/misc.h:111: first defined here
# TODO: drop the workaround when fix ix released:
# https://sourceforge.net/p/libipfix/code/ci/a501612c6b8ac6f2df16b366f7a92211382bae6b/
NIX_CFLAGS_COMPILE = "-fcommon";
meta = with lib; {
homepage = "http://libipfix.sourceforge.net/";
description = "The libipfix C-library implements the IPFIX protocol defined by the IP Flow Information Export working group of the IETF";

View file

@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
version = "1.0.2";
src = fetchFromGitHub {
owner = "01org";
owner = "intel";
repo = "intel-hybrid-driver";
rev = version;
sha256 = "sha256-uYX7RoU1XVzcC2ea3z/VBjmT47xmzK67Y4LaiFXyJZ8=";
@ -25,6 +25,9 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
# Workaround build failure on -fno-common toolchains like upstream gcc-10.
NIX_CFLAGS_COMPILE = "-fcommon";
configureFlags = [
"--enable-drm"
"--enable-x11"

View file

@ -29,6 +29,11 @@ stdenv.mkDerivation rec {
buildInputs = [ libusb-compat-0_1 ];
# Workaround build failure on -fno-common toolchains:
# ld: src/host/usb-linux.c:82: multiple definition of `t_recovery_queue';
# src/host/recovery.c:45: first defined here
NIX_CFLAGS_COMPILE = "-fcommon";
cmakeFlags = [ "-DWEBOS_TARGET_MACHINE_IMPL=host" ];
meta = with lib; {

View file

@ -11,6 +11,11 @@ stdenv.mkDerivation rec {
sha256 = "1qw9vbk463fpnvvvfgzxmn9add2p30k832s09mlycr7z1hrh3wyf";
};
# Workaround build failure on -fno-common toolchains:
# ld: ../ipsw-patch/libxpwn.a(libxpwn.c.o):(.bss+0x4): multiple definition of
# `endianness'; CMakeFiles/xpwn-bin.dir/src/xpwn.cpp.o:(.bss+0x0): first defined here
NIX_CFLAGS_COMPILE = "-fcommon";
preConfigure = ''
rm BUILD # otherwise `mkdir build` fails on case insensitive file systems
sed -r -i \

View file

@ -40,6 +40,12 @@ stdenv.mkDerivation rec {
cd build/
'';
# -fcommon is a workaround build failure on -fno-common toolchains like upstream
# gcc-10. Otherwise build fails as:
# ld: CMakeFiles/pharo.dir/build/pharo-vm-2016.02.18/src/vm/gcc3x-cointerp.c.o:(.bss+0x88): multiple definition of
# `sendTrace'; CMakeFiles/pharo.dir/build/pharo-vm-2016.02.18/src/vm/cogit.c.o:(.bss+0x84): first defined here
NIX_CFLAGS_COMPILE = "-fcommon";
installPhase = ''
mkdir -p "$prefix/lib/$name"

View file

@ -85,6 +85,13 @@ stdenv.mkDerivation rec {
configureFlags = [ "--without-npsqueak"
"--with-vmversion=5.0"
"--with-src=${vm}" ];
# -fcommon is a workaround build failure on -fno-common toolchains like upstream
# gcc-10. Otherwise build fails as:
# ld: vm/vm.a(cogit.o):/build/source/spur64src/vm/cointerp.h:358: multiple definition of `checkAllocFiller';
# vm/vm.a(gcc3x-cointerp.o):/build/source/spur64src/vm/cointerp.h:358: first defined here
NIX_CFLAGS_COMPILE = "-fcommon";
CFLAGS = "-DPharoVM -DIMMUTABILITY=1 -msse2 -D_GNU_SOURCE -DCOGMTVM=0 -g -O2 -DNDEBUG -DDEBUGVM=0";
LDFLAGS = "-Wl,-z,now";

View file

@ -7,7 +7,7 @@
buildPythonPackage rec {
pname = "adafruit-platformdetect";
version = "3.24.0";
version = "3.24.1";
format = "setuptools";
disabled = pythonOlder "3.7";
@ -15,7 +15,7 @@ buildPythonPackage rec {
src = fetchPypi {
pname = "Adafruit-PlatformDetect";
inherit version;
hash = "sha256-XeaRtdw23mNJ+kgSthGRhq4PCGAwTjpjVyNlNRshoQg=";
hash = "sha256-srM5VX0QXZMLmYmqKttcB8W8oMlGz64e6dQh04OQq8Q=";
};
nativeBuildInputs = [

View file

@ -0,0 +1,57 @@
{ lib
, aiosmtpd
, buildPythonPackage
, fetchFromGitHub
, fetchpatch
, hypothesis
, poetry-core
, pytest-asyncio
, pytestCheckHook
, pythonOlder
}:
buildPythonPackage rec {
pname = "aiosmtplib";
version = "1.1.6";
format = "pyproject";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "cole";
repo = pname;
rev = "v${version}";
hash = "sha256-bo+u3I+ZX95UYkEam2TB6d6rvbYKa5Qu/9oNX5le478=";
};
nativeBuildInputs = [
poetry-core
];
checkInputs = [
aiosmtpd
hypothesis
pytest-asyncio
pytestCheckHook
];
patches = [
# Switch to poetry-core, https://github.com/cole/aiosmtplib/pull/183
(fetchpatch {
name = "switch-to-poetry-core.patch";
url = "https://github.com/cole/aiosmtplib/commit/3aba1c132d9454e05d4281f4c8aa618b4e1b783d.patch";
hash = "sha256-KlA46gD6swfJ/3OLO3xWZWa66Gx1/izmUMQ60PQy0po=";
})
];
pythonImportsCheck = [
"aiosmtplib"
];
meta = with lib; {
description = "Module which provides a SMTP client";
homepage = "https://github.com/cole/aiosmtplib";
license = with licenses; [ mit ];
maintainers = with maintainers; [ fab ];
};
}

View file

@ -20,14 +20,14 @@
buildPythonPackage rec {
pname = "apprise";
version = "0.9.8.3";
version = "0.9.9";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-24OYAjbnzer0KyTRx7Kty8HVsHdon+l4UazcWMIm428=";
hash = "sha256-a6PQ6DB+JkfDJA7BoNVXHzpFP5FD2Ug07LAmYLDo0kQ=";
};
nativeBuildInputs = [

View file

@ -2,13 +2,13 @@
buildPythonPackage rec {
pname = "autopage";
version = "0.5.0";
version = "0.5.1";
format = "pyproject";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-UwW0PMB5gXDXEk5aL+7Plp5F9KC691yzUROBFOr3a4M=";
sha256 = "sha256-Ab4+5hu3FOkJD8xcEPTPVGw5YzHGIMauUKIyGyjtMZk=";
};
pythonImportsCheck = [ "autopage" ];

View file

@ -18,7 +18,7 @@
buildPythonPackage rec {
pname = "aws-adfs";
version = "2.0.3";
version = "2.0.5";
format = "pyproject";
disabled = pythonOlder "3.6";
@ -27,7 +27,7 @@ buildPythonPackage rec {
owner = "venth";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-/cOJ8k8YuwTGEXrNuPFAYvDyDKERMJf3o3nRkDLkrJE=";
hash = "sha256-OBxKJN14CuWSq88KxSttpK/Paj2sBHrBVMyP+oPkHys=";
};
nativeBuildInputs = [

View file

@ -13,7 +13,7 @@
buildPythonPackage rec {
pname = "bimmer-connected";
version = "0.9.3";
version = "0.9.4";
format = "setuptools";
disabled = pythonOlder "3.6";
@ -21,8 +21,8 @@ buildPythonPackage rec {
src = fetchFromGitHub {
owner = "bimmerconnected";
repo = "bimmer_connected";
rev = version;
hash = "sha256-ylhvUX5af248KIT54SIe26WP8tysqjZd2y/+Fi+VqHM=";
rev = "refs/tags/${version}";
hash = "sha256-+K+RffQzbJiKld0AM41OlK0ma0aopJRaTz+ZcCcYzJk=";
};
nativeBuildInputs = [

View file

@ -18,7 +18,7 @@ buildPythonPackage rec {
owner = "xolox";
repo = "python-coloredlogs";
rev = version;
sha256 = "sha256-C1Eo+XrrL3bwhT49KyOE6xjbAHJxn9Qy4s1RR5ERVtA=";
hash = "sha256-TodI2Wh8M0qMM2K5jzqlLmUKILa5+5qq4ByLttmAA7E=";
};
propagatedBuildInputs = [

View file

@ -7,7 +7,7 @@ index 05b5732..91fafee 100644
lib_path = settings.GDAL_LIBRARY_PATH
except (AttributeError, ImportError, ImproperlyConfigured, OSError):
- lib_path = None
+ lib_path = ""@gdal@/lib/libgdal@extension@"
+ lib_path = "@gdal@/lib/libgdal@extension@"
if lib_path:
lib_names = None

View file

@ -16,14 +16,14 @@
buildPythonPackage rec {
pname = "faraday-plugins";
version = "1.6.6";
version = "1.6.7";
format = "setuptools";
src = fetchFromGitHub {
owner = "infobyte";
repo = "faraday_plugins";
rev = "refs/tags/v${version}";
sha256 = "sha256-clhWUKpX4q3aXq7HrrGPda+qjPD/GuPS7PRZ7c4xxxI=";
sha256 = "sha256-sLY10lm9buhE2iJ81R5cItgVmnJA016Su+QEbW1/5DE=";
};
propagatedBuildInputs = [

View file

@ -0,0 +1,72 @@
{ lib
, aioredis
, aiosmtplib
, blinker
, buildPythonPackage
, email_validator
, fakeredis
, fastapi
, fetchFromGitHub
, httpx
, jinja2
, poetry-core
, pydantic
, pytest-asyncio
, pytestCheckHook
, python-multipart
, pythonOlder
}:
buildPythonPackage rec {
pname = "fastapi-mail";
version = "1.0.8";
format = "pyproject";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "sabuhish";
repo = pname;
rev = version;
hash = "sha256-PkA7qkdDUd7mrtvb6IbCzFRq6X0M3iKY+FKuNConJ5A=";
};
nativeBuildInputs = [
poetry-core
];
propagatedBuildInputs = [
aioredis
aiosmtplib
blinker
email_validator
fakeredis
fastapi
httpx
jinja2
pydantic
python-multipart
];
checkInputs = [
pytest-asyncio
pytestCheckHook
];
disabledTests = [
# Tests require access to /etc/resolv.conf
"test_default_checker"
"test_redis_checker"
];
pythonImportsCheck = [
"fastapi_mail"
];
meta = with lib; {
description = "Module for sending emails and attachments";
homepage = "https://github.com/sabuhish/fastapi-mail";
license = with licenses; [ mit ];
maintainers = with maintainers; [ fab ];
};
}

View file

@ -18,18 +18,13 @@
buildPythonPackage rec {
pname = "google-auth";
version = "2.6.2";
version = "2.6.6";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-YNRJ+BQsdC23YPTAvjkSG8jZvoVVVdeEwlLerKHO0/U=";
sha256 = "sha256-G6STjgMrc961HlnEZWoA4JOc8LERJXUJnxNrq7RWMxI=";
};
postPatch = ''
substituteInPlace setup.py \
--replace "cachetools>=2.0.0,<5.0" "cachetools"
'';
propagatedBuildInputs = [
cachetools
pyasn1-modules

View file

@ -7,14 +7,14 @@
}:
buildPythonPackage rec {
version = "1.0.1";
version = "1.0.2";
pname = "gpsoauth";
disabled = pythonOlder "3.8";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-wxLyvrNwT3QQHGLCxaIFdRG7OJpECMpynE+lgAGtFk0=";
sha256 = "sha256-68rnLrMlp/BsvqlbnV5kvsJTcDEtsV6OLkbE1U5ynno=";
};
propagatedBuildInputs = [ pycryptodomex requests ];

View file

@ -23,12 +23,12 @@
buildPythonPackage rec {
pname = "gradient";
version = "2.0.3";
version = "2.0.4";
format = "setuptools";
src = fetchPypi {
inherit pname version;
hash = "sha256-NEbXLhQC72UP5+crUzkgqMTd3rvipXO7bGlGAWUDoP4=";
hash = "sha256-s80e15u2j7t/FVKcaKGTloN3dwfJuF7XgqIj4XpKHYU=";
};
postPatch = ''

View file

@ -7,14 +7,14 @@
buildPythonPackage rec {
pname = "hijri-converter";
version = "2.2.3";
version = "2.2.4";
format = "setuptools";
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-5xSc7OzKZHv0Bonsib9ZPHJSsx1pnqWHrQvOkbpC04I=";
hash = "sha256-nh2fpMIg9oZ9oquxqWJAZ1rpdKu6lRxoangfTvasIY8=";
};
checkInputs = [

View file

@ -2,11 +2,9 @@
, fetchPypi
, pytest
, tqdm
, pyyaml
, docopt
, requests
, jsonpatch
, args
, schema
, responses
, lib
@ -18,24 +16,22 @@
buildPythonPackage rec {
pname = "internetarchive";
version = "3.0.0";
version = "3.0.1";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-fRcqsT8p/tqXUpU2/9lAEF1IT8Cy5KK0+jKaeVwZshI=";
sha256 = "sha256-0DcX2w2omPdOmBD6WpG2Li1ERPSI0i9qOINdO/kVrUI=";
};
propagatedBuildInputs = [
tqdm
pyyaml
docopt
requests
jsonpatch
args
schema
setuptools
setuptools # needs pkg_resources at runtime
urllib3
];

View file

@ -13,16 +13,16 @@
buildPythonApplication rec {
pname = "mkdocs-material";
version = "8.2.16";
version = "8.3.0";
format = "setuptools";
disabled = pythonOlder "3.6";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "squidfunk";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-ZRk1PGLUg3StD7JhuI+3hRc4lWwEO3CrMUfLSqFVgVk=";
hash = "sha256-0N/IZ5fSK7xefwkROoG/udP3qTGJSQKbe+wcRiU752M=";
};
propagatedBuildInputs = [

View file

@ -7,7 +7,7 @@
buildPythonPackage rec {
pname = "neo4j-driver";
version = "4.4.3";
version = "4.4.4";
format = "setuptools";
disabled = pythonOlder "3.7";
@ -16,7 +16,7 @@ buildPythonPackage rec {
owner = "neo4j";
repo = "neo4j-python-driver";
rev = version;
sha256 = "sha256-YApj4EA0e3Q9V+ujnJC7/eSS0DybnZH22LnnSla/mw4=";
sha256 = "sha256-Sd+ZeyJCzqGsBl3rdxfKPD0gYZ49qAfiRbuXaNGpj8M=";
};
propagatedBuildInputs = [

View file

@ -1,33 +1,21 @@
{ lib
, fetchPypi
, fetchpatch
, buildPythonPackage
, flake8
, flake8-polyfill
, python
}:
buildPythonPackage rec {
pname = "pep8-naming";
version = "0.12.1";
version = "0.13.0";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-uyRVlHdX0WKqTK1V26TOApAFzRaS8omaIdUdhjDKeEE=";
sha256 = "sha256-nzjm3Phnoft61H9f9ywN2uVEps9k6592ALezwLtZgLU=";
};
propagatedBuildInputs = [
flake8
flake8-polyfill
];
patches = [
# Add missing option to get passing tests, https://github.com/PyCQA/pep8-naming/pull/181
(fetchpatch {
name = "add-missing-option.patch";
url = "https://github.com/PyCQA/pep8-naming/commit/03b8f36f6a8bb8bc79dfa5a71ad9be2a0bf8bbf5.patch";
sha256 = "1YTh84Yoj0MqFZoifM362563r1GuzaF+mMmdT/ckC7I=";
})
];
checkPhase = ''

View file

@ -8,11 +8,11 @@
buildPythonPackage rec {
pname = "pycoin";
version = "0.92.20220213";
version = "0.92.20220529";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-qb2jtb/bHJSmtnQbYTFgCgBY0OCsrxsWJ7SJFeEDytc=";
sha256 = "sha256-PQOWR1teLZ2npQV+q3K+DgiFBejkRoB4gQYjaHLFQqI=";
};
propagatedBuildInputs = [ setuptools ];

View file

@ -11,12 +11,12 @@
buildPythonPackage rec {
pname = "pyfaidx";
version = "0.6.4";
version = "0.7.0";
format = "setuptools";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-e6O9yx30unSfdmWzTmoFKqToQkBqDflebfRxfMEj85I=";
sha256 = "sha256-mtXMk4Hw3pxD1L3sD68Qa4KM37b4FQ7HHKssp8i+53A=";
};
nativeBuildInputs = [

View file

@ -14,7 +14,7 @@
buildPythonPackage rec {
pname = "pyhiveapi";
version = "0.5.4";
version = "0.5.5";
format = "pyproject";
@ -24,7 +24,7 @@ buildPythonPackage rec {
owner = "Pyhass";
repo = "Pyhiveapi";
rev = "v${version}";
hash = "sha256-H/FxFv+1dOeJqnLZ0urDJfysYZHybeTJdQkjAFghTeI=";
hash = "sha256-tihIgEjtsAmSjQZMWNaUynrDwZsiM5P3EvgxUhsSEv0=";
};
postPatch = ''

View file

@ -13,7 +13,6 @@
, tomli
, typing-extensions
, GitPython
, pytest-benchmark
, pytest-timeout
, pytest-xdist
, pytestCheckHook
@ -58,7 +57,6 @@ buildPythonPackage rec {
checkInputs = [
GitPython
# https://github.com/PyCQA/pylint/blob/main/requirements_test_min.txt
pytest-benchmark
pytest-timeout
pytest-xdist
pytestCheckHook
@ -74,6 +72,7 @@ buildPythonPackage rec {
'';
disabledTestPaths = [
"tests/benchmark"
# tests miss multiple input files
# FileNotFoundError: [Errno 2] No such file or directory
"tests/pyreverse/test_writer.py"

View file

@ -7,7 +7,7 @@
buildPythonPackage rec {
pname = "pynetgear";
version = "0.10.3";
version = "0.10.4";
format = "setuptools";
disabled = pythonOlder "3.7";
@ -16,7 +16,7 @@ buildPythonPackage rec {
owner = "MatMaul";
repo = pname;
rev = "refs/tags/${version}";
sha256 = "sha256-CuKV4a3f5FlkDRAOv6H7k5oGTiT8rRhE+NosKpvZj6g=";
sha256 = "sha256-+Tv7i3iUr8HySTHPR4iNO6ycUnpNazKJkp3mXSflu54=";
};
propagatedBuildInputs = [

View file

@ -8,7 +8,7 @@
buildPythonPackage rec {
pname = "pypoolstation";
version = "0.4.4";
version = "0.4.5";
format = "pyproject";
disabled = pythonOlder "3.7";
@ -16,7 +16,7 @@ buildPythonPackage rec {
src = fetchPypi {
pname = "PyPoolstation";
inherit version;
sha256 = "sha256-MG2V7/AqgH4OVcOEDdhwQswt96URJBQtoi1i+n4IV7Y=";
sha256 = "sha256-cf2KUdvsuC7fplg7O9Jqqb86rOjNicV+vGVBwWvvs90=";
};
nativeBuildInputs = [

View file

@ -12,7 +12,7 @@
buildPythonPackage rec {
pname = "pyrogram";
version = "2.0.25";
version = "2.0.26";
disabled = pythonOlder "3.7";
@ -20,7 +20,7 @@ buildPythonPackage rec {
owner = "pyrogram";
repo = "pyrogram";
rev = "v${version}";
hash = "sha256-DOSZgi+y4gm7VZr50/linJHNdNWIKhdm/tuv2iXdviA=";
hash = "sha256-R6EPraYusA3WVW9AGHpf6JkaX3dJ/ioL0lXgH0J3Kg8=";
};
propagatedBuildInputs = [

View file

@ -14,15 +14,15 @@
buildPythonPackage rec {
pname = "pytorch-lightning";
version = "1.6.3";
version = "1.6.4";
disabled = isPy27;
src = fetchFromGitHub {
owner = "PyTorchLightning";
repo = pname;
rev = version;
hash = "sha256-MEUFrj84y5lQfwbC9s9fJNOKo+Djeh+E/eDc8KeX7V4=";
rev = "refs/tags/${version}";
hash = "sha256-X1xPyE53uo/eWPjQdXiObAnjgWc/Y/K+077Ypi5ZzcE=";
};
propagatedBuildInputs = [

View file

@ -12,7 +12,7 @@
buildPythonPackage rec {
pname = "setupmeta";
version = "3.3.1";
version = "3.3.2";
format = "setuptools";
disabled = pythonOlder "3.6";
@ -21,7 +21,7 @@ buildPythonPackage rec {
owner = "codrsquad";
repo = pname;
rev = "v${version}";
sha256 = "sha256-3QUI3AjouuGa9sWXH97GSvpimVsws3q5Xgq6lls/wBU=";
sha256 = "sha256-kX7S5NSqO1LDRkfBHaNfTjzW+l0Pd+5KvQHiNF3eH/M=";
};
preBuild = ''

View file

@ -13,14 +13,14 @@
buildPythonPackage rec {
pname = "spacy-transformers";
version = "1.1.5";
version = "1.1.6";
format = "setuptools";
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
hash = "sha256-nxbmnFyHptbe5M7rQi2ECGoBpxUuutdCtY20eHsGDPI=";
hash = "sha256-egWhcrfR8B6l7ji0KOzuMz18YZepNb/ZQz5S0REo9Hc=";
};
propagatedBuildInputs = [

View file

@ -1,7 +1,19 @@
{ lib, fetchPypi, buildPythonPackage
, six, sqlalchemy
, mock, pytz, isort, flake8, jinja2, pg8000, pyodbc, pytest, pymysql, python-dateutil
, docutils, flexmock, psycopg2, pygments }:
{ lib
, buildPythonPackage
, fetchPypi
, six
, sqlalchemy
, colour
, flexmock
, jinja2
, mock
, pg8000
, phonenumbers
, pygments
, pymysql
, pytestCheckHook
, python-dateutil
}:
buildPythonPackage rec {
pname = "sqlalchemy-utils";
@ -13,33 +25,32 @@ buildPythonPackage rec {
sha256 = "9e01d6d3fb52d3926fcd4ea4a13f3540701b751aced0316bff78264402c2ceb4";
};
patches = [
# We don't run MySQL, MSSQL, or PostgreSQL
./skip-database-tests.patch
];
propagatedBuildInputs = [
six
sqlalchemy
];
# Attempts to access localhost and there's also no database access
doCheck = false;
checkInputs = [
mock
pytz
isort
flake8
jinja2
pg8000
pyodbc
pytest
pymysql
python-dateutil
docutils
colour
flexmock
psycopg2
jinja2
mock
pg8000
phonenumbers
pygments
pymysql
pytestCheckHook
python-dateutil
];
checkPhase = ''
pytest tests
'';
disabledTests = [
"test_literal_bind"
];
meta = with lib; {
homepage = "https://github.com/kvesteri/sqlalchemy-utils";

View file

@ -0,0 +1,98 @@
diff --git a/conftest.py b/conftest.py
index 9e146cd..8dbc9a5 100644
--- a/conftest.py
+++ b/conftest.py
@@ -61,16 +61,12 @@ def mysql_db_user():
@pytest.fixture
def postgresql_dsn(postgresql_db_user, postgresql_db_password, db_name):
- return 'postgresql://{0}:{1}@localhost/{2}'.format(
- postgresql_db_user,
- postgresql_db_password,
- db_name
- )
+ pytest.skip()
@pytest.fixture
def mysql_dsn(mysql_db_user, db_name):
- return 'mysql+pymysql://{0}@localhost/{1}'.format(mysql_db_user, db_name)
+ pytest.skip()
@pytest.fixture
@@ -108,8 +104,7 @@ def mssql_db_driver():
@pytest.fixture
def mssql_dsn(mssql_db_user, mssql_db_password, mssql_db_driver, db_name):
- return 'mssql+pyodbc://{0}:{1}@localhost/{2}?driver={3}'\
- .format(mssql_db_user, mssql_db_password, db_name, mssql_db_driver)
+ pytest.skip()
@pytest.fixture
diff --git a/tests/functions/test_database.py b/tests/functions/test_database.py
index 0ad6721..83f208d 100644
--- a/tests/functions/test_database.py
+++ b/tests/functions/test_database.py
@@ -76,28 +76,6 @@ class TestDatabasePostgres(DatabaseTest):
"TEMPLATE my_template") in str(excinfo.value)
-class TestDatabasePostgresPg8000(DatabaseTest):
-
- @pytest.fixture
- def dsn(self, postgresql_db_user, postgresql_db_password):
- return 'postgresql+pg8000://{0}:{1}@localhost/{2}'.format(
- postgresql_db_user,
- postgresql_db_password,
- 'db_to_test_create_and_drop_via_pg8000_driver'
- )
-
-
-class TestDatabasePostgresPsycoPG2CFFI(DatabaseTest):
-
- @pytest.fixture
- def dsn(self, postgresql_db_user, postgresql_db_password):
- return 'postgresql+psycopg2cffi://{0}:{1}@localhost/{2}'.format(
- postgresql_db_user,
- postgresql_db_password,
- 'db_to_test_create_and_drop_via_psycopg2cffi_driver'
- )
-
-
@pytest.mark.usefixtures('postgresql_dsn')
class TestDatabasePostgresWithQuotedName(DatabaseTest):
@@ -116,31 +94,6 @@ class TestDatabasePostgresWithQuotedName(DatabaseTest):
'TEMPLATE "my-template"') in str(excinfo.value)
-class TestDatabasePostgresCreateDatabaseCloseConnection(object):
- def test_create_database_twice(
- self,
- postgresql_db_user,
- postgresql_db_password
- ):
- dsn_list = [
- 'postgresql://{0}:{1}@localhost/db_test_sqlalchemy-util-a'.format(
- postgresql_db_user,
- postgresql_db_password
- ),
- 'postgresql://{0}:{1}@localhost/db_test_sqlalchemy-util-b'.format(
- postgresql_db_user,
- postgresql_db_password
- ),
- ]
- for dsn_item in dsn_list:
- assert not database_exists(dsn_item)
- create_database(dsn_item, template="template1")
- assert database_exists(dsn_item)
- for dsn_item in dsn_list:
- drop_database(dsn_item)
- assert not database_exists(dsn_item)
-
-
@pytest.mark.usefixtures('mssql_dsn')
class TestDatabaseMssql(DatabaseTest):

View file

@ -28,11 +28,11 @@
buildPythonApplication rec {
pname = "tempest";
version = "30.1.0";
version = "31.0.0";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-yaNw3c3d8TsSK9cXF9Lw9rKEcqx8YC6cigPURNdJy0A=";
sha256 = "sha256-g/fpVDGa2TFAzMVvC/370bStPJvhWSZ2tkbmP54nzc4=";
};
propagatedBuildInputs = [

View file

@ -30,14 +30,14 @@
buildPythonPackage rec {
pname = "thinc";
version = "8.0.16";
version = "8.0.17";
format = "setuptools";
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-S8eBpRqHiaxAKzbvLgfRdjbRKniQACdU+NcPBbto31E=";
sha256 = "sha256-BCxRiqeZo4vsIqegvyjfgM5hfrfeMrwEl5hwfAo2Fn8=";
};
postPatch = ''

View file

@ -9,7 +9,7 @@
buildPythonPackage rec {
pname = "yolink-api";
version = "0.0.5";
version = "0.0.6";
format = "setuptools";
disabled = pythonOlder "3.7";
@ -18,7 +18,7 @@ buildPythonPackage rec {
owner = "YoSmart-Inc";
repo = pname;
rev = "v${version}";
hash = "sha256-LCdPg+T6GMcE8NF32caWgC5lnaN7KOj2gZA/JHPcZKI=";
hash = "sha256-e0WeQdxQYwaklXOlyUc22NvJraY/eG6HCLsI6/+A6vg=";
};
propagatedBuildInputs = [

View file

@ -32,14 +32,14 @@ with py.pkgs;
buildPythonApplication rec {
pname = "checkov";
version = "2.0.1186";
version = "2.0.1188";
format = "setuptools";
src = fetchFromGitHub {
owner = "bridgecrewio";
repo = pname;
rev = version;
hash = "sha256-5EFB/BgSJny3AdgtgsmIszcM5Wum/dtdmmP/40/sH0Y=";
hash = "sha256-TK2In3FlcjrJjwfS0flgmgbd7nVv4g69v/ZZfWmbkr4=";
};
nativeBuildInputs = with py.pkgs; [

View file

@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec {
pname = "bacon";
version = "2.1.0";
version = "2.2.0";
src = fetchFromGitHub {
owner = "Canop";
repo = pname;
rev = "v${version}";
sha256 = "sha256-SlyJSBgFRLMQX68QGSTtffYL7mRROR+AF/Kix6f4miQ=";
sha256 = "sha256-GoaWlnlE/UfLX3HjbQXPMBOdlplParq7HHAfCUcdGLc=";
};
cargoSha256 = "sha256-TIENdbXpMWdsnyTIHCMpa0KJnzJPlrDZoKoAdjBw2uM=";
cargoSha256 = "sha256-3heAu8n1Dm7ewYTSCwxtgpF2vn/D5B52BuM9qz0X7Yc=";
buildInputs = lib.optional stdenv.isDarwin CoreServices;

View file

@ -1,32 +0,0 @@
{ lib
, buildGoPackage
, fetchFromGitHub
}:
buildGoPackage rec {
pname = "go-mk";
version = "0.pre+date=2015-03-24";
src = fetchFromGitHub {
owner = "dcjones";
repo = "mk";
rev = "73d1b31466c16d0a13a220e5fad7cd8ef6d984d1";
hash = "sha256-fk2Qd3LDMx+RapKi1M9yCuxpS0IB6xlbEWW+H6t94AI=";
};
goPackagePath = "github.com/dcjones/mk";
meta = with lib; {
inherit (src.meta) homepage;
description = "A reboot of Plan9's mk, written in Go";
longDescription = ''
Mk is a reboot of the Plan 9 mk command, which itself is a successor to
make. This tool is for anyone who loves make, but hates all its stupid
bullshit.
'';
license = licenses.bsd2;
maintainers = with maintainers; [ AndersonTorres ];
mainProgram = "mk";
platforms = platforms.unix;
};
}

View file

@ -11,14 +11,14 @@
buildPythonApplication rec {
pname = "cmake-language-server";
version = "0.1.3";
version = "0.1.4";
format = "pyproject";
src = fetchFromGitHub {
owner = "regen100";
repo = pname;
rev = "v${version}";
sha256 = "sha256-eZBnygEYjLzk29tvLGg1JdhCECc5x2MewHRSChMuCjo=";
sha256 = "sha256-FOyyXSgoFpX4mOHFyZtVW618M1Xs7k+IioJzm1sdkKY=";
};
patches = [

View file

@ -18,9 +18,9 @@ let
plat = elemAt info 1;
shas =
{
x86_64-linux = "0jivwsrq31n0qfznrsjfsn65sg3wpbd990afn2wzjnj4drq7plz6";
x86_64-darwin = "02483aqzrccq1x6rwznmcazijdd46yxj9vnbihnvp2xyp3w9as45";
aarch64-linux = "0iw155gkkl1hshc80lfj95rssg039ig21wz1l3srmmf2x4f934s9";
x86_64-linux = "b657d82c8189acc8a8f656ab949e1484aaa98755a16c33f48c318fb17180343f";
x86_64-darwin = "ac2b5a639ad83431db25e4161f811111d45db052eb845091e18f847016a34a55";
aarch64-linux = "a1f7ab9e874799bf380b94394e5bb1ce28f38019896293dde8797d74ad273e67";
};
in stdenv.mkDerivation rec {

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