0
0
Fork 0
mirror of https://github.com/NixOS/nixpkgs.git synced 2025-07-14 06:00:33 +03:00

Merge master into haskell-updates

This commit is contained in:
github-actions[bot] 2022-02-22 00:10:07 +00:00 committed by GitHub
commit eb29acff14
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
130 changed files with 3563 additions and 4241 deletions

View file

@ -2903,6 +2903,12 @@
githubId = 19733; githubId = 19733;
name = "Moritz Heidkamp"; name = "Moritz Heidkamp";
}; };
DerickEddington = {
email = "derick.eddington@pm.me";
github = "DerickEddington";
githubId = 4731128;
name = "Derick Eddington";
};
dermetfan = { dermetfan = {
email = "serverkorken@gmail.com"; email = "serverkorken@gmail.com";
github = "dermetfan"; github = "dermetfan";
@ -7072,12 +7078,6 @@
githubId = 36448130; githubId = 36448130;
name = "Michael Brantley"; name = "Michael Brantley";
}; };
linarcx = {
email = "linarcx@gmail.com";
github = "linarcx";
githubId = 10884422;
name = "Kaveh Ahangar";
};
linc01n = { linc01n = {
email = "git@lincoln.hk"; email = "git@lincoln.hk";
github = "linc01n"; github = "linc01n";
@ -13164,7 +13164,7 @@
name = "Wayne Scott"; name = "Wayne Scott";
}; };
wucke13 = { wucke13 = {
email = "info@wucke13.de"; email = "wucke13@gmail.com";
github = "wucke13"; github = "wucke13";
githubId = 20400405; githubId = 20400405;
name = "Wucke"; name = "Wucke";

View file

@ -73,9 +73,13 @@ def retry(ExceptionToCheck: Any, tries: int = 4, delay: float = 3, backoff: floa
return deco_retry return deco_retry
@dataclass
class FetchConfig:
proc: int
github_token: str
def make_request(url: str) -> urllib.request.Request:
token = os.getenv("GITHUB_API_TOKEN") def make_request(url: str, token=None) -> urllib.request.Request:
headers = {} headers = {}
if token is not None: if token is not None:
headers["Authorization"] = f"token {token}" headers["Authorization"] = f"token {token}"
@ -90,6 +94,7 @@ class Repo:
self.branch = branch self.branch = branch
self.alias = alias self.alias = alias
self.redirect: Dict[str, str] = {} self.redirect: Dict[str, str] = {}
self.token = "dummy_token"
@property @property
def name(self): def name(self):
@ -132,10 +137,11 @@ class Repo:
class RepoGitHub(Repo): class RepoGitHub(Repo):
def __init__( def __init__(
self, owner: str, repo: str, branch: str, alias: Optional[str] self, owner: str, repo: str, branch: str, alias: Optional[str]
) -> None: ) -> None:
self.owner = owner self.owner = owner
self.repo = repo self.repo = repo
self.token = None
'''Url to the repo''' '''Url to the repo'''
super().__init__(self.url(""), branch, alias) super().__init__(self.url(""), branch, alias)
log.debug("Instantiating github repo %s/%s", self.owner, self.repo) log.debug("Instantiating github repo %s/%s", self.owner, self.repo)
@ -150,7 +156,7 @@ class RepoGitHub(Repo):
@retry(urllib.error.URLError, tries=4, delay=3, backoff=2) @retry(urllib.error.URLError, tries=4, delay=3, backoff=2)
def has_submodules(self) -> bool: def has_submodules(self) -> bool:
try: try:
req = make_request(self.url(f"blob/{self.branch}/.gitmodules")) req = make_request(self.url(f"blob/{self.branch}/.gitmodules"), self.token)
urllib.request.urlopen(req, timeout=10).close() urllib.request.urlopen(req, timeout=10).close()
except urllib.error.HTTPError as e: except urllib.error.HTTPError as e:
if e.code == 404: if e.code == 404:
@ -162,7 +168,7 @@ class RepoGitHub(Repo):
@retry(urllib.error.URLError, tries=4, delay=3, backoff=2) @retry(urllib.error.URLError, tries=4, delay=3, backoff=2)
def latest_commit(self) -> Tuple[str, datetime]: def latest_commit(self) -> Tuple[str, datetime]:
commit_url = self.url(f"commits/{self.branch}.atom") commit_url = self.url(f"commits/{self.branch}.atom")
commit_req = make_request(commit_url) commit_req = make_request(commit_url, self.token)
with urllib.request.urlopen(commit_req, timeout=10) as req: with urllib.request.urlopen(commit_req, timeout=10) as req:
self._check_for_redirect(commit_url, req) self._check_for_redirect(commit_url, req)
xml = req.read() xml = req.read()
@ -291,15 +297,41 @@ class Editor:
"""To fill the cache""" """To fill the cache"""
return get_current_plugins(self) return get_current_plugins(self)
def load_plugin_spec(self, plugin_file) -> List[PluginDesc]: def load_plugin_spec(self, config: FetchConfig, plugin_file) -> List[PluginDesc]:
return load_plugin_spec(plugin_file) plugins = []
with open(plugin_file) as f:
for line in f:
if line.startswith("#"):
continue
plugin = parse_plugin_line(config, line)
plugins.append(plugin)
return plugins
def generate_nix(self, plugins, outfile: str): def generate_nix(self, plugins, outfile: str):
'''Returns nothing for now, writes directly to outfile''' '''Returns nothing for now, writes directly to outfile'''
raise NotImplementedError() raise NotImplementedError()
def get_update(self, input_file: str, outfile: str, proc: int): def get_update(self, input_file: str, outfile: str, config: FetchConfig):
return get_update(input_file, outfile, proc, editor=self) cache: Cache = Cache(self.get_current_plugins(), self.cache_file)
_prefetch = functools.partial(prefetch, cache=cache)
def update() -> dict:
plugin_names = self.load_plugin_spec(config, input_file)
try:
pool = Pool(processes=config.proc)
results = pool.map(_prefetch, plugin_names)
finally:
cache.store()
plugins, redirects = check_results(results)
self.generate_nix(plugins, outfile)
return redirects
return update
@property @property
def attr_path(self): def attr_path(self):
@ -345,7 +377,15 @@ class Editor:
dest="proc", dest="proc",
type=int, type=int,
default=30, default=30,
help="Number of concurrent processes to spawn. Export GITHUB_API_TOKEN allows higher values.", help="Number of concurrent processes to spawn. Setting --github-token allows higher values.",
)
parser.add_argument(
"--github-token",
"-t",
type=str,
default=os.getenv("GITHUB_API_TOKEN"),
help="""Allows to set --proc to higher values.
Uses GITHUB_API_TOKEN environment variables as the default value.""",
) )
parser.add_argument( parser.add_argument(
"--no-commit", "-n", action="store_true", default=False, "--no-commit", "-n", action="store_true", default=False,
@ -465,7 +505,7 @@ def make_repo(uri, branch, alias) -> Repo:
repo = Repo(uri.strip(), branch, alias) repo = Repo(uri.strip(), branch, alias)
return repo return repo
def parse_plugin_line(line: str) -> PluginDesc: def parse_plugin_line(config: FetchConfig, line: str) -> PluginDesc:
branch = "HEAD" branch = "HEAD"
alias = None alias = None
uri = line uri = line
@ -476,21 +516,11 @@ def parse_plugin_line(line: str) -> PluginDesc:
uri, branch = uri.split("@") uri, branch = uri.split("@")
repo = make_repo(uri.strip(), branch.strip(), alias) repo = make_repo(uri.strip(), branch.strip(), alias)
repo.token = config.github_token
return PluginDesc(repo, branch.strip(), alias) return PluginDesc(repo, branch.strip(), alias)
def load_plugin_spec(plugin_file: str) -> List[PluginDesc]:
plugins = []
with open(plugin_file) as f:
for line in f:
if line.startswith("#"):
continue
plugin = parse_plugin_line(line)
plugins.append(plugin)
return plugins
def get_cache_path(cache_file_name: str) -> Optional[Path]: def get_cache_path(cache_file_name: str) -> Optional[Path]:
xdg_cache = os.environ.get("XDG_CACHE_HOME", None) xdg_cache = os.environ.get("XDG_CACHE_HOME", None)
if xdg_cache is None: if xdg_cache is None:
@ -600,40 +630,21 @@ def commit(repo: git.Repo, message: str, files: List[Path]) -> None:
print("no changes in working tree to commit") print("no changes in working tree to commit")
def get_update(input_file: str, outfile: str, proc: int, editor: Editor):
cache: Cache = Cache(editor.get_current_plugins(), editor.cache_file)
_prefetch = functools.partial(prefetch, cache=cache)
def update() -> dict:
plugin_names = editor.load_plugin_spec(input_file)
try:
pool = Pool(processes=proc)
results = pool.map(_prefetch, plugin_names)
finally:
cache.store()
plugins, redirects = check_results(results)
editor.generate_nix(plugins, outfile)
return redirects
return update
def update_plugins(editor: Editor, args): def update_plugins(editor: Editor, args):
"""The main entry function of this module. All input arguments are grouped in the `Editor`.""" """The main entry function of this module. All input arguments are grouped in the `Editor`."""
log.setLevel(LOG_LEVELS[args.debug]) log.setLevel(LOG_LEVELS[args.debug])
log.info("Start updating plugins") log.info("Start updating plugins")
update = editor.get_update(args.input_file, args.outfile, args.proc) fetch_config = FetchConfig(args.proc, args.github_token)
update = editor.get_update(args.input_file, args.outfile, fetch_config)
redirects = update() redirects = update()
editor.rewrite_input(args.input_file, editor.deprecated, redirects) editor.rewrite_input(args.input_file, editor.deprecated, redirects)
autocommit = not args.no_commit autocommit = not args.no_commit
nixpkgs_repo = None
if autocommit: if autocommit:
nixpkgs_repo = git.Repo(editor.root, search_parent_directories=True) nixpkgs_repo = git.Repo(editor.root, search_parent_directories=True)
commit(nixpkgs_repo, f"{editor.attr_path}: update", [args.outfile]) commit(nixpkgs_repo, f"{editor.attr_path}: update", [args.outfile])

View file

@ -444,6 +444,13 @@
support due to python2 deprecation in nixpkgs support due to python2 deprecation in nixpkgs
</para> </para>
</listitem> </listitem>
<listitem>
<para>
<literal>services.miniflux.adminCredentialFiles</literal> is
now required, instead of defaulting to
<literal>admin</literal> and <literal>password</literal>.
</para>
</listitem>
<listitem> <listitem>
<para> <para>
The <literal>autorestic</literal> package has been upgraded The <literal>autorestic</literal> package has been upgraded
@ -558,6 +565,15 @@
<literal>~/.local/share/polymc/polymc.cfg</literal>. <literal>~/.local/share/polymc/polymc.cfg</literal>.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
<literal>systemd-nspawn@.service</literal> settings have been
reverted to the default systemd behaviour. User namespaces are
now activated by default. If you want to keep running nspawn
containers without user namespaces you need to set
<literal>systemd.nspawn.&lt;name&gt;.execConfig.PrivateUsers = false</literal>
</para>
</listitem>
<listitem> <listitem>
<para> <para>
The terraform 0.12 compatibility has been removed and the The terraform 0.12 compatibility has been removed and the

View file

@ -147,6 +147,8 @@ In addition to numerous new and upgraded packages, this release has the followin
- opensmtpd-extras is no longer build with python2 scripting support due to python2 deprecation in nixpkgs - opensmtpd-extras is no longer build with python2 scripting support due to python2 deprecation in nixpkgs
- `services.miniflux.adminCredentialFiles` is now required, instead of defaulting to `admin` and `password`.
- The `autorestic` package has been upgraded from 1.3.0 to 1.5.0 which introduces breaking changes in config file, check [their migration guide](https://autorestic.vercel.app/migration/1.4_1.5) for more details. - The `autorestic` package has been upgraded from 1.3.0 to 1.5.0 which introduces breaking changes in config file, check [their migration guide](https://autorestic.vercel.app/migration/1.4_1.5) for more details.
- For `pkgs.python3.pkgs.ipython`, its direct dependency `pkgs.python3.pkgs.matplotlib-inline` - For `pkgs.python3.pkgs.ipython`, its direct dependency `pkgs.python3.pkgs.matplotlib-inline`
@ -178,6 +180,7 @@ In addition to numerous new and upgraded packages, this release has the followin
- MultiMC has been replaced with the fork PolyMC due to upstream developers being hostile to 3rd party package maintainers. PolyMC removes all MultiMC branding and is aimed at providing proper 3rd party packages like the one contained in Nixpkgs. This change affects the data folder where game instances and other save and configuration files are stored. Users with existing installations should rename `~/.local/share/multimc` to `~/.local/share/polymc`. The main config file's path has also moved from `~/.local/share/multimc/multimc.cfg` to `~/.local/share/polymc/polymc.cfg`. - MultiMC has been replaced with the fork PolyMC due to upstream developers being hostile to 3rd party package maintainers. PolyMC removes all MultiMC branding and is aimed at providing proper 3rd party packages like the one contained in Nixpkgs. This change affects the data folder where game instances and other save and configuration files are stored. Users with existing installations should rename `~/.local/share/multimc` to `~/.local/share/polymc`. The main config file's path has also moved from `~/.local/share/multimc/multimc.cfg` to `~/.local/share/polymc/polymc.cfg`.
- `systemd-nspawn@.service` settings have been reverted to the default systemd behaviour. User namespaces are now activated by default. If you want to keep running nspawn containers without user namespaces you need to set `systemd.nspawn.<name>.execConfig.PrivateUsers = false`
- The terraform 0.12 compatibility has been removed and the `terraform.withPlugins` and `terraform-providers.mkProvider` implementations simplified. Providers now need to be stored under - The terraform 0.12 compatibility has been removed and the `terraform.withPlugins` and `terraform-providers.mkProvider` implementations simplified. Providers now need to be stored under
`$out/libexec/terraform-providers/<registry>/<owner>/<name>/<version>/<os>_<arch>/terraform-provider-<name>_v<version>` (which mkProvider does). `$out/libexec/terraform-providers/<registry>/<owner>/<name>/<version>/<os>_<arch>/terraform-provider-<name>_v<version>` (which mkProvider does).

View file

@ -10,10 +10,10 @@ with lib;
isoImage.edition = "gnome"; isoImage.edition = "gnome";
services.xserver.desktopManager.gnome = { services.xserver.desktopManager.gnome = {
# Add firefox to favorite-apps # Add Firefox and other tools useful for installation to the launcher
favoriteAppsOverride = '' favoriteAppsOverride = ''
[org.gnome.shell] [org.gnome.shell]
favorite-apps=[ 'firefox.desktop', 'org.gnome.Geary.desktop', 'org.gnome.Calendar.desktop', 'org.gnome.Music.desktop', 'org.gnome.Photos.desktop', 'org.gnome.Nautilus.desktop' ] favorite-apps=[ 'firefox.desktop', 'nixos-manual.desktop', 'org.gnome.Terminal.desktop', 'org.gnome.Nautilus.desktop', 'gparted.desktop' ]
''; '';
enable = true; enable = true;
}; };

View file

@ -762,7 +762,7 @@ in
nix.settings = mkMerge [ nix.settings = mkMerge [
{ {
trusted-public-keys = [ "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" ]; trusted-public-keys = [ "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" ];
substituters = [ "https://cache.nixos.org/" ]; substituters = mkAfter [ "https://cache.nixos.org/" ];
system-features = mkDefault ( system-features = mkDefault (
[ "nixos-test" "benchmark" "big-parallel" "kvm" ] ++ [ "nixos-test" "benchmark" "big-parallel" "kvm" ] ++

View file

@ -7,26 +7,12 @@ let
defaultAddress = "localhost:8080"; defaultAddress = "localhost:8080";
dbUser = "miniflux"; dbUser = "miniflux";
dbPassword = "miniflux";
dbHost = "localhost";
dbName = "miniflux"; dbName = "miniflux";
defaultCredentials = pkgs.writeText "miniflux-admin-credentials" ''
ADMIN_USERNAME=admin
ADMIN_PASSWORD=password
'';
pgbin = "${config.services.postgresql.package}/bin"; pgbin = "${config.services.postgresql.package}/bin";
preStart = pkgs.writeScript "miniflux-pre-start" '' preStart = pkgs.writeScript "miniflux-pre-start" ''
#!${pkgs.runtimeShell} #!${pkgs.runtimeShell}
db_exists() { ${pgbin}/psql "${dbName}" -c "CREATE EXTENSION IF NOT EXISTS hstore"
[ "$(${pgbin}/psql -Atc "select 1 from pg_database where datname='$1'")" == "1" ]
}
if ! db_exists "${dbName}"; then
${pgbin}/psql postgres -c "CREATE ROLE ${dbUser} WITH LOGIN NOCREATEDB NOCREATEROLE ENCRYPTED PASSWORD '${dbPassword}'"
${pgbin}/createdb --owner "${dbUser}" "${dbName}"
${pgbin}/psql "${dbName}" -c "CREATE EXTENSION IF NOT EXISTS hstore"
fi
''; '';
in in
@ -54,11 +40,10 @@ in
}; };
adminCredentialsFile = mkOption { adminCredentialsFile = mkOption {
type = types.nullOr types.path; type = types.path;
default = null;
description = '' description = ''
File containing the ADMIN_USERNAME, default is "admin", and File containing the ADMIN_USERNAME and
ADMIN_PASSWORD (length >= 6), default is "password"; in the format of ADMIN_PASSWORD (length >= 6) in the format of
an EnvironmentFile=, as described by systemd.exec(5). an EnvironmentFile=, as described by systemd.exec(5).
''; '';
example = "/etc/nixos/miniflux-admin-credentials"; example = "/etc/nixos/miniflux-admin-credentials";
@ -70,16 +55,24 @@ in
services.miniflux.config = { services.miniflux.config = {
LISTEN_ADDR = mkDefault defaultAddress; LISTEN_ADDR = mkDefault defaultAddress;
DATABASE_URL = "postgresql://${dbUser}:${dbPassword}@${dbHost}/${dbName}?sslmode=disable"; DATABASE_URL = "user=${dbUser} host=/run/postgresql dbname=${dbName}";
RUN_MIGRATIONS = "1"; RUN_MIGRATIONS = "1";
CREATE_ADMIN = "1"; CREATE_ADMIN = "1";
}; };
services.postgresql.enable = true; services.postgresql = {
enable = true;
ensureUsers = [ {
name = dbUser;
ensurePermissions = {
"DATABASE ${dbName}" = "ALL PRIVILEGES";
};
} ];
ensureDatabases = [ dbName ];
};
systemd.services.miniflux-dbsetup = { systemd.services.miniflux-dbsetup = {
description = "Miniflux database setup"; description = "Miniflux database setup";
wantedBy = [ "multi-user.target" ];
requires = [ "postgresql.service" ]; requires = [ "postgresql.service" ];
after = [ "network.target" "postgresql.service" ]; after = [ "network.target" "postgresql.service" ];
serviceConfig = { serviceConfig = {
@ -92,17 +85,16 @@ in
systemd.services.miniflux = { systemd.services.miniflux = {
description = "Miniflux service"; description = "Miniflux service";
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
requires = [ "postgresql.service" ]; requires = [ "miniflux-dbsetup.service" ];
after = [ "network.target" "postgresql.service" "miniflux-dbsetup.service" ]; after = [ "network.target" "postgresql.service" "miniflux-dbsetup.service" ];
serviceConfig = { serviceConfig = {
ExecStart = "${pkgs.miniflux}/bin/miniflux"; ExecStart = "${pkgs.miniflux}/bin/miniflux";
User = dbUser;
DynamicUser = true; DynamicUser = true;
RuntimeDirectory = "miniflux"; RuntimeDirectory = "miniflux";
RuntimeDirectoryMode = "0700"; RuntimeDirectoryMode = "0700";
EnvironmentFile = if cfg.adminCredentialsFile == null EnvironmentFile = cfg.adminCredentialsFile;
then defaultCredentials
else cfg.adminCredentialsFile;
# Hardening # Hardening
CapabilityBoundingSet = [ "" ]; CapabilityBoundingSet = [ "" ];
DeviceAllow = [ "" ]; DeviceAllow = [ "" ];
@ -119,7 +111,7 @@ in
ProtectKernelModules = true; ProtectKernelModules = true;
ProtectKernelTunables = true; ProtectKernelTunables = true;
ProtectProc = "invisible"; ProtectProc = "invisible";
RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ]; RestrictAddressFamilies = [ "AF_INET" "AF_INET6" "AF_UNIX" ];
RestrictNamespaces = true; RestrictNamespaces = true;
RestrictRealtime = true; RestrictRealtime = true;
RestrictSUIDSGID = true; RestrictSUIDSGID = true;

View file

@ -120,14 +120,6 @@ in {
}) })
{ {
systemd.targets.multi-user.wants = [ "machines.target" ]; systemd.targets.multi-user.wants = [ "machines.target" ];
# Workaround for https://github.com/NixOS/nixpkgs/pull/67232#issuecomment-531315437 and https://github.com/systemd/systemd/issues/13622
# Once systemd fixes this upstream, we can re-enable -U
systemd.services."systemd-nspawn@".serviceConfig.ExecStart = [
"" # deliberately empty. signals systemd to override the ExecStart
# Only difference between upstream is that we do not pass the -U flag
"${config.systemd.package}/bin/systemd-nspawn --quiet --keep-unit --boot --link-journal=try-guest --network-veth --settings=override --machine=%i"
];
} }
]; ];
} }

View file

@ -499,6 +499,7 @@ in
systemd-confinement = handleTest ./systemd-confinement.nix {}; systemd-confinement = handleTest ./systemd-confinement.nix {};
systemd-cryptenroll = handleTest ./systemd-cryptenroll.nix {}; systemd-cryptenroll = handleTest ./systemd-cryptenroll.nix {};
systemd-journal = handleTest ./systemd-journal.nix {}; systemd-journal = handleTest ./systemd-journal.nix {};
systemd-machinectl = handleTest ./systemd-machinectl.nix {};
systemd-networkd = handleTest ./systemd-networkd.nix {}; systemd-networkd = handleTest ./systemd-networkd.nix {};
systemd-networkd-dhcpserver = handleTest ./systemd-networkd-dhcpserver.nix {}; systemd-networkd-dhcpserver = handleTest ./systemd-networkd-dhcpserver.nix {};
systemd-networkd-dhcpserver-static-leases = handleTest ./systemd-networkd-dhcpserver-static-leases.nix {}; systemd-networkd-dhcpserver-static-leases = handleTest ./systemd-networkd-dhcpserver-static-leases.nix {};

View file

@ -7,6 +7,15 @@ let
defaultPort = 8080; defaultPort = 8080;
defaultUsername = "admin"; defaultUsername = "admin";
defaultPassword = "password"; defaultPassword = "password";
adminCredentialsFile = pkgs.writeText "admin-credentials" ''
ADMIN_USERNAME=${defaultUsername}
ADMIN_PASSWORD=${defaultPassword}
'';
customAdminCredentialsFile = pkgs.writeText "admin-credentials" ''
ADMIN_USERNAME=${username}
ADMIN_PASSWORD=${password}
'';
in in
with lib; with lib;
{ {
@ -17,13 +26,19 @@ with lib;
default = default =
{ ... }: { ... }:
{ {
services.miniflux.enable = true; services.miniflux = {
enable = true;
inherit adminCredentialsFile;
};
}; };
withoutSudo = withoutSudo =
{ ... }: { ... }:
{ {
services.miniflux.enable = true; services.miniflux = {
enable = true;
inherit adminCredentialsFile;
};
security.sudo.enable = false; security.sudo.enable = false;
}; };
@ -36,10 +51,7 @@ with lib;
CLEANUP_FREQUENCY = "48"; CLEANUP_FREQUENCY = "48";
LISTEN_ADDR = "localhost:${toString port}"; LISTEN_ADDR = "localhost:${toString port}";
}; };
adminCredentialsFile = pkgs.writeText "admin-credentials" '' adminCredentialsFile = customAdminCredentialsFile;
ADMIN_USERNAME=${username}
ADMIN_PASSWORD=${password}
'';
}; };
}; };
}; };

View file

@ -0,0 +1,85 @@
import ./make-test-python.nix (
let
container = {
# We re-use the NixOS container option ...
boot.isContainer = true;
# ... and revert unwanted defaults
networking.useHostResolvConf = false;
# use networkd to obtain systemd network setup
networking.useNetworkd = true;
networking.useDHCP = false;
# systemd-nspawn expects /sbin/init
boot.loader.initScript.enable = true;
imports = [ ../modules/profiles/minimal.nix ];
};
containerSystem = (import ../lib/eval-config.nix {
modules = [ container ];
}).config.system.build.toplevel;
containerName = "container";
containerRoot = "/var/lib/machines/${containerName}";
in
{
name = "systemd-machinectl";
machine = { lib, ... }: {
# use networkd to obtain systemd network setup
networking.useNetworkd = true;
networking.useDHCP = false;
services.resolved.enable = false;
# open DHCP server on interface to container
networking.firewall.trustedInterfaces = [ "ve-+" ];
# do not try to access cache.nixos.org
nix.settings.substituters = lib.mkForce [ ];
virtualisation.additionalPaths = [ containerSystem ];
};
testScript = ''
start_all()
machine.wait_for_unit("default.target");
# Install container
machine.succeed("mkdir -p ${containerRoot}");
# Workaround for nixos-install
machine.succeed("chmod o+rx /var/lib/machines");
machine.succeed("nixos-install --root ${containerRoot} --system ${containerSystem} --no-channel-copy --no-root-passwd");
# Allow systemd-nspawn to apply user namespace on immutable files
machine.succeed("chattr -i ${containerRoot}/var/empty");
# Test machinectl start
machine.succeed("machinectl start ${containerName}");
machine.wait_until_succeeds("systemctl -M ${containerName} is-active default.target");
# Test systemd-nspawn network configuration
machine.succeed("ping -n -c 1 ${containerName}");
# Test systemd-nspawn uses a user namespace
machine.succeed("test `stat ${containerRoot}/var/empty -c %u%g` != 00");
# Test systemd-nspawn reboot
machine.succeed("machinectl shell ${containerName} /run/current-system/sw/bin/reboot");
machine.wait_until_succeeds("systemctl -M ${containerName} is-active default.target");
# Test machinectl reboot
machine.succeed("machinectl reboot ${containerName}");
machine.wait_until_succeeds("systemctl -M ${containerName} is-active default.target");
# Test machinectl stop
machine.succeed("machinectl stop ${containerName}");
# Show to to delete the container
machine.succeed("chattr -i ${containerRoot}/var/empty");
machine.succeed("rm -rf ${containerRoot}");
'';
}
)

View file

@ -0,0 +1,28 @@
{ lib
, stdenv
, fetchCrate
, rustPlatform
, pkg-config
, alsa-lib }:
rustPlatform.buildRustPackage rec {
pname = "termusic";
version = "0.6.10";
src = fetchCrate {
inherit pname version;
sha256 = "sha256-i+XxEPkLZK+JKDl88P8Nd7XBhsGhEzvUGovJtSWvRtg=";
};
cargoHash = "sha256-7nQzU1VvRDrtltVAXTX268vl9AbQhMOilPG4nNAJ+Xk=";
nativeBuildInputs = [ pkg-config ];
buildInputs = [ alsa-lib ];
meta = with lib; {
description = "Terminal Music Player TUI written in Rust";
homepage = "https://github.com/tramhao/termusic";
license = with licenses; [ gpl3Only ];
maintainers = with maintainers; [ devhell ];
};
}

View file

@ -72,7 +72,7 @@ stdenv.mkDerivation rec {
''; '';
license = licenses.mit; license = licenses.mit;
homepage = "https://pivx.org"; homepage = "https://pivx.org";
maintainers = with maintainers; [ wucke13 ]; maintainers = with maintainers; [ ];
platforms = platforms.unix; platforms = platforms.unix;
}; };
} }

View file

@ -38,13 +38,13 @@ let
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "cudatext"; pname = "cudatext";
version = "1.155.0"; version = "1.156.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Alexey-T"; owner = "Alexey-T";
repo = "CudaText"; repo = "CudaText";
rev = version; rev = version;
sha256 = "sha256-k6ALTbA2PhMZscinXKceM7MSzgr759Y6GxMrQAXMgwM="; sha256 = "sha256-waVTNyK3OHpOvBJrXio+Xjn9q3WmUczbx3E26ChsuKo=";
}; };
postPatch = '' postPatch = ''

