Merge master into haskell-updates

This commit is contained in:
github-actions[bot]
2024-06-23 00:15:02 +00:00
committed by GitHub
279 changed files with 12774 additions and 3567 deletions
+12 -11
View File
@@ -64,22 +64,21 @@ let
# linux kernel configuration
kernel = callLibs ./kernel.nix;
inherit (builtins) add addErrorContext attrNames concatLists
deepSeq elem elemAt filter genericClosure genList getAttr
hasAttr head isAttrs isBool isInt isList isPath isString length
lessThan listToAttrs pathExists readFile replaceStrings seq
stringLength sub substring tail trace;
# TODO: For consistency, all builtins should also be available from a sub-library;
# these are the only ones that are currently not
inherit (builtins) addErrorContext isPath trace;
inherit (self.trivial) id const pipe concat or and xor bitAnd bitOr bitXor
bitNot boolToString mergeAttrs flip mapNullable inNixShell isFloat min max
importJSON importTOML warn warnIf warnIfNot throwIf throwIfNot checkListOfEnum
info showWarnings nixpkgsVersion version isInOldestRelease
mod compare splitByAndCompare
mod compare splitByAndCompare seq deepSeq lessThan add sub
functionArgs setFunctionArgs isFunction toFunction mirrorFunctionArgs
toHexString toBaseDigits inPureEvalMode;
toHexString toBaseDigits inPureEvalMode isBool isInt pathExists
genericClosure readFile;
inherit (self.fixedPoints) fix fix' converge extends composeExtensions
composeManyExtensions makeExtensible makeExtensibleWithCustomName;
inherit (self.attrsets) attrByPath hasAttrByPath setAttrByPath
getAttrFromPath attrVals attrValues getAttrs catAttrs filterAttrs
getAttrFromPath attrVals attrNames attrValues getAttrs catAttrs filterAttrs
filterAttrsRecursive foldlAttrs foldAttrs collect nameValuePair mapAttrs
mapAttrs' mapAttrsToList attrsToList concatMapAttrs mapAttrsRecursive
mapAttrsRecursiveCond genAttrs isDerivation toDerivation optionalAttrs
@@ -87,14 +86,16 @@ let
recursiveUpdate matchAttrs mergeAttrsList overrideExisting showAttrPath getOutput
getBin getLib getDev getMan chooseDevOutputs zipWithNames zip
recurseIntoAttrs dontRecurseIntoAttrs cartesianProduct cartesianProductOfSets
mapCartesianProduct updateManyAttrsByPath intersectAttrs removeAttrs;
mapCartesianProduct updateManyAttrsByPath listToAttrs hasAttr getAttr isAttrs intersectAttrs removeAttrs;
inherit (self.lists) singleton forEach map foldr fold foldl foldl' imap0 imap1
ifilter0 concatMap flatten remove findSingle findFirst any all count
filter ifilter0 concatMap flatten remove findSingle findFirst any all count
optional optionals toList range replicate partition zipListsWith zipLists
reverseList listDfs toposort sort sortOn naturalSort compareLists take
drop sublist last init crossLists unique allUnique intersectLists
subtractLists mutuallyExclusive groupBy groupBy';
subtractLists mutuallyExclusive groupBy groupBy' concatLists genList
length head tail elem elemAt isList;
inherit (self.strings) concatStrings concatMapStrings concatImapStrings
stringLength substring isString replaceStrings
intersperse concatStringsSep concatMapStringsSep
concatImapStringsSep concatLines makeSearchPath makeSearchPathOutput
makeLibraryPath makeIncludePath makeBinPath optionalString
+7
View File
@@ -530,6 +530,13 @@ in mkLicense lset) ({
fullName = "Unspecified free software license";
};
fsl11Mit = {
fullName = "Functional Source License, Version 1.1, MIT Future License";
url = "https://fsl.software/FSL-1.1-MIT.template.md";
free = false;
redistributable = true;
};
ftl = {
spdxId = "FTL";
fullName = "Freetype Project License";
+25 -6
View File
@@ -1977,6 +1977,12 @@
githubId = 12958979;
name = "Mika Naylor";
};
autra = {
email = "augustin.trancart@gmail.com";
github = "autra";
githubId = 1576598;
name = "Augustin Trancart";
};
autrimpo = {
email = "michal@koutensky.net";
github = "autrimpo";
@@ -3956,6 +3962,12 @@
githubId = 40290417;
name = "Seb Blair";
};
CompileTime = {
email = "socialcoms@posteo.de";
github = "Compile-Time";
githubId = 18414241;
name = "Andreas Erdes";
};
confus = {
email = "con-f-use@gmx.net";
github = "con-f-use";
@@ -11636,6 +11648,13 @@
githubId = 10626;
name = "Andreas Wagner";
};
lpchaim = {
email = "lpchaim@gmail.comm";
matrix = "@lpchaim:matrix.org";
github = "lpchaim";
githubId = 4030336;
name = "Lucas Chaim";
};
lpostula = {
email = "lois@postu.la";
github = "loispostula";
@@ -15797,6 +15816,12 @@
githubId = 4303706;
keys = [ { fingerprint = "B00F E582 FD3F 0732 EA48 3937 F558 14E4 D687 4375"; } ];
};
pladypus = {
name = "Peter Loftus";
email = "loftusp5976+nixpkgs@gmail.com";
github = "pladypus";
githubId = 56337621;
};
plchldr = {
email = "mail@oddco.de";
github = "plchldr";
@@ -21539,12 +21564,6 @@
githubId = 11740700;
name = "Andrei Pampu";
};
wolfangaukang = {
email = "clone.gleeful135+nixpkgs@anonaddy.me";
github = "WolfangAukang";
githubId = 8378365;
name = "P. R. d. O.";
};
wolfgangwalther = {
name = "Wolfgang Walther";
email = "walther@technowledgy.de";
@@ -453,7 +453,7 @@ In addition to numerous new and upgraded packages, this release has the followin
The new names are as follows:
- `bindAddress`: [`services.keycloak.settings.http-host`](#opt-services.keycloak.settings.http-host)
- `forceBackendUrlToFrontendUrl`: [`services.keycloak.settings.hostname-strict-backchannel`](#opt-services.keycloak.settings.hostname-strict-backchannel)
- `forceBackendUrlToFrontendUrl`: `services.keycloak.settings.hostname-strict-backchannel`
- `httpPort`: [`services.keycloak.settings.http-port`](#opt-services.keycloak.settings.http-port)
- `httpsPort`: [`services.keycloak.settings.https-port`](#opt-services.keycloak.settings.https-port)
@@ -23,6 +23,10 @@
## Backward Incompatibilities {#sec-release-24.11-incompatibilities}
- `transmission` package has been aliased with a `trace` warning to `transmission_3`. Since [Transmission 4 has been released last year](https://github.com/transmission/transmission/releases/tag/4.0.0), and Transmission 3 will eventually go away, it was decided perform this warning alias to make people aware of the new version. The `services.transmission.package` defaults to `transmission_3` as well because the upgrade can cause data loss in certain specific usage patterns (examples: [#5153](https://github.com/transmission/transmission/issues/5153), [#6796](https://github.com/transmission/transmission/issues/6796)). Please make sure to back up to your data directory per your usage:
- `transmission-gtk`: `~/.config/transmission`
- `transmission-daemon` using NixOS module: `${config.services.transmission.home}/.config/transmission-daemon` (defaults to `/var/lib/transmission/.config/transmission-daemon`)
- `androidenv.androidPkgs_9_0` has been removed, and replaced with `androidenv.androidPkgs` for a more complete Android SDK including support for Android 9 and later.
- `wstunnel` has had a major version upgrade that entailed rewriting the program in Rust.
@@ -35,11 +39,19 @@
Also be aware that if you have set additional options in `services.wstunnel.{clients,servers}.<name>.extraArgs`,
that those might have been removed or modified upstream.
- `clang-tools_<version>` packages have been moved into `llvmPackages_<version>` (i.e. `clang-tools_18` is now `llvmPackages_18.clang-tools`).
- For convenience, the top-level `clang-tools` attribute remains and is now bound to `llvmPackages.clang-tools`.
- Top-level `clang_tools_<version>` attributes are now aliases; these will be removed in a future release.
- `nginx` package no longer includes `gd` and `geoip` dependencies. For enabling it, override `nginx` package with the optionals `withImageFilter` and `withGeoIP`.
- `openssh` and `openssh_hpn` are now compiled without Kerberos 5 / GSSAPI support in an effort to reduce the attack surface of the components for the majority of users. Users needing this support can
use the new `opensshWithKerberos` and `openssh_hpnWithKerberos` flavors (e.g. `programs.ssh.package = pkgs.openssh_gssapi`).
- `security.ipa.ipaHostname` now defaults to the value of `networking.fqdn` if
it is set, instead of the previous hardcoded default of
`${networking.hostName}.${security.ipa.domain}`.
- `nvimpager` was updated to version 0.13.0, which changes the order of user and
nvimpager settings: user commands in `-c` and `--cmd` now override the
respective default settings because they are executed later.
@@ -87,6 +99,9 @@
services.portunus.ldap.package = pkgs.openldap.override { libxcrypt = pkgs.libxcrypt-legacy; };
```
- `keycloak` was updated to version 25, which introduces new hostname related options.
See [Upgrading Guide](https://www.keycloak.org/docs/25.0.1/upgrading/#migrating-to-25-0-0) for instructions.
- The `tracy` package no longer works on X11, since it's moved to Wayland
support, which is the intended default behavior by Tracy maintainers.
X11 users have to switch to the new package `tracy-x11`.
+13 -3
View File
@@ -85,6 +85,18 @@ in {
description = "Whether to cache credentials.";
};
ipaHostname = mkOption {
type = types.str;
example = "myworkstation.example.com";
default = if config.networking.domain != null then config.networking.fqdn
else "${config.networking.hostName}.${cfg.domain}";
defaultText = literalExpression ''
if config.networking.domain != null then config.networking.fqdn
else "''${networking.hostName}.''${security.ipa.domain}"
'';
description = "Fully-qualified hostname used to identify this host in the IPA domain.";
};
ifpAllowedUids = mkOption {
type = types.listOf types.str;
default = ["root"];
@@ -218,7 +230,7 @@ in {
ipa_domain = ${cfg.domain}
ipa_server = _srv_, ${cfg.server}
ipa_hostname = ${config.networking.hostName}.${cfg.domain}
ipa_hostname = ${cfg.ipaHostname}
cache_credentials = ${pyBool cfg.cacheCredentials}
krb5_store_password_if_offline = ${pyBool cfg.offlinePasswords}
@@ -232,7 +244,6 @@ in {
ldap_user_extra_attrs = mail:mail, sn:sn, givenname:givenname, telephoneNumber:telephoneNumber, lock:nsaccountlock
[sssd]
debug_level = 65510
services = nss, sudo, pam, ssh, ifp
domains = ${cfg.domain}
@@ -244,7 +255,6 @@ in {
pam_verbosity = 3
[sudo]
debug_level = 65510
[autofs]
@@ -261,7 +261,7 @@ in {
name = "service-account";
CN = "system:service-account-signer";
action = ''
systemctl reload \
systemctl restart \
kube-apiserver.service \
kube-controller-manager.service
'';
@@ -22,7 +22,7 @@ let
${lib.toShellVars env}
eval "$(${config.systemd.package}/bin/systemctl show -pUID,GID,MainPID tandoor-recipes.service)"
exec ${pkgs.util-linux}/bin/nsenter \
-t $MainPID -m -S $UID -G $GID \
-t $MainPID -m -S $UID -G $GID --wdns=${env.MEDIA_ROOT} \
${pkg}/bin/tandoor-recipes "$@"
'';
in
@@ -88,7 +88,7 @@ in
Group = "tandoor_recipes";
DynamicUser = true;
StateDirectory = "tandoor-recipes";
WorkingDirectory = "/var/lib/tandoor-recipes";
WorkingDirectory = env.MEDIA_ROOT;
RuntimeDirectory = "tandoor-recipes";
BindReadOnlyPaths = [
@@ -4,7 +4,7 @@ let
inherit (lib.attrsets) optionalAttrs;
inherit (lib.generators) toINIWithGlobalSection;
inherit (lib.lists) optional;
inherit (lib.modules) mkIf;
inherit (lib.modules) mkIf mkRemovedOptionModule;
inherit (lib.options) literalExpression mkEnableOption mkOption;
inherit (lib.strings) escape;
inherit (lib.types) attrsOf bool int lines oneOf str submodule;
@@ -27,6 +27,13 @@ let
in
{
imports = [
(mkRemovedOptionModule [ "services" "davfs2" "extraConfig" ] ''
The option extraConfig got removed, please migrate to
services.davfs2.settings instead.
'')
];
options.services.davfs2 = {
enable = mkEnableOption "davfs2";
@@ -6,7 +6,7 @@ let
cfg = config.services.sslmate-agent;
in {
meta.maintainers = with maintainers; [ wolfangaukang ];
meta.maintainers = [ ];
options = {
services.sslmate-agent = {
@@ -174,7 +174,10 @@ in
};
};
package = mkPackageOption pkgs "transmission" {};
package = mkPackageOption pkgs "transmission" {
default = "transmission_3";
example = "pkgs.transmission_4";
};
downloadDirPermissions = mkOption {
type = with types; nullOr str;
+5 -7
View File
@@ -68,13 +68,11 @@ to `/auth`. See the option description
for more details.
:::
[](#opt-services.keycloak.settings.hostname-strict-backchannel)
determines whether Keycloak should force all requests to go
through the frontend URL. By default,
Keycloak allows backend requests to
instead use its local hostname or IP address and may also
advertise it to clients through its OpenID Connect Discovery
endpoint.
[](#opt-services.keycloak.settings.hostname-backchannel-dynamic)
Keycloak has the capability to offer a separate URL for backchannel requests,
enabling internal communication while maintaining the use of a public URL
for frontchannel requests. Moreover, the backchannel is dynamically
resolved based on incoming headers endpoint.
For more information on hostname configuration, see the [Hostname
section of the Keycloak Server Installation and Configuration
+16 -12
View File
@@ -328,8 +328,7 @@ in
};
hostname = mkOption {
type = nullOr str;
default = null;
type = str;
example = "keycloak.example.com";
description = ''
The hostname part of the public URL used as base for
@@ -340,16 +339,13 @@ in
'';
};
hostname-strict-backchannel = mkOption {
hostname-backchannel-dynamic = mkOption {
type = bool;
default = false;
example = true;
description = ''
Whether Keycloak should force all requests to go
through the frontend URL. By default, Keycloak allows
backend requests to instead use its local hostname or
IP address and may also advertise it to clients
through its OpenID Connect Discovery endpoint.
Enables dynamic resolving of backchannel URLs,
including hostname, scheme, port and context path.
See <https://www.keycloak.org/server/hostname>
for more information about hostname configuration.
@@ -482,12 +478,20 @@ in
message = "Setting up a local PostgreSQL db for Keycloak requires `standard_conforming_strings` turned on to work reliably";
}
{
assertion = cfg.settings.hostname != null || cfg.settings.hostname-url or null != null;
message = "Setting the Keycloak hostname is required, see `services.keycloak.settings.hostname`";
assertion = cfg.settings.hostname-url or null == null;
message = ''
The option `services.keycloak.settings.hostname-url' has been removed.
Set `services.keycloak.settings.hostname' instead.
See [New Hostname options](https://www.keycloak.org/docs/25.0.0/upgrading/#new-hostname-options) for details.
'';
}
{
assertion = !(cfg.settings.hostname != null && cfg.settings.hostname-url or null != null);
message = "`services.keycloak.settings.hostname` and `services.keycloak.settings.hostname-url` are mutually exclusive";
assertion = cfg.settings.hostname-strict-backchannel or null == null;
message = ''
The option `services.keycloak.settings.hostname-strict-backchannel' has been removed.
Set `services.keycloak.settings.hostname-backchannel-dynamic' instead.
See [New Hostname options](https://www.keycloak.org/docs/25.0.0/upgrading/#new-hostname-options) for details.
'';
}
];
+14 -1
View File
@@ -446,7 +446,13 @@ in {
dbtableprefix = mkOption {
type = types.nullOr types.str;
default = null;
description = "Table prefix in Nextcloud's database.";
description = ''
Table prefix in Nextcloud's database.
__Note:__ since Nextcloud 20 it's not an option anymore to create a database
schema with a custom table prefix. This option only exists for backwards compatibility
with installations that were originally provisioned with Nextcloud <20.
'';
};
adminuser = mkOption {
type = types.str;
@@ -826,6 +832,13 @@ in {
Using config.services.nextcloud.poolConfig is deprecated and will become unsupported in a future release.
Please migrate your configuration to config.services.nextcloud.poolSettings.
'')
++ (optional (cfg.config.dbtableprefix != null) ''
Using `services.nextcloud.config.dbtableprefix` is deprecated. Fresh installations with this
option set are not allowed anymore since v20.
If you have an existing installation with a custom table prefix, make sure it is
set correctly in `config.php` and remove the option from your NixOS config.
'')
++ (optional (versionOlder cfg.package.version "25") (upgradeWarning 24 "22.11"))
++ (optional (versionOlder cfg.package.version "26") (upgradeWarning 25 "23.05"))
++ (optional (versionOlder cfg.package.version "27") (upgradeWarning 26 "23.11"))
+2 -1
View File
@@ -958,6 +958,7 @@ in {
systemd-homed = handleTest ./systemd-homed.nix {};
systemtap = handleTest ./systemtap.nix {};
tandoor-recipes = handleTest ./tandoor-recipes.nix {};
tandoor-recipes-script-name = handleTest ./tandoor-recipes-script-name.nix {};
tang = handleTest ./tang.nix {};
taskserver = handleTest ./taskserver.nix {};
tayga = handleTest ./tayga.nix {};
@@ -981,7 +982,7 @@ in {
traefik = handleTestOn ["aarch64-linux" "x86_64-linux"] ./traefik.nix {};
trafficserver = handleTest ./trafficserver.nix {};
transfer-sh = handleTest ./transfer-sh.nix {};
transmission = handleTest ./transmission.nix { transmission = pkgs.transmission; };
transmission_3 = handleTest ./transmission.nix { transmission = pkgs.transmission_3; };
transmission_4 = handleTest ./transmission.nix { transmission = pkgs.transmission_4; };
# tracee requires bpf
tracee = handleTestOn ["x86_64-linux"] ./tracee.nix {};
-9
View File
@@ -44,7 +44,6 @@ let
};
plugins = with config.services.keycloak.package.plugins; [
keycloak-discord
keycloak-metrics-spi
];
};
environment.systemPackages = with pkgs; [
@@ -122,14 +121,6 @@ let
| jq -r '"Authorization: bearer " + .access_token' >admin_auth_header
""")
# Register the metrics SPI
keycloak.succeed(
"""${pkgs.jre}/bin/keytool -import -alias snakeoil -file ${certs.ca.cert} -storepass aaaaaa -keystore cacert.jks -noprompt""",
"""KC_OPTS='-Djavax.net.ssl.trustStore=cacert.jks -Djavax.net.ssl.trustStorePassword=aaaaaa' kcadm.sh config credentials --server '${frontendUrl}' --realm master --user admin --password "$(<${adminPasswordFile})" """,
"""KC_OPTS='-Djavax.net.ssl.trustStore=cacert.jks -Djavax.net.ssl.trustStorePassword=aaaaaa' kcadm.sh update events/config -s 'eventsEnabled=true' -s 'adminEventsEnabled=true' -s 'eventsListeners+=metrics-listener'""",
"""curl -sSf '${frontendUrl}/realms/master/metrics' | grep '^keycloak_admin_event_UPDATE'"""
)
# Publish the realm, including a test OIDC client and user
keycloak.succeed(
"curl -sSf -H @admin_auth_header -X POST -H 'Content-Type: application/json' -d @${realmDataJson} '${frontendUrl}/admin/realms/'"
-1
View File
@@ -38,7 +38,6 @@ runTest ({ config, ... }: {
services.nextcloud = {
enable = true;
datadir = "/var/lib/nextcloud-data";
config.dbtableprefix = "nixos_";
autoUpdateApps = {
enable = true;
startAt = "20:00";
@@ -0,0 +1,95 @@
import ./make-test-python.nix (
{ pkgs, lib, ... }:
{
name = "tandoor-recipes-script-name";
nodes.machine =
{ pkgs, nodes, ... }:
{
services.tandoor-recipes = {
enable = true;
extraConfig = {
SCRIPT_NAME = "/any/path";
STATIC_URL = "${nodes.machine.services.tandoor-recipes.extraConfig.SCRIPT_NAME}/static/";
};
};
};
testScript =
{ nodes, ... }:
let
inherit (nodes.machine.services.tandoor-recipes) address port;
inherit (nodes.machine.services.tandoor-recipes.extraConfig) SCRIPT_NAME;
in
''
from html.parser import HTMLParser
origin_url = "http://${address}:${toString port}"
base_url = f"{origin_url}${SCRIPT_NAME}"
login_path = "/admin/login/"
login_url = f"{base_url}{login_path}"
cookie_jar_path = "/tmp/cookies.txt"
curl = f"curl --cookie {cookie_jar_path} --cookie-jar {cookie_jar_path} --fail --header 'Origin: {origin_url}' --show-error --silent"
print("Wait for the service to respond")
machine.wait_for_unit("tandoor-recipes.service")
machine.wait_until_succeeds(f"{curl} {login_url}")
username = "username"
password = "password"
print("Create admin user")
machine.succeed(
f"DJANGO_SUPERUSER_PASSWORD='{password}' /var/lib/tandoor-recipes/tandoor-recipes-manage createsuperuser --no-input --username='{username}' --email=nobody@example.com"
)
print("Get CSRF token for later requests")
csrf_token = machine.succeed(f"grep csrftoken {cookie_jar_path} | cut --fields=7").rstrip()
print("Log in as admin user")
machine.succeed(
f"{curl} --data 'csrfmiddlewaretoken={csrf_token}' --data 'username={username}' --data 'password={password}' {login_url}"
)
print("Get the contents of the logged in main page")
logged_in_page = machine.succeed(f"{curl} --location {base_url}")
class UrlParser(HTMLParser):
def __init__(self):
super().__init__()
self.urls: list[str] = []
def handle_starttag(self, tag: str, attrs: list[tuple[str, str | None]]) -> None:
if tag == "form":
for name, value in attrs:
if name == "action" and value is not None:
assert not value.endswith(login_path)
break
if tag != "a":
return
for name, value in attrs:
if name == "href" and value is not None:
if value.startswith(base_url):
self.urls.append(value)
elif value.startswith("/"):
self.urls.append(f"{origin_url}{value}")
else:
print("Ignoring external URL: {value}")
break
parser = UrlParser()
parser.feed(logged_in_page)
for url in parser.urls:
with subtest(f"Verify that {url} can be reached"):
machine.succeed(f"{curl} {url}")
'';
meta.maintainers = with lib.maintainers; [ l0b0 ];
}
)
@@ -15,6 +15,7 @@
, desktop-file-utils
, dbus
, openssl
, glib-networking
, sqlite
, gst_all_1
, wrapGAppsHook4
@@ -22,19 +23,19 @@
stdenv.mkDerivation rec {
pname = "gnome-podcasts";
version = "0.6.1";
version = "0.7.1";
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
owner = "World";
repo = "podcasts";
rev = version;
hash = "sha256-LPwCYgAFgUMFQZ0i4ldiuGYGMMWcMqYct3/o7eTIhmU=";
hash = "sha256-KCjHT/4AeJ+RXCtawkhs6f4D8NCJotYIPk3tGr5YG9M=";
};
cargoDeps = rustPlatform.fetchCargoTarball {
inherit pname version src;
hash = "sha256-n3ZcUhqn1rvvgkBKSKvH0b8wbOCqcBGwpb2OqMe8h0s=";
hash = "sha256-XTfKqKs7874ak7Lzscxw8E2qcnJOWMZaaol8TpIB6Vw=";
};
nativeBuildInputs = [
@@ -56,6 +57,7 @@ stdenv.mkDerivation rec {
gettext
dbus
openssl
glib-networking
sqlite
gst_all_1.gstreamer
gst_all_1.gst-plugins-base
@@ -66,13 +68,13 @@ stdenv.mkDerivation rec {
# tests require network
doCheck = false;
meta = with lib; {
meta = {
description = "Listen to your favorite podcasts";
mainProgram = "gnome-podcasts";
homepage = "https://apps.gnome.org/Podcasts/";
license = licenses.gpl3Plus;
maintainers = teams.gnome.members;
platforms = platforms.unix;
license = lib.licenses.gpl3Plus;
maintainers = lib.teams.gnome.members;
platforms = lib.platforms.unix;
broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/trunk/gnome-podcasts.x86_64-darwin
};
}
@@ -10,18 +10,18 @@
buildGoModule rec {
pname = "go-musicfox";
version = "4.4.1";
version = "4.5.3";
src = fetchFromGitHub {
owner = "go-musicfox";
repo = "go-musicfox";
rev = "v${version}";
hash = "sha256-pIfQ0ufn8W0opm+N6IPFBPWNxNWMOU7FudPtIFop51c=";
hash = "sha256-qf4XAAfWWlHAnNGhXaYpnjj+2z+/lWOHaTyv8R4UDgQ=";
};
deleteVendor = true;
vendorHash = "sha256-ey78zeCSEuRgteG5ZRb4uO88E6lwEgqSxKfjJg3NGT4=";
vendorHash = "sha256-oz/kVp/Jj2Lmo19UFOn2VPD/iWbSRCbmKy8fK8RdkYs=";
subPackages = [ "cmd/musicfox.go" ];
@@ -52,7 +52,7 @@ buildNpmPackage rec {
description = "Pocket Casts webapp, packaged for the Linux Desktop";
homepage = "https://github.com/felicianotech/pocket-casts-desktop-app";
license = licenses.mit;
maintainers = with maintainers; [ wolfangaukang ];
maintainers = [ ];
mainProgram = "pocket-casts";
platforms = platforms.linux;
};
@@ -2,16 +2,16 @@
buildGoModule rec {
pname = "dcrwallet";
version = "2.0.2";
version = "2.0.3";
src = fetchFromGitHub {
owner = "decred";
repo = "dcrwallet";
rev = "release-v${version}";
hash = "sha256-fsmil9YQNvXDyBxyt+Ei3F5U/dvbrzbZ01+v9o3+jVY=";
hash = "sha256-sRwGpOVydfZjgo7W+4RsHC4JElPyilbV5xhcHxPh2Wc=";
};
vendorHash = "sha256-ehtgsBCFzMft8285IjpsQ6y9HPb/UpZmcj9X4m8ZKXo=";
vendorHash = "sha256-lVVIS3FL8XwthCpzRKdw59NVtHVxXQ0ouD7jYQzOecM=";
subPackages = [ "." ];
@@ -262,7 +262,7 @@ let
inherit withSdk;
sdk = androidSdk;
};
meta = with lib; {
meta = {
description = "Official IDE for Android (${channel} channel)";
longDescription = ''
Android Studio is the official IDE for Android app development, based on
@@ -271,7 +271,7 @@ let
homepage = if channel == "stable"
then "https://developer.android.com/studio/index.html"
else "https://developer.android.com/studio/preview/index.html";
license = with licenses; [ asl20 unfree ]; # The code is under Apache-2.0, but:
license = with lib.licenses; [ asl20 unfree ]; # The code is under Apache-2.0, but:
# If one selects Help -> Licenses in Android Studio, the dialog shows the following:
# "Android Studio includes proprietary code subject to separate license,
# including JetBrains CLion(R) (www.jetbrains.com/clion) and IntelliJ(R)
@@ -280,11 +280,11 @@ let
# binaries are also distributed as proprietary software (unlike the
# source-code itself).
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; rec {
stable = [ alapshin numinit ];
beta = [ alapshin numinit ];
canary = [ alapshin numinit ];
dev = canary;
maintainers = with lib.maintainers; rec {
stable = [ alapshin johnrtitor numinit ];
beta = stable;
canary = stable;
dev = stable;
}."${channel}";
mainProgram = pname;
};
@@ -10,16 +10,16 @@ let
inherit tiling_wm;
};
stableVersion = {
version = "2023.3.1.19"; # "Android Studio Jellyfish | 2023.3.1 Patch 1"
sha256Hash = "sha256-FyscJPusmK33UPIexV20GXQ4Z5X8mfNRFPu/2Xeg5ts=";
version = "2024.1.1.11"; # "Android Studio Koala | 2024.1.1"
sha256Hash = "sha256-2PqOz+QVtEUTNQkBUB4qD0KcoDPPGAUFSxyBbEpwRWU=";
};
betaVersion = {
version = "2023.3.1.17"; # "Android Studio Jellyfish | 2023.3.1.1 RC 2"
sha256Hash = "sha256-zROBKzQiP4V2P67HgOIkHgn8q/M0zy5MkZozVSiQsWU=";
version = "2024.1.1.10"; # "Android Studio Koala | 2024.1.1 RC 2"
sha256Hash = "sha256-84CpZfoAvJHUCO3ZBJqDbuz9xuGE/5xJfXoetJDXju8=";
};
latestVersion = {
version = "2024.1.1.4"; # "Android Studio Koala | 2024.1.1 Canary 6"
sha256Hash = "sha256-lfig7lFyF7XZowTQKpo6zGeR23VHq/f7vvUDWCs7jeo=";
version = "2024.1.2.7"; # "Android Studio Koala Feature Drop | 2024.1.2 Canary 7"
sha256Hash = "sha256-opoAKslh8DqS/iS5gw8AxX6x89t2BNX7yaU88XNd2kM=";
};
in {
# Attributes are named by their corresponding release channels
@@ -1,27 +1,20 @@
--- a/build/deps/src/org/jetbrains/intellij/build/impl/BundledMavenDownloader.kt
+++ b/build/deps/src/org/jetbrains/intellij/build/impl/BundledMavenDownloader.kt
@@ -87,13 +87,13 @@
}
val targetFile = root.resolve("${split[1]}-${split[2]}.jar")
val uri = BuildDependenciesDownloader.getUriForMavenArtifact(
- mavenRepository = BuildDependenciesConstants.MAVEN_CENTRAL_URL,
+ mavenRepository = "MAVEN_REPO_HERE",
groupId = split[0],
artifactId = split[1],
version = split[2],
packaging = "jar"
)
- targetFile to downloadFileToCacheLocation(uri.toString(), communityRoot)
+ targetFile to Path.of(uri.toString())
}
@@ -89,7 +89,7 @@
}
}.asSequence().map { it.getCompleted() }.toMap()
@@ -133,21 +133,6 @@
val file = root.resolve("${split[1]}-${split[2]}.jar")
val uri = BuildDependenciesDownloader.getUriForMavenArtifact(
- mavenRepository = BuildDependenciesConstants.MAVEN_CENTRAL_URL,
+ mavenRepository = "MAVEN_REPO_HERE",
groupId = split[0],
artifactId = split[1],
version = split[2],
@@ -145,22 +145,7 @@
}
suspend fun downloadMavenDistribution(communityRoot: BuildDependenciesCommunityRoot): Path {
- val extractDir = communityRoot.communityRoot.resolve("plugins/maven/maven36-server-impl/lib/maven3")
- val properties = BuildDependenciesDownloader.getDependenciesProperties(communityRoot)
- val properties = BuildDependenciesDownloader.getDependencyProperties(communityRoot)
- val bundledMavenVersion = properties.property("bundledMavenVersion")
- mutex.withLock {
- val uri = BuildDependenciesDownloader.getUriForMavenArtifact(
@@ -38,7 +31,8 @@
- return extractDir
+ return Path.of("MAVEN_PATH_HERE")
}
}
suspend fun downloadMavenTelemetryDependencies(communityRoot: BuildDependenciesCommunityRoot): Path =
--- a/platform/build-scripts/downloader/src/org/jetbrains/intellij/build/dependencies/BuildDependenciesDownloader.kt
+++ b/platform/build-scripts/downloader/src/org/jetbrains/intellij/build/dependencies/BuildDependenciesDownloader.kt
@@ -70,7 +70,7 @@
@@ -52,19 +46,19 @@
return URI.create("${base}/${groupStr}/${artifactId}/${version}/${artifactId}-${version}${classifierStr}.${packaging}")
--- a/platform/build-scripts/downloader/src/org/jetbrains/intellij/build/dependencies/JdkDownloader.kt
+++ b/platform/build-scripts/downloader/src/org/jetbrains/intellij/build/dependencies/JdkDownloader.kt
@@ -25,11 +25,7 @@
@@ -33,11 +33,7 @@
}
fun getJdkHome(communityRoot: BuildDependenciesCommunityRoot, os: OS, arch: Arch, infoLog: (String) -> Unit): Path {
- val jdkUrl = getUrl(communityRoot, os, arch)
- val jdkArchive = BuildDependenciesDownloader.downloadFileToCacheLocation(communityRoot, jdkUrl)
- val jdkExtracted = BuildDependenciesDownloader.extractFileToCacheLocation(
- communityRoot, jdkArchive, BuildDependenciesExtractOptions.STRIP_ROOT)
- infoLog("jps-bootstrap JDK is at $jdkExtracted")
suspend fun getJdkHome(communityRoot: BuildDependenciesCommunityRoot, os: OS, arch: Arch, infoLog: (String) -> Unit): Path {
- val jdkUrl = getUrl(communityRoot = communityRoot, os = os, arch = arch)
- val jdkArchive = downloadFileToCacheLocation(url = jdkUrl.toString(), communityRoot = communityRoot)
- val jdkExtracted = BuildDependenciesDownloader.extractFileToCacheLocation(communityRoot = communityRoot,
- archiveFile = jdkArchive,
- BuildDependenciesExtractOptions.STRIP_ROOT)
+ val jdkExtracted = Path.of("JDK_PATH_HERE")
val jdkHome: Path = if (os == OS.MACOSX) {
jdkExtracted.resolve("Contents").resolve("Home")
val jdkHome = if (os == OS.MACOSX) jdkExtracted.resolve("Contents").resolve("Home") else jdkExtracted
infoLog("JPS-bootstrap JDK (jdkHome=$jdkHome, executable=${getJavaExecutable(jdkHome)})")
return jdkHome
--- a/platform/build-scripts/src/org/jetbrains/intellij/build/LinuxDistributionCustomizer.kt
+++ b/platform/build-scripts/src/org/jetbrains/intellij/build/LinuxDistributionCustomizer.kt
@@ -46,7 +46,7 @@
@@ -98,23 +92,24 @@
val tarGzPath = buildTarGz(arch = arch, runtimeDir = runtimeDir, unixDistPath = osAndArchSpecificDistPath, suffix = suffix(arch))
--- a/platform/build-scripts/src/org/jetbrains/intellij/build/impl/brokenPlugins.kt
+++ b/platform/build-scripts/src/org/jetbrains/intellij/build/impl/brokenPlugins.kt
@@ -11,6 +11,7 @@
import java.nio.file.Files
import java.nio.file.Path
@@ -9,6 +9,8 @@
import java.io.ByteArrayOutputStream
import java.io.DataOutputStream
import java.util.*
+import java.nio.file.Path
+import kotlin.io.path.readText
private const val MARKETPLACE_BROKEN_PLUGINS_URL = "https://plugins.jetbrains.com/files/brokenPlugins.json"
@@ -22,7 +23,7 @@
@@ -19,7 +21,7 @@
val span = Span.current()
val allBrokenPlugins = try {
val jsonFormat = Json { ignoreUnknownKeys = true }
- val content = downloadAsText(MARKETPLACE_BROKEN_PLUGINS_URL)
+ val content = Path.of("BROKEN_PLUGINS_HERE").readText()
jsonFormat.decodeFromString(ListSerializer(MarketplaceBrokenPlugin.serializer()), content)
@Suppress("JSON_FORMAT_REDUNDANT")
Json { ignoreUnknownKeys = true }.decodeFromString(ListSerializer(MarketplaceBrokenPlugin.serializer()), content)
}
catch (e: Exception) {
--- a/platform/build-scripts/src/org/jetbrains/intellij/build/kotlin/KotlinCompilerDependencyDownloader.kt
+++ b/platform/build-scripts/src/org/jetbrains/intellij/build/kotlin/KotlinCompilerDependencyDownloader.kt
@@ -23,31 +23,11 @@
@@ -151,3 +146,17 @@
}
fun getKotlinJpsPluginVersion(communityRoot: BuildDependenciesCommunityRoot): String {
--- a/platform/build-scripts/downloader/src/ktor.kt
+++ b/platform/build-scripts/downloader/src/ktor.kt
@@ -221,6 +221,11 @@
val lock = fileLocks.getLock(targetPath.hashCode())
lock.lock()
try {
+ if (url.startsWith("/")) {
+ var sourceUrl = Path.of(url)
+ Files.copy(sourceUrl, target)
+ }
+
if (Files.exists(target)) {
Span.current().addEvent("use asset from cache", Attributes.of(
AttributeKey.stringKey("url"), url,
@@ -1,9 +0,0 @@
--- a/.cargo/config.toml
+++ b/.cargo/config.toml
@@ -3,6 +3,3 @@
[target.'cfg(all(target_os = "macos", target_arch = "x86_64"))']
rustflags = ["-C", "link-arg=-mmacosx-version-min=10.15"]
-
-[target.'cfg(all(target_os = "linux", target_arch = "x86_64"))']
-rustflags = ["-C", "target-feature=+crt-static"]
File diff suppressed because one or more lines are too long
@@ -115,7 +115,6 @@ let
pname = "restarter";
version = buildVer;
inherit src;
patches = [ ../patches/restarter-no-static-crt-override.patch ];
sourceRoot = "source/native/restarter";
cargoHash = restarterHash;
};
@@ -188,11 +187,11 @@ let
repoUrl = "https://cache-redirector.jetbrains.com/maven.pkg.jetbrains.space/kotlin/p/kotlin/kotlin-ide-plugin-dependencies";
groupId = builtins.replaceStrings [ "." ] [ "/" ] "org.jetbrains.kotlin";
artefactId = "kotlin-jps-plugin-classpath";
version = "1.9.10";
version = "1.9.22";
in
fetchurl {
url = repoUrl + "/" + groupId + "/" + artefactId + "/" + version + "/" + artefactId + "-" + version + ".jar";
hash = "sha256-gpB4lg6wailtxSgPyyOrarXCL9+DszojaYGC4ULgU3c=";
hash = "sha256-ZPfEceGoIChDmjIAjjhDZpyMWQ7/DtP9Ll4YIrZN+PM=";
};
targetClass = if buildType == "pycharm" then "intellij.pycharm.community.build" else "intellij.idea.community.build";
@@ -231,7 +230,7 @@ stdenvNoCC.mkDerivation rec {
-e 's|MAVEN_REPO_HERE|${mvnRepo}/.m2/repository/|' \
-e 's|MAVEN_PATH_HERE|${maven}/maven|' \
-i build/deps/src/org/jetbrains/intellij/build/impl/BundledMavenDownloader.kt
echo '${buildVer}' > build.txt
echo '${buildVer}.SNAPSHOT' > build.txt
'';
configurePhase = ''
@@ -3,21 +3,21 @@
{
idea-community = callPackage ./build.nix {
buildVer = "233.13135.103";
buildVer = "241.17890.1";
buildType = "idea";
ideaHash = "sha256-ld6qvc0ceERrLSJOC07JEgDmg3lEYdU/XgjZXgzWTAg=";
androidHash = "sha256-D8zKkmPOx4RliAtyq2Z8Up2u224blP0SjNjW3yO7nSQ=";
jpsHash = "sha256-0cmn0N1UVNzw1hNOpy+9HhkHHNq+rVKnfXM+LjHAQ40=";
restarterHash = "sha256-56GqBY/w8expWTXSP3Bad9u7QV3q8LpNN8nd8tk+Zzk=";
ideaHash = "sha256-jWFnewxRkriSmV6CgGX1r//uaErMINfx3Z+JpkE34jk=";
androidHash = "sha256-hX2YdRYNRg0guskNiYfxdl9osgZojRen82IhgA6G0Eo=";
jpsHash = "sha256-Abr7L1FyqzRoUSDtsJs3cTEdkhORY5DzsQnOo5irVRI=";
restarterHash = "sha256-XdjyuJUQMvhC0fl6sMj0sRWlqgUb3ZgBmKKXcD3egkk=";
mvnDeps = ./idea_maven_artefacts.json;
};
pycharm-community = callPackage ./build.nix {
buildVer = "233.13135.95";
buildVer = "241.17890.14";
buildType = "pycharm";
ideaHash = "sha256-avRdwIr+uSXZhcMeamfy7OMYy0Ez7qWljwPc5V6n/60=";
androidHash = "sha256-D8zKkmPOx4RliAtyq2Z8Up2u224blP0SjNjW3yO7nSQ=";
jpsHash = "sha256-0cmn0N1UVNzw1hNOpy+9HhkHHNq+rVKnfXM+LjHAQ40=";
restarterHash = "sha256-YW+5Jl0EWqBj7iRkk70NFL+gccK9/tAOlm/n08XKH8M=";
ideaHash = "sha256-tTB91/RHEWP/ZILPNFAbolVBLvgjLXTdD/uF/pdJ22Y=";
androidHash = "sha256-hX2YdRYNRg0guskNiYfxdl9osgZojRen82IhgA6G0Eo=";
jpsHash = "sha256-Abr7L1FyqzRoUSDtsJs3cTEdkhORY5DzsQnOo5irVRI=";
restarterHash = "sha256-TbTIz9pc5wqL54TAMRoQ/9Ax/qsDp+r+h5jn2ub0hes=";
mvnDeps = ./idea_maven_artefacts.json;
};
}
File diff suppressed because it is too large Load Diff
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
homepage = "https://lifeograph.sourceforge.net/wiki/Main_Page";
description = "Lifeograph is an off-line and private journal and note taking application";
license = licenses.gpl3Only;
maintainers = with maintainers; [ wolfangaukang ];
maintainers = [ ];
mainProgram = "lifeograph";
platforms = platforms.linux;
};
@@ -66,6 +66,6 @@ stdenv.mkDerivation rec {
mainProgram = "com.github.kmwallio.thiefmd";
license = licenses.gpl3Only;
platforms = platforms.linux;
maintainers = with maintainers; [ wolfangaukang ];
maintainers = [ ];
};
}
@@ -2721,7 +2721,7 @@ let
description = "CloudFormation Linter IDE integration, autocompletion, and documentation";
homepage = "https://github.com/aws-cloudformation/cfn-lint-visual-studio-code";
license = lib.licenses.asl20;
maintainers = [ lib.maintainers.wolfangaukang ];
maintainers = [ ];
};
};
@@ -3962,6 +3962,31 @@ let
};
};
sdras.night-owl = buildVscodeMarketplaceExtension rec {
mktplcRef = {
name = "night-owl";
publisher = "sdras";
version = "2.0.1";
hash = "sha256-AqfcVV9GYZ+GLgusXfij9z4WzrU9cCHp3sdZb0i6HzE=";
};
meta = {
changelog = "https://github.com/sdras/night-owl-vscode-theme/blob/main/CHANGELOG.md#${
builtins.replaceStrings [ "." ] [ "" ] mktplcRef.version
}";
description = "A Visual Studio Code theme named Light Owl for daytime usage";
longDescription = ''
A VS Code theme for the night owls out there. Now introducing
Light Owl theme for daytime usage. Decisions were based
on meaningful contrast for reading comprehension and for
optimal razzle dazzle.
'';
downloadPage = "https://marketplace.visualstudio.com/items?itemName=sdras.night-owl";
homepage = "https://github.com/sdras/night-owl-vscode-theme";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.pladypus ];
};
};
seatonjiang.gitmoji-vscode = buildVscodeMarketplaceExtension {
mktplcRef = {
publisher = "seatonjiang";
@@ -4706,7 +4731,7 @@ let
};
meta = {
license = lib.licenses.mit;
maintainers = [ lib.maintainers.wolfangaukang ];
maintainers = [ ];
};
};
@@ -2,16 +2,16 @@
buildGoModule rec {
pname = "walk";
version = "1.7.0";
version = "1.8.0";
src = fetchFromGitHub {
owner = "antonmedv";
repo = "walk";
rev = "v${version}";
hash = "sha256-hif62WAyJyFHpJoP3ph7gJk1QkEL7qkcv/BJuoXkwFU=";
hash = "sha256-xs9K8WrckkpyzHnjYlzRsicMW+o7nTMYCIZVWOwx4PU=";
};
vendorHash = "sha256-e292ke0JiFEopLSozb+FkpwzSuhpIs/PdWOYuNI2M2o=";
vendorHash = "sha256-p92H4JqklrV0c4vp9puAgDzBzMpwI40WPz9ix0e77l8=";
meta = with lib; {
description = "Terminal file manager";
+10 -1
View File
@@ -17,6 +17,7 @@
, libpng
, opencolorio_1
, freetype
, openexr
}:
let
@@ -145,11 +146,12 @@ stdenv.mkDerivation rec {
ilmbase
glm
glfw3
zlib.dev
zlib
libpng
freetype
opencolorio_1
djv-deps
openexr
];
postPatch = ''
@@ -162,6 +164,13 @@ stdenv.mkDerivation rec {
sed -i cmake/Modules/FindOCIO.cmake \
-e 's/PATH_SUFFIXES static//' \
-e '/OpenColorIO_STATIC/d'
# When searching for OpenEXR this looks for Iex.h, which exists in ilmbase,
# since it's a secondary inport, to find the correct OpenEXR lib, we search
# for something specifically in OpenEXR.
sed -i cmake/Modules/FindOpenEXR.cmake \
-e 's/find_path(OpenEXR_INCLUDE_DIR NAMES Iex.h PATH_SUFFIXES OpenEXR)/find_path(OpenEXR_INCLUDE_DIR NAMES ImfImage.h PATH_SUFFIXES OpenEXR)/'
'';
# GLFW requires a working X11 session.
@@ -14,14 +14,14 @@
stdenv.mkDerivation rec {
pname = "drawio";
version = "24.4.8";
version = "24.6.1";
src = fetchFromGitHub {
owner = "jgraph";
repo = "drawio-desktop";
rev = "v${version}";
fetchSubmodules = true;
hash = "sha256-dtkRi7oisdgMAbaltPcz5umxcd6/F1WOjKQpJUAFFY0=";
hash = "sha256-trBSNE5OBBNq18Dn/IwhHpD3ZQ7C5venwsBtyZxv+2k=";
};
# `@electron/fuses` tries to run `codesign` and fails. Disable and use autoSignDarwinBinariesHook instead
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
offlineCache = fetchYarnDeps {
yarnLock = src + "/yarn.lock";
hash = "sha256-JbDIaO5jgPAoSD3hkMaKp3vLU5Avt+G5h427bvWJ08k=";
hash = "sha256-9Hq08DXEiOK0P+x89Gl3Y2+dN5r7aS7GNrCSVDGMpFs=";
};
nativeBuildInputs = [
@@ -4,6 +4,7 @@
, fetchurl
, autoPatchelfHook
, dpkg
, makeWrapper
, wrapGAppsHook3
, ...
}:
@@ -17,7 +18,12 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-ukUsNgWOtIRe54vsmRdI62syjIPwSsgNV7kITCw0YUQ=";
};
nativeBuildInputs = [ autoPatchelfHook dpkg wrapGAppsHook3 ];
nativeBuildInputs = [
autoPatchelfHook
dpkg
makeWrapper
wrapGAppsHook3
];
buildInputs = with pkgs;[
alsa-lib
@@ -52,6 +58,10 @@ stdenv.mkDerivation (finalAttrs: {
sourceRoot = ".";
# Instead of double wrapping the binary, simply pass the `gappsWrapperArgs`
# to `makeWrapper` directly
dontWrapGApps = true;
installPhase = ''
runHook preInstall
@@ -60,6 +70,10 @@ stdenv.mkDerivation (finalAttrs: {
cp -r usr/* $out
wrapProgramShell $out/bin/figma-linux \
"''${gappsWrapperArgs[@]}" \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--enable-features=UseOzonePlatform --ozone-platform=wayland}}"
runHook postInstall
'';
@@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
license = licenses.unfree;
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ wolfangaukang ];
maintainers = [ ];
mainProgram = "pixeluvo";
};
}
+1 -1
View File
@@ -97,7 +97,7 @@ buildPythonApplication rec {
description = "QR code scanner desktop app for Linux";
homepage = "https://github.com/hongquan/CoBang";
license = licenses.gpl3Only;
maintainers = with maintainers; [ wolfangaukang ];
maintainers = [ ];
mainProgram = "cobang";
platforms = [ "x86_64-linux" ];
};
+3 -3
View File
@@ -21,19 +21,19 @@
stdenv.mkDerivation rec {
pname = "diebahn";
version = "2.5.0";
version = "2.6.0";
src = fetchFromGitLab {
owner = "schmiddi-on-mobile";
repo = "railway";
rev = version;
hash = "sha256-Oj+y3BFAVzWUt+S0iOtKzFBiJGOGHuTj41FHHuOrWh8=";
hash = "sha256-cVCq7iVurX5SlCs7A5FSds6KaxMW3Qv/JIhhO69FTrk=";
};
cargoDeps = rustPlatform.fetchCargoTarball {
name = "${pname}-${src}";
inherit src;
hash = "sha256-//tr1CLn5Qoc+XMFzwNIvmsQD4SrjNRTX3hUPqlhwNs=";
hash = "sha256-J8KOmvSiUNBpt4qSFnNEwSKFJMSaTFd14G2INDYwPUE=";
};
nativeBuildInputs = [
@@ -27,7 +27,7 @@ in appimageTools.wrapType2 {
description = "IOTA's New Wallet";
homepage = "https://firefly.iota.org";
license = licenses.asl20;
maintainers = with maintainers; [ wolfangaukang ];
maintainers = [ ];
platforms = [ "x86_64-linux" ];
mainProgram = "firefly-desktop";
};
@@ -33,7 +33,7 @@ in appimageTools.wrapType2 {
description = "User-friendly desktop wallet with support for transaction history, encrypted contact book, gift codes, and payments";
homepage = "https://github.com/mobilecoinofficial/desktop-wallet";
license = licenses.gpl3Only;
maintainers = with maintainers; [ wolfangaukang ];
maintainers = [ ];
mainProgram = "mobilecoin-wallet";
platforms = [ "x86_64-linux" ];
};
@@ -29,13 +29,13 @@ let
};
in stdenv.mkDerivation rec {
pname = "organicmaps";
version = "2024.06.02-12";
version = "2024.06.19-3";
src = fetchFromGitHub {
owner = "organicmaps";
repo = "organicmaps";
rev = "${version}-android";
hash = "sha256-TOKBEnSa9kzfGsiNpMllLjcJtdhYfz9m4uAg0lUF8Z4=";
hash = "sha256-LB3yLBoO6nXRvfuWWB2JofeAgQQFtEgqNo2QFQ3k/vc=";
fetchSubmodules = true;
};
+2 -2
View File
@@ -15,13 +15,13 @@
stdenv.mkDerivation rec {
pname = "sticky";
version = "1.20";
version = "1.21";
src = fetchFromGitHub {
owner = "linuxmint";
repo = pname;
rev = version;
hash = "sha256-HzTXaJgDu72pWM0mGNNBy2yFB0u0rqATFK9JzyOw8oE=";
hash = "sha256-EH5EyvI3iAZr+aSV3DKM9RLkPmUcwKKXlOXSU0ECsPI=";
};
postPatch = ''
@@ -165,7 +165,7 @@ python.pkgs.pythonPackages.buildPythonPackage rec {
updateScript = ./update.sh;
tests = {
inherit (nixosTests) tandoor-recipes;
inherit (nixosTests) tandoor-recipes tandoor-recipes-script-name;
};
};
+1 -1
View File
@@ -48,7 +48,7 @@ stdenv.mkDerivation rec {
homepage = "https://thedesk.top";
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
license = licenses.gpl3Only;
maintainers = with maintainers; [ wolfangaukang ];
maintainers = [ ];
platforms = [ "x86_64-linux" ];
mainProgram = "thedesk";
};
+1 -1
View File
@@ -63,6 +63,6 @@ stdenv.mkDerivation rec {
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
license = licenses.unfree;
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ zakkor wolfangaukang ];
maintainers = with maintainers; [ zakkor ];
};
}
+1 -1
View File
@@ -107,7 +107,7 @@ stdenv.mkDerivation rec {
homepage = "https://whalebird.social";
changelog = "https://github.com/h3poteto/whalebird-desktop/releases/tag/v${version}";
license = licenses.gpl3Only;
maintainers = with maintainers; [ wolfangaukang weathercold ];
maintainers = with maintainers; [ weathercold ];
platforms = [ "x86_64-linux" "aarch64-linux" ];
};
}
@@ -20,7 +20,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "palemoon-bin";
version = "33.1.1";
version = "33.2.0";
src = finalAttrs.passthru.sources."gtk${if withGTK3 then "3" else "2"}";
@@ -158,11 +158,11 @@ stdenv.mkDerivation (finalAttrs: {
in {
gtk3 = fetchzip {
urls = urlRegionVariants "gtk3";
hash = "sha256-0i0hXC6mC1SY2V6ANMXHS4LZ/HZk8FUsSDQfQUE14IM=";
hash = "sha256-h6ohLm9I6esvVa9bek/j2s/jiIcEOwjd8/dCyUvqyLw=";
};
gtk2 = fetchzip {
urls = urlRegionVariants "gtk2";
hash = "sha256-RnBlCxIsWxm6BbtAS0YKHtix93N6t9jihFItqhtLhRU=";
hash = "sha256-To/41og5hxFL6efJhNfRNJw/fOXZA5Le16DZsSJrXfc=";
};
};
@@ -1,89 +0,0 @@
{ lib
, callPackage
, fetchFromGitLab
, appstream
, gobject-introspection
, meson
, ninja
, pkg-config
, wrapGAppsHook3
, glib
, glib-networking
, gtk3
, libhandy
, listparser ? callPackage ./listparser.nix { }
, webkitgtk
, python3
}:
python3.pkgs.buildPythonApplication rec {
pname = "gnome-feeds";
version = "0.16.2";
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
owner = "World";
repo = "gfeeds";
rev = version;
sha256 = "sha256-66dwVR9owg050aHCHJek7jYnT+/yyCKo4AaUE0hCqBA=";
};
format = "other";
nativeBuildInputs = [
appstream
glib # for glib-compile-schemas
gobject-introspection
meson
ninja
pkg-config
wrapGAppsHook3
];
buildInputs = [
glib
glib-networking
gtk3
libhandy
webkitgtk
];
propagatedBuildInputs = with python3.pkgs; [
beautifulsoup4
python-dateutil
feedparser
html5lib
listparser
lxml
pillow
pygments
pygobject3
readability-lxml
pytz
requests
];
dontWrapGApps = true;
preFixup = ''
makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
'';
passthru = {
inherit listparser;
};
meta = with lib; {
description = "RSS/Atom feed reader for GNOME";
mainProgram = "gfeeds";
homepage = "https://gitlab.gnome.org/World/gfeeds";
license = licenses.gpl3Plus;
maintainers = [
maintainers.pbogdan
];
platforms = platforms.linux;
};
}
@@ -1,33 +0,0 @@
{ lib
, python3
, fetchPypi
}:
python3.pkgs.buildPythonPackage rec {
pname = "listparser";
version = "0.18";
src = fetchPypi {
inherit pname version;
sha256 = "0hdqs1mmayw1r8yla43hgb4d9y3zqs5483vgf8j9ygczkd2wrq2b";
};
propagatedBuildInputs = with python3.pkgs; [
requests
six
];
checkPhase = ''
${python3.interpreter} lptest.py
'';
meta = with lib; {
description = "Parser for subscription lists";
homepage = "https://github.com/kurtmckee/listparser";
license = licenses.lgpl3Plus;
maintainers = [
maintainers.pbogdan
];
platforms = platforms.linux;
};
}
@@ -75,7 +75,7 @@ stdenv.mkDerivation rec {
homepage = "https://alfaview.com";
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
license = licenses.unfree;
maintainers = with maintainers; [ wolfangaukang hexchen ];
maintainers = with maintainers; [ hexchen ];
mainProgram = "alfaview";
platforms = [ "x86_64-linux" ];
};
@@ -4,7 +4,7 @@ let
if stdenv.isLinux then {
stable = "0.0.56";
ptb = "0.0.90";
canary = "0.0.422";
canary = "0.0.431";
development = "0.0.19";
} else {
stable = "0.0.307";
@@ -25,7 +25,7 @@ let
};
canary = fetchurl {
url = "https://dl-canary.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz";
hash = "sha256-MTC079WTN0Vw57aLro1WkHRL09IKYjnUsfBAMiiHjI0=";
hash = "sha256-59Sv3U3osfk+QoXgorpqK7CU0nJBdpFOMkoGRgHN3v8=";
};
development = fetchurl {
url = "https://dl-development.discordapp.net/apps/linux/${version}/discord-development-${version}.tar.gz";
@@ -122,7 +122,7 @@ buildNpmPackage rec {
homepage = "https://threema.ch";
license = licenses.agpl3Only;
mainProgram = "threema";
maintainers = with maintainers; [ wolfangaukang ];
maintainers = [ ];
platforms = [ "x86_64-linux" ];
};
}
@@ -30,7 +30,7 @@ appimageTools.wrapType2 rec {
changelog = "https://github.com/tutao/tutanota/releases/tag/tutanota-desktop-release-${version}";
license = licenses.gpl3Only;
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
maintainers = with maintainers; [ wolfangaukang ];
maintainers = [ ];
mainProgram = "tutanota-desktop";
platforms = [ "x86_64-linux" ];
};
@@ -24,11 +24,11 @@
stdenv.mkDerivation rec {
pname = "liferea";
version = "1.15.6";
version = "1.15.7";
src = fetchurl {
url = "https://github.com/lwindolf/${pname}/releases/download/v${version}/${pname}-${version}.tar.bz2";
hash = "sha256-4P/0fwHofsRjZcLuFdkUKxWIp/9P5yXA2ED/zqTGd94=";
hash = "sha256-vv6hrvfD1T+eH/Bi1ID0yoxB4747Q+nMvklT49uaX38=";
};
nativeBuildInputs = [
@@ -31,7 +31,7 @@ appimageTools.wrapType2 {
mainProgram = "raven-reader";
homepage = "https://ravenreader.app/";
license = licenses.mit;
maintainers = with maintainers; [ wolfangaukang ];
maintainers = [ ];
platforms = [ "x86_64-linux" ];
};
}
@@ -17,7 +17,7 @@
, libevent
, libgee
, libnatpmp
, libtransmission
, libtransmission_3
, libutp
, miniupnpc
, openssl
@@ -54,7 +54,7 @@ stdenv.mkDerivation rec {
libevent
libgee
libnatpmp
libtransmission
libtransmission_3
libutp
miniupnpc
openssl
@@ -33,7 +33,7 @@ buildPythonApplication rec {
meta = with lib; {
description = "Linux command-line client for ProtonVPN";
homepage = "https://github.com/protonvpn/linux-cli";
maintainers = with maintainers; [ wolfangaukang ];
maintainers = [ ];
license = licenses.gpl3Plus;
platforms = platforms.linux;
mainProgram = "protonvpn-cli";
@@ -98,6 +98,6 @@ buildPythonApplication rec {
license = licenses.gpl3Plus;
platforms = platforms.linux;
mainProgram = "protonvpn-app";
maintainers = with maintainers; [ wolfangaukang ];
maintainers = [ ];
};
}
@@ -71,7 +71,7 @@ buildPythonApplication rec {
meta = with lib; {
description = "Official ProtonVPN Linux app";
homepage = "https://github.com/ProtonVPN/linux-app";
maintainers = with maintainers; [ wolfangaukang ];
maintainers = [ ];
license = licenses.gpl3Plus;
mainProgram = "protonvpn";
platforms = platforms.linux;
@@ -6,11 +6,6 @@
, makeWrapper
, xdg-utils
, dbus
, qtbase
, qtwebengine
, qtx11extras
, qtquickcontrols2
, qtgraphicaleffects
, getconf
, glibc
, libXrandr
@@ -23,13 +18,15 @@
, coreutils
, wrapQtAppsHook
, icu63
, nss
, minizip
}:
mkDerivation rec {
pname = "teamviewer";
# teamviewer itself has not development files but the dev output removes propagated other dev outputs from runtime
outputs = [ "out" "dev" ];
version = "15.49.2";
version = "15.54.3";
src =
let
@@ -38,11 +35,11 @@ mkDerivation rec {
{
x86_64-linux = fetchurl {
url = "${base_url}/teamviewer_${version}_amd64.deb";
sha256 = "sha256-Ag41RQD4lp4Sxuz6wZwiFzVxUalV+M3Zwa2Cug4iNSM=";
hash = "sha256-41zVX2svomcRKu2ow1A/EeKojBIpABO4o2EZxappzgo=";
};
aarch64-linux = fetchurl {
url = "${base_url}/teamviewer_${version}_arm64.deb";
sha256 = "sha256-JGSmFq4q8TQJVIrS6qQxIxZPNKgor+pFetextLJPHtg=";
hash = "sha256-wuQYWeYgXW54/5dpiGzJxZ9JZDlUgFgCKq8Z4xV2HlI=";
};
}.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
@@ -52,7 +49,7 @@ mkDerivation rec {
'';
nativeBuildInputs = [ autoPatchelfHook makeWrapper wrapQtAppsHook ];
buildInputs = [ qtbase qtwebengine qtx11extras qtquickcontrols2 qtgraphicaleffects icu63 ];
buildInputs = [ minizip icu63 nss ];
installPhase = ''
mkdir -p $out/share/teamviewer $out/bin $out/share/applications
@@ -60,27 +57,10 @@ mkDerivation rec {
rm -R \
$out/share/teamviewer/logfiles \
$out/share/teamviewer/config \
$out/share/teamviewer/tv_bin/xdg-utils \
$out/share/teamviewer/tv_bin/script/{teamviewer_setup,teamviewerd.sysv,teamviewerd.service,teamviewerd.*.conf,tv-delayed-start.sh}
# Teamviewer packages its own qt library files.
# Most of them can be replaced by nixpkgs libraries, but the following need to be used beginning at version 15.35.7
# because teamviewer will not start without them, either stalling at startup or even segfaulting. In the logfiles, some missing qt libraries
# can be observed, although they are present from nixpkgs. AutoPatchelfHook will automatically choose the included libraries, if present.
# See https://github.com/NixOS/nixpkgs/pull/202024
# delete all library files except "qt" folder
find $out/share/teamviewer/tv_bin/RTlib -depth -maxdepth 1 ! -type d -execdir rm -rf {} +
# remove all other folders except "qml" and "plugins" from the qml directory
find $out/share/teamviewer/tv_bin/RTlib/qt -depth -maxdepth 1 -mindepth 1 -type d ! \( -name "qml" -o -name "plugins" \) -execdir rm -rf {} +
# keep "QtQuick" and "QtQuick.2" directory
find $out/share/teamviewer/tv_bin/RTlib/qt/qml -depth -maxdepth 1 -mindepth 1 -type d ! \( -name "QtQuick" -o -name "QtQuick.2" \) -execdir rm -rf {} +
# delete all folders except "platforms" from the plugins directory
# it contains libqxcb.so from qtbase which seems to be incompatible with our nixpkgs version
find $out/share/teamviewer/tv_bin/RTlib/qt/plugins -depth -maxdepth 1 -mindepth 1 -type d ! -name "platforms" -execdir rm -rf {} +
# Teamviewer packages its own qt library files. So do not use nixpkgs qt files. These will cause issues
# See https://github.com/NixOS/nixpkgs/issues/321333
ln -s $out/share/teamviewer/tv_bin/script/teamviewer $out/bin
ln -s $out/share/teamviewer/tv_bin/teamviewerd $out/bin
@@ -94,11 +74,11 @@ mkDerivation rec {
install -d "$out/share/dbus-1/services"
install -m 644 "$in_script_dir/com.teamviewer.TeamViewer.service" "$out/share/dbus-1/services"
substituteInPlace "$out/share/dbus-1/services/com.teamviewer.TeamViewer.service" \
--replace '/opt/teamviewer/tv_bin/TeamViewer' \
--replace-fail '/opt/teamviewer/tv_bin/TeamViewer' \
"$out/share/teamviewer/tv_bin/TeamViewer"
install -m 644 "$in_script_dir/com.teamviewer.TeamViewer.Desktop.service" "$out/share/dbus-1/services"
substituteInPlace "$out/share/dbus-1/services/com.teamviewer.TeamViewer.Desktop.service" \
--replace '/opt/teamviewer/tv_bin/TeamViewer_Desktop' \
--replace-fail '/opt/teamviewer/tv_bin/TeamViewer_Desktop' \
"$out/share/teamviewer/tv_bin/TeamViewer_Desktop"
install -d "$out/share/dbus-1/system.d"
@@ -11,16 +11,16 @@
buildGoModule rec {
pname = "trayscale";
version = "0.12.3";
version = "0.12.4";
src = fetchFromGitHub {
owner = "DeedleFake";
repo = "trayscale";
rev = "v${version}";
hash = "sha256-2mGPbH74a9d1uhRGMSEfrzCnwjgdgbopu20K9/g6wg0=";
hash = "sha256-quy1maeC1ebVzMvN+JzKf8AmMbipju9vvdTU03SyNnc=";
};
vendorHash = "sha256-Iedd8WsJPAVQexRqDSLAmv7MAWc4IFQXHk6XpnStMps=";
vendorHash = "sha256-lGjJLqEGBFd2aYm82xrDfLK90Mcrhb7bMtXSNZpp/bM=";
subPackages = [ "cmd/trayscale" ];
@@ -25,7 +25,7 @@ appimageTools.wrapType2 rec {
description = "Free time tracker and timesheet app that lets you track work hours across projects";
homepage = "https://clockify.me";
license = licenses.unfree;
maintainers = with maintainers; [ wolfangaukang ];
maintainers = [ ];
mainProgram = "clockify";
platforms = [ "x86_64-linux" ];
};
+1 -1
View File
@@ -54,7 +54,7 @@ stdenv.mkDerivation rec {
mainProgram = "morgen";
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
license = licenses.unfree;
maintainers = with maintainers; [ justanotherariel wolfangaukang ];
maintainers = with maintainers; [ justanotherariel ];
platforms = [ "x86_64-linux" ];
};
}
@@ -24,13 +24,13 @@
}:
let
version = "2.9.0";
version = "2.10.1";
src = fetchFromGitHub {
owner = "paperless-ngx";
repo = "paperless-ngx";
rev = "refs/tags/v${version}";
hash = "sha256-7dcZbuz3yi0sND6AEqIwIo9byeZheOpIAhmBpOW5lhU=";
hash = "sha256-M1S5ebdpw11Ot4h4xvbk/rbJxXom2dZ5Of+6eOlBIuE=";
};
# subpath installation is broken with uvicorn >= 0.26
@@ -86,7 +86,7 @@ let
cd src-ui
'';
npmDepsHash = "sha256-gLEzifZK8Ok1SOo3YIIV5pTx4cbedQh025VqkodYrYQ=";
npmDepsHash = "sha256-zmlYwlH2cnGbbKf6jt5zBLh0Iv3C9/xN0iA4xVetRNE=";
nativeBuildInputs = [
pkg-config
@@ -150,6 +150,7 @@ python.pkgs.buildPythonApplication rec {
django-filter
django-guardian
django-multiselectfield
django-soft-delete
djangorestframework
djangorestframework-guardian2
drf-writable-nested
@@ -165,7 +166,7 @@ python.pkgs.buildPythonApplication rec {
ocrmypdf
pathvalidate
pdf2image
psycopg2
psycopg
python-dateutil
python-dotenv
python-gnupg
@@ -12,13 +12,13 @@
stdenv.mkDerivation rec {
pname = "treesheets";
version = "0-unstable-2024-06-09";
version = "0-unstable-2024-06-20";
src = fetchFromGitHub {
owner = "aardappel";
repo = "treesheets";
rev = "c753ce40686c3044eb7fb653bb913d1610096cd1";
hash = "sha256-WpbG2RY7z71GBSDjv/VjcFsGcb/YK7P4oMVEydsYpuw=";
rev = "d363b4207281caaa6f3b84af93b0cd56c1855692";
hash = "sha256-aZIt0DAGDQmIeLZHXjYao5CUhjLp9pjTiXJyoDi0kpQ=";
};
nativeBuildInputs = [
+17 -11
View File
@@ -8,21 +8,23 @@
python3.pkgs.buildPythonApplication rec {
pname = "deface";
version = "1.4.0";
format = "pyproject";
version = "1.5.0";
pyproject = true;
disabled = python3.pythonOlder "3.8";
src = fetchFromGitHub {
owner = "ORB-HD";
repo = "deface";
rev = "v${version}";
hash = "sha256-tLNTgdnKKmyYHVajz0dHIb7cvC1by5LQ5CFIbMvPEYk=";
rev = "refs/tags/v${version}";
hash = "sha256-/mXWeL6OSgW4BMXtAZD/3UxQUGt7UE5ZvH8CXNCueJo=";
};
nativeBuildInputs = with python3.pkgs; [
build-system = with python3.pkgs; [
setuptools-scm
];
propagatedBuildInputs = with python3.pkgs; [
dependencies = with python3.pkgs; [
imageio
imageio-ffmpeg
numpy
@@ -38,17 +40,21 @@ python3.pkgs.buildPythonApplication rec {
''--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ pkgs.onnxruntime ]}"''
];
patchPhase = ''
substituteInPlace pyproject.toml requirements.txt --replace "opencv-python" "opencv"
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail "opencv-python" "opencv"
'';
pythonImportsCheck = [ "deface" "onnx" "onnxruntime" ];
meta = with lib; {
meta = {
description = "Video anonymization by face detection";
homepage = "https://github.com/ORB-HD/deface";
license = licenses.mit;
maintainers = with maintainers; [ lurkki ];
changelog = "https://github.com/ORB-HD/deface/releases/tag/v${version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ lurkki ];
mainProgram = "deface";
# terminate called after throwing an instance of 'onnxruntime::OnnxRuntimeException'
broken = stdenv.hostPlatform.system == "aarch64-linux";
};
}
+2 -2
View File
@@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "freetube";
version = "0.20.0";
version = "0.21.0";
src = fetchurl {
url = "https://github.com/FreeTubeApp/FreeTube/releases/download/v${version}-beta/freetube_${version}_amd64.AppImage";
sha256 = "sha256-7k5hyiK3m+117AxmsoecGsgXSxs8xhyTf8+rl4oBbB8=";
sha256 = "sha256-jTDJ0oyDrgOM6T+nwiOakm3QUqKfK2UNY6AfpoaJzd0=";
};
passthru.tests = nixosTests.freetube;
File diff suppressed because it is too large Load Diff
@@ -2,23 +2,22 @@
rustPlatform.buildRustPackage rec {
pname = "cloud-hypervisor";
version = "39.0";
version = "40.0";
src = fetchFromGitHub {
owner = "cloud-hypervisor";
repo = pname;
rev = "v${version}";
hash = "sha256-sMnfeICo/PhpljstTIj4CiE4QBuyVKYD9oWvWf0Ouew=";
hash = "sha256-zrMJGdbOukNbzmcTuIcHlwAbJvTzhz53dc4TO/Fplb4=";
};
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"acpi_tables-0.1.0" = "sha256-a6ojB2XVeH+YzzXRle0agg+ljn0Jsgyaf6TJZAGt8sQ=";
"igvm-0.1.9" = "sha256-OztgRiv+//27MS9SqSBJPbrVlXihK2m9UkG4REZ9Vn0=";
"micro_http-0.1.0" = "sha256-yIgcoEfc7eeS1+bijzkifaBxVNHa71Y+Vn79owMaKvM=";
"mshv-bindings-0.1.1" = "sha256-US/AzS7iRUQijkGs1EG04Hk4Q7dPz65BeTMsI8rtMqw=";
"vfio-bindings-0.4.0" = "sha256-k8Hf5y8MiTnd3k2iEgnnX/o8VdVS7prKlnssyEerVRM=";
"mshv-bindings-0.2.0" = "sha256-NYViItbjt1Q2G4yO3j37naHe9EJ+llkjrNt6w4zoiW8=";
"vfio-bindings-0.4.0" = "sha256-mzdYH23CVWm7fvu4+1cFHlPhkUjh7+JlU/ScoXaDNgA=";
"vfio_user-0.1.0" = "sha256-LJ84k9pMkSAaWkuaUd+2LnPXnNgrP5LdbPOc1Yjz5xA=";
"vm-fdt-0.3.0" = "sha256-9PywgSnSL+8gT6lcl9t6w7X4fEINa+db+H1vWS+gDOI=";
};
@@ -1,50 +1,35 @@
{ lib
, callPackage
, pkg-config
, stdenv
, hyprland
{
lib,
callPackage,
pkg-config,
stdenv,
hyprland,
}:
let
mkHyprlandPlugin = hyprland:
mkHyprlandPlugin =
hyprland:
args@{ pluginName, ... }:
stdenv.mkDerivation (args // {
pname = "${pluginName}";
nativeBuildInputs = [ pkg-config ] ++ args.nativeBuildInputs or [ ];
buildInputs = [ hyprland ]
++ hyprland.buildInputs
++ (args.buildInputs or [ ]);
meta = args.meta // {
description = args.meta.description or "";
longDescription = (args.meta.longDescription or "") +
"\n\nPlugins can be installed via a plugin entry in the Hyprland NixOS or Home Manager options.";
};
});
plugins = {
hy3 = { fetchFromGitHub, cmake, hyprland }:
mkHyprlandPlugin hyprland rec {
pluginName = "hy3";
version = "0.41.0";
src = fetchFromGitHub {
owner = "outfoxxed";
repo = "hy3";
rev = "hl${version}";
hash = "sha256-gEEWWlQRvejSR2RRg78Lubz6siIgknqj6CslveyyIP4=";
stdenv.mkDerivation (
args
// {
pname = "${pluginName}";
nativeBuildInputs = [ pkg-config ] ++ args.nativeBuildInputs or [ ];
buildInputs = [ hyprland ] ++ hyprland.buildInputs ++ (args.buildInputs or [ ]);
meta = args.meta // {
description = args.meta.description or "";
longDescription =
(args.meta.longDescription or "")
+ "\n\nPlugins can be installed via a plugin entry in the Hyprland NixOS or Home Manager options.";
};
}
);
nativeBuildInputs = [ cmake ];
dontStrip = true;
meta = {
homepage = "https://github.com/outfoxxed/hy3";
description = "Hyprland plugin for an i3 / sway like manual tiling layout";
license = lib.licenses.gpl3;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ aacebedo ];
};
};
};
plugins = lib.mergeAttrsList [
{ hy3 = import ./hy3.nix; }
(import ./hyprland-plugins.nix)
];
in
(lib.mapAttrs (name: plugin: callPackage plugin { }) plugins) // { inherit mkHyprlandPlugin; }
(lib.mapAttrs (name: plugin: callPackage plugin { inherit mkHyprlandPlugin; }) plugins)
// {
inherit mkHyprlandPlugin;
}
@@ -0,0 +1,30 @@
{
lib,
cmake,
fetchFromGitHub,
hyprland,
mkHyprlandPlugin,
}:
mkHyprlandPlugin hyprland rec {
pluginName = "hy3";
version = "0.41.1";
src = fetchFromGitHub {
owner = "outfoxxed";
repo = "hy3";
rev = "hl${version}";
hash = "sha256-bRLI+zgfT31LCMW4Pf701ZZx2oFeXoBu1BfYQjX6MPc=";
};
nativeBuildInputs = [ cmake ];
dontStrip = true;
meta = {
homepage = "https://github.com/outfoxxed/hy3";
description = "Hyprland plugin for an i3 / sway like manual tiling layout";
license = lib.licenses.gpl3;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ aacebedo ];
};
}
@@ -0,0 +1,51 @@
let
# shared src for upstream hyprland-plugins repo
# function generating derivations for all plugins in hyprland-plugins
hyprland-plugins =
builtins.mapAttrs
(
name: description:
(
{
lib,
cmake,
fetchFromGitHub,
hyprland,
mkHyprlandPlugin,
}:
let
version = "0.41.1";
hyprland-plugins-src = fetchFromGitHub {
owner = "hyprwm";
repo = "hyprland-plugins";
rev = "v${version}";
hash = "sha256-Bw3JRBUZg2kmDwxa/UHvD//gGcNjbftTj2MSeLvx1q8=";
};
in
mkHyprlandPlugin hyprland {
pluginName = name;
inherit version;
src = "${hyprland-plugins-src}/${name}";
nativeBuildInputs = [ cmake ];
meta = {
homepage = "https://github.com/hyprwm/hyprland-plugins";
description = "Hyprland ${description} plugin";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ fufexan ];
platforms = lib.platforms.linux;
};
}
)
)
{
borders-plus-plus = "multiple borders";
csgo-vulkan-fix = "CS:GO/CS2 Vulkan fix";
hyprbars = "window title";
hyprexpo = "workspaces overview";
hyprtrails = "smooth trails behind moving windows";
hyprwinwrap = "xwinwrap-like";
};
in
hyprland-plugins
+2 -2
View File
@@ -1,4 +1,4 @@
{ lib, runCommand, transmission_noSystemd, rqbit, writeShellScript, formats, cacert, rsync }:
{ lib, runCommand, transmission_3_noSystemd, rqbit, writeShellScript, formats, cacert, rsync }:
let
urlRegexp = ''.*xt=urn:bt[im]h:([^&]{64}|[^&]{40}).*'';
in
@@ -32,7 +32,7 @@ let
in
runCommand name {
inherit meta;
nativeBuildInputs = [ cacert ] ++ (if (backend == "transmission" ) then [ transmission_noSystemd ] else if (backend == "rqbit") then [ rqbit ] else throw "rqbit or transmission are the only available backends for fetchtorrent");
nativeBuildInputs = [ cacert ] ++ (if (backend == "transmission" ) then [ transmission_3_noSystemd ] else if (backend == "rqbit") then [ rqbit ] else throw "rqbit or transmission are the only available backends for fetchtorrent");
outputHashAlgo = if hash != "" then null else "sha256";
outputHash = hash;
outputHashMode = if recursiveHash then "recursive" else "flat";
@@ -7,13 +7,13 @@
stdenvNoCC.mkDerivation {
pname = "ananicy-rules-cachyos";
version = "0-unstable-2024-06-14";
version = "0-unstable-2024-06-19";
src = fetchFromGitHub {
owner = "CachyOS";
repo = "ananicy-rules";
rev = "e3638ebb2320202ede9facfc9657cc8af2098a2d";
hash = "sha256-lIhXeqPJKC3brxVhIK04K9AAU+RqqqOwN/gUevYmaDM=";
rev = "167915d1c6e4f46932a9857b1a4aeb3e813a8538";
hash = "sha256-hIrjc80DuuENLbD5MxAku6aY05kdfXWLPSCSssadmr8=";
};
dontConfigure = true;
+2 -2
View File
@@ -5,7 +5,7 @@
...
}:
let
version = "0.5.1";
version = "0.5.2";
in
buildGoModule {
pname = "ardugotools";
@@ -15,7 +15,7 @@ buildGoModule {
owner = "randomouscrap98";
repo = "ardugotools";
rev = "refs/tags/v${version}";
hash = "sha256-c+sJoE5NML06bl6ch+OiN1vO0rdyE2gf/z4pzY7i5Qk=";
hash = "sha256-ugYkcYrVHoGC58u6zQNEjlWspAFONmEQVnVDWdWeVnw=";
};
vendorHash = "sha256-Z9ObsS+GwVsz6ZlXCgN0WlShHzbmx4WLa/1/XLSSAAs=";
+4 -6
View File
@@ -4,7 +4,7 @@
, installShellFiles
, rustPlatform
, libiconv
, protobuf
, buildPackages
, darwin
, nixosTests
}:
@@ -35,9 +35,7 @@ rustPlatform.buildRustPackage rec {
nativeBuildInputs = [ installShellFiles ];
buildInputs = [
protobuf
] ++ lib.optionals stdenv.isDarwin [
buildInputs = lib.optionals stdenv.isDarwin [
libiconv
darwin.apple_sdk_11_0.frameworks.AppKit
darwin.apple_sdk_11_0.frameworks.Security
@@ -45,8 +43,8 @@ rustPlatform.buildRustPackage rec {
];
preBuild = ''
export PROTOC=${protobuf}/bin/protoc
export PROTOC_INCLUDE="${protobuf}/include";
export PROTOC=${buildPackages.protobuf}/bin/protoc
export PROTOC_INCLUDE="${buildPackages.protobuf}/include";
'';
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
+2 -2
View File
@@ -6,13 +6,13 @@
buildGoModule rec {
pname = "bitmagnet";
version = "0.9.2";
version = "0.9.3";
src = fetchFromGitHub {
owner = "bitmagnet-io";
repo = "bitmagnet";
rev = "v${version}";
hash = "sha256-Lyogcuehzn19sX2VZWWlJNI38Jn5IA7mJz0RWkoP390=";
hash = "sha256-PdDXQC702mmK8wpYmi3N5iFv7Y3wbzpyF4Yq3utqX2c=";
};
vendorHash = "sha256-aauXgHPZbSiTW9utuHXzJr7GsWs/2aFiGuukA/B9BRc=";
+6 -2
View File
@@ -1,6 +1,7 @@
{ lib
, rustPlatform
, fetchFromGitHub
, llvmPackages
, stdenv
, darwin
}:
@@ -18,6 +19,11 @@ rustPlatform.buildRustPackage rec {
cargoHash = "sha256-ma7JVbWSiKfkCXCDwA8DFm2+KPrWR+8nSdgGSqehNg8=";
env = {
LIBCLANG_PATH = "${llvmPackages.libclang.lib}/lib";
};
buildInputs = lib.optionals stdenv.isDarwin (
with darwin.apple_sdk.frameworks; [
Cocoa
@@ -35,8 +41,6 @@ rustPlatform.buildRustPackage rec {
license = licenses.gpl3Only;
maintainers = with maintainers; [ ifd3f sodiboo ];
platforms = platforms.linux ++ platforms.darwin;
# https://github.com/ifd3f/caligula/issues/105
broken = stdenv.hostPlatform.isDarwin;
mainProgram = "caligula";
};
}
+2 -2
View File
@@ -8,7 +8,7 @@
python3Packages.buildPythonApplication rec {
pname = "charmcraft";
version = "2.6.0";
version = "2.7.0";
pyproject = true;
@@ -16,7 +16,7 @@ python3Packages.buildPythonApplication rec {
owner = "canonical";
repo = "charmcraft";
rev = "refs/tags/${version}";
hash = "sha256-B0ZcOORW6yaSIpisPLnq5/S/CcqqvHNTXcfP1sKW2KQ=";
hash = "sha256-yMcGXi7OxEtfOv3zLEUlnZrR90TkFc0y9RB9jS34ZWs=";
};
postPatch = ''
@@ -1,48 +1,53 @@
{ lib
, stdenv
, buildGraalvmNativeImage
, babashka
, fetchurl
, fetchFromGitHub
, clojure
, writeScript
, testers
, clojure-lsp
{
lib,
stdenv,
buildGraalvmNativeImage,
babashka,
fetchurl,
fetchFromGitHub,
clojure,
writeScript,
testers,
clojure-lsp,
}:
buildGraalvmNativeImage rec {
pname = "clojure-lsp";
version = "2023.08.06-00.28.06";
version = "2024.04.22-11.50.26";
src = fetchFromGitHub {
owner = pname;
repo = pname;
owner = "clojure-lsp";
repo = "clojure-lsp";
rev = version;
sha256 = "sha256-wc7M2cPRtdaRzZn3GNu/aCbQ2VqxiDxvu/b7qnBVUBo=";
hash = "sha256-GyPIFYR+/BZ+vq6+yuer5HoVILXLWNw1sW8XpJ7q4SA=";
};
jar = fetchurl {
url = "https://github.com/clojure-lsp/clojure-lsp/releases/download/${version}/clojure-lsp-standalone.jar";
sha256 = "c301821ac6914999a44f5c1cd371d46b248fe9a2e31d43a666d0bc2656cfdd78";
hash = "sha256-dB16225A7L3nWplvqlal+5gho+LmqqVGPN9dfasKaPk=";
};
extraNativeImageBuildArgs = [
# These build args mirror the build.clj upstream
# ref: https://github.com/clojure-lsp/clojure-lsp/blob/2024.04.22-11.50.26/cli/build.clj#L141-L144
"--no-fallback"
"--native-image-info"
"--features=clj_easy.graal_build_time.InitClojureClasses"
];
doCheck = true;
checkPhase = ''
runHook preCheck
checkPhase =
''
runHook preCheck
export HOME="$(mktemp -d)"
./${pname} --version | fgrep -q '${version}'
''
# TODO: fix classpath issue per https://github.com/NixOS/nixpkgs/pull/153770
#${babashka}/bin/bb integration-test ./${pname}
+ ''
runHook postCheck
'';
export HOME="$(mktemp -d)"
./clojure-lsp --version | fgrep -q '${version}'
''
# TODO: fix classpath issue per https://github.com/NixOS/nixpkgs/pull/153770
#${babashka}/bin/bb integration-test ./clojure-lsp
+ ''
runHook postCheck
'';
passthru.tests.version = testers.testVersion {
inherit version;
@@ -71,11 +76,12 @@ buildGraalvmNativeImage rec {
update-source-version clojure-lsp "$latest_version"
'';
meta = with lib; {
meta = {
description = "Language Server Protocol (LSP) for Clojure";
homepage = "https://github.com/clojure-lsp/clojure-lsp";
sourceProvenance = with sourceTypes; [ binaryBytecode ];
license = licenses.mit;
maintainers = with maintainers; [ ericdallo ];
changelog = "https://github.com/clojure-lsp/clojure-lsp/releases/tag/${version}";
sourceProvenance = [ lib.sourceTypes.binaryBytecode ];
license = lib.licenses.mit;
maintainers = [ lib.maintainers.ericdallo ];
};
}
+50
View File
@@ -0,0 +1,50 @@
{
lib,
python3,
fetchFromGitHub,
}:
python3.pkgs.buildPythonApplication rec {
pname = "conkeyscan";
version = "1.0.0";
pyproject = true;
src = fetchFromGitHub {
owner = "CompassSecurity";
repo = "conkeyscan";
rev = "refs/tags/${version}";
hash = "sha256-F5lYpETzv03O9I4vi4qnLgQLvBlv8bLtJQArxliO8JI=";
};
postPatch = ''
substituteInPlace setup.py \
--replace-fail "{{VERSION_PLACEHOLDER}}" "${version}"
'';
build-system = with python3.pkgs; [ setuptools ];
dependencies = with python3.pkgs; [
atlassian-python-api
beautifulsoup4
clize
loguru
pysocks
random-user-agent
readchar
requests-ratelimiter
];
# Project has no tests
doCheck = false;
pythonImportsCheck = [ "conkeyscan" ];
meta = with lib; {
description = "Tool to scan Confluence for keywords";
homepage = "https://github.com/CompassSecurity/conkeyscan";
changelog = "https://github.com/CompassSecurity/conkeyscan/releases/tag/${version}";
license = licenses.mit;
maintainers = with maintainers; [ fab ];
mainProgram = "conkeyscan";
};
}
+2 -2
View File
@@ -13,7 +13,7 @@
rustPlatform.buildRustPackage rec {
pname = "cosmic-files";
version = "unstable-2024-02-28";
version = "0-unstable-2024-06-10";
src = fetchFromGitHub {
owner = "pop-os";
@@ -40,7 +40,7 @@ rustPlatform.buildRustPackage rec {
# COSMIC applications now uses vergen for the About page
# Update the COMMIT_DATE to match when the commit was made
env.VERGEN_GIT_COMMIT_DATE = "2024-02-28";
env.VERGEN_GIT_COMMIT_DATE = "2024-06-10";
env.VERGEN_GIT_SHA = src.rev;
postPatch = ''
+4 -4
View File
@@ -7,21 +7,21 @@
}:
let
pname = "dbgate";
version = "5.3.0";
version = "5.3.1";
src =
fetchurl
{
aarch64-linux = {
url = "https://github.com/dbgate/dbgate/releases/download/v${version}/dbgate-${version}-linux_arm64.AppImage";
hash = "sha256-FoNph6phZEMjndX6KNtSH8TpOpI0x4rmpTBh11bYV3c=";
hash = "sha256-Qz0VA2pHT8muw9RdLg7Y3w3mJ3ubFnqf4dmfdZdnJHI=";
};
x86_64-linux = {
url = "https://github.com/dbgate/dbgate/releases/download/v${version}/dbgate-${version}-linux_x86_64.AppImage";
hash = "sha256-HsWT099apLtL5KAy3Shw0uEoXzpWGAyD63L3NhT/JlU=";
hash = "sha256-H/2Tb6ZnO6LJx+rv/ADdItaRMP95x4G3lPNK0sbZn9I=";
};
x86_64-darwin = {
url = "https://github.com/dbgate/dbgate/releases/download/v${version}/dbgate-${version}-mac_x64.dmg";
hash = "sha256-bdCwvfmfOCpVW1yTFxsLxveg9uQW1O8ODkCGpiujRCE=";
hash = "sha256-gZrfv9qe2arytVgiYtX9uwfwC4Z30SHEDiBUXcpF968=";
};
}
.${stdenv.system} or (throw "dbgate: ${stdenv.system} is unsupported.");
+2 -2
View File
@@ -13,13 +13,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "doublecmd";
version = "1.1.15";
version = "1.1.16";
src = fetchFromGitHub {
owner = "doublecmd";
repo = "doublecmd";
rev = "v${finalAttrs.version}";
hash = "sha256-GFjswA0COhZCMY6KMtthGSA16sKwScXm7x+CjZ0hXl8=";
hash = "sha256-jVK4CKd4QkJp4bu9OrEo8oHxfVpEJd0saSbgc+aeKxU=";
};
nativeBuildInputs = [
@@ -1,4 +1,11 @@
{ lib, stdenv, fetchFromGitHub, pkg-config, efivar, popt }:
{
lib,
stdenv,
fetchFromGitHub,
pkg-config,
efivar,
popt,
}:
stdenv.mkDerivation rec {
pname = "efibootmgr";
@@ -13,20 +20,24 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkg-config ];
buildInputs = [ efivar popt ];
buildInputs = [
efivar
popt
];
makeFlags = [
"EFIDIR=nixos"
"PKG_CONFIG=${stdenv.cc.targetPrefix}pkg-config"
];
installFlags = [ "prefix=$(out)" ];
installFlags = [ "prefix=${placeholder "out"}" ];
meta = with lib; {
meta = {
description = "Linux user-space application to modify the Intel Extensible Firmware Interface (EFI) Boot Manager";
homepage = "https://github.com/rhboot/efibootmgr";
license = licenses.gpl2Only;
maintainers = with maintainers; [ ];
platforms = platforms.linux;
changelog = "https://github.com/rhboot/efibootmgr/releases/tag/${src.rev}";
license = lib.licenses.gpl2Only;
maintainers = with lib.maintainers; [ getchoo ];
platforms = lib.platforms.linux;
};
}
+2 -2
View File
@@ -47,13 +47,13 @@ let
in
stdenv'.mkDerivation (finalAttrs: {
pname = "fastfetch";
version = "2.15.0";
version = "2.16.0";
src = fetchFromGitHub {
owner = "fastfetch-cli";
repo = "fastfetch";
rev = finalAttrs.version;
hash = "sha256-0kReN7FKrcRhxUuwZoArLTW2F1q40Wbp9/hRoDjKZHs=";
hash = "sha256-dfgRRh8yJUDkMgl32ddx8iQElwRt0hCBsObud7rbTYQ=";
};
outputs = [ "out" "man" ];
@@ -1,55 +1,59 @@
{ lib, stdenv
, fetchurl
, autoreconfHook
, docbook_xml_dtd_45
, docbook-xsl-nons
, which
, libxml2
, gobject-introspection
, gtk-doc
, intltool
, libxslt
, pkg-config
, xmlto
, substituteAll
, runCommand
, bison
, xdg-dbus-proxy
, p11-kit
, appstream
, bubblewrap
, bzip2
, curl
, dbus
, glib
, gpgme
, json-glib
, libarchive
, libcap
, libseccomp
, coreutils
, socat
, gettext
, hicolor-icon-theme
, shared-mime-info
, desktop-file-utils
, gtk3
, fuse3
, nixosTests
, xz
, zstd
, ostree
, polkit
, python3
, systemd
, xorg
, valgrind
, glib-networking
, wrapGAppsNoGuiHook
, dconf
, gsettings-desktop-schemas
, librsvg
, makeWrapper
{
lib,
stdenv,
fetchurl,
runCommand,
appstream,
autoreconfHook,
bison,
bubblewrap,
bzip2,
coreutils,
curl,
dbus,
dconf,
desktop-file-utils,
docbook_xml_dtd_45,
docbook-xsl-nons,
fuse3,
gettext,
glib,
glib-networking,
gobject-introspection,
gpgme,
gsettings-desktop-schemas,
gtk3,
gtk-doc,
hicolor-icon-theme,
intltool,
json-glib,
libarchive,
libcap,
librsvg,
libseccomp,
libxml2,
libxslt,
nix-update-script,
nixosTests,
nixos-icons,
ostree,
p11-kit,
pkg-config,
polkit,
python3,
shared-mime-info,
socat,
substituteAll,
systemd,
testers,
valgrind,
which,
wrapGAppsNoGuiHook,
xdg-dbus-proxy,
xmlto,
xorg,
xz,
zstd,
}:
stdenv.mkDerivation (finalAttrs: {
@@ -57,11 +61,18 @@ stdenv.mkDerivation (finalAttrs: {
version = "1.14.6";
# TODO: split out lib once we figure out what to do with triggerdir
outputs = [ "out" "dev" "man" "doc" "devdoc" "installedTests" ];
outputs = [
"out"
"dev"
"man"
"doc"
"devdoc"
"installedTests"
];
src = fetchurl {
url = "https://github.com/flatpak/flatpak/releases/download/${finalAttrs.version}/flatpak-${finalAttrs.version}.tar.xz";
sha256 = "sha256-U482ssb4xw7v0S0TrVsa2DCCAQaovTqfa45NnegeSUY="; # Taken from https://github.com/flatpak/flatpak/releases/
hash = "sha256-U482ssb4xw7v0S0TrVsa2DCCAQaovTqfa45NnegeSUY=";
};
patches = [
@@ -69,7 +80,12 @@ stdenv.mkDerivation (finalAttrs: {
# https://github.com/flatpak/flatpak/issues/1460
(substituteAll {
src = ./fix-test-paths.patch;
inherit coreutils gettext socat gtk3;
inherit
coreutils
gettext
socat
gtk3
;
smi = shared-mime-info;
dfu = desktop-file-utils;
hicolorIconTheme = hicolor-icon-theme;
@@ -149,9 +165,7 @@ stdenv.mkDerivation (finalAttrs: {
ostree
];
nativeCheckInputs = [
valgrind
];
nativeCheckInputs = [ valgrind ];
# TODO: some issues with temporary files
doCheck = false;
@@ -162,10 +176,12 @@ stdenv.mkDerivation (finalAttrs: {
configureFlags = [
"--with-curl"
"--with-system-bubblewrap=${bubblewrap}/bin/bwrap"
"--with-system-dbus-proxy=${xdg-dbus-proxy}/bin/xdg-dbus-proxy"
"--with-system-bubblewrap=${lib.getExe bubblewrap}"
"--with-system-dbus-proxy=${lib.getExe xdg-dbus-proxy}"
"--with-dbus-config-dir=${placeholder "out"}/share/dbus-1/system.d"
"--with-profile-dir=${placeholder "out"}/etc/profile.d"
"--localstatedir=/var"
"--sysconfdir=/etc"
"--enable-gtk-doc"
"--enable-installed-tests"
];
@@ -175,15 +191,15 @@ stdenv.mkDerivation (finalAttrs: {
"installed_test_metadir=${placeholder "installedTests"}/share/installed-tests/flatpak"
];
postPatch = let
vsc-py = python3.withPackages (pp: [
pp.pyparsing
]);
in ''
patchShebangs buildutil
patchShebangs tests
PATH=${lib.makeBinPath [vsc-py]}:$PATH patchShebangs --build subprojects/variant-schema-compiler/variant-schema-compiler
'';
postPatch =
let
vsc-py = python3.withPackages (pp: [ pp.pyparsing ]);
in
''
patchShebangs buildutil
patchShebangs tests
PATH=${lib.makeBinPath [ vsc-py ]}:$PATH patchShebangs --build subprojects/variant-schema-compiler/variant-schema-compiler
'';
passthru = {
icon-validator-patch = substituteAll {
@@ -191,21 +207,29 @@ stdenv.mkDerivation (finalAttrs: {
inherit (builtins) storeDir;
};
updateScript = nix-update-script { };
tests = {
installedTests = nixosTests.installed-tests.flatpak;
validate-icon = runCommand "test-icon-validation" { } ''
${finalAttrs.finalPackage}/libexec/flatpak-validate-icon --sandbox 512 512 ${../../../applications/audio/zynaddsubfx/ZynLogo.svg} > "$out"
${finalAttrs.finalPackage}/libexec/flatpak-validate-icon \
--sandbox 512 512 \
"${nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake-white.svg" > "$out"
grep format=svg "$out"
'';
version = testers.testVersion { package = finalAttrs.finalPackage; };
};
};
meta = with lib; {
meta = {
description = "Linux application sandboxing and distribution framework";
homepage = "https://flatpak.org/";
license = licenses.lgpl21Plus;
maintainers = with maintainers; [ ];
platforms = platforms.linux;
changelog = "https://github.com/flatpak/flatpak/releases/tag/${finalAttrs.version}";
license = lib.licenses.lgpl21Plus;
maintainers = with lib.maintainers; [ getchoo ];
platforms = lib.platforms.linux;
};
})
+13 -6
View File
@@ -1,8 +1,10 @@
{ stdenv
, edid-decode
, fetchFromGitHub
, meson
, pkg-config
, ninja
, cmake
, xorg
, libdrm
, libei
@@ -18,14 +20,13 @@
, SDL2
, pipewire
, pixman
, python3
, libinput
, glslang
, hwdata
, openvr
, stb
, wlroots
, libdecor
, libdisplay-info
, lib
, makeBinaryWrapper
, patchelfUnstable
@@ -43,14 +44,14 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "gamescope";
version = "3.14.18";
version = "3.14.22";
src = fetchFromGitHub {
owner = "ValveSoftware";
repo = "gamescope";
rev = "refs/tags/${finalAttrs.version}";
fetchSubmodules = true;
hash = "sha256-XcefR0wiDHQY7wMX+LQTEntffi2RdMW8m2HNQMz035A=";
hash = "sha256-/muitEE3LCU6Xnjbpczb/zy2JRvUbBPT5L13T/v3MvE=";
};
patches = [
@@ -62,6 +63,8 @@ stdenv.mkDerivation (finalAttrs: {
# so `placeholder "out"` ends up pointing to the wrong place
postPatch = ''
substituteInPlace src/reshade_effect_manager.cpp --replace "@out@" "$out"
# Patching shebangs in the main `libdisplay-info` build
patchShebangs subprojects/libdisplay-info/tool/gen-search-table.py
'';
mesonFlags = [
@@ -82,6 +85,12 @@ stdenv.mkDerivation (finalAttrs: {
meson
pkg-config
ninja
# For `libdisplay-info`
python3
hwdata
edid-decode
# For OpenVR
cmake
] ++ lib.optionals enableExecutable [
makeBinaryWrapper
glslang
@@ -94,7 +103,6 @@ stdenv.mkDerivation (finalAttrs: {
wayland
wayland-protocols
vulkan-loader
openvr
glm
] ++ lib.optionals enableWsi [
vulkan-headers
@@ -120,7 +128,6 @@ stdenv.mkDerivation (finalAttrs: {
pixman
libcap
stb
libdisplay-info
]);
postInstall = lib.optionalString enableExecutable ''
File diff suppressed because it is too large Load Diff
+177
View File
@@ -0,0 +1,177 @@
{
lib,
rustPlatform,
buildGoModule,
stdenv,
fetchFromGitHub,
pnpm_9,
wrapGAppsHook3,
cargo-tauri,
darwin,
desktop-file-utils,
esbuild,
git,
glib-networking,
jq,
nodejs,
pkg-config,
libsoup,
moreutils,
openssl,
webkitgtk,
nix-update-script,
}:
rustPlatform.buildRustPackage rec {
pname = "gitbutler";
version = "0.12.2";
src = fetchFromGitHub {
owner = "gitbutlerapp";
repo = "gitbutler";
rev = "release/${version}";
hash = "sha256-m2hvcnY2h4DYtM4ME+dxmwnmUh768CHSoAq5VsKl6Sk=";
};
# deactivate the upstream updater in tauri configuration
# TODO: use `tauri build`'s `--config` flag with the release configuration instead of manually merging
# them. it doesn't seem to like using paths currently, even though it should.
postPatch = ''
jq --slurp ".[0] * .[1] | .tauri.updater.active = false" crates/gitbutler-tauri/tauri.conf{,.release}.json | sponge crates/gitbutler-tauri/tauri.conf.json
'';
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"tauri-plugin-context-menu-0.7.1" = "sha256-vKfq20hrFLmfoXO94D8HwAE3UdGcuqVZf3+tOBhLqj0=";
"tauri-plugin-log-0.0.0" = "sha256-Mf2/cnKotd751ZcSHfiSLNe2nxBfo4dMBdoCwQhe7yI=";
};
};
pnpmDeps = pnpm_9.fetchDeps {
inherit pname version src;
hash = "sha256-+4SPDvhpvR1bjwTcyLO3HeBuZGL3P03OaEnOvcX9t9c=";
};
nativeBuildInputs = [
cargo-tauri
desktop-file-utils
jq
moreutils
nodejs
pkg-config
pnpm_9.configHook
wrapGAppsHook3
];
buildInputs =
[ openssl ]
++ lib.optionals stdenv.isLinux [
glib-networking
libsoup
webkitgtk
]
++ lib.optionals stdenv.isDarwin (
with darwin.apple_sdk.frameworks;
[
AppKit
CoreServices
Security
WebKit
]
);
env = {
# `pnpm`'s `fetchDeps` and `configHook` uses a specific version of pnpm, not upstream's
COREPACK_ENABLE_STRICT = 0;
# we depend on nightly features
RUSTC_BOOTSTRAP = 1;
# we also need to have `tracing` support in `tokio` for `console-subscriber`
RUSTFLAGS = "--cfg tokio_unstable";
tauriBundle =
{
Linux = "deb";
Darwin = "app";
}
.${stdenv.hostPlatform.uname.system}
or (throw "No tauri bundle available for ${stdenv.hostPlatform.uname.system}");
ESBUILD_BINARY_PATH = lib.getExe (
esbuild.override {
buildGoModule =
args:
buildGoModule (
args
// rec {
version = "0.18.20";
src = fetchFromGitHub {
owner = "evanw";
repo = "esbuild";
rev = "v${version}";
hash = "sha256-mED3h+mY+4H465m02ewFK/BgA1i/PQ+ksUNxBlgpUoI=";
};
vendorHash = "sha256-+BfxCyg0KkDQpHt/wycy/8CTG6YBA/VJvJFhhzUnSiQ=";
}
);
}
);
};
buildPhase = ''
runHook preBuild
cargo tauri build --bundles "$tauriBundle"
runHook postBuild
'';
installPhase =
''
runHook preInstall
''
+ lib.optionalString stdenv.isDarwin ''
mkdir -p $out/bin
cp -r target/release/bundle/macos $out/Applications
mv $out/Applications/GitButler.app/Contents/MacOS/GitButler $out/bin/git-butler
ln -s $out/bin/git-butler $out/Applications/GitButler.app/Contents/MacOS/GitButler
''
+ lib.optionalString stdenv.isLinux ''
cp -r target/release/bundle/"$tauriBundle"/*/data/usr $out
desktop-file-edit \
--set-comment "A Git client for simultaneous branches on top of your existing workflow." \
--set-key="Keywords" --set-value="git;" \
--set-key="StartupWMClass" --set-value="GitButler" \
$out/share/applications/git-butler.desktop
''
+ ''
runHook postInstall
'';
# the `gitbutler-git` crate's checks do not support release mode
checkType = "debug";
nativeCheckInputs = [ git ];
passthru = {
updateScript = nix-update-script {
extraArgs = [
"--version-regex"
"release/(.*)"
];
};
};
meta = {
description = "Git client for simultaneous branches on top of your existing workflow";
homepage = "https://gitbutler.com";
changelog = "https://github.com/gitbutlerapp/gitbutler/releases/tag/release/${version}";
mainProgram = "git-butler";
license = lib.licenses.fsl11Mit;
maintainers = with lib.maintainers; [ getchoo ];
platforms = lib.platforms.linux ++ lib.platforms.darwin;
};
}
+95
View File
@@ -0,0 +1,95 @@
{
lib,
python3,
fetchFromGitLab,
fetchpatch,
appstream,
gobject-introspection,
meson,
ninja,
pkg-config,
blueprint-compiler,
wrapGAppsHook4,
glib-networking,
libadwaita,
webkitgtk_6_0,
}:
python3.pkgs.buildPythonApplication rec {
pname = "gnome-feeds";
version = "2.2.0";
pyproject = false;
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
owner = "World";
repo = "gfeeds";
rev = version;
hash = "sha256-XKwRFjz4ocH01mj8KshLGmGxbm/uvDiyYRf65KL0UFw=";
};
patches = [
# both patches needed to built with newer blueprint-compiler
(fetchpatch {
name = "fix-for-blueprint-0.8.patch";
url = "https://gitlab.gnome.org/World/gfeeds/-/commit/cfe860f44f685be302e2ad9f30b55bab08e078ce.patch";
hash = "sha256-exkq9KykB60/X8u3+T1/sShrhGP8BvNkaBWPzm2mchc=";
})
(fetchpatch {
name = "upgrade-blueprint-0.8-syntax.patch";
url = "https://gitlab.gnome.org/World/gfeeds/-/commit/d099fda0c62e338080061683a154f711cc487b30.patch";
hash = "sha256-M6QLRTj+CItk3XPDeexf3/+B1YHJoHsTjwdE6iw1xjM=";
})
];
nativeBuildInputs = [
appstream
gobject-introspection
meson
ninja
pkg-config
blueprint-compiler
wrapGAppsHook4
];
buildInputs = [
glib-networking
libadwaita
webkitgtk_6_0
];
dependencies = with python3.pkgs; [
beautifulsoup4
humanize
python-dateutil
syndication-domination
python-magic
pillow
pygments
pygobject3
readability-lxml
pytz
requests
];
dontWrapGApps = true;
preFixup = ''
makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
'';
meta = {
description = "RSS/Atom feed reader for GNOME";
mainProgram = "gfeeds";
homepage = "https://gitlab.gnome.org/World/gfeeds";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [
pbogdan
aleksana
];
platforms = lib.platforms.linux;
};
}

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