View file

@ -16,23 +16,23 @@
}, },
"ATSynEdit": { "ATSynEdit": {
"owner": "Alexey-T", "owner": "Alexey-T",
"rev": "2022.01.20", "rev": "2022.02.19",
"sha256": "sha256-4UJ6t8j8uHB27jprqnlsGB8ytOMQLe4ZzSaYKiw4y70=" "sha256": "sha256-cq2dirFNPaWRmZJu0F+CFA//+SuFOOpTH3Q5zL4oPQo="
}, },
"ATSynEdit_Cmp": { "ATSynEdit_Cmp": {
"owner": "Alexey-T", "owner": "Alexey-T",
"rev": "2021.12.28", "rev": "2022.01.21",
"sha256": "sha256-bXTjPdn0DIVTdoi30Ws5+M+UsC7F99IphMSTpI5ia/Q=" "sha256": "sha256-el5YtzewnHV0fRPgVhApZUVP7huSQseqrO2ibvm6Ctg="
}, },
"EControl": { "EControl": {
"owner": "Alexey-T", "owner": "Alexey-T",
"rev": "2022.01.07", "rev": "2022.02.02",
"sha256": "sha256-dgkyXrFs2hzuFjt9GW+WNyrLIp/i/AbRsM/MyMbatdA=" "sha256": "sha256-T/6SQJHKzbv/PlObDyc9bcpC14krHgcLDQn0v2fNkLM="
}, },
"ATSynEdit_Ex": { "ATSynEdit_Ex": {
"owner": "Alexey-T", "owner": "Alexey-T",
"rev": "2022.01.20", "rev": "2022.02.01",
"sha256": "sha256-CaGo38NV+mbwekzkgw0DxM4TZf2xwHtYFnC6RbWH+ts=" "sha256": "sha256-FAcq6ixmFPQFBAGG2gqB4T+YGYT+Rh/OlKdGcH/iL3g="
}, },
"Python-for-Lazarus": { "Python-for-Lazarus": {
"owner": "Alexey-T", "owner": "Alexey-T",
@ -41,8 +41,8 @@
}, },
"Emmet-Pascal": { "Emmet-Pascal": {
"owner": "Alexey-T", "owner": "Alexey-T",
"rev": "2020.09.05", "rev": "2022.01.17",
"sha256": "0qfiirxnk5g3whx8y8hp54ch3h6gkkd01yf79m95bwar5qvdfybg" "sha256": "sha256-5yqxRW7xFJ4MwHjKnxYL8/HrCDLn30a1gyQRjGMx/qw="
}, },
"CudaText-lexers": { "CudaText-lexers": {
"owner": "Alexey-T", "owner": "Alexey-T",

View file

@ -18,6 +18,6 @@ while IFS=$'\t' read repo owner rev; do
url="https://github.com/${owner}/${repo}/archive/refs/tags/${latest}.tar.gz" url="https://github.com/${owner}/${repo}/archive/refs/tags/${latest}.tar.gz"
hash=$(nix-prefetch-url --quiet --unpack --type sha256 $url) hash=$(nix-prefetch-url --quiet --unpack --type sha256 $url)
sriHash=$(nix hash to-sri --type sha256 $hash) sriHash=$(nix hash to-sri --type sha256 $hash)
jq ".${repo}.rev = \"${latest}\" | .${repo}.sha256 = \"${sriHash}\"" deps.json | sponge deps.json jq ".\"${repo}\".rev = \"${latest}\" | .\"${repo}\".sha256 = \"${sriHash}\"" deps.json | sponge deps.json
fi fi
done <<< $(jq -r 'to_entries[]|[.key,.value.owner,.value.rev]|@tsv' deps.json) done <<< $(jq -r 'to_entries[]|[.key,.value.owner,.value.rev]|@tsv' deps.json)

View file

@ -2,7 +2,7 @@
, fetchurl, libsecret, gtk3, gsettings-desktop-schemas }: , fetchurl, libsecret, gtk3, gsettings-desktop-schemas }:
let let
version = "3.9.5"; version = "3.11.1";
pname = "standardnotes"; pname = "standardnotes";
name = "${pname}-${version}"; name = "${pname}-${version}";
throwSystem = throw "Unsupported system: ${stdenv.hostPlatform.system}"; throwSystem = throw "Unsupported system: ${stdenv.hostPlatform.system}";
@ -13,8 +13,8 @@ let
}.${stdenv.hostPlatform.system} or throwSystem; }.${stdenv.hostPlatform.system} or throwSystem;
sha256 = { sha256 = {
i686-linux = "sha256-7Mo8ELFV6roZ3IYWBtB2rRDAzJrq4ht9f1v6uohsauw="; i686-linux = "3e83a7eef5c29877eeffefb832543b21627cf027ae6e7b4f662865b6b842649a";
x86_64-linux = "sha256-9VPYII9E8E3yL7UuU0+GmaK3qxWX4bwfACDl7F7sngo="; x86_64-linux = "fd461e98248a2181afd2ef94a41a291d20f7ffb20abeaf0cfcf81a9f94e27868";
}.${stdenv.hostPlatform.system} or throwSystem; }.${stdenv.hostPlatform.system} or throwSystem;
src = fetchurl { src = fetchurl {

View file

@ -3,13 +3,13 @@
mkDerivation rec { mkDerivation rec {
pname = "texstudio"; pname = "texstudio";
version = "4.2.1"; version = "4.2.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "${pname}-org"; owner = "${pname}-org";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "sha256-EUcYQKc/vxOg6E5ZIpWJezLEppOru79s+slO7e/+kAU="; sha256 = "sha256-MZz8DQT1f6RU+euEED1bbg2MsaqC6+W3RoMk2qfIjr4=";
}; };
nativeBuildInputs = [ qmake wrapQtAppsHook pkg-config ]; nativeBuildInputs = [ qmake wrapQtAppsHook pkg-config ];

View file

@ -18,13 +18,13 @@ in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "imagemagick"; pname = "imagemagick";
version = "7.1.0-25"; version = "7.1.0-26";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "ImageMagick"; owner = "ImageMagick";
repo = "ImageMagick"; repo = "ImageMagick";
rev = version; rev = version;
hash = "sha256-zSbngA56YnJ1W+ZlA6Q850NTtZovjue51zEgbKI3iqc="; hash = "sha256-q1CL64cfyb5fN9aVYJfls+v0XRFd4jH+B8n+UJqPE1I=";
}; };
outputs = [ "out" "dev" "doc" ]; # bin/ isn't really big outputs = [ "out" "dev" "doc" ]; # bin/ isn't really big

View file

@ -10,14 +10,14 @@
python3Packages.buildPythonPackage rec { python3Packages.buildPythonPackage rec {
pname = "hydrus"; pname = "hydrus";
version = "473"; version = "474";
format = "other"; format = "other";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "hydrusnetwork"; owner = "hydrusnetwork";
repo = "hydrus"; repo = "hydrus";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-eSnN9+9xJ1CeJm/jWw4jZq5OkgXC0p0KmxQ8bhnp9W4="; sha256 = "sha256-NeTHq8zlgBajw/eogwpabqeU0b7cp83Frqy6kisrths=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View file

@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
description = "A bidirectional console"; description = "A bidirectional console";
homepage = "https://github.com/behdad/bicon"; homepage = "https://github.com/behdad/bicon";
license = [ licenses.lgpl21 licenses.psfl licenses.bsd0 ]; license = [ licenses.lgpl21 licenses.psfl licenses.bsd0 ];
maintainers = [ maintainers.linarcx ]; maintainers = [ ];
platforms = platforms.linux; platforms = platforms.linux;
}; };
} }

View file

@ -0,0 +1,20 @@
{ lib, stdenv, rustPlatform, fetchCrate }:
rustPlatform.buildRustPackage rec {
pname = "globe-cli";
version = "0.2.0";
src = fetchCrate {
inherit pname version;
sha256 = "sha256-Np1f/mSMIMZU3hE0Fur8bOHhOH3rZyroGiVAqfiIs7g=";
};
cargoHash = "sha256-qoCOYk7hyjMx07l48IkxE6zsG58NkF72E3OvoZHz5d0=";
meta = with lib; {
description = "Display an interactive ASCII globe in your terminal";
homepage = "https://github.com/adamsky/globe";
license = licenses.gpl3Only;
maintainers = with maintainers; [ devhell ];
};
}

View file

@ -2,13 +2,13 @@
python3Packages.buildPythonApplication rec { python3Packages.buildPythonApplication rec {
pname = "rmview"; pname = "rmview";
version = "3.1"; version = "3.1.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "bordaigorl"; owner = "bordaigorl";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "11p62dglxnvml3x95mi2sfai1k0gmvzwixzijr3gls2ss73maffw"; sha256 = "sha256-lUzmOayMHftvCukXSxXr6tBzrr2vaua1ey9gsuCKOBc=";
}; };
nativeBuildInputs = with python3Packages; [ pyqt5 wrapQtAppsHook ]; nativeBuildInputs = with python3Packages; [ pyqt5 wrapQtAppsHook ];
@ -18,10 +18,6 @@ python3Packages.buildPythonApplication rec {
pyrcc5 -o src/rmview/resources.py resources.qrc pyrcc5 -o src/rmview/resources.py resources.qrc
''; '';
preFixup = ''
wrapQtApp "$out/bin/rmview"
'';
meta = with lib; { meta = with lib; {
description = "Fast live viewer for reMarkable 1 and 2"; description = "Fast live viewer for reMarkable 1 and 2";
homepage = "https://github.com/bordaigorl/rmview"; homepage = "https://github.com/bordaigorl/rmview";

View file

@ -7,13 +7,13 @@
buildGoModule rec { buildGoModule rec {
pname = "slides"; pname = "slides";
version = "0.7.2"; version = "0.7.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "maaslalani"; owner = "maaslalani";
repo = "slides"; repo = "slides";
rev = "v${version}"; rev = "v${version}";
sha256 = "02zdgn0pnjqharvmn9rww45yrja8dzww64s3fryxx4pm8g5km9nf"; sha256 = "sha256-05geDWZSpFjLywuWkI+FPaTaO9dyNuPuMBk7dc1Yl6I=";
}; };
checkInputs = [ checkInputs = [
@ -21,7 +21,7 @@ buildGoModule rec {
go go
]; ];
vendorSha256 = "11gxr22a24icryvglx9pjmqn5bjy8adfhh1nmjnd21nvy0nh4im7"; vendorSha256 = "sha256-i+bbSwiH7TD+huxpTREThxnPkQZTMQJO7AP4kTlCseo=";
ldflags = [ ldflags = [
"-s" "-s"

View file

@ -0,0 +1,27 @@
{ buildGoModule, lib, fetchFromGitHub }:
buildGoModule rec {
pname = "argo-rollouts";
version = "1.1.1";
src = fetchFromGitHub {
owner = "argoproj";
repo = "argo-rollouts";
rev = "v${version}";
sha256 = "0qb1wbv3razwhqsv972ywfazaq73y83iw6f6qdjcbwwfwsybig21";
};
vendorSha256 = "00ic1nn3wgg495x2170ik1d1cha20b4w89j9jclq8p0b3nndv0c0";
# Disable tests since some test fail because of missing test data
doCheck = false;
subPackages = [ "cmd/rollouts-controller" "cmd/kubectl-argo-rollouts" ];
meta = with lib; {
description = "Kubernetes Progressive Delivery Controller";
homepage = "https://github.com/argoproj/argo-rollouts/";
license = licenses.asl20;
maintainers = with maintainers; [ psibi ];
};
}

View file

@ -1,11 +1,11 @@
{ lib, buildGoModule, fetchFromGitHub }: { lib, buildGoModule, fetchFromGitHub }:
# SHA of ${version} for the tool's help output. Unfortunately this is needed in build flags. # SHA of ${version} for the tool's help output. Unfortunately this is needed in build flags.
let rev = "eedd1ecb188a49d4417bea96d1837f747647e7a4"; let rev = "6cf7519717a14c9a3e495fcd4588fa4eb16d2be2";
in in
buildGoModule rec { buildGoModule rec {
pname = "sonobuoy"; pname = "sonobuoy";
version = "0.56.1"; # Do not forget to update `rev` above version = "0.56.2"; # Do not forget to update `rev` above
ldflags = ldflags =
let t = "github.com/vmware-tanzu/sonobuoy"; let t = "github.com/vmware-tanzu/sonobuoy";
@ -20,7 +20,7 @@ buildGoModule rec {
owner = "vmware-tanzu"; owner = "vmware-tanzu";
repo = "sonobuoy"; repo = "sonobuoy";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-J9hF7MfMYNB+d4V8hZWqwdUqYhoam9pQRSa+lGXulYQ="; sha256 = "sha256-KYpBubNHAstKUtf9Ys4VCWyZ+y4HjzVMs9EtWzVFviQ=";
}; };
vendorSha256 = "sha256-qKXm39CwrTcXENIMh2BBS3MUlhJvmTTA3UzZNpF0PCc="; vendorSha256 = "sha256-qKXm39CwrTcXENIMh2BBS3MUlhJvmTTA3UzZNpF0PCc=";

View file

@ -21,10 +21,10 @@
"owner": "aiven", "owner": "aiven",
"provider-source-address": "registry.terraform.io/aiven/aiven", "provider-source-address": "registry.terraform.io/aiven/aiven",
"repo": "terraform-provider-aiven", "repo": "terraform-provider-aiven",
"rev": "v2.6.0", "rev": "v2.7.0",
"sha256": "1vbphaxw6qskn7g4jah00cpw2w960x50rpvx5kq143d8b2vbiix4", "sha256": "12n97z3r5bz7hwgcz193x90n7ibk4fdph7pqxwwinrvlc6zb7hz6",
"vendorSha256": "1zxs0p2xwxgvxdx65h0yfvzl7qmqlw41ipw0gsf25g0mvs4jckwb", "vendorSha256": "12lj7p74mhiy30fhc12ihbf827axlbxhbfzr10iwwhb0nydsfiyl",
"version": "2.6.0" "version": "2.7.0"
}, },
"akamai": { "akamai": {
"owner": "akamai", "owner": "akamai",
@ -40,10 +40,10 @@
"owner": "aliyun", "owner": "aliyun",
"provider-source-address": "registry.terraform.io/aliyun/alicloud", "provider-source-address": "registry.terraform.io/aliyun/alicloud",
"repo": "terraform-provider-alicloud", "repo": "terraform-provider-alicloud",
"rev": "v1.155.0", "rev": "v1.157.0",
"sha256": "0gzgh9w564c29hkx2sbrfrw04qbgdswc3ppvaa6xsz1s7g0p902a", "sha256": "02zsp7kxvg6i7wzrx6qigjsvxmmz4rhpjb36qz1jwn3dzpx6dyv1",
"vendorSha256": "18chs2723i2cxhhm649mz52pp6wrfqzxgk12zxq9idrhicchqnzg", "vendorSha256": "18chs2723i2cxhhm649mz52pp6wrfqzxgk12zxq9idrhicchqnzg",
"version": "1.155.0" "version": "1.157.0"
}, },
"ansible": { "ansible": {
"owner": "nbering", "owner": "nbering",
@ -94,10 +94,10 @@
"owner": "hashicorp", "owner": "hashicorp",
"provider-source-address": "registry.terraform.io/hashicorp/aws", "provider-source-address": "registry.terraform.io/hashicorp/aws",
"repo": "terraform-provider-aws", "repo": "terraform-provider-aws",
"rev": "v4.0.0", "rev": "v4.2.0",
"sha256": "03lsdkjahq9prqrnw3v9073bi9378cqyl0g16qaqns7wrhxcxzm2", "sha256": "1ijspv7bf6qi4s3k58vbaz4gbk6y60h7jrml2wjn6mas6pchiy0f",
"vendorSha256": "1mzacd4bmr3743kvxcp1nyc0gkr2gh8gm0rhq887z62lafpnbhy1", "vendorSha256": "09p029a5qqhf28afhcs5pk2px18x2q6kc16xzjzmzpisvnfl4hfb",
"version": "4.0.0" "version": "4.2.0"
}, },
"azuread": { "azuread": {
"owner": "hashicorp", "owner": "hashicorp",
@ -112,10 +112,10 @@
"owner": "hashicorp", "owner": "hashicorp",
"provider-source-address": "registry.terraform.io/hashicorp/azurerm", "provider-source-address": "registry.terraform.io/hashicorp/azurerm",
"repo": "terraform-provider-azurerm", "repo": "terraform-provider-azurerm",
"rev": "v2.96.0", "rev": "v2.97.0",
"sha256": "18c164acz8l1s2d06af9v8rg09a5b1s0360974fpca8rfiw425lf", "sha256": "0a95xq2bk6a1yas2kxfq30s41s2jgv2rjvz4y7m34wlldd9qxfhg",
"vendorSha256": null, "vendorSha256": null,
"version": "2.96.0" "version": "2.97.0"
}, },
"azurestack": { "azurestack": {
"owner": "hashicorp", "owner": "hashicorp",
@ -157,10 +157,10 @@
"owner": "brightbox", "owner": "brightbox",
"provider-source-address": "registry.terraform.io/brightbox/brightbox", "provider-source-address": "registry.terraform.io/brightbox/brightbox",
"repo": "terraform-provider-brightbox", "repo": "terraform-provider-brightbox",
"rev": "v2.0.7", "rev": "v2.1.1",
"sha256": "0p2gg24yvzghhsa5g1dqd27vkj6p2wyr3wxd964r5kz0sl80xh1y", "sha256": "0gscxy921h8wkr40pi86dfx62z2jl0kkvnkfw7ab7xswz63h1ilm",
"vendorSha256": "05min7zgl9q4qw8v5ivf352pg4i5jnv449jl129vdsqz7p2wrc6d", "vendorSha256": "1ij21y7lx6599b87vlz31mwykj0qam62w7776d6ar99pc0zl8r8k",
"version": "2.0.7" "version": "2.1.1"
}, },
"checkly": { "checkly": {
"owner": "checkly", "owner": "checkly",
@ -194,10 +194,10 @@
"owner": "cloudflare", "owner": "cloudflare",
"provider-source-address": "registry.terraform.io/cloudflare/cloudflare", "provider-source-address": "registry.terraform.io/cloudflare/cloudflare",
"repo": "terraform-provider-cloudflare", "repo": "terraform-provider-cloudflare",
"rev": "v3.8.0", "rev": "v3.9.1",
"sha256": "1splgbfjwfjx9qv5f526jk7yzfh24crw0xasx42jfia639m6s49c", "sha256": "02kyjf2mizvxv1a2fkw2wsk0gmilj83sj3qv1d7g0wxxkxx00nd2",
"vendorSha256": "0cf96s4xgx2idx7g40qhk16fwhdfnk1pcl6dy3cl2zr4afz5sky1", "vendorSha256": "167jafxr4g43y9gvqjq5z7vd9cyf15d69wbrdvqsfzj8sszqfq5l",
"version": "3.8.0" "version": "3.9.1"
}, },
"cloudfoundry": { "cloudfoundry": {
"owner": "cloudfoundry-community", "owner": "cloudfoundry-community",
@ -248,10 +248,10 @@
"owner": "poseidon", "owner": "poseidon",
"provider-source-address": "registry.terraform.io/poseidon/ct", "provider-source-address": "registry.terraform.io/poseidon/ct",
"repo": "terraform-provider-ct", "repo": "terraform-provider-ct",
"rev": "v0.9.1", "rev": "v0.9.2",
"sha256": "1d8q6ffh64v46r80vmbpsgmjw1vg6y26hpq3nz2h5mvqm0fqya9r", "sha256": "104j34b1m110fdya21k4rz03j1yba4a9cpm7hq13i8hc2diqjqnc",
"vendorSha256": "0zi64rki932x343iavwb7w5h5ripca3c2534mb91liym37vgkykv", "vendorSha256": "0qk83ppnwkwvj85dh9p0cv6a0nv8l8zlf4k74cy3m0bqym4ad0qk",
"version": "0.9.1" "version": "0.9.2"
}, },
"datadog": { "datadog": {
"owner": "DataDog", "owner": "DataDog",
@ -302,10 +302,10 @@
"owner": "dnsimple", "owner": "dnsimple",
"provider-source-address": "registry.terraform.io/dnsimple/dnsimple", "provider-source-address": "registry.terraform.io/dnsimple/dnsimple",
"repo": "terraform-provider-dnsimple", "repo": "terraform-provider-dnsimple",
"rev": "v0.11.0", "rev": "v0.11.1",
"sha256": "0w5lz9lz5jfvpn87d7xzpjimvh6wnwqfwk6masrhiw88h10pgd7n", "sha256": "0jzw1kjykbka59kx30xm3qicjb6fdmm5l4f2dr8g7nxdaqnxri0s",
"vendorSha256": "06wggchs5khzyg6fd9s0qj76awnw28s7l278awanqimqgqajijkj", "vendorSha256": "06wggchs5khzyg6fd9s0qj76awnw28s7l278awanqimqgqajijkj",
"version": "0.11.0" "version": "0.11.1"
}, },
"docker": { "docker": {
"owner": "kreuzwerker", "owner": "kreuzwerker",
@ -411,20 +411,20 @@
"provider-source-address": "registry.terraform.io/hashicorp/google", "provider-source-address": "registry.terraform.io/hashicorp/google",
"proxyVendor": true, "proxyVendor": true,
"repo": "terraform-provider-google", "repo": "terraform-provider-google",
"rev": "v4.10.0", "rev": "v4.11.0",
"sha256": "19hxlvahjk0pfixykb4vfg2gyf85p6zrj0z6wfm1q3ddk35rka4z", "sha256": "1n3d4qxy2x69ryphqwyih7iz6slx5z1plyyzdcd7pxlaw8x8hpgm",
"vendorSha256": "0l6f0zi3abkz4hn23bbp009bp43mpwsz9sqk3d75jpxgxi7c7f33", "vendorSha256": "0g23ngr1rfh53255svg1qg5lyljb3gnai6ia8yik5b8pvyqcw4l7",
"version": "4.10.0" "version": "4.11.0"
}, },
"google-beta": { "google-beta": {
"owner": "hashicorp", "owner": "hashicorp",
"provider-source-address": "registry.terraform.io/hashicorp/google-beta", "provider-source-address": "registry.terraform.io/hashicorp/google-beta",
"proxyVendor": true, "proxyVendor": true,
"repo": "terraform-provider-google-beta", "repo": "terraform-provider-google-beta",
"rev": "v4.10.0", "rev": "v4.11.0",
"sha256": "01w0p1b4q2h7rmyq7fmh1zr8h22gwlws8w58ggbnah2xvn3jzvk3", "sha256": "0ylfx8ks5azicnckkx3lrawf1gpsq95qsng550p51gr1wna1aqmy",
"vendorSha256": "0l6f0zi3abkz4hn23bbp009bp43mpwsz9sqk3d75jpxgxi7c7f33", "vendorSha256": "0g23ngr1rfh53255svg1qg5lyljb3gnai6ia8yik5b8pvyqcw4l7",
"version": "4.10.0" "version": "4.11.0"
}, },
"grafana": { "grafana": {
"owner": "grafana", "owner": "grafana",
@ -466,10 +466,10 @@
"owner": "heroku", "owner": "heroku",
"provider-source-address": "registry.terraform.io/heroku/heroku", "provider-source-address": "registry.terraform.io/heroku/heroku",
"repo": "terraform-provider-heroku", "repo": "terraform-provider-heroku",
"rev": "v5.0.0-beta.1", "rev": "v5.0.0",
"sha256": "1dskbwa10dmj5fdw0wplby6hhcvxri68jlg34966mqx8pas3zsxy", "sha256": "1dskbwa10dmj5fdw0wplby6hhcvxri68jlg34966mqx8pas3zsxy",
"vendorSha256": "13f7841i14b5n5iabqky7694mbqg95f0cvaygapczki5lf2j7fqy", "vendorSha256": "13f7841i14b5n5iabqky7694mbqg95f0cvaygapczki5lf2j7fqy",
"version": "5.0.0-beta.1" "version": "5.0.0"
}, },
"http": { "http": {
"owner": "hashicorp", "owner": "hashicorp",
@ -511,10 +511,10 @@
"owner": "IBM-Cloud", "owner": "IBM-Cloud",
"provider-source-address": "registry.terraform.io/IBM-Cloud/ibm", "provider-source-address": "registry.terraform.io/IBM-Cloud/ibm",
"repo": "terraform-provider-ibm", "repo": "terraform-provider-ibm",
"rev": "v1.38.2", "rev": "v1.39.0-beta0",
"sha256": "1c6mm57apk93s18747h8ywvq5463qwapinr735ci2pmb2655cs85", "sha256": "1ms6jr2f112qxslv2lapvngkmg2mlf0jfjnpx6rxqzclq0xcjqn1",
"vendorSha256": "034k4sjbd5b64v4xvxgrhg3n8dchv41fk5vbcmk29rppi6pjc0yg", "vendorSha256": "0g6bm2pvdvj24yw26d2w8d7nr9izzqwrwzdz4y9dbr426xycrgy5",
"version": "1.38.2" "version": "1.39.0-beta0"
}, },
"icinga2": { "icinga2": {
"owner": "Icinga", "owner": "Icinga",
@ -674,10 +674,10 @@
"owner": "equinix", "owner": "equinix",
"provider-source-address": "registry.terraform.io/equinix/metal", "provider-source-address": "registry.terraform.io/equinix/metal",
"repo": "terraform-provider-metal", "repo": "terraform-provider-metal",
"rev": "v3.2.1", "rev": "v3.2.2",
"sha256": "0j07rras4m6i668lkvvn3rq5l67qfzk9bmpijsfk3my0zsgv8nvw", "sha256": "193897farpyb3zxz6p79mfaf04ccin7xdirbkclqb3x3c56jy0xi",
"vendorSha256": null, "vendorSha256": null,
"version": "3.2.1" "version": "3.2.2"
}, },
"minio": { "minio": {
"owner": "aminueza", "owner": "aminueza",
@ -701,10 +701,10 @@
"owner": "NaverCloudPlatform", "owner": "NaverCloudPlatform",
"provider-source-address": "registry.terraform.io/NaverCloudPlatform/ncloud", "provider-source-address": "registry.terraform.io/NaverCloudPlatform/ncloud",
"repo": "terraform-provider-ncloud", "repo": "terraform-provider-ncloud",
"rev": "v2.2.2", "rev": "v2.2.5",
"sha256": "0f2q0k04bkkqw6qsjfpbmrqgxn504ys0ffg2ids82vzxjsmfpi1n", "sha256": "0hspr6iv69izg1y8s1sj24kgy562jggn9nwqgprn4zca7vsrl29r",
"vendorSha256": "1799i4d32y22v6ywwklm3ncmzir5hg8cw23jzb8d28xiw8vswhs4", "vendorSha256": "1hiz0pphl4jxfglxj28rm58ih7c5dabhd2gaig23hcqvczhf1wd2",
"version": "2.2.2" "version": "2.2.5"
}, },
"netlify": { "netlify": {
"owner": "AegirHealth", "owner": "AegirHealth",
@ -719,10 +719,10 @@
"owner": "newrelic", "owner": "newrelic",
"provider-source-address": "registry.terraform.io/newrelic/newrelic", "provider-source-address": "registry.terraform.io/newrelic/newrelic",
"repo": "terraform-provider-newrelic", "repo": "terraform-provider-newrelic",
"rev": "v2.36.2", "rev": "v2.37.0",
"sha256": "0gz6yynpmzv2hs85y6a6kfsci1hx25gikbmq35w9kvv91gn7vd22", "sha256": "1gx2sxm39ap84anaiffdacqqrgagymgxywxc0rnc7zkwvziazhw9",
"vendorSha256": "1i7zgdh63q8m6267k51xn711vhjx5zyq2xgnfr7i38xczrw6rcsq", "vendorSha256": "130ddc9qs6i8l2ka76n9rxwsz71h0wywbnjd3p2xbkkpqsg66lbz",
"version": "2.36.2" "version": "2.37.0"
}, },
"nomad": { "nomad": {
"owner": "hashicorp", "owner": "hashicorp",
@ -765,19 +765,19 @@
"owner": "nutanix", "owner": "nutanix",
"provider-source-address": "registry.terraform.io/nutanix/nutanix", "provider-source-address": "registry.terraform.io/nutanix/nutanix",
"repo": "terraform-provider-nutanix", "repo": "terraform-provider-nutanix",
"rev": "v1.2.2", "rev": "v1.3.0",
"sha256": "08y5hxp28z5mhrbfs0mdwdj694k26gwl0qb80dggmmdil704ajwk", "sha256": "1q38f6a8d607sdhrr6xcqmdsvm625v7y36xma137bqv09g3xga0s",
"vendorSha256": "0s7yi00zskc4j7vnqjfd64pxk2bpk1cqmqgiyxfh7aqqzg22yqkz", "vendorSha256": "0qkd9pnidf4rhbk7p4jkpcdq36g8lp8pwpsf3hydy6xh072iy4id",
"version": "1.2.2" "version": "1.3.0"
}, },
"oci": { "oci": {
"owner": "terraform-providers", "owner": "terraform-providers",
"provider-source-address": "registry.terraform.io/hashicorp/oci", "provider-source-address": "registry.terraform.io/hashicorp/oci",
"repo": "terraform-provider-oci", "repo": "terraform-provider-oci",
"rev": "v4.63.0", "rev": "v4.64.0",
"sha256": "03hdq6024ch3rx20vgqh3xix6dn0chwgiz1z68f22h4gqzj5p955", "sha256": "1x8lhyr356j2gihgfy8563n75aqb2prwvdlnkxmvlbqcp10rnggd",
"vendorSha256": null, "vendorSha256": null,
"version": "4.63.0" "version": "4.64.0"
}, },
"okta": { "okta": {
"owner": "okta", "owner": "okta",
@ -811,10 +811,10 @@
"owner": "OpenNebula", "owner": "OpenNebula",
"provider-source-address": "registry.terraform.io/OpenNebula/opennebula", "provider-source-address": "registry.terraform.io/OpenNebula/opennebula",
"repo": "terraform-provider-opennebula", "repo": "terraform-provider-opennebula",
"rev": "v0.4.0", "rev": "v0.4.1",
"sha256": "1r6v1ksis0h9mairvn9mwk49dkn6s6ixi8j0jaz9w173lx5si917", "sha256": "13z14p8zkrmffai5pdiwi33xsznan015nl9b9cfyxi1is4m5i41m",
"vendorSha256": "0qyzavig8wnnjzm63pny5azywqyrnjm978yg5y0sr6zw8wghjd15", "vendorSha256": "0qyzavig8wnnjzm63pny5azywqyrnjm978yg5y0sr6zw8wghjd15",
"version": "0.4.0" "version": "0.4.1"
}, },
"openstack": { "openstack": {
"owner": "terraform-provider-openstack", "owner": "terraform-provider-openstack",
@ -829,19 +829,19 @@
"owner": "opentelekomcloud", "owner": "opentelekomcloud",
"provider-source-address": "registry.terraform.io/opentelekomcloud/opentelekomcloud", "provider-source-address": "registry.terraform.io/opentelekomcloud/opentelekomcloud",
"repo": "terraform-provider-opentelekomcloud", "repo": "terraform-provider-opentelekomcloud",
"rev": "v1.27.5-alpha.1", "rev": "v1.27.5",
"sha256": "17ws855280bi1ps6q0rdcylsbjmb1m4wvv7m9gxxlryq0gkjdsw2", "sha256": "04kr3319xpzabajzav3hl2ibws2lj7x2naqfc9gpdy7j06rhhkaa",
"vendorSha256": "1qxh3nf6c0ii6wm8vch1bks3gqi2gfzi97szspbcn0z8kdhic07s", "vendorSha256": "1lyz6lb4ciddr3d2zh5hfdfvhdacs13xynkpsjcjyqqfhayxqavg",
"version": "1.27.5-alpha.1" "version": "1.27.5"
}, },
"opsgenie": { "opsgenie": {
"owner": "opsgenie", "owner": "opsgenie",
"provider-source-address": "registry.terraform.io/opsgenie/opsgenie", "provider-source-address": "registry.terraform.io/opsgenie/opsgenie",
"repo": "terraform-provider-opsgenie", "repo": "terraform-provider-opsgenie",
"rev": "v0.6.9", "rev": "v0.6.10",
"sha256": "1wi0wdz0xh8p1znbb545xyzhg191d0xb1pwqqrxl5gz5w009dcz6", "sha256": "1kxq66skal10nx5mgk8qj15chk01fi1pjamgakr1j56m1dgw03cw",
"vendorSha256": null, "vendorSha256": null,
"version": "0.6.9" "version": "0.6.10"
}, },
"oraclepaas": { "oraclepaas": {
"owner": "terraform-providers", "owner": "terraform-providers",
@ -1018,10 +1018,10 @@
"owner": "spotinst", "owner": "spotinst",
"provider-source-address": "registry.terraform.io/spotinst/spotinst", "provider-source-address": "registry.terraform.io/spotinst/spotinst",
"repo": "terraform-provider-spotinst", "repo": "terraform-provider-spotinst",
"rev": "v1.66.0", "rev": "v1.68.0",
"sha256": "0rkh9vf2k9iynvpkzavca23jxi96dz7b7yc0h9hlhi5bmp5b337a", "sha256": "0llyy4rskspw4cy8jdbk175rli9s53mabj4b9yarm7apg17ai399",
"vendorSha256": "19zhyib256sp1b6zv281lw5mry8g865n4nrxc6x9gkpwg1m0z87z", "vendorSha256": "0j0airkc1p0y9w1w40fbwxmymf8rbal2ycrkp31x1c06f8s4lhzm",
"version": "1.66.0" "version": "1.68.0"
}, },
"stackpath": { "stackpath": {
"owner": "stackpath", "owner": "stackpath",
@ -1063,10 +1063,10 @@
"owner": "tencentcloudstack", "owner": "tencentcloudstack",
"provider-source-address": "registry.terraform.io/tencentcloudstack/tencentcloud", "provider-source-address": "registry.terraform.io/tencentcloudstack/tencentcloud",
"repo": "terraform-provider-tencentcloud", "repo": "terraform-provider-tencentcloud",
"rev": "v1.61.6", "rev": "v1.61.8",
"sha256": "10zx8gcvcadc184d3lfmx4ipi54z3a1xa48dki3wibwmvg5nw1mf", "sha256": "1a8p141m3kcr1irl9z3vpjs6zkgqp003z7m52yskapv4df8d6skz",
"vendorSha256": null, "vendorSha256": null,
"version": "1.61.6" "version": "1.61.8"
}, },
"tfe": { "tfe": {
"owner": "hashicorp", "owner": "hashicorp",
@ -1136,10 +1136,10 @@
"owner": "hashicorp", "owner": "hashicorp",
"provider-source-address": "registry.terraform.io/hashicorp/vault", "provider-source-address": "registry.terraform.io/hashicorp/vault",
"repo": "terraform-provider-vault", "repo": "terraform-provider-vault",
"rev": "v3.2.1", "rev": "v3.3.0",
"sha256": "0y8vvc5mckzjs24x36rihl1vdvh9k2kazn5lsqvq6apv36kg5vw4", "sha256": "1b36c2f06fglf6bs6s4ly73vk1cm7zd1ci13df5wp0f2xxib3szk",
"vendorSha256": "0j5kz5jvyds701gq89v8dcsvm67kbfxxgzjvmn74ms3nrkx8hr84", "vendorSha256": "0x9cyxnaqkfpzx9ml7qqhl98jslpy1v965kd11kgcvqpr9lmc77x",
"version": "3.2.1" "version": "3.3.0"
}, },
"vcd": { "vcd": {
"owner": "vmware", "owner": "vmware",

View file

@ -12,7 +12,7 @@
"emoji-js-clean": "^4.0.0", "emoji-js-clean": "^4.0.0",
"emoji-mart": "^3.0.0", "emoji-mart": "^3.0.0",
"emoji-regex": "^9.2.2", "emoji-regex": "^9.2.2",
"error-stack-parser": "^2.0.6", "error-stack-parser": "2.0.6",
"filesize": "^8.0.6", "filesize": "^8.0.6",
"mapbox-gl": "^1.12.0", "mapbox-gl": "^1.12.0",
"mime-types": "^2.1.31", "mime-types": "^2.1.31",

View file

@ -0,0 +1,61 @@
{ lib, stdenv, fetchFromGitHub, cmake, zlib, libglvnd, libGLU, wrapQtAppsHook
, sshSupport ? true, openssl, libssh
, tetgenSupport ? true, tetgen
, ffmpegSupport ? true, ffmpeg
, dicomSupport ? false, dcmtk
, withModelRepo ? true
, withCadFeatures ? false
}:
stdenv.mkDerivation rec {
pname = "febio-studio";
version = "1.6.1";
src = fetchFromGitHub {
owner = "febiosoftware";
repo = "FEBioStudio";
rev = "v${version}";
sha256 = "0r6pg49i0q9idp7pjymj7mlxd63qjvmfvg0l7fmx87y1yd2hfw4h";
};
patches = [
./febio-studio-cmake.patch # Fix Errors that appear with certain Cmake flags
];
cmakeFlags = [
"-DQt_Ver=5"
"-DNOT_FIRST=On"
"-DOpenGL_GL_PREFERENCE=GLVND"
]
++ lib.optional sshSupport "-DUSE_SSH=On"
++ lib.optional tetgenSupport "-DUSE_TETGEN=On"
++ lib.optional ffmpegSupport "-DUSE_FFMPEG=On"
++ lib.optional dicomSupport "-DUSE_DICOM=On"
++ lib.optional withModelRepo "-DMODEL_REPO=On"
++ lib.optional withCadFeatures "-DCAD_FEATURES=On"
;
installPhase = ''
runHook preInstall
mkdir -p $out/
cp -R bin $out/
runHook postInstall
'';
nativeBuildInputs = [ cmake wrapQtAppsHook ];
buildInputs = [ zlib libglvnd libGLU openssl libssh ]
++ lib.optional sshSupport openssl
++ lib.optional tetgenSupport tetgen
++ lib.optional ffmpegSupport ffmpeg
++ lib.optional dicomSupport dcmtk
;
meta = with lib; {
description = "FEBio Suite Solver";
license = with licenses; [ mit ];
homepage = "https://febio.org/";
platforms = platforms.unix;
maintainers = with maintainers; [ Scriptkiddi ];
};
}

View file

@ -0,0 +1,38 @@
diff --git a/FEBioStudio/RepositoryPanel.cpp b/FEBioStudio/RepositoryPanel.cpp
index 382db303..314cdc68 100644
--- a/FEBioStudio/RepositoryPanel.cpp
+++ b/FEBioStudio/RepositoryPanel.cpp
@@ -1364,10 +1364,10 @@ void CRepositoryPanel::loadingPageProgress(qint64 bytesSent, qint64 bytesTotal)
#else
-CRepositoryPanel::CRepositoryPanel(CMainWindow* pwnd, QWidget* parent){}
+CRepositoryPanel::CRepositoryPanel(CMainWindow* pwnd, QDockWidget* parent){}
CRepositoryPanel::~CRepositoryPanel(){}
void CRepositoryPanel::OpenLink(const QString& link) {}
-// void CRepositoryPanel::Raise() {}
+void CRepositoryPanel::Raise() {}
void CRepositoryPanel::SetModelList(){}
void CRepositoryPanel::ShowMessage(QString message) {}
void CRepositoryPanel::ShowWelcomeMessage(QByteArray messages) {}
@@ -1396,6 +1396,7 @@ void CRepositoryPanel::on_actionSearch_triggered() {}
void CRepositoryPanel::on_actionClearSearch_triggered() {}
void CRepositoryPanel::on_actionDeleteRemote_triggered() {}
void CRepositoryPanel::on_actionModify_triggered() {}
+void CRepositoryPanel::on_actionCopyPermalink_triggered() {}
void CRepositoryPanel::on_treeWidget_itemSelectionChanged() {}
void CRepositoryPanel::on_treeWidget_customContextMenuRequested(const QPoint &pos) {}
void CRepositoryPanel::DownloadItem(CustomTreeWidgetItem *item) {}
diff --git a/FEBioStudio/WzdUpload.cpp b/FEBioStudio/WzdUpload.cpp
index 5ce74346..20062e06 100644
--- a/FEBioStudio/WzdUpload.cpp
+++ b/FEBioStudio/WzdUpload.cpp
@@ -1183,7 +1183,7 @@ void CWzdUpload::on_saveJson_triggered()
getProjectJson(&projectInfo);
QFile file(filedlg.selectedFiles()[0]);
- file.open(QIODeviceBase::WriteOnly);
+ file.open(QIODevice::WriteOnly);
file.write(projectInfo);
file.close();
}

View file

@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
''; '';
homepage = "http://getdp.info/"; homepage = "http://getdp.info/";
license = licenses.gpl2Plus; license = licenses.gpl2Plus;
maintainers = with maintainers; [ wucke13 ]; maintainers = with maintainers; [ ];
platforms = platforms.linux; platforms = platforms.linux;
}; };
} }

View file

@ -7,14 +7,14 @@
python3.pkgs.buildPythonApplication rec { python3.pkgs.buildPythonApplication rec {
pname = "cwltool"; pname = "cwltool";
version = "3.1.20220217190813"; version = "3.1.20220217222804";
format = "setuptools"; format = "setuptools";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "common-workflow-language"; owner = "common-workflow-language";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "sha256-2Zd1Z/Tv8wAiqlaYkZRflsUVl8OAOXdufq9k4j4L7f0="; sha256 = "sha256-7zID/lChliEJxu6Dawz9DNP2YvSwtMo8G+ooXNh2Phc=";
}; };
postPatch = '' postPatch = ''

View file

@ -30,7 +30,10 @@ stdenv.mkDerivation rec {
postPatch = '' postPatch = ''
substituteInPlace src/droidcam.c \ substituteInPlace src/droidcam.c \
--replace "/opt/droidcam-icon.png" "$out/share/icons/hicolor/droidcam.png" --replace "/opt/droidcam-icon.png" "$out/share/icons/hicolor/96x96/apps/droidcam.png"
substituteInPlace droidcam.desktop \
--replace "/opt/droidcam-icon.png" "droidcam" \
--replace "/usr/local/bin/droidcam" "droidcam"
''; '';
preBuild = '' preBuild = ''
@ -42,7 +45,8 @@ stdenv.mkDerivation rec {
runHook preInstall runHook preInstall
install -Dt $out/bin droidcam droidcam-cli install -Dt $out/bin droidcam droidcam-cli
install -D icon2.png $out/share/icons/hicolor/droidcam.png install -D icon2.png $out/share/icons/hicolor/96x96/apps/droidcam.png
install -D droidcam.desktop $out/share/applications/droidcam.desktop
runHook postInstall runHook postInstall
''; '';

View file

@ -7,11 +7,11 @@
buildPythonApplication rec { buildPythonApplication rec {
pname = "ffmpeg-normalize"; pname = "ffmpeg-normalize";
version = "1.22.5"; version = "1.22.6";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "20250fc28ce04636580577b2864e54e6bea9daf68e2d8afaeb78e131b182cd28"; sha256 = "sha256-aPPRzNotm3ATL0lEq+49lrlrHoNp+Dm1Im5jYF4E1vY=";
}; };
propagatedBuildInputs = [ ffmpeg ffmpeg-progress-yield ]; propagatedBuildInputs = [ ffmpeg ffmpeg-progress-yield ];

View file

@ -2,38 +2,52 @@
, stdenv , stdenv
, fetchurl , fetchurl
, glib , glib
, gnome
, librest , librest
, libsoup , libsoup
, pkg-config , pkg-config
, gobject-introspection
}: }:
with lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "libgovirt"; pname = "libgovirt";
version = "0.3.8"; version = "0.3.8";
src = fetchurl { outputs = [ "out" "dev" ];
url = "https://download.gnome.org/sources/libgovirt/0.3/${pname}-${version}.tar.xz";
sha256 = "sha256-HckYYikXa9+p8l/Y+oLAoFi2pgwcyAfHUH7IqTwPHfg=";
};
enableParallelBuilding = true; src = fetchurl {
url = "mirror://gnome/sources/libgovirt/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "HckYYikXa9+p8l/Y+oLAoFi2pgwcyAfHUH7IqTwPHfg=";
};
nativeBuildInputs = [ nativeBuildInputs = [
pkg-config pkg-config
gobject-introspection
]; ];
propagatedBuildInputs = [ buildInputs = [
librest
libsoup libsoup
]; ];
meta = { propagatedBuildInputs = [
glib
librest
];
enableParallelBuilding = true;
passthru = {
updateScript = gnome.updateScript {
packageName = pname;
versionPolicy = "none";
};
};
meta = with lib; {
homepage = "https://gitlab.gnome.org/GNOME/libgovirt"; homepage = "https://gitlab.gnome.org/GNOME/libgovirt";
description = "GObject wrapper for the oVirt REST API"; description = "GObject wrapper for the oVirt REST API";
maintainers = [ maintainers.amarshall ]; maintainers = [ maintainers.amarshall ];
platforms = platforms.linux; platforms = platforms.linux;
license = licenses.lgpl21; license = licenses.lgpl21Plus;
}; };
} }

View file

@ -8,16 +8,16 @@
buildGoModule rec { buildGoModule rec {
pname = "lima"; pname = "lima";
version = "0.8.2"; version = "0.8.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "lima-vm"; owner = "lima-vm";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-kz+gyl7BuC0G97Lj3T1a859TYhwfAGB1hTiYXq66wwY="; sha256 = "sha256-hzoc5zbdnHHTY04aGn+77lHvPh+KNOPoZmW19YIZHv8=";
}; };
vendorSha256 = "sha256-x0VmidGV9TsGOyL+OTUHXOxJ2cgvIqph56MrwfR2SP4="; vendorSha256 = "sha256-eJnwXXYWMaIfM8SW4MtmG4wsPA/9sx4j2AkOd6GpnsY=";
nativeBuildInputs = [ makeWrapper installShellFiles ]; nativeBuildInputs = [ makeWrapper installShellFiles ];

View file

@ -20,6 +20,6 @@ in fetchFromGitHub {
description = "A Persian/Arabic Open Source Font"; description = "A Persian/Arabic Open Source Font";
license = licenses.ofl; license = licenses.ofl;
platforms = platforms.all; platforms = platforms.all;
maintainers = [ maintainers.linarcx ]; maintainers = [ ];
}; };
} }

View file

@ -20,6 +20,6 @@ in fetchFromGitHub {
description = "A Persian (Farsi) Font - فونت (قلم) فارسی گندم"; description = "A Persian (Farsi) Font - فونت (قلم) فارسی گندم";
license = licenses.ofl; license = licenses.ofl;
platforms = platforms.all; platforms = platforms.all;
maintainers = [ maintainers.linarcx ]; maintainers = [ ];
}; };
} }

View file

@ -1,7 +1,7 @@
{ lib, fetchzip }: { lib, fetchzip }:
let let
version = "6.001"; version = "6.101";
in fetchzip rec { in fetchzip rec {
name = "gentium-${version}"; name = "gentium-${version}";
@ -23,7 +23,7 @@ in fetchzip rec {
-d $out/share/doc/${name}/documentation -d $out/share/doc/${name}/documentation
''; '';
sha256 = "sha256-DeoMTJ2nhTBtNQYG55lIMvnulqpk/KTeIqgpb5eiTIA="; sha256 = "sha256-+T5aUlqQYDWRp4/4AZzsREHgjAnOeUB6qn1GAI0A5hE=";
meta = with lib; { meta = with lib; {
homepage = "https://software.sil.org/gentium/"; homepage = "https://software.sil.org/gentium/";

View file

@ -21,6 +21,6 @@ in fetchFromGitHub {
# License information is unavailable. # License information is unavailable.
license = licenses.unfree; license = licenses.unfree;
platforms = platforms.all; platforms = platforms.all;
maintainers = [ maintainers.linarcx ]; maintainers = [ ];
}; };
} }

View file

@ -21,6 +21,6 @@ in fetchFromGitHub {
description = "A multi-script display typeface for popular culture"; description = "A multi-script display typeface for popular culture";
license = licenses.ofl; license = licenses.ofl;
platforms = platforms.all; platforms = platforms.all;
maintainers = [ maintainers.linarcx ]; maintainers = [ ];
}; };
} }

View file

@ -20,6 +20,6 @@ in fetchFromGitHub {
description = "A Persian (Farsi) Font - قلم (فونت) فارسی ناهید"; description = "A Persian (Farsi) Font - قلم (فونت) فارسی ناهید";
license = licenses.free; license = licenses.free;
platforms = platforms.all; platforms = platforms.all;
maintainers = [ maintainers.linarcx ]; maintainers = [ ];
}; };
} }

View file

@ -20,6 +20,6 @@ in fetchzip {
homepage = "https://github.com/naver/nanumfont"; homepage = "https://github.com/naver/nanumfont";
license = licenses.ofl; license = licenses.ofl;
platforms = platforms.all; platforms = platforms.all;
maintainers = with maintainers; [ linarcx ]; maintainers = with maintainers; [ ];
}; };
} }

View file

@ -20,6 +20,6 @@ in fetchFromGitHub {
description = "Persian/Arabic Open Source Font"; description = "Persian/Arabic Open Source Font";
license = licenses.ofl; license = licenses.ofl;
platforms = platforms.all; platforms = platforms.all;
maintainers = [ maintainers.linarcx ]; maintainers = [ ];
}; };
} }

View file

@ -21,6 +21,6 @@ in fetchFromGitHub {
description = "A Persian (Farsi) Font - فونت ( قلم ) فارسی پرستو"; description = "A Persian (Farsi) Font - فونت ( قلم ) فارسی پرستو";
license = licenses.ofl; license = licenses.ofl;
platforms = platforms.all; platforms = platforms.all;
maintainers = [ maintainers.linarcx ]; maintainers = [ ];
}; };
} }

View file

@ -21,6 +21,6 @@ in fetchFromGitHub {
description = "A Persian (farsi) Font - فونت (قلم) فارسی ساحل"; description = "A Persian (farsi) Font - فونت (قلم) فارسی ساحل";
license = licenses.ofl; license = licenses.ofl;
platforms = platforms.all; platforms = platforms.all;
maintainers = [ maintainers.linarcx ]; maintainers = [ ];
}; };
} }

View file

@ -21,6 +21,6 @@ in fetchFromGitHub {
description = "A Persian (Farsi) Font - فونت (قلم) فارسی صمیم"; description = "A Persian (Farsi) Font - فونت (قلم) فارسی صمیم";
license = licenses.ofl; license = licenses.ofl;
platforms = platforms.all; platforms = platforms.all;
maintainers = [ maintainers.linarcx ]; maintainers = [ ];
}; };
} }

View file

@ -21,6 +21,6 @@ in fetchFromGitHub {
description = "A Persian (Farsi) Font - فونت (قلم) فارسی شبنم"; description = "A Persian (Farsi) Font - فونت (قلم) فارسی شبنم";
license = licenses.ofl; license = licenses.ofl;
platforms = platforms.all; platforms = platforms.all;
maintainers = [ maintainers.linarcx ]; maintainers = [ ];
}; };
} }

View file

@ -21,6 +21,6 @@ in fetchFromGitHub {
description = "A Persian (Farsi) Font - قلم (فونت) فارسی وزیر"; description = "A Persian (Farsi) Font - قلم (فونت) فارسی وزیر";
license = licenses.ofl; license = licenses.ofl;
platforms = platforms.all; platforms = platforms.all;
maintainers = [ maintainers.linarcx ]; maintainers = [ ];
}; };
} }

View file

@ -0,0 +1,125 @@
{ lib, stdenv, fetchFromGitLab, bc, librsvg, xcursorgen }:
let
dimensions = {
color = [ "Black" "Blue" "Green" "Orange" "Red" "White" ];
opacity = [ "" "Opaque_" ]; # Translucent or opaque.
thickness = [ "" "Slim_" ]; # Thick or slim edges.
handedness = [ "" "LH_" ]; # Right- or left-handed.
};
product = lib.cartesianProductOfSets dimensions;
variantName =
{ color, opacity, thickness, handedness }:
"${handedness}${opacity}${thickness}${color}";
variants =
# (The order of this list is already good looking enough to show in the
# meta.longDescription.)
map variantName product;
in
stdenv.mkDerivation rec {
pname = "comixcursors";
version = "0.9.2";
src = fetchFromGitLab {
owner = "limitland";
repo = "comixcursors";
# https://gitlab.com/limitland/comixcursors/-/issues/3
rev = "8c327c8514ab3a352583605c1ddcb7eb3d1d302b";
sha256 = "0bpxqw4izj7m0zb9lnxnmsjicfw60ppkdyv5nwrrz4x865wb296a";
};
nativeBuildInputs = [ bc librsvg xcursorgen ];
patches = [ ./makefile-shell-var.patch ];
postPatch = ''
patchShebangs ./install-all ./bin/
'';
# install-all is used instead of the directions in upstream's INSTALL file,
# because using its Makefile directly is broken. Upstream itself seems to use
# its build-distribution script instead, which also uses install-all, but we
# do not use it because it does extra things for other distros.
#
# When not all of the variants, i.e. only a smaller subset of them, are
# desired (i.e. when a subset of outputs are chosen), install-all will still
# build all of them. While upstream appears to provide old functionality for
# building only a subset, it is broken and we do not use it. With prebuilt
# substitutions, installers of this package will get only the outputs they
# chose.
buildPhase = ''
ICONSDIR=$TMP/staged ./install-all
'';
installPhase = ''
for outputName in $outputs ; do
if [ $outputName != out ]; then
local outputDir=''${!outputName};
local iconsDir=$outputDir/share/icons
local cursorName=$(tr _ - <<<"$outputName")
mkdir -p $iconsDir
cp -r -d $TMP/staged/ComixCursors-$cursorName $iconsDir
unset outputDir iconsDir cursorName
fi
done
# Need this directory (empty) to prevent the builder scripts from breaking.
mkdir -p $out
'';
outputs = let
default = "Opaque_Black";
in
# Have the most-traditional variant be the default output (as the first).
# Even with outputsToInstall=[], the default/first still has an effect on
# some Nix tools (e.g. nix-build).
[ default ] ++ (lib.remove default variants)
# Need a dummy "out" output to prevent the builder scripts from breaking.
++ [ "out" ];
# No default output (to the extent possible). Instead, the outputs'
# attributes are used to choose which variant(s) to have.
outputsToInstall = [];
meta = with lib; {
description = "The Comix Cursors mouse themes";
longDescription = ''
There are many (${toString ((length outputs) - 1)}) variants of color,
opacity, edge thickness, and right- or left-handedness, for this cursor
theme. This package's derivation has an output for each of these
variants, named following the upstream convention, and the attribute for
an output must be used to install a variant. E.g.:
<programlisting language="nix">
environment.systemPackages = [
comixcursors.Blue
comixcursors.Opaque_Orange
comixcursors.Slim_Red
comixcursors.Opaque_Slim_White
comixcursors.LH_Green
comixcursors.LH_Opaque_Black
comixcursors.LH_Slim_Orange
comixcursors.LH_Opaque_Slim_Blue
];
</programlisting>
Attempting to use just <literal>comixcursors</literal>, i.e. without an
output attribute, will not install any variants. To install all the
variants, use <literal>comixcursors.all</literal> (which is a list), e.g.:
<programlisting language="nix">
environment.systemPackages = comixcursors.all ++ [...];
</programlisting>
The complete list of output attributes is:
<programlisting>
${concatStringsSep "\n" variants}
</programlisting>
'';
homepage = "https://gitlab.com/limitland/comixcursors";
changelog = "https://gitlab.com/limitland/comixcursors/-/blob/HEAD/NEWS";
license = licenses.gpl3Plus;
maintainers = [ maintainers.DerickEddington ];
platforms = platforms.all;
};
}

View file

@ -0,0 +1,11 @@
--- a/Makefile
+++ b/Makefile
@@ -22,8 +22,6 @@
# Makefile for ComixCursors project.
-SHELL = /bin/bash
-
CURSORSNAME = ComixCursors
PACKAGENAME ?= ${CURSORSNAME}
SUMMARY ?= The original Comix Cursors

View file

@ -6,13 +6,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "flat-remix-gtk"; pname = "flat-remix-gtk";
version = "20220118"; version = "20220215";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "daniruiz"; owner = "daniruiz";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "sha256-FG/SQdMracnP9zlb6LtPAsATvKeX0WaWPwjbrR1ZNZM="; sha256 = "sha256-J9PAHQ/MbdDuX16ioQQnzZpIZs/NJVkJjLL4nfaeNkU=";
}; };
dontBuild = true; dontBuild = true;

View file

@ -9,13 +9,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "marwaita"; pname = "marwaita";
version = "12.1"; version = "13.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "darkomarko42"; owner = "darkomarko42";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "04im7va5xpi17yjkrc46m5bm9j55qq66br1xg8a2arm0j4i0bqsk"; sha256 = "sha256-aP/zPM7M8Oru/2AA8w6rKU/AVJJ0bAEC01C60yi2SbM=";
}; };
buildInputs = [ buildInputs = [

View file

@ -21,13 +21,13 @@ assert lib.assertMsg (unknownTweaks == [ ]) ''
stdenvNoCC.mkDerivation stdenvNoCC.mkDerivation
rec { rec {
pname = "orchis-theme"; pname = "orchis-theme";
version = "2021-12-13"; version = "2022-02-18";
src = fetchFromGitHub { src = fetchFromGitHub {
repo = "Orchis-theme"; repo = "Orchis-theme";
owner = "vinceliuice"; owner = "vinceliuice";
rev = version; rev = version;
sha256 = "sha256-PN2ucGMDzRv4v86X1zVIs9+GkbMWuja2WaSQLFvJYd0="; sha256 = "sha256-SqptW8DEDCB6LMHalRlf71TWK93gW+blbu6Q1Oommes=";
}; };
nativeBuildInputs = [ gtk3 sassc ]; nativeBuildInputs = [ gtk3 sassc ];

View file

@ -4,9 +4,9 @@
mkXfceDerivation { mkXfceDerivation {
category = "apps"; category = "apps";
pname = "xfce4-notifyd"; pname = "xfce4-notifyd";
version = "0.6.2"; version = "0.6.3";
sha256 = "sha256-Gomehef68+mOgGFDaH48jG51nbaV4ruN925h71w7FuE="; sha256 = "sha256-JcHxqKLl4F4FQv7lE64gWUorCvl5g5mSD+jEmj1ORfY=";
buildInputs = [ gtk3 glib libnotify libxfce4ui libxfce4util xfce4-panel xfconf ]; buildInputs = [ gtk3 glib libnotify libxfce4ui libxfce4util xfce4-panel xfconf ];

View file

@ -53,5 +53,6 @@ stdenv.mkDerivation rec {
license = licenses.mit; license = licenses.mit;
maintainers = with maintainers; [ luc65r ]; maintainers = with maintainers; [ luc65r ];
platforms = platforms.all; platforms = platforms.all;
broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/trunk/myrddin.x86_64-darwin
}; };
} }

View file

@ -33,5 +33,5 @@ with lib;
}; };
}).overrideAttrs(o: }).overrideAttrs(o:
let inherit (o) version; in { let inherit (o) version; in {
propagatedBuildInputs = [ equations ] ++ optional (versions.isGe "0.6" version) LibHyps; propagatedBuildInputs = [ equations ] ++ optional (versions.isGe "0.6" version || version == "dev") LibHyps;
}) })

View file

@ -2,10 +2,10 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "duktape"; pname = "duktape";
version = "2.6.0"; version = "2.7.0";
src = fetchurl { src = fetchurl {
url = "http://duktape.org/duktape-${version}.tar.xz"; url = "http://duktape.org/duktape-${version}.tar.xz";
sha256 = "19szwxzvl2g65fw95ggvb8h0ma5bd9vvnnccn59hwnc4dida1x4n"; sha256 = "sha256-kPjS+otVZ8aJmDDd7ywD88J5YLEayiIvoXqnrGE8KJA=";
}; };
nativeBuildInputs = [ validatePkgConfig ]; nativeBuildInputs = [ validatePkgConfig ];

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "avro-c++"; pname = "avro-c++";
version = "1.8.2"; version = "1.10.2";
src = fetchurl { src = fetchurl {
url = "mirror://apache/avro/avro-${version}/cpp/avro-cpp-${version}.tar.gz"; url = "mirror://apache/avro/avro-${version}/cpp/avro-cpp-${version}.tar.gz";
sha256 = "1ars58bfw83s8f1iqbhnqp4n9wc9cxsph0gs2a8k7r9fi09vja2k"; sha256 = "1qv2wxh5q2iq48m5g3xci9p05znzcl0v3314bhcsyr5bkpdjvzs1";
}; };
nativeBuildInputs = [ cmake python3 ]; nativeBuildInputs = [ cmake python3 ];

View file

@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
''; '';
homepage = "https://dqlite.io/"; homepage = "https://dqlite.io/";
license = licenses.asl20; license = licenses.asl20;
maintainers = with maintainers; [ joko wucke13 ]; maintainers = with maintainers; [ joko ];
platforms = platforms.linux; platforms = platforms.linux;
}; };
} }

View file

@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
description = "Jalali calendar is a small and portable free software library to manipulate date and time in Jalali calendar system"; description = "Jalali calendar is a small and portable free software library to manipulate date and time in Jalali calendar system";
homepage = "http://nongnu.org/jcal/"; homepage = "http://nongnu.org/jcal/";
license = licenses.gpl3; license = licenses.gpl3;
maintainers = [ maintainers.linarcx ]; maintainers = [ ];
platforms = platforms.all; platforms = platforms.all;
}; };
} }

View file

@ -4,7 +4,11 @@
, pkg-config , pkg-config
, glib , glib
, libsoup , libsoup
, libxml2
, gobject-introspection , gobject-introspection
, gtk-doc
, docbook-xsl-nons
, docbook_xml_dtd_412
, gnome , gnome
}: }:
@ -12,6 +16,8 @@ stdenv.mkDerivation rec {
pname = "rest"; pname = "rest";
version = "0.8.1"; version = "0.8.1";
outputs = [ "out" "dev" "devdoc" ];
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "0513aad38e5d3cedd4ae3c551634e3be1b9baaa79775e53b2dba9456f15b01c9"; sha256 = "0513aad38e5d3cedd4ae3c551634e3be1b9baaa79775e53b2dba9456f15b01c9";
@ -20,14 +26,19 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ nativeBuildInputs = [
pkg-config pkg-config
gobject-introspection gobject-introspection
gtk-doc
docbook-xsl-nons
docbook_xml_dtd_412
]; ];
buildInputs = [ propagatedBuildInputs = [
glib glib
libsoup libsoup
libxml2
]; ];
configureFlags = [ configureFlags = [
"--enable-gtk-doc"
# Remove when https://gitlab.gnome.org/GNOME/librest/merge_requests/2 is merged. # Remove when https://gitlab.gnome.org/GNOME/librest/merge_requests/2 is merged.
"--with-ca-certificates=/etc/ssl/certs/ca-certificates.crt" "--with-ca-certificates=/etc/ssl/certs/ca-certificates.crt"
]; ];

View file

@ -1,6 +1,7 @@
{ stdenv { stdenv
, lib , lib
, fetchFromGitHub , fetchFromGitHub
, fetchpatch
, perl , perl
, boost , boost
, rdkafka , rdkafka
@ -28,6 +29,14 @@ stdenv.mkDerivation rec {
makeFlags = [ "GEN_PKG_CONFIG=y" ]; makeFlags = [ "GEN_PKG_CONFIG=y" ];
patches = [
# Fix compatibility with Avro master branch
(fetchpatch {
url = "https://github.com/confluentinc/libserdes/commit/d7a355e712ab63ec77f6722fb5a9e8056e7416a2.patch";
sha256 = "14bdx075n4lxah63kp7phld9xqlz3pzs03yf3wbq4nmkgwac10dh";
})
];
postPatch = '' postPatch = ''
patchShebangs configure lds-gen.pl patchShebangs configure lds-gen.pl
''; '';

View file

@ -28,8 +28,9 @@ stdenv.mkDerivation rec {
doCheck = true; doCheck = true;
meta = { meta = {
description = "Implementation of the Sender Policy Framework for SMTP authorization"; description = "Implementation of the Sender Policy Framework for SMTP " +
homepage = "https://www.libspf2.org"; "authorization (Helsinki Systems fork)";
homepage = "https://github.com/helsinki-systems/libspf2";
license = with licenses; [ lgpl21Plus bsd2 ]; license = with licenses; [ lgpl21Plus bsd2 ];
maintainers = with maintainers; [ pacien ajs124 das_j ]; maintainers = with maintainers; [ pacien ajs124 das_j ];
platforms = platforms.all; platforms = platforms.all;

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "qpdf"; pname = "qpdf";
version = "10.4.0"; version = "10.6.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "qpdf"; owner = "qpdf";
repo = "qpdf"; repo = "qpdf";
rev = "release-qpdf-${version}"; rev = "release-qpdf-${version}";
sha256 = "sha256-IYXH1Pcd0eRzlbRouAB17wsCUGNuIlJfwJLbXiaC5dk="; hash = "sha256-+8bH7fKJ5uZRxKX/4nMkoZGFTxm2uJEXkb1wq5FrLWs=";
}; };
nativeBuildInputs = [ perl ]; nativeBuildInputs = [ perl ];

View file

@ -5,14 +5,14 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "1.02r5"; version = "1.02r6";
pname = "libhomfly"; pname = "libhomfly";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "miguelmarco"; owner = "miguelmarco";
repo = "libhomfly"; repo = "libhomfly";
rev = version; rev = version;
sha256 = "1szv8iwlhvmy3saigi15xz8vgch92p2lbsm6440v5s8vxj455bvd"; sha256 = "sha256-s1Hgy6S9+uREKsgjOVQdQfnds6oSLo5UWTrt5DJnY2s=";
}; };
buildInputs = [ buildInputs = [

View file

@ -74,6 +74,6 @@ stdenv.mkDerivation rec {
description = "Portable Extensible Toolkit for Scientific computation"; description = "Portable Extensible Toolkit for Scientific computation";
homepage = "https://www.mcs.anl.gov/petsc/index.html"; homepage = "https://www.mcs.anl.gov/petsc/index.html";
license = licenses.bsd2; license = licenses.bsd2;
maintainers = with maintainers; [ wucke13 cburstedde ]; maintainers = with maintainers; [ cburstedde ];
}; };
} }

View file

@ -200,7 +200,7 @@ let
}; };
manta = super.manta.override { manta = super.manta.override {
nativeBuildInputs = with pkgs; [ nodejs-12_x installShellFiles ]; nativeBuildInputs = with pkgs; [ nodejs-14_x installShellFiles ];
postInstall = '' postInstall = ''
# create completions, following upstream procedure https://github.com/joyent/node-manta/blob/v5.2.3/Makefile#L85-L91 # create completions, following upstream procedure https://github.com/joyent/node-manta/blob/v5.2.3/Makefile#L85-L91
completion_cmds=$(find ./bin -type f -printf "%f\n") completion_cmds=$(find ./bin -type f -printf "%f\n")

View file

@ -164,7 +164,7 @@
, "insect" , "insect"
, "intelephense" , "intelephense"
, "ionic" , "ionic"
, {"iosevka": "https://github.com/be5invis/Iosevka/archive/v11.0.1.tar.gz"} , {"iosevka": "https://github.com/be5invis/Iosevka/archive/v14.0.1.tar.gz"}
, "jake" , "jake"
, "javascript-typescript-langserver" , "javascript-typescript-langserver"
, "joplin" , "joplin"

File diff suppressed because it is too large Load diff

View file

@ -17,7 +17,7 @@
buildDunePackage rec { buildDunePackage rec {
pname = "torch"; pname = "torch";
version = "0.13"; version = "0.14";
useDune2 = true; useDune2 = true;
@ -27,7 +27,7 @@ buildDunePackage rec {
owner = "LaurentMazare"; owner = "LaurentMazare";
repo = "ocaml-${pname}"; repo = "ocaml-${pname}";
rev = version; rev = version;
sha256 = "0528h1mkrqbmbf7hy91dsnxcg0k55m3jgharr71c652xyd847yz7"; sha256 = "sha256:039anfvzsalbqi5cdp95bbixcwr2ngharihgd149hcr0wa47y700";
}; };
buildInputs = [ dune-configurator ]; buildInputs = [ dune-configurator ];

View file

@ -1,38 +1,27 @@
{ buildOctavePackage { buildOctavePackage
, lib , lib
, fetchurl , fetchFromGitHub
# Octave's Python (Python 3) # Octave's Python (Python 3)
, python , python
# Needed only to get the correct version of sympy needed
, python2Packages
}: }:
let let
# Need to use sympy 1.5.1 for https://github.com/cbm755/octsympy/issues/1023 pythonEnv = python.withPackages (ps: [
# It has been addressed, but not merged yet.
# In the meantime, we create a Python environment with Python 3, its mpmath
# version and sympy 1.5 from python2Packages.
pythonEnv = (let
overridenPython = let
packageOverrides = self: super: {
sympy = super.sympy.overridePythonAttrs (old: rec {
version = python2Packages.sympy.version;
src = python2Packages.sympy.src;
});
};
in python.override {inherit packageOverrides; self = overridenPython; };
in overridenPython.withPackages (ps: [
ps.sympy ps.sympy
ps.mpmath ps.mpmath
])); ]);
in buildOctavePackage rec { in buildOctavePackage rec {
pname = "symbolic"; pname = "symbolic";
version = "2.9.0"; version = "unstable-2021-10-16";
src = fetchurl { # https://github.com/cbm755/octsympy/issues/1023 has been resolved, however
url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz"; # a new release has not been made
sha256 = "1jr3kg9q6r4r4h3hiwq9fli6wsns73rqfzkrg25plha9195c97h8"; src = fetchFromGitHub {
owner = "cbm755";
repo = "octsympy";
rev = "5b58530f4ada78c759829ae703a0e5d9832c32d4";
sha256 = "sha256-n6P1Swjl4RfgxfLY0ZuN3pcL8PcoknA6yxbnw96OZ2k=";
}; };
propagatedBuildInputs = [ pythonEnv ]; propagatedBuildInputs = [ pythonEnv ];

View file

@ -11,7 +11,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "aio-georss-gdacs"; pname = "aio-georss-gdacs";
version = "0.5"; version = "0.6";
format = "setuptools"; format = "setuptools";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
@ -20,7 +20,7 @@ buildPythonPackage rec {
owner = "exxamalte"; owner = "exxamalte";
repo = "python-aio-georss-gdacs"; repo = "python-aio-georss-gdacs";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-CIQoQRk5KIPEa/Y/7C1NPctuHvoiZ/o2bDa5YSWY+9M="; sha256 = "sha256-sUHVmueu70ZnXP8KoJ2mDzzEedzXYHM2yeGC4oVsZZU=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View file

@ -12,7 +12,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "aiogithubapi"; pname = "aiogithubapi";
version = "22.2.2"; version = "22.2.3";
format = "setuptools"; format = "setuptools";
disabled = pythonOlder "3.8"; disabled = pythonOlder "3.8";
@ -21,7 +21,7 @@ buildPythonPackage rec {
owner = "ludeeus"; owner = "ludeeus";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "sha256-RmMI3h8ouFZYD+xeK4bVx0k529UP+Y2KH7r161zst7Y="; sha256 = "sha256-oeUcyClTmOYF6vdhwiOp2L7x27DXEbujdtRV4NwGcYo=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View file

@ -7,7 +7,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "aiowebostv"; pname = "aiowebostv";
version = "0.1.2"; version = "0.1.3";
format = "setuptools"; format = "setuptools";
disabled = pythonOlder "3.8"; disabled = pythonOlder "3.8";
@ -16,7 +16,7 @@ buildPythonPackage rec {
owner = "home-assistant-libs"; owner = "home-assistant-libs";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
hash = "sha256-YSrttPoU5XQ9tqNxhHBUqZqKaEZdUdYYJ2CsSREVbbg="; hash = "sha256-UKDcIo0jhI84WDcSK3fciRqzKjHwbZXkqHjdo7Xt4iE=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View file

@ -11,7 +11,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "androidtv"; pname = "androidtv";
version = "0.0.63"; version = "0.0.64";
format = "setuptools"; format = "setuptools";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
@ -20,7 +20,7 @@ buildPythonPackage rec {
owner = "JeffLIrion"; owner = "JeffLIrion";
repo = "python-androidtv"; repo = "python-androidtv";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-Peg/agAb1lUBUBK1OkYVovE4pzM8iaQHVaSk/hr1plw="; hash = "sha256-CJJ+mWAX9XG1/E2PljUZ8oz/la3hYXF1tMfuKt0Zvjw=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View file

@ -0,0 +1,36 @@
{ buildPythonPackage
, einops
, fetchFromGitHub
, jax
, jaxlib
, lib
}:
buildPythonPackage rec {
pname = "augmax";
version = "unstable-2022-02-19";
format = "setuptools";
src = fetchFromGitHub {
owner = "khdlr";
repo = pname;
# augmax does not have releases tagged. See https://github.com/khdlr/augmax/issues/5.
rev = "3e5d85d6921a1e519987d33f226bc13f61e04d04";
sha256 = "046n43v7161w7najzlbi0443q60436xv24nh1mv23yw6psqqhx5i";
};
propagatedBuildInputs = [ einops jax ];
# augmax does not have any tests at the time of writing (2022-02-19), but
# jaxlib is necessary for the pythonImportsCheckPhase.
checkInputs = [ jaxlib ];
pythonImportsCheck = [ "augmax" ];
meta = with lib; {
description = "Efficiently Composable Data Augmentation on the GPU with Jax";
homepage = "https://github.com/khdlr/augmax";
license = licenses.asl20;
maintainers = with maintainers; [ samuela ];
};
}

View file

@ -0,0 +1,35 @@
{ lib
, buildPythonPackage
, fetchPypi
, pytestCheckHook
, pythonOlder
}:
buildPythonPackage rec {
pname = "beartype";
version = "0.9.1";
format = "setuptools";
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
sha256 = "YjYw3CQ7DaWoTw+kFOaqryYT5WetGav+aoHBfqWrYvE=";
};
checkInputs = [
pytestCheckHook
];
pythonImportsCheck = [
"beartype"
];
meta = with lib; {
description = "Fast runtime type checking for Python";
homepage = "https://github.com/beartype/beartype";
license = licenses.mit;
maintainers = with maintainers; [ bcdarwin ];
};
}

View file

@ -13,7 +13,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "bimmer-connected"; pname = "bimmer-connected";
version = "0.8.10"; version = "0.8.11";
format = "setuptools"; format = "setuptools";
disabled = pythonOlder "3.6"; disabled = pythonOlder "3.6";
@ -22,7 +22,7 @@ buildPythonPackage rec {
owner = "bimmerconnected"; owner = "bimmerconnected";
repo = "bimmer_connected"; repo = "bimmer_connected";
rev = version; rev = version;
hash = "sha256-xt21mcXcucUhJlqwDLrAHvQLg9++uc/cX5Sy+Sppsbo="; hash = "sha256-Ufx9Tl0PmV3AEig3UvejJBVxhewzPN6IRsji5MzVxG8=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View file

@ -8,14 +8,14 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "georss-generic-client"; pname = "georss-generic-client";
version = "0.6"; version = "0.7";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "exxamalte"; owner = "exxamalte";
repo = "python-georss-generic-client"; repo = "python-georss-generic-client";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-XVejBbVilq8zrmuyBUd0mNPZ4qysSg9lAe/lhbKT+qs="; sha256 = "sha256-58NpACrJK29NUnx3RrsLFPPo+6A/JlIlkrv8N9juMu0=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View file

@ -8,7 +8,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "georss-tfs-incidents-client"; pname = "georss-tfs-incidents-client";
version = "0.3"; version = "0.4";
format = "setuptools"; format = "setuptools";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
@ -17,7 +17,7 @@ buildPythonPackage rec {
owner = "exxamalte"; owner = "exxamalte";
repo = "python-georss-tfs-incidents-client"; repo = "python-georss-tfs-incidents-client";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-9fDFm9GLXxy814wR75TjP3pfQPU+nCSV8Z509WXm24Y="; hash = "sha256-Cz0PRcGReAE0mg04ktCUaoLqPTjvyU1TiB/Pdz7o7zo=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View file

@ -7,7 +7,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "motionblinds"; pname = "motionblinds";
version = "0.5.12"; version = "0.5.13";
format = "setuptools"; format = "setuptools";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
@ -16,7 +16,7 @@ buildPythonPackage rec {
owner = "starkillerOG"; owner = "starkillerOG";
repo = "motion-blinds"; repo = "motion-blinds";
rev = version; rev = version;
sha256 = "sha256-MnW5Un5iLapfvU2TTP6NekCFPUIunfRNp7+L4LUA0bc="; sha256 = "sha256-7o8mov8uV5ZrEYvX1qPSMT2T8Jb/1eV2MytU+1SEYfY=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View file

@ -27,7 +27,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "ocrmypdf"; pname = "ocrmypdf";
version = "13.3.0"; version = "13.4.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "jbarlow83"; owner = "jbarlow83";
@ -39,7 +39,7 @@ buildPythonPackage rec {
extraPostFetch = '' extraPostFetch = ''
rm "$out/.git_archival.txt" rm "$out/.git_archival.txt"
''; '';
sha256 = "sha256-8QOxHka2kl/keYbsP1zOZ8hrZ+15ZGJaw91F+cpWvcA="; sha256 = "sha256-LgHhF+vztXPCn71d87OMn0umLvps7We6vyjdRJZw+3E=";
}; };
SETUPTOOLS_SCM_PRETEND_VERSION = version; SETUPTOOLS_SCM_PRETEND_VERSION = version;

View file

@ -25,7 +25,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "pikepdf"; pname = "pikepdf";
version = "4.4.1"; version = "5.0.1";
disabled = ! isPy3k; disabled = ! isPy3k;
src = fetchFromGitHub { src = fetchFromGitHub {
@ -38,7 +38,7 @@ buildPythonPackage rec {
extraPostFetch = '' extraPostFetch = ''
rm "$out/.git_archival.txt" rm "$out/.git_archival.txt"
''; '';
hash = "sha256-8yYqyXz4ZqZxsk2Ka8S0rDsHaqO4l6cZTyNuVQuHkew="; hash = "sha256-PlfVvCEutWaNQyhP4j44viAmjvBzUlZUvUbYQPcNL24=";
}; };
patches = [ patches = [

View file

@ -1,5 +1,5 @@
diff --git a/src/pikepdf/_methods.py b/src/pikepdf/_methods.py diff --git a/src/pikepdf/_methods.py b/src/pikepdf/_methods.py
index 9db6b49..4020bcf 100644 index 87e99fe..253a701 100644
--- a/src/pikepdf/_methods.py --- a/src/pikepdf/_methods.py
+++ b/src/pikepdf/_methods.py +++ b/src/pikepdf/_methods.py
@@ -204,7 +204,7 @@ def _mudraw(buffer, fmt) -> bytes: @@ -204,7 +204,7 @@ def _mudraw(buffer, fmt) -> bytes:
@ -12,15 +12,33 @@ index 9db6b49..4020bcf 100644
check=True, check=True,
) )
diff --git a/src/pikepdf/jbig2.py b/src/pikepdf/jbig2.py diff --git a/src/pikepdf/jbig2.py b/src/pikepdf/jbig2.py
index 80cc910..64f6d31 100644 index 04c762d..924727c 100644
--- a/src/pikepdf/jbig2.py --- a/src/pikepdf/jbig2.py
+++ b/src/pikepdf/jbig2.py +++ b/src/pikepdf/jbig2.py
@@ -25,7 +25,7 @@ def extract_jbig2( @@ -26,7 +26,7 @@ def extract_jbig2(
global_path = Path(tmpdir) / "global"
output_path = Path(tmpdir) / "outfile" output_path = Path(tmpdir) / "outfile"
- args = ["jbig2dec", "-e", "-o", os.fspath(output_path)] args = [
+ args = ["@jbig2dec@", "-e", "-o", os.fspath(output_path)] - "jbig2dec",
+ "@jbig2dec@",
"--embedded",
"--format",
"png",
@@ -59,7 +59,7 @@ def extract_jbig2_bytes(jbig2: bytes, jbig2_globals: bytes) -> bytes:
output_path = Path(tmpdir) / "outfile"
# Get the raw stream, because we can't decode im_obj - that is why we are here args = [
# (Strictly speaking we should remove any non-JBIG2 filters if double encoded) - "jbig2dec",
+ "@jbig2dec@",
"--embedded",
"--format",
"png",
@@ -84,7 +84,7 @@ def extract_jbig2_bytes(jbig2: bytes, jbig2_globals: bytes) -> bytes:
def jbig2dec_available() -> bool:
try:
- proc = run(['jbig2dec', '--version'], stdout=PIPE, check=True, encoding='ascii')
+ proc = run(['@jbig2dec@', '--version'], stdout=PIPE, check=True, encoding='ascii')
except (CalledProcessError, FileNotFoundError):
return False
else:

View file

@ -19,14 +19,14 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "plugwise"; pname = "plugwise";
version = "0.16.5"; version = "0.16.6";
format = "setuptools"; format = "setuptools";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = pname; owner = pname;
repo = "python-plugwise"; repo = "python-plugwise";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-qvzocaqWIkhSdVm4x/pUIVtNBC0D5FRFEkonH7F6Oaw="; sha256 = "sha256-hAYbYsLpiiJYdg9Rx5BjqNA9JTtKGu3DE0SpwOxlTWw=";
}; };
postPatch = '' postPatch = ''

View file

@ -10,13 +10,13 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "pynetbox"; pname = "pynetbox";
version = "6.6.0"; version = "6.6.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "netbox-community"; owner = "netbox-community";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-vgknnFnmRLIpBLdv1iFGkuql2NOLurOgF2CDKoo8WGg="; sha256 = "sha256-8oqbnCAMq29QIp9ETbMa3Ve8tTuJzQ0D8KlOYnLdUgQ=";
}; };
SETUPTOOLS_SCM_PRETEND_VERSION = version; SETUPTOOLS_SCM_PRETEND_VERSION = version;

View file

@ -14,7 +14,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "python-socketio"; pname = "python-socketio";
version = "5.5.1"; version = "5.5.2";
format = "setuptools"; format = "setuptools";
disabled = pythonOlder "3.6"; disabled = pythonOlder "3.6";
@ -23,7 +23,7 @@ buildPythonPackage rec {
owner = "miguelgrinberg"; owner = "miguelgrinberg";
repo = "python-socketio"; repo = "python-socketio";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-mtXGSd7Y+frT22EL3QmiBNatwc6IrJqGBRfsQlD8LLk="; sha256 = "sha256-ZTjh9gtnJwFG2qWH6FBrvLHKsEuTjkcKL6j6Mdos6zo=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View file

@ -10,11 +10,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "pywayland"; pname = "pywayland";
version = "0.4.10"; version = "0.4.11";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "sha256-3fVAJXiIS6sFUj8riHg7LJ4VLLpjZEK8qTJNYSaXtOw="; sha256 = "coUNrPcHLBDamgKiZ08ysg2maQ2wLRSijfNRblKMIZk=";
}; };
nativeBuildInputs = [ pkg-config ]; nativeBuildInputs = [ pkg-config ];

View file

@ -10,7 +10,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "pywizlight"; pname = "pywizlight";
version = "0.5.10"; version = "0.5.12";
format = "setuptools"; format = "setuptools";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
@ -19,7 +19,7 @@ buildPythonPackage rec {
owner = "sbidy"; owner = "sbidy";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-G895roPIa7XZUJ/kHBmBmggdWtdPvbdFk3gHaR/R2jU="; sha256 = "sha256-1clvZyuRFS9URftjz0YDDAqR3FlBLTpTQJg4LjBME/8=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View file

@ -18,18 +18,13 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "pywlroots"; pname = "pywlroots";
version = "0.15.8"; version = "0.15.9";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "5oKeiNRO/5/6gWHPgatn0sHRtPL2B2Fa7S1A7LWr0qM="; sha256 = "V6P5zAvr0L7p+yEjr6To2rKoMPqxIvSPrlLzf6yj3WA=";
}; };
# The XWayland detection uses some hard-coded FHS paths. Since we
# know wlroots was built with xwayland support, replace its
# detection with `return True`.
patches = [ ./xwayland.patch ];
nativeBuildInputs = [ pkg-config ]; nativeBuildInputs = [ pkg-config ];
propagatedNativeBuildInputs = [ cffi ]; propagatedNativeBuildInputs = [ cffi ];
buildInputs = [ libinput libxkbcommon pixman xorg.libxcb udev wayland wlroots ]; buildInputs = [ libinput libxkbcommon pixman xorg.libxcb udev wayland wlroots ];

View file

@ -1,25 +0,0 @@
diff --git a/wlroots/ffi_build.py b/wlroots/ffi_build.py
index bb07ff8..f19efe3 100644
--- a/wlroots/ffi_build.py
+++ b/wlroots/ffi_build.py
@@ -55,19 +55,7 @@ def has_xwayland() -> bool:
Check for XWayland headers. If present, wlroots was built with XWayland support, so
pywlroots can be too.
"""
- try:
- FFI().verify(
- "#include <wlr/xwayland.h>",
- define_macros=[("WLR_USE_UNSTABLE", 1)],
- include_dirs=["/usr/include/pixman-1", include_dir.as_posix()],
- )
- return True
- except VerificationError:
- print("If XWayland support is not required, ignore the above error message.")
- print(
- "If support is required, ensure wlroots was built with -Dxwayland=enabled."
- )
- return False
+ return True
# backend.h

View file

@ -15,7 +15,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "teslajsonpy"; pname = "teslajsonpy";
version = "1.7.0"; version = "1.8.0";
format = "pyproject"; format = "pyproject";
disabled = pythonOlder "3.6"; disabled = pythonOlder "3.6";
@ -24,7 +24,7 @@ buildPythonPackage rec {
owner = "zabuldon"; owner = "zabuldon";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-2k1RtWQSz46vsZ4uEjjOmHAkGmwuKYNAdWgcT2Xr7Dc="; sha256 = "sha256-9EFbsJPn543fVGQ46cikEE9rE4qBr/2q6vX7u4tui7I=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View file

@ -6,12 +6,12 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "types-requests"; pname = "types-requests";
version = "2.27.9"; version = "2.27.10";
format = "setuptools"; format = "setuptools";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "sha256-c2iXRTTSl5OUku/f2rIykwRAsR4iA/bfHwxA4yQqh+o="; sha256 = "sha256-XcsIj8qneO/u5rf8RpZwN+mD+/uf7AJZRXi9M/115VU=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View file

@ -26,6 +26,11 @@ buildPythonApplication rec {
./disable-test-timeouts.patch ./disable-test-timeouts.patch
]; ];
postPatch = ''
substituteInPlace pyproject.toml \
--replace 'pyparsing = "^2.4"' 'pyparsing = "^3.0.6"'
'';
nativeBuildInputs = [ poetry ]; nativeBuildInputs = [ poetry ];
propagatedBuildInputs = [ pygls pyparsing ]; propagatedBuildInputs = [ pygls pyparsing ];

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "quick-lint-js"; pname = "quick-lint-js";
version = "2.1.0"; version = "2.2.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "quick-lint"; owner = "quick-lint";
repo = "quick-lint-js"; repo = "quick-lint-js";
rev = version; rev = version;
sha256 = "sha256-F21eli4HdLw3RComvocwBrcGfruIjO23E6+7a4+6vbs="; sha256 = "09jp118n487g467d4zhqcpnwwrvmjw02ssv1rbyw2s22cgz9701f";
}; };
nativeBuildInputs = [ cmake ninja ]; nativeBuildInputs = [ cmake ninja ];

View file

@ -18,11 +18,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "quilt"; pname = "quilt";
version = "0.66"; version = "0.67";
src = fetchurl { src = fetchurl {
url = "mirror://savannah/${pname}/${pname}-${version}.tar.gz"; url = "mirror://savannah/${pname}/${pname}-${version}.tar.gz";
sha256 = "01vfvk4pqigahx82fhaaffg921ivd3k7rylz1yfvy4zbdyd32jri"; sha256 = "sha256-O+O+CYfnKmw2Rni7gn4+H8wQMitWvF8CtXZpj1UBPMI=";
}; };
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];

View file

@ -1,17 +1,22 @@
{ lib, rustPlatform, fetchFromGitHub, stdenv, libiconv }: { lib
, stdenv
, rustPlatform
, fetchFromGitHub
, libiconv
}:
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "cargo-expand"; pname = "cargo-expand";
version = "1.0.14"; version = "1.0.16";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "dtolnay"; owner = "dtolnay";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "sha256-6Wm/qnrSUswWnXt6CPUJUvqNj06eSYuYOmGhbpO1hvo="; sha256 = "sha256-NhBUN+pf+j/4IozFDEb+XZ1ijSk6dNvCANyez823a0c=";
}; };
cargoSha256 = "sha256-1+3NMfUhL5sPu92r+B0DRmJ03ZREkFZHjMjvabLyFgs="; cargoSha256 = "sha256-7rqtxyoo1SQ7Rae04+b+B0JgCKeW0p1j7bZzPpJ8+ks=";
buildInputs = lib.optional stdenv.isDarwin libiconv; buildInputs = lib.optional stdenv.isDarwin libiconv;

View file

@ -1,7 +1,7 @@
{ lib { lib
, stdenv , stdenv
, fetchFromGitHub , fetchFromGitHub
, sconsPackages , scons
, libX11 , libX11
, pkg-config , pkg-config
, libusb1 , libusb1
@ -22,10 +22,18 @@ stdenv.mkDerivation rec {
}; };
makeFlags = [ "PREFIX=$(out)" ]; makeFlags = [ "PREFIX=$(out)" ];
nativeBuildInputs = [ pkg-config sconsPackages.scons_3_1_2 ]; nativeBuildInputs = [ pkg-config scons ];
buildInputs = [ libX11 libusb1 boost glib dbus-glib ]; buildInputs = [ libX11 libusb1 boost glib dbus-glib ];
enableParallelBuilding = true;
dontUseSconsInstall = true; dontUseSconsInstall = true;
patches = [
./fix-60-sec-delay.patch
./scons-py3.patch
./scons-v4.2.0.patch
./xboxdrvctl-py3.patch
];
meta = with lib; { meta = with lib; {
homepage = "https://xboxdrv.gitlab.io/"; homepage = "https://xboxdrv.gitlab.io/";
description = "Xbox/Xbox360 (and more) gamepad driver for Linux that works in userspace"; description = "Xbox/Xbox360 (and more) gamepad driver for Linux that works in userspace";

View file

@ -0,0 +1,27 @@
From 7326421eeaadbc2aeb3828628c2e65bb7be323a9 Mon Sep 17 00:00:00 2001
From: buxit <buti@bux.at>
Date: Wed, 2 Nov 2016 16:25:14 +0100
Subject: [PATCH] fix 60 seconds delay
use `libusb_handle_events_timeout_completed()` instead of `libusb_handle_events()`
should fix #144
---
src/usb_gsource.cpp | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/usb_gsource.cpp b/src/usb_gsource.cpp
index 00bf1315..afb38f65 100644
--- a/src/usb_gsource.cpp
+++ b/src/usb_gsource.cpp
@@ -174,7 +174,10 @@ USBGSource::on_source_dispatch(GSource* source, GSourceFunc callback, gpointer u
gboolean
USBGSource::on_source()
{
- libusb_handle_events(NULL);
+ struct timeval to;
+ to.tv_sec = 0;
+ to.tv_usec = 0;
+ libusb_handle_events_timeout_completed(NULL, &to, NULL);
return TRUE;
}

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