Merge master into haskell-updates
This commit is contained in:
commit
60a11d3822
7
.github/ISSUE_TEMPLATE/bug_report.md
vendored
7
.github/ISSUE_TEMPLATE/bug_report.md
vendored
@ -39,3 +39,10 @@ Please run `nix-shell -p nix-info --run "nix-info -m"` and paste the result.
|
||||
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
|
||||
output here
|
||||
```
|
||||
|
||||
### Priorities
|
||||
|
||||
Add a :+1: [reaction] to [issues you find important].
|
||||
|
||||
[reaction]: https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/
|
||||
[issues you find important]: https://github.com/NixOS/nixpkgs/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc
|
||||
|
7
.github/ISSUE_TEMPLATE/build_failure.md
vendored
7
.github/ISSUE_TEMPLATE/build_failure.md
vendored
@ -37,3 +37,10 @@ Please run `nix-shell -p nix-info --run "nix-info -m"` and paste the result.
|
||||
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
|
||||
output here
|
||||
```
|
||||
|
||||
### Priorities
|
||||
|
||||
Add a :+1: [reaction] to [issues you find important].
|
||||
|
||||
[reaction]: https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/
|
||||
[issues you find important]: https://github.com/NixOS/nixpkgs/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc
|
||||
|
@ -30,3 +30,9 @@ assignees: ''
|
||||
[open documentation issues]: https://github.com/NixOS/nixpkgs/issues?q=is%3Aissue+is%3Aopen+label%3A%229.needs%3A+documentation%22
|
||||
[open documentation pull requests]: https://github.com/NixOS/nixpkgs/pulls?q=is%3Aopen+is%3Apr+label%3A%228.has%3A+documentation%22%2C%226.topic%3A+documentation%22
|
||||
|
||||
### Priorities
|
||||
|
||||
Add a :+1: [reaction] to [issues you find important].
|
||||
|
||||
[reaction]: https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/
|
||||
[issues you find important]: https://github.com/NixOS/nixpkgs/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc
|
||||
|
@ -26,3 +26,10 @@ There's a high chance that you'll have the new version right away while helping
|
||||
-----
|
||||
|
||||
Note for maintainers: Please tag this issue in your PR.
|
||||
|
||||
**Priorities**
|
||||
|
||||
Add a :+1: [reaction] to [issues you find important].
|
||||
|
||||
[reaction]: https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/
|
||||
[issues you find important]: https://github.com/NixOS/nixpkgs/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc
|
||||
|
7
.github/ISSUE_TEMPLATE/packaging_request.md
vendored
7
.github/ISSUE_TEMPLATE/packaging_request.md
vendored
@ -17,3 +17,10 @@ assignees: ''
|
||||
* source URL:
|
||||
* license: mit, bsd, gpl2+ , ...
|
||||
* platforms: unix, linux, darwin, ...
|
||||
|
||||
**Priorities**
|
||||
|
||||
Add a :+1: [reaction] to [issues you find important].
|
||||
|
||||
[reaction]: https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/
|
||||
[issues you find important]: https://github.com/NixOS/nixpkgs/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc
|
||||
|
@ -85,3 +85,10 @@ nix log $(nix path-info --derivation nixpkgs#<package>)
|
||||
|
||||
(please share the relevant fragment of the diffoscope output here, and any
|
||||
additional analysis you may have done)
|
||||
|
||||
### Priorities
|
||||
|
||||
Add a :+1: [reaction] to [issues you find important].
|
||||
|
||||
[reaction]: https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/
|
||||
[issues you find important]: https://github.com/NixOS/nixpkgs/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc
|
||||
|
7
.github/PULL_REQUEST_TEMPLATE.md
vendored
7
.github/PULL_REQUEST_TEMPLATE.md
vendored
@ -40,3 +40,10 @@ Thanks a lot if you do!
|
||||
List of open PRs: https://github.com/NixOS/nixpkgs/pulls
|
||||
Reviewing guidelines: https://nixos.org/manual/nixpkgs/unstable/#chap-reviewing-contributions
|
||||
-->
|
||||
|
||||
### Priorities
|
||||
|
||||
Add a :+1: [reaction] to [pull requests you find important].
|
||||
|
||||
[reaction]: https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/
|
||||
[pull requests you find important]: https://github.com/NixOS/nixpkgs/pulls?q=is%3Aopen+sort%3Areactions-%2B1-desc
|
||||
|
4
.github/workflows/periodic-merge-24h.yml
vendored
4
.github/workflows/periodic-merge-24h.yml
vendored
@ -38,6 +38,10 @@ jobs:
|
||||
into: staging-next-23.05
|
||||
- from: staging-next-23.05
|
||||
into: staging-23.05
|
||||
- from: release-23.11
|
||||
into: staging-next-23.11
|
||||
- from: staging-next-23.11
|
||||
into: staging-23.11
|
||||
name: ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }}
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
@ -24,6 +24,7 @@ let
|
||||
{ name = "cli"; description = "command-line serialization functions"; }
|
||||
{ name = "gvariant"; description = "GVariant formatted string serialization functions"; }
|
||||
{ name = "customisation"; description = "Functions to customise (derivation-related) functions, derivatons, or attribute sets"; }
|
||||
{ name = "meta"; description = "functions for derivation metadata"; }
|
||||
];
|
||||
};
|
||||
|
||||
|
@ -4,6 +4,8 @@
|
||||
"mpd.conf(5)": "https://mpd.readthedocs.io/en/latest/mpd.conf.5.html",
|
||||
"nix.conf(5)": "https://nixos.org/manual/nix/stable/command-ref/conf-file.html",
|
||||
|
||||
"portals.conf(5)": "https://github.com/flatpak/xdg-desktop-portal/blob/1.18.1/doc/portals.conf.rst.in",
|
||||
|
||||
"journald.conf(5)": "https://www.freedesktop.org/software/systemd/man/journald.conf.html",
|
||||
"logind.conf(5)": "https://www.freedesktop.org/software/systemd/man/logind.conf.html",
|
||||
"networkd.conf(5)": "https://www.freedesktop.org/software/systemd/man/networkd.conf.html",
|
||||
|
@ -195,7 +195,7 @@ rec {
|
||||
On each release the first letter is bumped and a new animal is chosen
|
||||
starting with that new letter.
|
||||
*/
|
||||
codeName = "Tapir";
|
||||
codeName = "Uakari";
|
||||
|
||||
/* Returns the current nixpkgs version suffix as string. */
|
||||
versionSuffix =
|
||||
|
@ -1530,6 +1530,11 @@
|
||||
fingerprint = "3D2B B230 F9FA F0C5 1832 46DD 4FDC 96F1 61E7 BA8A";
|
||||
}];
|
||||
};
|
||||
arthsmn = {
|
||||
name = "Arthur Cerqueira";
|
||||
github = "arthsmn";
|
||||
githubId = 150680976;
|
||||
};
|
||||
arthur = {
|
||||
email = "me@arthur.li";
|
||||
github = "arthurl";
|
||||
@ -2622,6 +2627,12 @@
|
||||
github = "brianmcgee";
|
||||
githubId = 1173648;
|
||||
};
|
||||
brianmcgillion = {
|
||||
name = "Brian McGillion";
|
||||
email = "bmg.avoin@gmail.com";
|
||||
github = "brianmcgillion";
|
||||
githubId = 1044263;
|
||||
};
|
||||
brodes = {
|
||||
email = "me@brod.es";
|
||||
github = "brhoades";
|
||||
|
@ -6,6 +6,8 @@
|
||||
|
||||
- PostgreSQL now defaults to major version 15.
|
||||
|
||||
- GNOME has been updated to version 45, see the [release notes](https://release.gnome.org/45/) for details. Notably, Loupe has replaced Eye of GNOME as the default image viewer, Snapshot has replaced Cheese as the default camera application, and Photos will no longer be installed.
|
||||
|
||||
- Support for WiFi6 (IEEE 802.11ax) and WPA3-SAE-PK was enabled in the `hostapd` package, along with a significant rework of the hostapd module.
|
||||
|
||||
- LXD now supports virtual machine instances to complement the existing container support
|
||||
@ -172,6 +174,10 @@
|
||||
|
||||
- `python3.pkgs.fetchPypi` (and `python3Packages.fetchPypi`) has been deprecated in favor of top-level `fetchPypi`.
|
||||
|
||||
- xdg-desktop-portal has been updated to 1.18, which reworked how portal implementations are selected. If you roll your own desktop environment, you should either set `xdg.portal.config` or `xdg.portal.configPackages`, which allow fine-grained control over which portal backend to use for specific interfaces, as described in {manpage}`portals.conf(5)`.
|
||||
|
||||
If you don't provide configurations, a portal backend will only be considered when the desktop you use matches its deprecated `UseIn` key. While some NixOS desktop modules should already ship one for you, it is suggested to test portal availability by trying [Door Knocker](https://flathub.org/apps/xyz.tytanium.DoorKnocker) and [ASHPD Demo](https://flathub.org/apps/com.belmoussaoui.ashpd.demo). If things regressed, you may run `G_MESSAGES_DEBUG=all /path/to/xdg-desktop-portal/libexec/xdg-desktop-portal` for ideas on which config file and which portals are chosen.
|
||||
|
||||
- `pass` now does not contain `password-store.el`. Users should get `password-store.el` from Emacs lisp package set `emacs.pkgs.password-store`.
|
||||
|
||||
- `services.knot` now supports `.settings` from RFC42. The previous `.extraConfig` still works the same, but it displays a warning now.
|
||||
|
29
nixos/doc/manual/release-notes/rl-2405.section.md
Normal file
29
nixos/doc/manual/release-notes/rl-2405.section.md
Normal file
@ -0,0 +1,29 @@
|
||||
# Release 24.05 (“Uakari”, 2024.05/??) {#sec-release-24.05}
|
||||
|
||||
Support is planned until the end of December 2024, handing over to 24.11.
|
||||
|
||||
## Highlights {#sec-release-24.05-highlights}
|
||||
|
||||
In addition to numerous new and upgraded packages, this release has the following highlights:
|
||||
|
||||
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
|
||||
|
||||
- Create the first release note entry in this section!
|
||||
|
||||
## New Services {#sec-release-24.05-new-services}
|
||||
|
||||
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
|
||||
|
||||
- Create the first release note entry in this section!
|
||||
|
||||
## Backward Incompatibilities {#sec-release-24.05-incompatibilities}
|
||||
|
||||
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
|
||||
|
||||
- Create the first release note entry in this section!
|
||||
|
||||
## Other Notable Changes {#sec-release-24.05-notable-changes}
|
||||
|
||||
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
|
||||
|
||||
- Create the first release note entry in this section!
|
@ -70,7 +70,7 @@ in
|
||||
defaultChannel = mkOption {
|
||||
internal = true;
|
||||
type = types.str;
|
||||
default = "https://nixos.org/channels/nixos-unstable";
|
||||
default = "https://nixos.org/channels/nixos-23.11";
|
||||
description = lib.mdDoc "Default NixOS channel to which the root user is subscribed.";
|
||||
};
|
||||
};
|
||||
|
@ -8,6 +8,10 @@ let
|
||||
mkRenamedOptionModule
|
||||
teams
|
||||
types;
|
||||
|
||||
associationOptions = with types; attrsOf (
|
||||
coercedTo (either (listOf str) str) (x: lib.concatStringsSep ";" (lib.toList x)) str
|
||||
);
|
||||
in
|
||||
|
||||
{
|
||||
@ -72,20 +76,76 @@ in
|
||||
See [#160923](https://github.com/NixOS/nixpkgs/issues/160923) for more info.
|
||||
'';
|
||||
};
|
||||
|
||||
config = mkOption {
|
||||
type = types.attrsOf associationOptions;
|
||||
default = { };
|
||||
example = {
|
||||
x-cinnamon = {
|
||||
default = [ "xapp" "gtk" ];
|
||||
};
|
||||
pantheon = {
|
||||
default = [ "pantheon" "gtk" ];
|
||||
"org.freedesktop.impl.portal.Secret" = [ "gnome-keyring" ];
|
||||
};
|
||||
common = {
|
||||
default = [ "gtk" ];
|
||||
};
|
||||
};
|
||||
description = lib.mdDoc ''
|
||||
Sets which portal backend should be used to provide the implementation
|
||||
for the requested interface. For details check {manpage}`portals.conf(5)`.
|
||||
|
||||
Configs will be linked to `/etx/xdg/xdg-desktop-portal/` with the name `$desktop-portals.conf`
|
||||
for `xdg.portal.config.$desktop` and `portals.conf` for `xdg.portal.config.common`
|
||||
as an exception.
|
||||
'';
|
||||
};
|
||||
|
||||
configPackages = mkOption {
|
||||
type = types.listOf types.package;
|
||||
default = [ ];
|
||||
example = lib.literalExpression "[ pkgs.gnome.gnome-session ]";
|
||||
description = lib.mdDoc ''
|
||||
List of packages that provide XDG desktop portal configuration, usually in
|
||||
the form of `share/xdg-desktop-portal/$desktop-portals.conf`.
|
||||
|
||||
Note that configs in `xdg.portal.config` will be preferred if set.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config =
|
||||
let
|
||||
cfg = config.xdg.portal;
|
||||
packages = [ pkgs.xdg-desktop-portal ] ++ cfg.extraPortals;
|
||||
configPackages = cfg.configPackages;
|
||||
|
||||
joinedPortals = pkgs.buildEnv {
|
||||
name = "xdg-portals";
|
||||
paths = packages;
|
||||
pathsToLink = [ "/share/xdg-desktop-portal/portals" "/share/applications" ];
|
||||
};
|
||||
|
||||
joinedPortalConfigs = pkgs.buildEnv {
|
||||
name = "xdg-portal-configs";
|
||||
paths = configPackages;
|
||||
pathsToLink = [ "/share/xdg-desktop-portal" ];
|
||||
};
|
||||
in
|
||||
mkIf cfg.enable {
|
||||
warnings = lib.optional (cfg.configPackages == [ ] && cfg.config == { }) ''
|
||||
xdg-desktop-portal 1.17 reworked how portal implementations are loaded, you
|
||||
should either set `xdg.portal.config` or `xdg.portal.configPackages`
|
||||
to specify which portal backend to use for the requested interface.
|
||||
|
||||
https://github.com/flatpak/xdg-desktop-portal/blob/1.18.1/doc/portals.conf.rst.in
|
||||
|
||||
If you simply want to keep the behaviour in < 1.17, which uses the first
|
||||
portal implementation found in lexicographical order, use the following:
|
||||
|
||||
xdg.portal.config.common.default = "*";
|
||||
'';
|
||||
|
||||
assertions = [
|
||||
{
|
||||
@ -108,7 +168,14 @@ in
|
||||
GTK_USE_PORTAL = mkIf cfg.gtkUsePortal "1";
|
||||
NIXOS_XDG_OPEN_USE_PORTAL = mkIf cfg.xdgOpenUsePortal "1";
|
||||
XDG_DESKTOP_PORTAL_DIR = "${joinedPortals}/share/xdg-desktop-portal/portals";
|
||||
NIXOS_XDG_DESKTOP_PORTAL_CONFIG_DIR = mkIf (cfg.configPackages != [ ]) "${joinedPortalConfigs}/share/xdg-desktop-portal";
|
||||
};
|
||||
|
||||
etc = lib.concatMapAttrs
|
||||
(desktop: conf: lib.optionalAttrs (conf != { }) {
|
||||
"xdg/xdg-desktop-portal/${lib.optionalString (desktop != "common") "${desktop}-"}portals.conf".text =
|
||||
lib.generators.toINI { } { preferred = conf; };
|
||||
}) cfg.config;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -27,6 +27,7 @@ let
|
||||
HOME_URL = lib.optionalString (cfg.distroId == "nixos") "https://nixos.org/";
|
||||
DOCUMENTATION_URL = lib.optionalString (cfg.distroId == "nixos") "https://nixos.org/learn.html";
|
||||
SUPPORT_URL = lib.optionalString (cfg.distroId == "nixos") "https://nixos.org/community.html";
|
||||
SUPPORT_END = "2024-06-30";
|
||||
BUG_REPORT_URL = lib.optionalString (cfg.distroId == "nixos") "https://github.com/NixOS/nixpkgs/issues";
|
||||
} // lib.optionalAttrs (cfg.variant_id != null) {
|
||||
VARIANT_ID = cfg.variant_id;
|
||||
|
@ -64,6 +64,7 @@ in
|
||||
xdg.portal = {
|
||||
enable = mkDefault true;
|
||||
extraPortals = [ finalPortalPackage ];
|
||||
configPackages = mkDefault [ cfg.finalPackage ];
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -149,6 +149,8 @@ in {
|
||||
"sway/config".source = mkOptionDefault "${cfg.package}/etc/sway/config";
|
||||
};
|
||||
};
|
||||
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1050913
|
||||
xdg.portal.config.sway.default = mkDefault [ "wlr" "gtk" ];
|
||||
# To make a Sway session available if a display manager like SDDM is enabled:
|
||||
services.xserver.displayManager.sessionPackages = optionals (cfg.package != null) [ cfg.package ]; }
|
||||
(import ./wayland-session.nix { inherit lib pkgs; })
|
||||
|
@ -43,6 +43,8 @@ in
|
||||
xdg.portal = {
|
||||
enable = lib.mkDefault true;
|
||||
wlr.enable = lib.mkDefault true;
|
||||
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1050914
|
||||
config.wayfire.default = lib.mkDefault [ "wlr" "gtk" ];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
@ -49,7 +49,7 @@ with lib;
|
||||
};
|
||||
|
||||
script = ''
|
||||
${pkgs.udev}/bin/udevadm settle
|
||||
${config.systemd.package}/bin/udevadm settle
|
||||
echo -n 1 >/proc/sys/kernel/modules_disabled
|
||||
'';
|
||||
};
|
||||
|
@ -18,6 +18,7 @@ in other cases, you will need to add something like the following to your
|
||||
{file}`configuration.nix`:
|
||||
```
|
||||
xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
|
||||
xdg.portal.config.common.default = "gtk";
|
||||
```
|
||||
|
||||
Then, you will need to add a repository, for example,
|
||||
|
@ -93,6 +93,9 @@ in
|
||||
"gnome-initial-setup.service"
|
||||
];
|
||||
|
||||
programs.dconf.profiles.gnome-initial-setup.databases = [
|
||||
"${pkgs.gnome.gnome-initial-setup}/share/gnome-initial-setup/initial-setup-dconf-defaults"
|
||||
];
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -37,7 +37,8 @@ let
|
||||
autosave_only_on_server = true;
|
||||
non_blocking_saving = cfg.nonBlockingSaving;
|
||||
} // cfg.extraSettings;
|
||||
serverSettingsFile = pkgs.writeText "server-settings.json" (builtins.toJSON (filterAttrsRecursive (n: v: v != null) serverSettings));
|
||||
serverSettingsString = builtins.toJSON (filterAttrsRecursive (n: v: v != null) serverSettings);
|
||||
serverSettingsFile = pkgs.writeText "server-settings.json" serverSettingsString;
|
||||
serverAdminsFile = pkgs.writeText "server-adminlist.json" (builtins.toJSON cfg.admins);
|
||||
modDir = pkgs.factorio-utils.mkModDirDrv cfg.mods cfg.mods-dat;
|
||||
in
|
||||
@ -115,6 +116,23 @@ in
|
||||
customizations.
|
||||
'';
|
||||
};
|
||||
extraSettingsFile = mkOption {
|
||||
type = types.nullOr types.path;
|
||||
default = null;
|
||||
description = lib.mdDoc ''
|
||||
File, which is dynamically applied to server-settings.json before
|
||||
startup.
|
||||
|
||||
This option should be used for credentials.
|
||||
|
||||
For example a settings file could contain:
|
||||
```json
|
||||
{
|
||||
"game-password": "hunter1"
|
||||
}
|
||||
```
|
||||
'';
|
||||
};
|
||||
stateDirName = mkOption {
|
||||
type = types.str;
|
||||
default = "factorio";
|
||||
@ -186,6 +204,8 @@ in
|
||||
default = null;
|
||||
description = lib.mdDoc ''
|
||||
Your factorio.com login credentials. Required for games with visibility public.
|
||||
|
||||
This option is insecure. Use extraSettingsFile instead.
|
||||
'';
|
||||
};
|
||||
package = mkOption {
|
||||
@ -202,6 +222,8 @@ in
|
||||
default = null;
|
||||
description = lib.mdDoc ''
|
||||
Your factorio.com login credentials. Required for games with visibility public.
|
||||
|
||||
This option is insecure. Use extraSettingsFile instead.
|
||||
'';
|
||||
};
|
||||
token = mkOption {
|
||||
@ -216,6 +238,8 @@ in
|
||||
default = null;
|
||||
description = lib.mdDoc ''
|
||||
Game password.
|
||||
|
||||
This option is insecure. Use extraSettingsFile instead.
|
||||
'';
|
||||
};
|
||||
requireUserVerification = mkOption {
|
||||
@ -251,14 +275,18 @@ in
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network.target" ];
|
||||
|
||||
preStart = toString [
|
||||
"test -e ${stateDir}/saves/${cfg.saveName}.zip"
|
||||
"||"
|
||||
"${cfg.package}/bin/factorio"
|
||||
preStart =
|
||||
(toString [
|
||||
"test -e ${stateDir}/saves/${cfg.saveName}.zip"
|
||||
"||"
|
||||
"${cfg.package}/bin/factorio"
|
||||
"--config=${cfg.configFile}"
|
||||
"--create=${mkSavePath cfg.saveName}"
|
||||
(optionalString (cfg.mods != []) "--mod-directory=${modDir}")
|
||||
];
|
||||
])
|
||||
+ (optionalString (cfg.extraSettingsFile != null) ("\necho ${lib.strings.escapeShellArg serverSettingsString}"
|
||||
+ " \"$(cat ${cfg.extraSettingsFile})\" | ${lib.getExe pkgs.jq} -s add"
|
||||
+ " > ${stateDir}/server-settings.json"));
|
||||
|
||||
serviceConfig = {
|
||||
Restart = "always";
|
||||
@ -272,7 +300,11 @@ in
|
||||
"--port=${toString cfg.port}"
|
||||
"--bind=${cfg.bind}"
|
||||
(optionalString (!cfg.loadLatestSave) "--start-server=${mkSavePath cfg.saveName}")
|
||||
"--server-settings=${serverSettingsFile}"
|
||||
"--server-settings=${
|
||||
if (cfg.extraSettingsFile != null)
|
||||
then "${stateDir}/server-settings.json"
|
||||
else serverSettingsFile
|
||||
}"
|
||||
(optionalString cfg.loadLatestSave "--start-server-load-latest")
|
||||
(optionalString (cfg.mods != []) "--mod-directory=${modDir}")
|
||||
(optionalString (cfg.admins != []) "--server-adminlist=${serverAdminsFile}")
|
||||
|
@ -77,7 +77,7 @@ in
|
||||
serviceConfig = {
|
||||
# Trigger the udev rule manually. This doesn't require replugging the
|
||||
# device when first enabling the option to get it to work
|
||||
ExecStartPre = "${pkgs.udev}/bin/udevadm trigger -s usb -a idVendor=${apple}";
|
||||
ExecStartPre = "${config.systemd.package}/bin/udevadm trigger -s usb -a idVendor=${apple}";
|
||||
ExecStart = "${cfg.package}/bin/usbmuxd -U ${cfg.user} -v";
|
||||
};
|
||||
};
|
||||
|
@ -202,6 +202,7 @@ in {
|
||||
xdg.portal.extraPortals = with pkgs; [
|
||||
xdg-desktop-portal-gtk # provides a XDG Portals implementation.
|
||||
];
|
||||
xdg.portal.configPackages = mkDefault [ pkgs.budgie.budgie-desktop ];
|
||||
|
||||
services.geoclue2.enable = mkDefault true; # for BCC's Privacy > Location Services panel.
|
||||
services.upower.enable = config.powerManagement.enable; # for Budgie's Status Indicator and BCC's Power panel.
|
||||
|
@ -200,6 +200,9 @@ in
|
||||
})
|
||||
];
|
||||
|
||||
# https://salsa.debian.org/cinnamon-team/cinnamon/-/commit/f87c64f8d35ba406eb11ad442989a0716f6620cf#
|
||||
xdg.portal.config.x-cinnamon.default = mkDefault [ "xapp" "gtk" ];
|
||||
|
||||
# Override GSettings schemas
|
||||
environment.sessionVariables.NIX_GSETTINGS_OVERRIDES_DIR = "${nixos-gsettings-overrides}/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas";
|
||||
|
||||
|
@ -78,6 +78,9 @@ in
|
||||
})
|
||||
];
|
||||
|
||||
# https://github.com/NixOS/nixpkgs/pull/247766#issuecomment-1722839259
|
||||
xdg.portal.config.deepin.default = mkDefault [ "gtk" ];
|
||||
|
||||
environment.sessionVariables = {
|
||||
NIX_GSETTINGS_OVERRIDES_DIR = "${nixos-gsettings-overrides}/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas";
|
||||
DDE_POLKIT_AGENT_PLUGINS_DIRS = [ "${pkgs.deepin.dpa-ext-gnomekeyring}/lib/polkit-1-dde/plugins" ];
|
||||
|
@ -145,7 +145,7 @@ services.xserver.desktopManager.gnome = {
|
||||
|
||||
# Favorite apps in gnome-shell
|
||||
[org.gnome.shell]
|
||||
favorite-apps=['org.gnome.Photos.desktop', 'org.gnome.Nautilus.desktop']
|
||||
favorite-apps=['org.gnome.Console.desktop', 'org.gnome.Nautilus.desktop']
|
||||
'';
|
||||
|
||||
extraGSettingsOverridePackages = [
|
||||
|
@ -19,7 +19,7 @@ let
|
||||
|
||||
defaultFavoriteAppsOverride = ''
|
||||
[org.gnome.shell]
|
||||
favorite-apps=[ 'org.gnome.Epiphany.desktop', 'org.gnome.Geary.desktop', 'org.gnome.Calendar.desktop', 'org.gnome.Music.desktop', 'org.gnome.Photos.desktop', 'org.gnome.Nautilus.desktop' ]
|
||||
favorite-apps=[ 'org.gnome.Epiphany.desktop', 'org.gnome.Geary.desktop', 'org.gnome.Calendar.desktop', 'org.gnome.Music.desktop', 'org.gnome.Nautilus.desktop' ]
|
||||
'';
|
||||
|
||||
nixos-background-light = pkgs.nixos-artwork.wallpapers.simple-blue;
|
||||
@ -353,6 +353,7 @@ in
|
||||
buildPortalsInGnome = false;
|
||||
})
|
||||
];
|
||||
xdg.portal.configPackages = mkDefault [ pkgs.gnome.gnome-session ];
|
||||
|
||||
networking.networkmanager.enable = mkDefault true;
|
||||
|
||||
@ -462,15 +463,13 @@ in
|
||||
++ utils.removePackagesByName optionalPackages config.environment.gnome.excludePackages;
|
||||
})
|
||||
|
||||
# Adapt from https://gitlab.gnome.org/GNOME/gnome-build-meta/blob/gnome-3-38/elements/core/meta-gnome-core-utilities.bst
|
||||
# Adapt from https://gitlab.gnome.org/GNOME/gnome-build-meta/-/blob/gnome-45/elements/core/meta-gnome-core-utilities.bst
|
||||
(mkIf serviceCfg.core-utilities.enable {
|
||||
environment.systemPackages =
|
||||
with pkgs.gnome;
|
||||
utils.removePackagesByName
|
||||
([
|
||||
baobab
|
||||
cheese
|
||||
eog
|
||||
epiphany
|
||||
pkgs.gnome-text-editor
|
||||
gnome-calculator
|
||||
@ -483,12 +482,13 @@ in
|
||||
gnome-logs
|
||||
gnome-maps
|
||||
gnome-music
|
||||
pkgs.gnome-photos
|
||||
gnome-system-monitor
|
||||
gnome-weather
|
||||
pkgs.loupe
|
||||
nautilus
|
||||
pkgs.gnome-connections
|
||||
simple-scan
|
||||
pkgs.snapshot
|
||||
totem
|
||||
yelp
|
||||
] ++ lib.optionals config.services.flatpak.enable [
|
||||
|
@ -70,6 +70,9 @@ in
|
||||
services.xserver.libinput.enable = mkDefault true;
|
||||
|
||||
xdg.portal.lxqt.enable = true;
|
||||
|
||||
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1050804
|
||||
xdg.portal.config.lxqt.default = mkDefault [ "lxqt" "gtk" ];
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -77,6 +77,8 @@ in
|
||||
|
||||
security.pam.services.mate-screensaver.unixAuth = true;
|
||||
|
||||
xdg.portal.configPackages = mkDefault [ pkgs.mate.mate-desktop ];
|
||||
|
||||
environment.pathsToLink = [ "/share" ];
|
||||
};
|
||||
|
||||
|
@ -229,9 +229,6 @@ in
|
||||
|
||||
xdg.portal.enable = true;
|
||||
xdg.portal.extraPortals = [
|
||||
# Some Pantheon apps enforce portal usage, we need this for e.g. notifications.
|
||||
# Currently we have buildPortalsInGnome enabled, if you run into issues related
|
||||
# to https://github.com/flatpak/xdg-desktop-portal/issues/656 please report to us.
|
||||
pkgs.xdg-desktop-portal-gtk
|
||||
] ++ (with pkgs.pantheon; [
|
||||
elementary-files
|
||||
@ -239,6 +236,8 @@ in
|
||||
xdg-desktop-portal-pantheon
|
||||
]);
|
||||
|
||||
xdg.portal.configPackages = mkDefault [ pkgs.pantheon.elementary-default-settings ];
|
||||
|
||||
# Override GSettings schemas
|
||||
environment.sessionVariables.NIX_GSETTINGS_OVERRIDES_DIR = "${nixos-gsettings-desktop-schemas}/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas";
|
||||
|
||||
|
@ -372,6 +372,7 @@ in
|
||||
|
||||
xdg.portal.enable = true;
|
||||
xdg.portal.extraPortals = [ plasma5.xdg-desktop-portal-kde ];
|
||||
xdg.portal.configPackages = mkDefault [ plasma5.xdg-desktop-portal-kde ];
|
||||
# xdg-desktop-portal-kde expects PipeWire to be running.
|
||||
# This does not, by default, replace PulseAudio.
|
||||
services.pipewire.enable = mkDefault true;
|
||||
|
@ -178,5 +178,7 @@ in
|
||||
]) excludePackages;
|
||||
|
||||
security.pam.services.xfce4-screensaver.unixAuth = cfg.enableScreensaver;
|
||||
|
||||
xdg.portal.configPackages = mkDefault [ pkgs.xfce.xfce4-session ];
|
||||
};
|
||||
}
|
||||
|
@ -12,7 +12,7 @@ let
|
||||
|
||||
version = fileContents ../.version;
|
||||
versionSuffix =
|
||||
(if stableBranch then "." else "pre") + "${toString nixpkgs.revCount}.${nixpkgs.shortRev}";
|
||||
(if stableBranch then "." else "beta") + "${toString (nixpkgs.revCount - 551362)}.${nixpkgs.shortRev}";
|
||||
|
||||
# Run the tests for each platform. You can run a test by doing
|
||||
# e.g. ‘nix-build release.nix -A tests.login.x86_64-linux’,
|
||||
|
@ -332,6 +332,7 @@ in {
|
||||
gitolite-fcgiwrap = handleTest ./gitolite-fcgiwrap.nix {};
|
||||
glusterfs = handleTest ./glusterfs.nix {};
|
||||
gnome = handleTest ./gnome.nix {};
|
||||
gnome-extensions = handleTest ./gnome-extensions.nix {};
|
||||
gnome-flashback = handleTest ./gnome-flashback.nix {};
|
||||
gnome-xorg = handleTest ./gnome-xorg.nix {};
|
||||
gnupg = handleTest ./gnupg.nix {};
|
||||
|
151
nixos/tests/gnome-extensions.nix
Normal file
151
nixos/tests/gnome-extensions.nix
Normal file
@ -0,0 +1,151 @@
|
||||
import ./make-test-python.nix (
|
||||
{ pkgs, lib, ...}:
|
||||
{
|
||||
name = "gnome-extensions";
|
||||
meta.maintainers = [ lib.maintainers.piegames ];
|
||||
|
||||
nodes.machine =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
imports = [ ./common/user-account.nix ];
|
||||
|
||||
# Install all extensions
|
||||
environment.systemPackages = lib.filter (e: e ? extensionUuid) (lib.attrValues pkgs.gnomeExtensions);
|
||||
|
||||
# Some extensions are broken, but that's kind of the point of a testing VM
|
||||
nixpkgs.config.allowBroken = true;
|
||||
# There are some aliases which throw exceptions; ignore them.
|
||||
# Also prevent duplicate extensions under different names.
|
||||
nixpkgs.config.allowAliases = false;
|
||||
|
||||
# Configure GDM
|
||||
services.xserver.enable = true;
|
||||
services.xserver.displayManager = {
|
||||
gdm = {
|
||||
enable = true;
|
||||
debug = true;
|
||||
wayland = true;
|
||||
};
|
||||
autoLogin = {
|
||||
enable = true;
|
||||
user = "alice";
|
||||
};
|
||||
};
|
||||
|
||||
# Configure Gnome
|
||||
services.xserver.desktopManager.gnome.enable = true;
|
||||
services.xserver.desktopManager.gnome.debug = true;
|
||||
|
||||
systemd.user.services = {
|
||||
"org.gnome.Shell@wayland" = {
|
||||
serviceConfig = {
|
||||
ExecStart = [
|
||||
# Clear the list before overriding it.
|
||||
""
|
||||
# Eval API is now internal so Shell needs to run in unsafe mode.
|
||||
# TODO: improve test driver so that it supports openqa-like manipulation
|
||||
# that would allow us to drop this mess.
|
||||
"${pkgs.gnome.gnome-shell}/bin/gnome-shell --unsafe-mode"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
testScript = { nodes, ... }: let
|
||||
# Keep line widths somewhat manageable
|
||||
user = nodes.machine.users.users.alice;
|
||||
uid = toString user.uid;
|
||||
bus = "DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/${uid}/bus";
|
||||
# Run a command in the appropriate user environment
|
||||
run = command: "su - ${user.name} -c '${bus} ${command}'";
|
||||
|
||||
# Call javascript in gnome shell, returns a tuple (success, output), where
|
||||
# `success` is true if the dbus call was successful and output is what the
|
||||
# javascript evaluates to.
|
||||
eval = command: run "gdbus call --session -d org.gnome.Shell -o /org/gnome/Shell -m org.gnome.Shell.Eval ${command}";
|
||||
|
||||
# False when startup is done
|
||||
startingUp = eval "Main.layoutManager._startingUp";
|
||||
|
||||
# Extensions to keep always enabled together
|
||||
# Those are extensions that are usually always on for many users, and that we expect to work
|
||||
# well together with most others without conflicts
|
||||
alwaysOnExtensions = map (name: pkgs.gnomeExtensions.${name}.extensionUuid) [
|
||||
"applications-menu"
|
||||
"user-themes"
|
||||
];
|
||||
|
||||
# Extensions to enable and disable individually
|
||||
# Extensions like dash-to-dock and dash-to-panel cannot be enabled at the same time.
|
||||
testExtensions = map (name: pkgs.gnomeExtensions.${name}.extensionUuid) [
|
||||
"appindicator"
|
||||
"dash-to-dock"
|
||||
"dash-to-panel"
|
||||
"ddterm"
|
||||
"emoji-selector"
|
||||
"gsconnect"
|
||||
"system-monitor"
|
||||
"desktop-icons-ng-ding"
|
||||
"workspace-indicator"
|
||||
"vitals"
|
||||
];
|
||||
in
|
||||
''
|
||||
with subtest("Login to GNOME with GDM"):
|
||||
# wait for gdm to start
|
||||
machine.wait_for_unit("display-manager.service")
|
||||
# wait for the wayland server
|
||||
machine.wait_for_file("/run/user/${uid}/wayland-0")
|
||||
# wait for alice to be logged in
|
||||
machine.wait_for_unit("default.target", "${user.name}")
|
||||
# check that logging in has given the user ownership of devices
|
||||
assert "alice" in machine.succeed("getfacl -p /dev/snd/timer")
|
||||
|
||||
with subtest("Wait for GNOME Shell"):
|
||||
# correct output should be (true, 'false')
|
||||
machine.wait_until_succeeds(
|
||||
"${startingUp} | grep -q 'true,..false'"
|
||||
)
|
||||
|
||||
# Close the Activities view so that Shell can correctly track the focused window.
|
||||
machine.send_key("esc")
|
||||
# # Disable extension version validation (only use for manual testing)
|
||||
# machine.succeed(
|
||||
# "${run "gsettings set org.gnome.shell disable-extension-version-validation true"}"
|
||||
# )
|
||||
|
||||
# Assert that some extension is in a specific state
|
||||
def checkState(target, extension):
|
||||
state = machine.succeed(
|
||||
f"${run "gnome-extensions info {extension}"} | grep '^ State: .*$'"
|
||||
)
|
||||
assert target in state, f"{state} instead of {target}"
|
||||
|
||||
def checkExtension(extension, disable):
|
||||
with subtest(f"Enable extension '{extension}'"):
|
||||
# Check that the extension is properly initialized; skip out of date ones
|
||||
state = machine.succeed(
|
||||
f"${run "gnome-extensions info {extension}"} | grep '^ State: .*$'"
|
||||
)
|
||||
if "OUT OF DATE" in state:
|
||||
machine.log(f"Extension {extension} will be skipped because out of date")
|
||||
return
|
||||
|
||||
assert "INITIALIZED" in state, f"{state} instead of INITIALIZED"
|
||||
|
||||
# Enable and optionally disable
|
||||
|
||||
machine.succeed(f"${run "gnome-extensions enable {extension}"}")
|
||||
checkState("ENABLED", extension)
|
||||
|
||||
if disable:
|
||||
machine.succeed(f"${run "gnome-extensions disable {extension}"}")
|
||||
checkState("DISABLED", extension)
|
||||
''
|
||||
+ lib.concatLines (map (e: ''checkExtension("${e}", False)'') alwaysOnExtensions)
|
||||
+ lib.concatLines (map (e: ''checkExtension("${e}", True)'') testExtensions)
|
||||
;
|
||||
}
|
||||
)
|
@ -5,7 +5,7 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : {
|
||||
};
|
||||
|
||||
nodes.machine = { nodes, ... }: let
|
||||
user = nodes.machine.config.users.users.alice;
|
||||
user = nodes.machine.users.users.alice;
|
||||
in
|
||||
|
||||
{ imports = [ ./common/user-account.nix ];
|
||||
@ -43,28 +43,28 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : {
|
||||
};
|
||||
|
||||
testScript = { nodes, ... }: let
|
||||
user = nodes.machine.config.users.users.alice;
|
||||
user = nodes.machine.users.users.alice;
|
||||
uid = toString user.uid;
|
||||
bus = "DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/${uid}/bus";
|
||||
xauthority = "/run/user/${uid}/gdm/Xauthority";
|
||||
display = "DISPLAY=:0.0";
|
||||
env = "${bus} XAUTHORITY=${xauthority} ${display}";
|
||||
gdbus = "${env} gdbus";
|
||||
su = command: "su - ${user.name} -c '${env} ${command}'";
|
||||
# Run a command in the appropriate user environment
|
||||
run = command: "su - ${user.name} -c '${bus} ${command}'";
|
||||
|
||||
# Call javascript in gnome shell, returns a tuple (success, output), where
|
||||
# `success` is true if the dbus call was successful and output is what the
|
||||
# javascript evaluates to.
|
||||
eval = "call --session -d org.gnome.Shell -o /org/gnome/Shell -m org.gnome.Shell.Eval";
|
||||
eval = command: run "gdbus call --session -d org.gnome.Shell -o /org/gnome/Shell -m org.gnome.Shell.Eval ${command}";
|
||||
|
||||
# False when startup is done
|
||||
startingUp = su "${gdbus} ${eval} Main.layoutManager._startingUp";
|
||||
startingUp = eval "Main.layoutManager._startingUp";
|
||||
|
||||
# Start Console
|
||||
launchConsole = su "${bus} gapplication launch org.gnome.Console";
|
||||
launchConsole = run "gapplication launch org.gnome.Console";
|
||||
|
||||
# Hopefully Console's wm class
|
||||
wmClass = su "${gdbus} ${eval} global.display.focus_window.wm_class";
|
||||
wmClass = eval "global.display.focus_window.wm_class";
|
||||
in ''
|
||||
with subtest("Login to GNOME Xorg with GDM"):
|
||||
machine.wait_for_x()
|
||||
|
@ -40,25 +40,25 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : {
|
||||
|
||||
testScript = { nodes, ... }: let
|
||||
# Keep line widths somewhat manageable
|
||||
user = nodes.machine.config.users.users.alice;
|
||||
user = nodes.machine.users.users.alice;
|
||||
uid = toString user.uid;
|
||||
bus = "DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/${uid}/bus";
|
||||
gdbus = "${bus} gdbus";
|
||||
su = command: "su - ${user.name} -c '${command}'";
|
||||
# Run a command in the appropriate user environment
|
||||
run = command: "su - ${user.name} -c '${bus} ${command}'";
|
||||
|
||||
# Call javascript in gnome shell, returns a tuple (success, output), where
|
||||
# `success` is true if the dbus call was successful and output is what the
|
||||
# javascript evaluates to.
|
||||
eval = "call --session -d org.gnome.Shell -o /org/gnome/Shell -m org.gnome.Shell.Eval";
|
||||
eval = command: run "gdbus call --session -d org.gnome.Shell -o /org/gnome/Shell -m org.gnome.Shell.Eval ${command}";
|
||||
|
||||
# False when startup is done
|
||||
startingUp = su "${gdbus} ${eval} Main.layoutManager._startingUp";
|
||||
startingUp = eval "Main.layoutManager._startingUp";
|
||||
|
||||
# Start Console
|
||||
launchConsole = su "${bus} gapplication launch org.gnome.Console";
|
||||
launchConsole = run "gapplication launch org.gnome.Console";
|
||||
|
||||
# Hopefully Console's wm class
|
||||
wmClass = su "${gdbus} ${eval} global.display.focus_window.wm_class";
|
||||
wmClass = eval "global.display.focus_window.wm_class";
|
||||
in ''
|
||||
with subtest("Login to GNOME with GDM"):
|
||||
# wait for gdm to start
|
||||
|
@ -5,7 +5,7 @@
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "unifi-protect-backup";
|
||||
version = "0.10.1";
|
||||
version = "0.10.2";
|
||||
|
||||
format = "pyproject";
|
||||
|
||||
@ -13,7 +13,7 @@ python3.pkgs.buildPythonApplication rec {
|
||||
owner = "ep1cman";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-5SarQw4xvLzL2JyBOqv5AtMAk3T4IHJN7fwk+OmujLM=";
|
||||
hash = "sha256-EQCI7TkkOhDASMo5yKfAca/gB4ayyPOaDVK6WEaAIgc=";
|
||||
};
|
||||
|
||||
pythonRelaxDeps = [
|
||||
|
@ -19,8 +19,9 @@
|
||||
, libadwaita
|
||||
, libdex
|
||||
, libpanel
|
||||
, libpeas
|
||||
, libpeas2
|
||||
, libportal-gtk4
|
||||
, libsysprof-capture
|
||||
, libxml2
|
||||
, meson
|
||||
, ninja
|
||||
@ -41,13 +42,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-builder";
|
||||
version = "44.2";
|
||||
version = "45.0";
|
||||
|
||||
outputs = [ "out" "devdoc" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "z6aJx40/AiMcp0cVV99MZIKASio08nHDXRqWLX8XKbA=";
|
||||
sha256 = "JC2gJZMpPUVuokEIpFk0cwoeMW2NxbGNnfDoZNt7pZY=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@ -82,7 +83,7 @@ stdenv.mkDerivation rec {
|
||||
editorconfig-core-c
|
||||
flatpak
|
||||
libgit2-glib
|
||||
libpeas
|
||||
libpeas2
|
||||
libportal-gtk4
|
||||
vte-gtk4
|
||||
enchant
|
||||
@ -94,12 +95,12 @@ stdenv.mkDerivation rec {
|
||||
libadwaita
|
||||
libdex
|
||||
libpanel
|
||||
libsysprof-capture
|
||||
libxml2
|
||||
ostree
|
||||
d-spy
|
||||
pcre2
|
||||
python3
|
||||
sysprof
|
||||
template-glib
|
||||
vala
|
||||
webkitgtk_6_0
|
||||
@ -142,6 +143,8 @@ stdenv.mkDerivation rec {
|
||||
buildPythonPath "$out $pythonPath"
|
||||
gappsWrapperArgs+=(
|
||||
--prefix PYTHONPATH : "$program_PYTHONPATH"
|
||||
# For sysprof-agent
|
||||
--prefix PATH : "${sysprof}/bin"
|
||||
)
|
||||
|
||||
# Ensure that all plugins get their interpreter paths fixed up.
|
||||
|
58
pkgs/applications/editors/jupyter-kernels/coq/default.nix
Normal file
58
pkgs/applications/editors/jupyter-kernels/coq/default.nix
Normal file
@ -0,0 +1,58 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, callPackage
|
||||
, runCommand
|
||||
, makeWrapper
|
||||
, coq
|
||||
, imagemagick
|
||||
, python3
|
||||
}:
|
||||
|
||||
# Jupyter console:
|
||||
# nix run --impure --expr 'with import <nixpkgs> {}; jupyter-console.withSingleKernel coq-kernel.definition'
|
||||
|
||||
# Jupyter console with packages:
|
||||
# nix run --impure --expr 'with import <nixpkgs> {}; jupyter-console.withSingleKernel (coq-kernel.definitionWithPackages [coqPackages.bignums])'
|
||||
|
||||
# Jupyter notebook:
|
||||
# nix run --impure --expr 'with import <nixpkgs> {}; jupyter.override { definitions.coq = coq-kernel.definition; }'
|
||||
|
||||
let
|
||||
python = python3.withPackages (ps: [ ps.traitlets ps.jupyter_core ps.ipykernel (callPackage ./kernel.nix {}) ]);
|
||||
|
||||
logos = runCommand "coq-logos" { buildInputs = [ imagemagick ]; } ''
|
||||
mkdir -p $out
|
||||
convert ${coq.src}/ide/coqide/coq.png -resize 32x32 $out/logo-32x32.png
|
||||
convert ${coq.src}/ide/coqide/coq.png -resize 64x64 $out/logo-64x64.png
|
||||
'';
|
||||
|
||||
in
|
||||
|
||||
rec {
|
||||
launcher = runCommand "coq-kernel-launcher" {
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
} ''
|
||||
mkdir -p $out/bin
|
||||
|
||||
makeWrapper ${python.interpreter} $out/bin/coq-kernel \
|
||||
--add-flags "-m coq_jupyter" \
|
||||
--suffix PATH : ${coq}/bin
|
||||
'';
|
||||
|
||||
definition = definitionWithPackages [];
|
||||
|
||||
definitionWithPackages = packages: {
|
||||
displayName = "Coq " + coq.version;
|
||||
argv = [
|
||||
"${launcher}/bin/coq-kernel"
|
||||
"-f"
|
||||
"{connection_file}"
|
||||
];
|
||||
language = "coq";
|
||||
logo32 = "${logos}/logo-32x32.png";
|
||||
logo64 = "${logos}/logo-64x64.png";
|
||||
env = {
|
||||
COQPATH = lib.concatStringsSep ":" (map (x: "${x}/lib/coq/${coq.coq-version}/user-contrib/") packages);
|
||||
};
|
||||
};
|
||||
}
|
30
pkgs/applications/editors/jupyter-kernels/coq/kernel.nix
Normal file
30
pkgs/applications/editors/jupyter-kernels/coq/kernel.nix
Normal file
@ -0,0 +1,30 @@
|
||||
{ lib
|
||||
, fetchFromGitHub
|
||||
, python3
|
||||
, coq
|
||||
}:
|
||||
|
||||
python3.pkgs.buildPythonPackage rec {
|
||||
pname = "coq-jupyter";
|
||||
version = "1.6.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "EugeneLoy";
|
||||
repo = "coq_jupyter";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-+Pp51cxeqjg5MW4CEccNWVjNcY9iyFNATIEage9RWJ0=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = (with python3.pkgs; [ ipykernel future ]) ++ [ coq ];
|
||||
|
||||
nativeBuildInputs = [ coq ];
|
||||
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/EugeneLoy/coq_jupyter";
|
||||
description = "Jupyter kernel for Coq";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ thomasjm ];
|
||||
};
|
||||
}
|
@ -6,13 +6,13 @@
|
||||
}:
|
||||
|
||||
let
|
||||
|
||||
jupyterPath = (jupyter-kernel.create { inherit definitions; });
|
||||
|
||||
jupyter-notebook = (python3.buildEnv.override {
|
||||
extraLibs = [ python3.pkgs.notebook ];
|
||||
makeWrapperArgs = ["--set JUPYTER_PATH ${jupyterPath}"];
|
||||
}).overrideAttrs(oldAttrs: {
|
||||
meta = oldAttrs.meta // { mainProgram = "jupyter-notebook"; };
|
||||
});
|
||||
in
|
||||
|
||||
with python3.pkgs; toPythonModule (
|
||||
notebook.overridePythonAttrs(oldAttrs: {
|
||||
makeWrapperArgs = ["--set JUPYTER_PATH ${jupyterPath}"];
|
||||
})
|
||||
)
|
||||
jupyter-notebook
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "leo-editor";
|
||||
version = "6.7.4";
|
||||
version = "6.7.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "leo-editor";
|
||||
repo = "leo-editor";
|
||||
rev = version;
|
||||
sha256 = "sha256-YKK46PeCMOTNOTpMrIgem+Au70Xj+tTHxOhC8alF3ms=";
|
||||
sha256 = "sha256-Y0g4mpEf4+hApHFHaqB8esVep2OyqWLo7YGLf/7eCYg=";
|
||||
};
|
||||
|
||||
dontBuild = true;
|
||||
|
@ -847,7 +847,7 @@ self: super: {
|
||||
dependencies = with self; [ plenary-nvim ];
|
||||
};
|
||||
|
||||
neotest = super.neorg.overrideAttrs {
|
||||
neotest = super.neotest.overrideAttrs {
|
||||
dependencies = with self; [ plenary-nvim ];
|
||||
};
|
||||
|
||||
|
@ -16,6 +16,7 @@
|
||||
, hidapi
|
||||
, imgui
|
||||
, libpng
|
||||
, libusb1
|
||||
, libzip
|
||||
, libXrender
|
||||
, pugixml
|
||||
@ -32,13 +33,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cemu";
|
||||
version = "2.0-47";
|
||||
version = "2.0-59";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cemu-project";
|
||||
repo = "Cemu";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-0N/bJJHWMHF+ZlVxNHV8t/1jFr3ER3GNF8CPAHVSsak=";
|
||||
hash = "sha256-dw77UkhyJ+XJLYWT6adUuTd+spqNr3/ZOMLaAVWgzmc=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@ -68,6 +69,7 @@ stdenv.mkDerivation rec {
|
||||
hidapi
|
||||
imgui
|
||||
libpng
|
||||
libusb1
|
||||
libzip
|
||||
libXrender
|
||||
pugixml
|
||||
|
@ -1,22 +1,37 @@
|
||||
{ lib, rustPlatform, fetchFromGitHub, stdenv, darwin }:
|
||||
{ lib
|
||||
, rustPlatform
|
||||
, fetchFromGitHub
|
||||
, installShellFiles
|
||||
, stdenv
|
||||
, darwin
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "joshuto";
|
||||
version = "0.9.5";
|
||||
version = "0.9.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kamiyaa";
|
||||
repo = "joshuto";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-b13CLfWidqfYhHC9wY84kd3elsjWGxBMGr5GXHzUhfs=";
|
||||
hash = "sha256-d2r8xPGnH/299wjEijilgqy3u/xJgtRmwzJdHt0sA+o=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-gMX8hvt20V4XUd0nnXGA4fyOUfB7ZY1eeme9HgYopL0=";
|
||||
cargoHash = "sha256-amgqoL7NYfl3WzTtgvDoBX46rsL9248rbCis6MHVQhE=";
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
buildInputs = lib.optionals stdenv.isDarwin [
|
||||
darwin.apple_sdk.frameworks.Foundation
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
installShellCompletion --cmd joshuto \
|
||||
--bash <($out/bin/joshuto completions bash) \
|
||||
--zsh <($out/bin/joshuto completions zsh) \
|
||||
--fish <($out/bin/joshuto completions fish)
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Ranger-like terminal file manager written in Rust";
|
||||
homepage = "https://github.com/kamiyaa/joshuto";
|
||||
|
@ -1,22 +1,46 @@
|
||||
{ lib, stdenv, fetchurl, fetchpatch, wrapGAppsHook4
|
||||
, cargo, desktop-file-utils, meson, ninja, pkg-config, rustc
|
||||
, gdk-pixbuf, glib, gtk4, gtksourceview5, libadwaita, darwin
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, fetchpatch
|
||||
, wrapGAppsHook4
|
||||
, cargo
|
||||
, desktop-file-utils
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, rustc
|
||||
, gdk-pixbuf
|
||||
, glib
|
||||
, gtk4
|
||||
, gtksourceview5
|
||||
, libadwaita
|
||||
, darwin
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "icon-library";
|
||||
version = "0.0.16";
|
||||
version = "0.0.17";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://gitlab.gnome.org/World/design/icon-library/uploads/5dd3d97acfdbaf69c7dc6b2f7bbf4cae/icon-library-${version}.tar.xz";
|
||||
hash = "sha256-EO67foD/uRoeF+zmJyEia5Nr3eW+Se9bVjDxipMw75E=";
|
||||
url = "https://gitlab.gnome.org/World/design/icon-library/uploads/8c4cad88809cd4ddc0eeae6f5170c001/icon-library-${version}.tar.xz";
|
||||
hash = "sha256-Gspx3fJl+ZoUN3heGWaeMuxUsjWCrIdg4pJj7DeMTSY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cargo desktop-file-utils meson ninja pkg-config rustc wrapGAppsHook4
|
||||
cargo
|
||||
desktop-file-utils
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
rustc
|
||||
wrapGAppsHook4
|
||||
];
|
||||
buildInputs = [
|
||||
gdk-pixbuf glib gtk4 gtksourceview5 libadwaita
|
||||
gdk-pixbuf
|
||||
glib
|
||||
gtk4
|
||||
gtksourceview5
|
||||
libadwaita
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
darwin.apple_sdk.frameworks.Foundation
|
||||
];
|
||||
|
1109
pkgs/applications/graphics/rnote/Cargo.lock
generated
1109
pkgs/applications/graphics/rnote/Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
@ -26,20 +26,19 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "rnote";
|
||||
version = "0.8.2";
|
||||
version = "0.9.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "flxzt";
|
||||
repo = "rnote";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-cIy2+Q6HSLwbT0XXDK88Z0mdu46vWSZNTVl8MphXhw0=";
|
||||
hash = "sha256-LLJurn5KJBlTtFrQXcc7HZqtIATOLgiwJqUsZe4cRIo=";
|
||||
};
|
||||
|
||||
cargoDeps = rustPlatform.importCargoLock {
|
||||
lockFile = ./Cargo.lock;
|
||||
outputHashes = {
|
||||
"ink-stroke-modeler-rs-0.1.0" = "sha256-WfZwezohm8+ZXiKZlssTX+b/Izk1M4jFwxQejeTfc6M=";
|
||||
"librsvg-2.57.0-beta.2" = "sha256-8k5KWhm9PIpdmf2DByTyrqX5mGAa+a7ZDGmVO2ERhTU=";
|
||||
"piet-0.6.2" = "sha256-WrQok0T7uVQEp8SvNWlgqwQHfS7q0510bnP1ecr+s1Q=";
|
||||
};
|
||||
};
|
||||
@ -81,7 +80,6 @@ stdenv.mkDerivation rec {
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
dos2unix build-aux/*.py # FIXME remove once updated to 0.9.0
|
||||
chmod +x build-aux/*.py
|
||||
patchShebangs build-aux
|
||||
'';
|
||||
@ -91,7 +89,7 @@ stdenv.mkDerivation rec {
|
||||
changelog = "https://github.com/flxzt/rnote/releases/tag/${src.rev}";
|
||||
description = "Simple drawing application to create handwritten notes";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ dotlambda yrd ];
|
||||
maintainers = with maintainers; [ dotlambda gepbird yrd ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
|
@ -40,11 +40,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "shotwell";
|
||||
version = "0.32.2";
|
||||
version = "0.32.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "sha256-pd5T6HMhbfj1mWyWgnvtlj1sY1TgReF5bf0ybGGIwmM=";
|
||||
sha256 = "sha256-4AD+5bPzYseRFPDs/44is0yaKGW1nkGi2j5NxdLKLDw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
78
pkgs/applications/graphics/snapshot/default.nix
Normal file
78
pkgs/applications/graphics/snapshot/default.nix
Normal file
@ -0,0 +1,78 @@
|
||||
{ stdenv
|
||||
, lib
|
||||
, fetchurl
|
||||
, fetchpatch
|
||||
, cargo
|
||||
, desktop-file-utils
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, rustc
|
||||
, wrapGAppsHook4
|
||||
, glib
|
||||
, gst_all_1
|
||||
, gtk4
|
||||
, libadwaita
|
||||
, pipewire
|
||||
, gnome
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "snapshot";
|
||||
version = "45.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/snapshot/${lib.versions.major version}/snapshot-${version}.tar.xz";
|
||||
hash = "sha256-7keO4JBzGgsIJLZrsXRr2ADcv+h6yDWEmUSa85z822c=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Fix portal requests
|
||||
# https://gitlab.gnome.org/GNOME/snapshot/-/merge_requests/168
|
||||
(fetchpatch {
|
||||
url = "https://gitlab.gnome.org/GNOME/snapshot/-/commit/6aec0f56d6bb994731c1309ac6e2cb822b82067e.patch";
|
||||
hash = "sha256-6tnOhhTQ3Rfl3nCw/rliLKkvZknvZKCQyeMKaTxYmok=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
cargo
|
||||
desktop-file-utils
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
rustc
|
||||
wrapGAppsHook4
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
glib
|
||||
gst_all_1.gst-plugins-bad
|
||||
gst_all_1.gst-plugins-base
|
||||
gst_all_1.gst-plugins-good
|
||||
gst_all_1.gstreamer
|
||||
gtk4
|
||||
libadwaita
|
||||
pipewire # for device provider
|
||||
];
|
||||
|
||||
preFixup = ''
|
||||
gappsWrapperArgs+=(
|
||||
# vp8enc preset
|
||||
--prefix GST_PRESET_PATH : "${gst_all_1.gst-plugins-good}/share/gstreamer-1.0/presets"
|
||||
)
|
||||
'';
|
||||
|
||||
passthru.updateScript = gnome.updateScript {
|
||||
packageName = "snapshot";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://gitlab.gnome.org/GNOME/snapshot";
|
||||
description = "Take pictures and videos on your computer, tablet, or phone";
|
||||
maintainers = teams.gnome.members;
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.unix;
|
||||
mainProgram = "snapshot";
|
||||
};
|
||||
}
|
@ -32,11 +32,11 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "calibre";
|
||||
version = "6.29.0";
|
||||
version = "7.0.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.calibre-ebook.com/${finalAttrs.version}/calibre-${finalAttrs.version}.tar.xz";
|
||||
hash = "sha256-w9mvMKm76w5sDfW0OYxhZuhIOYKdUH3tpiGlpKNC2kM=";
|
||||
hash = "sha256-VAnzacz/8LYCVMCjHXqd4B+NUFmiMqdxQqpyap+UMNc=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@ -123,6 +123,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
zeroconf
|
||||
jeepney
|
||||
pycryptodome
|
||||
xxhash
|
||||
# the following are distributed with calibre, but we use upstream instead
|
||||
odfpy
|
||||
] ++ lib.optionals (lib.lists.any (p: p == stdenv.hostPlatform.system) pyqt6-webengine.meta.platforms) [
|
||||
|
1748
pkgs/applications/misc/clipcat/Cargo.lock
generated
1748
pkgs/applications/misc/clipcat/Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
@ -1,15 +1,23 @@
|
||||
{ lib, fetchFromGitHub, installShellFiles, rustPlatform, rustfmt, xorg
|
||||
, pkg-config, llvmPackages, clang, protobuf, python3 }:
|
||||
{ lib
|
||||
, fetchFromGitHub
|
||||
, installShellFiles
|
||||
, rustPlatform
|
||||
, rustfmt
|
||||
, xorg
|
||||
, pkg-config
|
||||
, protobuf
|
||||
, python3
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "clipcat";
|
||||
version = "0.5.0";
|
||||
version = "0.5.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "xrelkd";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "0rxl3ksjinw07q3p2vjqg80k3c6wx2q7pzpf2344zyfb4gkqzx1c";
|
||||
sha256 = "sha256-dV17xP6xG6Nyi6m0CdH8Mk4Y0giDtsv/QiM23jF58q0=";
|
||||
};
|
||||
|
||||
cargoLock = {
|
||||
@ -35,6 +43,7 @@ rustPlatform.buildRustPackage rec {
|
||||
|
||||
installShellFiles
|
||||
];
|
||||
|
||||
buildInputs = [ xorg.libxcb ];
|
||||
|
||||
buildFeatures = [ "all" ];
|
||||
@ -51,5 +60,6 @@ rustPlatform.buildRustPackage rec {
|
||||
license = licenses.gpl3Only;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ xrelkd ];
|
||||
mainProgram = "clipcatd";
|
||||
};
|
||||
}
|
||||
|
55
pkgs/applications/misc/gnome-tecla/default.nix
Normal file
55
pkgs/applications/misc/gnome-tecla/default.nix
Normal file
@ -0,0 +1,55 @@
|
||||
{ stdenv
|
||||
, lib
|
||||
, fetchurl
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, wrapGAppsHook4
|
||||
, glib
|
||||
, gtk4
|
||||
, libadwaita
|
||||
, libxkbcommon
|
||||
, wayland
|
||||
, gnome
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "tecla";
|
||||
version = "45.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/tecla/${lib.versions.major finalAttrs.version}/tecla-${finalAttrs.version}.tar.xz";
|
||||
hash = "sha256-XAK7QBmxz/tWY9phB1A+/4U4Nqh4PdRwXdBKSfetwls=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
wrapGAppsHook4
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
glib
|
||||
gtk4
|
||||
libadwaita
|
||||
libxkbcommon
|
||||
wayland
|
||||
];
|
||||
|
||||
passthru = {
|
||||
updateScript = gnome.updateScript {
|
||||
attrPath = "gnome-tecla";
|
||||
packageName = "tecla";
|
||||
};
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "Keyboard layout viewer";
|
||||
homepage = "https://gitlab.gnome.org/GNOME/tecla";
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = teams.gnome.members;
|
||||
platforms = platforms.unix;
|
||||
mainProgram = "tecla";
|
||||
};
|
||||
})
|
@ -1,4 +1,5 @@
|
||||
{ lib, stdenv
|
||||
{ stdenv
|
||||
, lib
|
||||
, fetchurl
|
||||
, meson
|
||||
, ninja
|
||||
@ -7,23 +8,23 @@
|
||||
, gettext
|
||||
, libxml2
|
||||
, desktop-file-utils
|
||||
, wrapGAppsHook
|
||||
, wrapGAppsHook4
|
||||
, glib
|
||||
, gtk3
|
||||
, gtk4
|
||||
, libadwaita
|
||||
, libgee
|
||||
, libgtop
|
||||
, libdazzle
|
||||
, gnome
|
||||
, tracker
|
||||
, libhandy
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-usage";
|
||||
version = "3.38.1";
|
||||
version = "45.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "mMdm4X4VZXEfx0uaJP0u0NX618y0VRlhLdTiFHaO05M=";
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "5nfE/iwBSXqE/x4RV+kTHp+ZmfGnjTUjSvHXfYJ18pQ=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@ -34,17 +35,16 @@ stdenv.mkDerivation rec {
|
||||
ninja
|
||||
pkg-config
|
||||
vala
|
||||
wrapGAppsHook
|
||||
wrapGAppsHook4
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
glib
|
||||
gnome.adwaita-icon-theme
|
||||
gtk3
|
||||
libdazzle
|
||||
gtk4
|
||||
libadwaita
|
||||
libgee
|
||||
libgtop
|
||||
tracker
|
||||
libhandy
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
@ -60,7 +60,8 @@ stdenv.mkDerivation rec {
|
||||
|
||||
meta = with lib; {
|
||||
description = "A nice way to view information about use of system resources, like memory and disk space";
|
||||
license = licenses.gpl3;
|
||||
homepage = "https://gitlab.gnome.org/GNOME/gnome-usage";
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = teams.gnome.members;
|
||||
};
|
||||
|
@ -34,13 +34,13 @@
|
||||
|
||||
buildPythonApplication rec {
|
||||
pname = "orca";
|
||||
version = "44.1";
|
||||
version = "45.1";
|
||||
|
||||
format = "other";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "9e1lUdcviXshJI1DMIWnuBesy7ApaoTD6FHZH7Lu5N4=";
|
||||
sha256 = "v8wGv0vEe70CwVaNHkZL8Wox5iv3A7SaoTsI2zihqMo=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git a/src/orca/debug.py b/src/orca/debug.py
|
||||
index e79482ed4..cbf3a24ec 100644
|
||||
index b7e11ea60..9ab996765 100644
|
||||
--- a/src/orca/debug.py
|
||||
+++ b/src/orca/debug.py
|
||||
@@ -502,7 +502,7 @@ def traceit(frame, event, arg):
|
||||
@@ -447,7 +447,7 @@ def traceit(frame, event, arg):
|
||||
return traceit
|
||||
|
||||
def getOpenFDCount(pid):
|
||||
@ -11,29 +11,20 @@ index e79482ed4..cbf3a24ec 100644
|
||||
procs = procs.decode('UTF-8').split('\n')
|
||||
files = list(filter(lambda s: s and s[0] == 'f' and s[1:].isdigit(), procs))
|
||||
|
||||
@@ -510,7 +510,7 @@ def getOpenFDCount(pid):
|
||||
|
||||
def getCmdline(pid):
|
||||
try:
|
||||
- openFile = os.popen('cat /proc/%s/cmdline' % pid)
|
||||
+ openFile = os.popen('@cat@ /proc/%s/cmdline' % pid)
|
||||
cmdline = openFile.read()
|
||||
openFile.close()
|
||||
except:
|
||||
@@ -520,7 +520,7 @@ def getCmdline(pid):
|
||||
@@ -465,7 +465,7 @@ def getCmdline(pid):
|
||||
return cmdline
|
||||
|
||||
def pidOf(procName):
|
||||
- openFile = subprocess.Popen('pgrep %s' % procName,
|
||||
+ openFile = subprocess.Popen('@pgrep@ %s' % procName,
|
||||
- openFile = subprocess.Popen(f'pgrep {procName}',
|
||||
+ openFile = subprocess.Popen(f'@pgrep@ {procName}',
|
||||
shell=True,
|
||||
stdout=subprocess.PIPE).stdout
|
||||
pids = openFile.read()
|
||||
diff --git a/src/orca/orca.py b/src/orca/orca.py
|
||||
index 2fe0a0bf2..087526556 100644
|
||||
index d4e89f918..bb3e6cc1d 100644
|
||||
--- a/src/orca/orca.py
|
||||
+++ b/src/orca/orca.py
|
||||
@@ -285,7 +285,7 @@ def updateKeyMap(keyboardEvent):
|
||||
@@ -312,7 +312,7 @@ def updateKeyMap(keyboardEvent):
|
||||
|
||||
def _setXmodmap(xkbmap):
|
||||
"""Set the keyboard map using xkbcomp."""
|
||||
@ -42,7 +33,7 @@ index 2fe0a0bf2..087526556 100644
|
||||
stdin=subprocess.PIPE, stdout=None, stderr=None)
|
||||
p.communicate(xkbmap)
|
||||
|
||||
@@ -363,7 +363,7 @@ def _storeXmodmap(keyList):
|
||||
@@ -389,7 +389,7 @@ def _storeXmodmap(keyList):
|
||||
"""
|
||||
|
||||
global _originalXmodmap
|
||||
@ -51,7 +42,7 @@ index 2fe0a0bf2..087526556 100644
|
||||
|
||||
def _restoreXmodmap(keyList=[]):
|
||||
"""Restore the original xmodmap values for the keys in keyList.
|
||||
@@ -375,7 +375,7 @@ def _restoreXmodmap(keyList=[]):
|
||||
@@ -404,7 +404,7 @@ def _restoreXmodmap(keyList=[]):
|
||||
|
||||
global _capsLockCleared
|
||||
_capsLockCleared = False
|
||||
@ -61,19 +52,19 @@ index 2fe0a0bf2..087526556 100644
|
||||
p.communicate(_originalXmodmap)
|
||||
|
||||
diff --git a/src/orca/orca_bin.py.in b/src/orca/orca_bin.py.in
|
||||
index 8c9d40153..eec0d5437 100644
|
||||
index 9d64af948..ca9c9e083 100644
|
||||
--- a/src/orca/orca_bin.py.in
|
||||
+++ b/src/orca/orca_bin.py.in
|
||||
@@ -62,7 +62,7 @@ class ListApps(argparse.Action):
|
||||
@@ -65,7 +65,7 @@ class ListApps(argparse.Action):
|
||||
name = "[DEAD]"
|
||||
|
||||
try:
|
||||
- cmdline = subprocess.getoutput('cat /proc/%s/cmdline' % pid)
|
||||
+ cmdline = subprocess.getoutput('@cat@ /proc/%s/cmdline' % pid)
|
||||
except:
|
||||
except Exception:
|
||||
cmdline = '(exception encountered)'
|
||||
else:
|
||||
@@ -197,7 +197,7 @@ def inGraphicalDesktop():
|
||||
@@ -198,7 +198,7 @@ def inGraphicalDesktop():
|
||||
def otherOrcas():
|
||||
"""Returns the pid of any other instances of Orca owned by this user."""
|
||||
|
||||
@ -82,3 +73,16 @@ index 8c9d40153..eec0d5437 100644
|
||||
shell=True,
|
||||
stdout=subprocess.PIPE).stdout
|
||||
pids = openFile.read()
|
||||
diff --git a/src/orca/script_utilities.py b/src/orca/script_utilities.py
|
||||
index ed8b155e4..0436cca42 100644
|
||||
--- a/src/orca/script_utilities.py
|
||||
+++ b/src/orca/script_utilities.py
|
||||
@@ -144,7 +144,7 @@ class Utilities:
|
||||
return ""
|
||||
|
||||
try:
|
||||
- cmdline = subprocess.getoutput(f"cat /proc/{pid}/cmdline")
|
||||
+ cmdline = subprocess.getoutput(f"@cat@ /proc/{pid}/cmdline")
|
||||
except Exception:
|
||||
return ""
|
||||
|
||||
|
@ -9,6 +9,7 @@
|
||||
, rsync
|
||||
, wrapQtAppsHook
|
||||
, qtbase
|
||||
, qtpositioning
|
||||
, qtsvg
|
||||
, libGLU
|
||||
, libGL
|
||||
@ -28,13 +29,13 @@ let
|
||||
};
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "organicmaps";
|
||||
version = "2023.08.18-8";
|
||||
version = "2023.11.17-17";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "organicmaps";
|
||||
repo = "organicmaps";
|
||||
rev = "${version}-android";
|
||||
hash = "sha256-vdleO4jNKibyDlqrfZsOCScpQ9zreuYSw2BSoNpmeLY=";
|
||||
hash = "sha256-3oGcupO49+ZXyW+ii4T+wov4qweDnLO+VkXSAIh7qJ4=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
@ -65,6 +66,7 @@ in stdenv.mkDerivation rec {
|
||||
# Most dependencies are vendored
|
||||
buildInputs = [
|
||||
qtbase
|
||||
qtpositioning
|
||||
qtsvg
|
||||
libGLU
|
||||
libGL
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, lib, fetchFromGitHub, pkg-config, meson, ninja, wayland, pixman, cairo, librsvg, wayland-protocols, wlroots, libxkbcommon, gst_all_1, wrapQtAppsHook, qtbase, qtmultimedia }:
|
||||
{ stdenv, lib, fetchFromGitHub, pkg-config, meson, cmake, ninja, gst_all_1, wrapQtAppsHook, qtbase, qtmultimedia, layer-shell-qt }:
|
||||
let
|
||||
gstreamerPath = with gst_all_1; lib.makeSearchPathOutput "lib" "lib/gstreamer-1.0" [
|
||||
gstreamer
|
||||
@ -9,38 +9,39 @@ let
|
||||
];
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "qt-video-wlr";
|
||||
version = "2020-08-03";
|
||||
version = "2023-07-22";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "xdavidwu";
|
||||
repo = "qt-video-wlr";
|
||||
rev = "f88a7aa43f28b879b18752069f4a1ec33d73f2fe";
|
||||
sha256 = "135kfyg1b61xvfpk8vpk4qyw6s9q1mn3a6lfkrqrhl0dz9kka9lx";
|
||||
rev = "1373c8eeb0a5d867927ba30a9a9bb2d5b0057a87";
|
||||
hash = "sha256-mg0ROD9kV88I5uCm+niAI5tJuhkmYC7Z8dixxrNow4c=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config meson ninja wrapQtAppsHook ];
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
meson
|
||||
cmake # only used for find layer-shell-qt
|
||||
ninja
|
||||
wrapQtAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
wayland
|
||||
pixman
|
||||
cairo
|
||||
librsvg
|
||||
wayland-protocols
|
||||
wlroots
|
||||
libxkbcommon
|
||||
qtbase
|
||||
qtmultimedia
|
||||
qtbase
|
||||
qtmultimedia
|
||||
layer-shell-qt
|
||||
];
|
||||
|
||||
qtWrapperArgs = [
|
||||
"--prefix PATH : $out/bin/qt-video-wlr"
|
||||
"--prefix GST_PLUGIN_PATH : ${gstreamerPath}"
|
||||
"--prefix PATH : $out/bin/qt-video-wlr"
|
||||
"--prefix GST_PLUGIN_PATH : ${gstreamerPath}"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Qt pip-mode-like video player for wlroots-based wayland compositors";
|
||||
homepage = "https://github.com/xdavidwu/qt-video-wlr";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ fionera ];
|
||||
maintainers = with maintainers; [ fionera rewine ];
|
||||
platforms = with platforms; linux;
|
||||
};
|
||||
}
|
||||
|
@ -254,6 +254,20 @@ let
|
||||
hash = "sha256-Vryjg8kyn3cxWg3PmSwYRG6zrHOqYWBMSdEMGiaPg6M=";
|
||||
revert = true;
|
||||
})
|
||||
] ++ lib.optionals (!chromiumVersionAtLeast "119.0.6024.0") [
|
||||
# Fix build with at-spi2-core ≥ 2.49
|
||||
# This version is still needed for electron.
|
||||
(githubPatch {
|
||||
commit = "fc09363b2278893790d131c72a4ed96ec9837624";
|
||||
hash = "sha256-l60Npgs/+0ozzuKWjwiHUUV6z59ObUjAPTfXN7eXpzw=";
|
||||
})
|
||||
] ++ lib.optionals (!chromiumVersionAtLeast "121.0.6104.0") [
|
||||
# Fix build with at-spi2-core ≥ 2.49
|
||||
# https://chromium-review.googlesource.com/c/chromium/src/+/5001687
|
||||
(githubPatch {
|
||||
commit = "b9bef8e9555645fc91fab705bec697214a39dbc1";
|
||||
hash = "sha256-CJ1v/qc8+nwaHQR9xsx08EEcuVRbyBfCZCm/G7hRY+4=";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -3,10 +3,10 @@
|
||||
{
|
||||
firefox = buildMozillaMach rec {
|
||||
pname = "firefox";
|
||||
version = "119.0.1";
|
||||
version = "120.0";
|
||||
src = fetchurl {
|
||||
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
|
||||
sha512 = "4f3201aee10e7b831cc384b2c7430a24f4de81f703115a917f9eb7acecb2ae1725f11af56c41257a056bb9d7a4d749d590cc9baffcd6e13852be45aaecf8163a";
|
||||
sha512 = "31d5f9e1d4173280c8de6d9b8551bc6bba5e2c49b84f944f50d42002d5b39c2fb743bc130f26c81160388a102b8301b94a0a378ecdfa6f943860f971a860df8c";
|
||||
};
|
||||
|
||||
meta = {
|
||||
@ -89,11 +89,11 @@
|
||||
|
||||
firefox-esr-115 = buildMozillaMach rec {
|
||||
pname = "firefox-esr-115";
|
||||
version = "115.4.0esr";
|
||||
version = "115.5.0esr";
|
||||
applicationName = "Mozilla Firefox ESR";
|
||||
src = fetchurl {
|
||||
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
|
||||
sha512 = "3ee680c5c503df7e4913794b7029ccffc10889f8f259f16030b24c1c18c1528439123532374ccb3a7e7a0d5d64068949cb85638a29694a7d99b74dd403ddefdc";
|
||||
sha512 = "5ee722884cd545cf5146f414526b4547286625f4f5996a409d7f64f115633fb7eb74d202e82f175fd5b2d24cce88deee70020fcb284055fcdea3d39da182074e";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
@ -3,7 +3,7 @@
|
||||
, jq, xdg-utils, writeText
|
||||
|
||||
## various stuff that can be plugged in
|
||||
, ffmpeg_5, xorg, alsa-lib, libpulseaudio, libcanberra-gtk3, libglvnd, libnotify, opensc
|
||||
, ffmpeg, xorg, alsa-lib, libpulseaudio, libcanberra-gtk3, libglvnd, libnotify, opensc
|
||||
, gnome/*.gnome-shell*/
|
||||
, browserpass, gnome-browser-connector, uget-integrator, plasma5Packages, bukubrow, pipewire
|
||||
, tridactyl-native
|
||||
@ -87,7 +87,7 @@ let
|
||||
|
||||
libs = lib.optionals stdenv.isLinux [ udev libva mesa libnotify xorg.libXScrnSaver cups pciutils ]
|
||||
++ lib.optional pipewireSupport pipewire
|
||||
++ lib.optional ffmpegSupport ffmpeg_5
|
||||
++ lib.optional ffmpegSupport ffmpeg
|
||||
++ lib.optional gssSupport libkrb5
|
||||
++ lib.optional useGlvnd libglvnd
|
||||
++ lib.optionals (cfg.enableQuakeLive or false)
|
||||
|
@ -7,17 +7,19 @@
|
||||
|
||||
((buildMozillaMach rec {
|
||||
pname = "floorp";
|
||||
packageVersion = "11.5.1";
|
||||
packageVersion = "11.6.0";
|
||||
applicationName = "Floorp";
|
||||
binaryName = "floorp";
|
||||
version = "155.4.0";
|
||||
|
||||
# Must match the contents of `browser/config/version.txt` in the source tree
|
||||
version = "155.5.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Floorp-Projects";
|
||||
repo = "Floorp";
|
||||
fetchSubmodules = true;
|
||||
rev = "v${packageVersion}";
|
||||
hash = "sha256-988jKyfIGZ2UPHTNO1cK2lxR/5j3U/QYR3ZI9WsvHUI=";
|
||||
hash = "sha256-5OQZckST6l9OZ7jnj52nuALCWiH1hVdDoDHSpqwUUfA=";
|
||||
};
|
||||
|
||||
extraConfigureFlags = [
|
||||
@ -43,6 +45,7 @@
|
||||
tests = [ nixosTests.floorp ];
|
||||
}).override {
|
||||
privacySupport = true;
|
||||
webrtcSupport = true;
|
||||
enableOfficialBranding = false;
|
||||
}).overrideAttrs (prev: {
|
||||
MOZ_REQUIRE_SIGNING = "";
|
||||
|
@ -6,12 +6,9 @@
|
||||
, makeWrapper
|
||||
, writeText
|
||||
, wrapGAppsHook
|
||||
, autoPatchelfHook
|
||||
, callPackage
|
||||
|
||||
# Common run-time dependencies
|
||||
, zlib
|
||||
|
||||
# libxul run-time dependencies
|
||||
, atk
|
||||
, cairo
|
||||
, dbus
|
||||
@ -30,19 +27,30 @@
|
||||
, mesa
|
||||
, pango
|
||||
, pciutils
|
||||
, zlib
|
||||
|
||||
, libnotifySupport ? stdenv.isLinux
|
||||
, libnotify
|
||||
|
||||
, waylandSupport ? stdenv.isLinux
|
||||
, libxkbcommon
|
||||
, libdrm
|
||||
|
||||
, mediaSupport ? true
|
||||
, ffmpeg
|
||||
|
||||
, audioSupport ? mediaSupport
|
||||
, pulseaudioSupport ? mediaSupport
|
||||
|
||||
, pipewireSupport ? audioSupport
|
||||
, pipewire
|
||||
|
||||
, pulseaudioSupport ? audioSupport
|
||||
, libpulseaudio
|
||||
, apulse
|
||||
, alsa-lib
|
||||
|
||||
# Media support (implies audio support)
|
||||
, mediaSupport ? true
|
||||
, ffmpeg
|
||||
, libvaSupport ? mediaSupport
|
||||
, libva
|
||||
|
||||
# Extra preferences
|
||||
, extraPrefs ? ""
|
||||
@ -74,7 +82,10 @@ let
|
||||
stdenv.cc.libc
|
||||
zlib
|
||||
] ++ lib.optionals libnotifySupport [ libnotify ]
|
||||
++ lib.optionals waylandSupport [ libxkbcommon libdrm ]
|
||||
++ lib.optionals pipewireSupport [ pipewire ]
|
||||
++ lib.optionals pulseaudioSupport [ libpulseaudio ]
|
||||
++ lib.optionals libvaSupport [ libva ]
|
||||
++ lib.optionals mediaSupport [ ffmpeg ]
|
||||
);
|
||||
|
||||
@ -113,7 +124,13 @@ stdenv.mkDerivation rec {
|
||||
|
||||
src = sources.${stdenv.hostPlatform.system} or (throw "unsupported system: ${stdenv.hostPlatform.system}");
|
||||
|
||||
nativeBuildInputs = [ copyDesktopItems makeWrapper wrapGAppsHook ];
|
||||
nativeBuildInputs = [ copyDesktopItems makeWrapper wrapGAppsHook autoPatchelfHook ];
|
||||
buildInputs = [
|
||||
gtk3
|
||||
alsa-lib
|
||||
dbus-glib
|
||||
libXtst
|
||||
];
|
||||
|
||||
preferLocalBuild = true;
|
||||
allowSubstitutes = false;
|
||||
|
@ -2,12 +2,9 @@
|
||||
, fetchurl
|
||||
, makeDesktopItem
|
||||
, writeText
|
||||
, autoPatchelfHook
|
||||
, callPackage
|
||||
|
||||
# Common run-time dependencies
|
||||
, zlib
|
||||
|
||||
# libxul run-time dependencies
|
||||
, atk
|
||||
, cairo
|
||||
, dbus
|
||||
@ -22,14 +19,32 @@
|
||||
, libXext
|
||||
, libXrender
|
||||
, libXt
|
||||
, libXtst
|
||||
, mesa
|
||||
, pango
|
||||
, pciutils
|
||||
, zlib
|
||||
|
||||
, libnotifySupport ? stdenv.isLinux
|
||||
, libnotify
|
||||
|
||||
, waylandSupport ? stdenv.isLinux
|
||||
, libxkbcommon
|
||||
, libdrm
|
||||
|
||||
, audioSupport ? mediaSupport
|
||||
, pulseaudioSupport ? mediaSupport
|
||||
|
||||
, pipewireSupport ? audioSupport
|
||||
, pipewire
|
||||
|
||||
, pulseaudioSupport ? audioSupport
|
||||
, libpulseaudio
|
||||
, apulse
|
||||
, alsa-lib
|
||||
|
||||
, libvaSupport ? mediaSupport
|
||||
, libva
|
||||
|
||||
# Media support (implies audio support)
|
||||
, mediaSupport ? true
|
||||
, ffmpeg
|
||||
@ -58,33 +73,37 @@ lib.warnIf (useHardenedMalloc != null)
|
||||
"tor-browser: useHardenedMalloc is deprecated and enabling it can cause issues"
|
||||
|
||||
(let
|
||||
libPath = lib.makeLibraryPath libPkgs;
|
||||
|
||||
libPkgs = [
|
||||
alsa-lib
|
||||
atk
|
||||
cairo
|
||||
dbus
|
||||
dbus-glib
|
||||
fontconfig
|
||||
freetype
|
||||
gdk-pixbuf
|
||||
glib
|
||||
gtk3
|
||||
libxcb
|
||||
libX11
|
||||
libXext
|
||||
libXrender
|
||||
libXt
|
||||
pango
|
||||
stdenv.cc.cc
|
||||
stdenv.cc.libc
|
||||
zlib
|
||||
]
|
||||
++ lib.optionals pulseaudioSupport [ libpulseaudio ]
|
||||
++ lib.optionals mediaSupport [
|
||||
ffmpeg
|
||||
];
|
||||
libPath = lib.makeLibraryPath (
|
||||
[
|
||||
alsa-lib
|
||||
atk
|
||||
cairo
|
||||
dbus
|
||||
dbus-glib
|
||||
fontconfig
|
||||
freetype
|
||||
gdk-pixbuf
|
||||
glib
|
||||
gtk3
|
||||
libxcb
|
||||
libX11
|
||||
libXext
|
||||
libXrender
|
||||
libXt
|
||||
libXtst
|
||||
mesa # for libgbm
|
||||
pango
|
||||
pciutils
|
||||
stdenv.cc.cc
|
||||
stdenv.cc.libc
|
||||
zlib
|
||||
] ++ lib.optionals libnotifySupport [ libnotify ]
|
||||
++ lib.optionals waylandSupport [ libxkbcommon libdrm ]
|
||||
++ lib.optionals pipewireSupport [ pipewire ]
|
||||
++ lib.optionals pulseaudioSupport [ libpulseaudio ]
|
||||
++ lib.optionals libvaSupport [ libva ]
|
||||
++ lib.optionals mediaSupport [ ffmpeg ]
|
||||
);
|
||||
|
||||
version = "13.0.1";
|
||||
|
||||
@ -129,6 +148,14 @@ stdenv.mkDerivation rec {
|
||||
|
||||
src = sources.${stdenv.hostPlatform.system} or (throw "unsupported system: ${stdenv.hostPlatform.system}");
|
||||
|
||||
nativeBuildInputs = [ autoPatchelfHook ];
|
||||
buildInputs = [
|
||||
gtk3
|
||||
alsa-lib
|
||||
dbus-glib
|
||||
libXtst
|
||||
];
|
||||
|
||||
preferLocalBuild = true;
|
||||
allowSubstitutes = false;
|
||||
|
||||
|
@ -5,6 +5,7 @@
|
||||
, ninja
|
||||
, pkg-config
|
||||
, libhandy
|
||||
, libsecret
|
||||
, modemmanager
|
||||
, gtk3
|
||||
, gom
|
||||
@ -63,6 +64,7 @@ stdenv.mkDerivation rec {
|
||||
buildInputs = [
|
||||
modemmanager
|
||||
libhandy
|
||||
libsecret
|
||||
evolution-data-server
|
||||
folks
|
||||
gom
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "kubeconform";
|
||||
version = "0.6.3";
|
||||
version = "0.6.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "yannh";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-Tu1hAWAqnTGq9NL0kjG2VGzSKDh55HyAoa0nhsJdNLw=";
|
||||
sha256 = "sha256-PUZ3zwgOQ362ikoX1D7SLThiaFpXJh9TKOdjZqZDtSg=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "kubeshark";
|
||||
version = "51.0.14";
|
||||
version = "51.0.27";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kubeshark";
|
||||
repo = "kubeshark";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-aFeegAFGRofGa54roJ3EACvk9179YAwsgO97eeoOd6s=";
|
||||
hash = "sha256-DGyvP2Z3fZNXqKuE42OPdaWfYpIGu9TIBBxbYzRPZ6M=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-Vcn1Ky/J/3QiV6M5fLedDcpkLp5WsVcXRkOEgkKPYEQ=";
|
||||
|
@ -8,26 +8,25 @@
|
||||
, gtk3
|
||||
, jre
|
||||
, libXtst
|
||||
, coreutils
|
||||
, gnugrep
|
||||
, zulu
|
||||
, preferGtk3 ? true
|
||||
, preferZulu ? true
|
||||
}:
|
||||
|
||||
let
|
||||
rev = 3423;
|
||||
rev = 3464;
|
||||
jre' = if preferZulu then zulu else jre;
|
||||
gtk' = if preferGtk3 then gtk3 else gtk2;
|
||||
|
||||
inherit (lib) makeLibraryPath versions;
|
||||
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "davmail";
|
||||
version = "6.1.0";
|
||||
version = "6.2.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/${pname}/${version}/${pname}-${version}-${toString rev}.zip";
|
||||
sha256 = "sha256-/JsJFtGalNuOz21eeCPR/LvLueMtQAR7VSKN8SpnPvA=";
|
||||
sha256 = "sha256-FatB0t/BhZRMofYE0KD5LDYGjDQ8hriIszKJP8qNvhw=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
@ -45,7 +44,7 @@ stdenv.mkDerivation rec {
|
||||
cp -vR ./* $out/share/davmail
|
||||
makeWrapper $out/share/davmail/davmail $out/bin/davmail \
|
||||
--set-default JAVA_OPTS "-Xmx512M -Dsun.net.inetaddr.ttl=60 -Djdk.gtk.version=${lib.versions.major gtk'.version}" \
|
||||
--prefix PATH : ${jre'}/bin \
|
||||
--prefix PATH : ${lib.makeBinPath [ jre' coreutils gnugrep ]} \
|
||||
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ glib gtk' libXtst ]}
|
||||
|
||||
runHook postInstall
|
||||
|
@ -12,6 +12,7 @@
|
||||
, evolution-data-server
|
||||
, feedbackd
|
||||
, glibmm
|
||||
, libsecret
|
||||
, gnome-desktop
|
||||
, gspell
|
||||
, gtk3
|
||||
@ -59,6 +60,7 @@ stdenv.mkDerivation rec {
|
||||
evolution-data-server
|
||||
feedbackd
|
||||
glibmm
|
||||
libsecret
|
||||
gnome-desktop
|
||||
gspell
|
||||
gtk3
|
||||
|
@ -1,8 +1,6 @@
|
||||
{ lib
|
||||
, fetchFromGitHub
|
||||
, fetchurl
|
||||
, fetchpatch
|
||||
, fetchpatch2
|
||||
, callPackage
|
||||
, pkg-config
|
||||
, cmake
|
||||
@ -28,7 +26,6 @@
|
||||
, libopus
|
||||
, alsa-lib
|
||||
, libpulseaudio
|
||||
, perlPackages
|
||||
, pipewire
|
||||
, range-v3
|
||||
, tl-expected
|
||||
@ -57,7 +54,6 @@
|
||||
, libpsl
|
||||
, brotli
|
||||
, microsoft-gsl
|
||||
, mm-common
|
||||
, rlottie
|
||||
, stdenv
|
||||
, darwin
|
||||
@ -80,30 +76,6 @@ let
|
||||
cxxStandard = "20";
|
||||
};
|
||||
};
|
||||
glibmm = glibmm_2_68.overrideAttrs (attrs: {
|
||||
version = "2.78.0";
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/glibmm/2.78/glibmm-2.78.0.tar.xz";
|
||||
hash = "sha256-XS6HJWSZbwKgbYu6w2d+fDlK+LAN0VJq69R6+EKj71A=";
|
||||
};
|
||||
patches = [
|
||||
# Revert "Glib, Gio: Add new API from glib 2.77.0"
|
||||
(fetchpatch2 {
|
||||
url = "https://github.com/GNOME/glibmm/commit/5b9032c0298cbb49c3ed90d5f71f2636751fa638.patch";
|
||||
revert = true;
|
||||
hash = "sha256-UzrzIOnXh9pxuTDQsp6mnunDNNtc86hE9tCe1NgKsyo=";
|
||||
})
|
||||
];
|
||||
mesonFlags = [
|
||||
"-Dmaintainer-mode=true"
|
||||
"-Dbuild-documentation=false"
|
||||
];
|
||||
nativeBuildInputs = attrs.nativeBuildInputs ++ [
|
||||
mm-common
|
||||
perlPackages.perl
|
||||
perlPackages.XMLParser
|
||||
];
|
||||
});
|
||||
mainProgram = if stdenv.isLinux then "telegram-desktop" else "Telegram";
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
@ -185,7 +157,7 @@ stdenv.mkDerivation rec {
|
||||
libpulseaudio
|
||||
pipewire
|
||||
hunspell
|
||||
glibmm
|
||||
glibmm_2_68
|
||||
webkitgtk_6_0
|
||||
jemalloc
|
||||
# Transitive dependencies:
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ lib, python3Packages, fetchPypi, pkgs }:
|
||||
{ lib, python3Packages, fetchPypi, pkgs, testers, afew }:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "afew";
|
||||
@ -25,6 +25,7 @@ python3Packages.buildPythonApplication rec {
|
||||
chardet
|
||||
dkimpy
|
||||
notmuch
|
||||
setuptools
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
@ -44,6 +45,12 @@ python3Packages.buildPythonApplication rec {
|
||||
"man"
|
||||
];
|
||||
|
||||
passthru.tests = {
|
||||
version = testers.testVersion {
|
||||
package = afew;
|
||||
};
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/afewmail/afew";
|
||||
description = "An initial tagging script for notmuch mail";
|
||||
|
@ -31,7 +31,7 @@
|
||||
, enablePluginBsfilter ? true
|
||||
, enablePluginClamd ? true
|
||||
, enablePluginDillo ? true
|
||||
, enablePluginFancy ? true, libsoup, webkitgtk
|
||||
, enablePluginFancy ? true, webkitgtk
|
||||
, enablePluginFetchInfo ? true
|
||||
, enablePluginKeywordWarner ? true
|
||||
, enablePluginLibravatar ? enablePluginRavatar
|
||||
@ -67,7 +67,7 @@ let
|
||||
{ flags = [ "dbus" ]; enabled = enableDbus; deps = [ dbus dbus-glib ]; }
|
||||
{ flags = [ "dillo-plugin" ]; enabled = enablePluginDillo; }
|
||||
{ flags = [ "enchant" ]; enabled = enableEnchant; deps = [ enchant ]; }
|
||||
{ flags = [ "fancy-plugin" ]; enabled = enablePluginFancy; deps = [ libsoup webkitgtk ]; }
|
||||
{ flags = [ "fancy-plugin" ]; enabled = enablePluginFancy; deps = [ webkitgtk ]; }
|
||||
{ flags = [ "fetchinfo-plugin" ]; enabled = enablePluginFetchInfo; }
|
||||
{ flags = [ "keyword_warner-plugin" ]; enabled = enablePluginKeywordWarner; }
|
||||
{ flags = [ "gnutls" ]; enabled = enableGnuTLS; deps = [ gnutls ]; }
|
||||
@ -96,11 +96,11 @@ let
|
||||
];
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "claws-mail";
|
||||
version = "4.1.1";
|
||||
version = "4.2.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://claws-mail.org/download.php?file=releases/claws-mail-${version}.tar.xz";
|
||||
hash = "sha256-sYnnAMGJb14N6wt21L+oIOt6wZNe4Qqpr7raPPU6A0Q=";
|
||||
hash = "sha256-fIqxcy10GX3wbWGmt+vHxYDs9ukuse9q5bAQdTPxrwc=";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
@ -136,8 +136,6 @@ in stdenv.mkDerivation rec {
|
||||
"--disable-manual" # Missing docbook-tools, e.g., docbook2html
|
||||
"--disable-compface" # Missing compface library
|
||||
"--disable-jpilot" # Missing jpilot library
|
||||
|
||||
"--disable-gdata-plugin" # Complains about missing libgdata, even when provided
|
||||
] ++
|
||||
(map (feature: map (flag: lib.strings.enableFeature feature.enabled flag) feature.flags) features);
|
||||
|
||||
|
@ -22,11 +22,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "evolution-ews";
|
||||
version = "3.48.2";
|
||||
version = "3.50.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "UE2YAPW6vMXBcO9QxUZOTrwSAOQZAs2mn+j6v/L7cMA=";
|
||||
sha256 = "577S3Z/AhFf3W6ufiWJV8w/TTHu8nIqV74fi4pEqCa0=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
@ -1,8 +1,33 @@
|
||||
diff --git a/src/EWS/calendar/e-cal-backend-ews-utils.c b/src/EWS/calendar/e-cal-backend-ews-utils.c
|
||||
index 653a8fb..ad80283 100644
|
||||
--- a/src/EWS/calendar/e-cal-backend-ews-utils.c
|
||||
+++ b/src/EWS/calendar/e-cal-backend-ews-utils.c
|
||||
@@ -2406,7 +2406,19 @@ e_cal_backend_ews_get_configured_evolution_icaltimezone (void)
|
||||
if (schema) {
|
||||
GSettings *settings;
|
||||
|
||||
- settings = g_settings_new ("org.gnome.evolution.calendar");
|
||||
+ {
|
||||
+ g_autoptr(GSettingsSchemaSource) schema_source;
|
||||
+ g_autoptr(GSettingsSchema) schema;
|
||||
+ schema_source = g_settings_schema_source_new_from_directory("@evo@",
|
||||
+ g_settings_schema_source_get_default(),
|
||||
+ TRUE,
|
||||
+ NULL);
|
||||
+ schema = g_settings_schema_source_lookup(schema_source,
|
||||
+ "org.gnome.evolution.calendar",
|
||||
+ FALSE);
|
||||
+ settings = g_settings_new_full(schema, NULL,
|
||||
+ NULL);
|
||||
+ }
|
||||
|
||||
if (g_settings_get_boolean (settings, "use-system-timezone"))
|
||||
location = e_cal_util_get_system_timezone_location ();
|
||||
diff --git a/src/EWS/camel/camel-ews-utils.c b/src/EWS/camel/camel-ews-utils.c
|
||||
index 0707f72..1e71954 100644
|
||||
index dbd9adb..a2372a4 100644
|
||||
--- a/src/EWS/camel/camel-ews-utils.c
|
||||
+++ b/src/EWS/camel/camel-ews-utils.c
|
||||
@@ -1552,7 +1552,18 @@ ews_utils_save_category_changes (GHashTable *old_categories, /* gchar *guid ~> C
|
||||
@@ -1553,7 +1553,18 @@ ews_utils_save_category_changes (GHashTable *old_categories, /* gchar *guid ~> C
|
||||
|
||||
evo_labels = g_ptr_array_new_full (5, g_free);
|
||||
|
||||
@ -47,7 +72,7 @@ index 6deda60..9b44cc7 100644
|
||||
if (location) {
|
||||
zone = i_cal_timezone_get_builtin_timezone (location);
|
||||
diff --git a/src/Microsoft365/camel/camel-m365-store.c b/src/Microsoft365/camel/camel-m365-store.c
|
||||
index ff1b8e3..4f876c0 100644
|
||||
index 3db3564..a233d4d 100644
|
||||
--- a/src/Microsoft365/camel/camel-m365-store.c
|
||||
+++ b/src/Microsoft365/camel/camel-m365-store.c
|
||||
@@ -309,7 +309,18 @@ m365_store_save_category_changes (GHashTable *old_categories, /* gchar *id ~> Ca
|
||||
|
@ -44,11 +44,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "evolution";
|
||||
version = "3.48.4";
|
||||
version = "3.50.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/evolution/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "oC+Z66BQp3HyxH1D/FLgCyJg/IbQYyD79S68fozni7c=";
|
||||
sha256 = "5CA240m4Mrkbprxg+Zxkte0AjrDrM7wipU8p9I7r1Zg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -29,13 +29,13 @@ stdenv.mkDerivation rec {
|
||||
pname = "qbittorrent"
|
||||
+ lib.optionalString (guiSupport && qtVersion == "5") "-qt5"
|
||||
+ lib.optionalString (!guiSupport) "-nox";
|
||||
version = "4.6.0";
|
||||
version = "4.6.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "qbittorrent";
|
||||
repo = "qBittorrent";
|
||||
rev = "release-${version}";
|
||||
hash = "sha256-o9zMGjVCXLqdRdXzRs1kFPDMFJXQWBEtWwIfeIyFxJw=";
|
||||
hash = "sha256-XpPRiWC4HO8t++Fv4Que6TjwSs+go0K/bJWzmGkbLOY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -10,21 +10,15 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "dayon";
|
||||
version = "12.0.1";
|
||||
version = "13.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "RetGal";
|
||||
repo = "dayon";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-SCInonMTvBXtiDxWlN8QWNS+8MFB52vloonqfLcAEis=";
|
||||
hash = "sha256-2Fo+LQvsrDvqEudZxzQBtJHGxrRYUyNyhrPV1xS49pQ=";
|
||||
};
|
||||
|
||||
# https://github.com/RetGal/Dayon/pull/66
|
||||
postPatch = ''
|
||||
substituteInPlace resources/deb/dayon_assisted.desktop resources/deb/dayon_assistant.desktop \
|
||||
--replace "Exec=/usr/bin/" "Exec="
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
ant
|
||||
jdk
|
||||
@ -47,11 +41,15 @@ stdenv.mkDerivation rec {
|
||||
runHook preInstall
|
||||
install -Dm644 build/dayon.jar $out/share/dayon/dayon.jar
|
||||
mkdir -p $out/bin
|
||||
# jre is in PATH because dayon needs keytool to generate certificates
|
||||
makeWrapper ${jre}/bin/java $out/bin/dayon \
|
||||
--prefix PATH : "${lib.makeBinPath [ jre ]}" \
|
||||
--add-flags "-jar $out/share/dayon/dayon.jar"
|
||||
makeWrapper ${jre}/bin/java $out/bin/dayon_assisted \
|
||||
--prefix PATH : "${lib.makeBinPath [ jre ]}" \
|
||||
--add-flags "-cp $out/share/dayon/dayon.jar mpo.dayon.assisted.AssistedRunner"
|
||||
makeWrapper ${jre}/bin/java $out/bin/dayon_assistant \
|
||||
--prefix PATH : "${lib.makeBinPath [ jre ]}" \
|
||||
--add-flags "-cp $out/share/dayon/dayon.jar mpo.dayon.assistant.AssistantRunner"
|
||||
install -Dm644 resources/dayon.png $out/share/icons/hicolor/128x128/apps/dayon.png
|
||||
runHook postInstall
|
||||
|
@ -1,5 +1,5 @@
|
||||
{ stdenv, lib, fetchFromGitHub, meson, gettext, glib, gjs, ninja, python3, gtk3
|
||||
, webkitgtk, gsettings-desktop-schemas, wrapGAppsHook, desktop-file-utils
|
||||
, webkitgtk_4_1, gsettings-desktop-schemas, wrapGAppsHook, desktop-file-utils
|
||||
, gobject-introspection, glib-networking }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@ -17,6 +17,9 @@ stdenv.mkDerivation rec {
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs build-aux/meson/postinstall.py
|
||||
|
||||
substituteInPlace src/main.js \
|
||||
--replace "'WebKit2': '4.0'" "'WebKit2': '4.1'"
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
@ -30,7 +33,7 @@ stdenv.mkDerivation rec {
|
||||
glib-networking
|
||||
gjs
|
||||
gtk3
|
||||
webkitgtk
|
||||
webkitgtk_4_1
|
||||
desktop-file-utils
|
||||
gsettings-desktop-schemas
|
||||
];
|
||||
|
@ -3,8 +3,7 @@
|
||||
, fetchurl
|
||||
, desktop-file-utils
|
||||
, gettext
|
||||
, gspell
|
||||
, gtkmm3
|
||||
, gtkmm4
|
||||
, itstool
|
||||
, libsecret
|
||||
, libuuid
|
||||
@ -13,22 +12,21 @@
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, wrapGAppsHook
|
||||
, wrapGAppsHook4
|
||||
, gnome
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnote";
|
||||
version = "44.1";
|
||||
version = "45.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
hash = "sha256-aWelUGgiMguuGcHrC8dFFmRPnp61TtwslCU+rhDHYE0=";
|
||||
hash = "sha256-XRb9h9FA7HL7s1ewVp2u+4Io4HgUcBVG5r3mVyGTwko=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
gspell
|
||||
gtkmm3
|
||||
gtkmm4
|
||||
libsecret
|
||||
libuuid
|
||||
libxml2
|
||||
@ -42,7 +40,7 @@ stdenv.mkDerivation rec {
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
wrapGAppsHook
|
||||
wrapGAppsHook4
|
||||
];
|
||||
|
||||
passthru = {
|
||||
|
@ -7,11 +7,11 @@ let
|
||||
inherit (python3Packages) python pygobject3;
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "gnumeric";
|
||||
version = "1.12.55";
|
||||
version = "1.12.56";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "xpoJzRkLYirMpHa7w9TAPWjXzPWbumG/A2zmCIX5+2U=";
|
||||
sha256 = "UaOPNaxbD3He+oueIL8uCFY3mPHLMzeamhdyb7Hj4bI=";
|
||||
};
|
||||
|
||||
configureFlags = [ "--disable-component" ];
|
||||
|
@ -18,11 +18,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-console";
|
||||
version = "44.4";
|
||||
version = "45.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/gnome-console/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "uR9E6abAQz6W2ZfzlVhSBtq6xiRzmTo8B1Uv5YiOWo0=";
|
||||
sha256 = "50YhKNLfIySh10gGLEBCnNBQSvCeQHBnsz86nQxZyOE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -1,16 +1,17 @@
|
||||
{ lib, stdenv, fetchFromGitHub, automake, autoconf, intltool, pkg-config, gtk3, vte, wrapGAppsHook
|
||||
, libxslt, docbook_xml_dtd_412, docbook_xsl, libxml2, findXMLCatalogs, nixosTests
|
||||
, pcre2
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "lxterminal";
|
||||
version = "0.3.2";
|
||||
version = "0.4.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "lxde";
|
||||
repo = "lxterminal";
|
||||
rev = version;
|
||||
sha256 = "sha256-5J21Xvx43Ie01IxB2usyixDl+WZEeFHn2HXZsRS5imo=";
|
||||
sha256 = "sha256-bCF/V6yFe4vKqVMOtNlwYyw/ickj1LFuFn4IyypwIg0=";
|
||||
};
|
||||
|
||||
configureFlags = [
|
||||
@ -23,7 +24,7 @@ stdenv.mkDerivation rec {
|
||||
libxslt docbook_xml_dtd_412 docbook_xsl libxml2 findXMLCatalogs
|
||||
];
|
||||
|
||||
buildInputs = [ gtk3 vte ];
|
||||
buildInputs = [ gtk3 vte pcre2 ];
|
||||
|
||||
patches = [
|
||||
./respect-xml-catalog-files-var.patch
|
||||
@ -46,7 +47,7 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
homepage = "https://wiki.lxde.org/en/LXTerminal";
|
||||
license = lib.licenses.gpl2;
|
||||
maintainers = [ lib.maintainers.velovix ];
|
||||
maintainers = [ lib.maintainers.pbsds ];
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -1,28 +1,35 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, rustPlatform
|
||||
, fetchFromGitHub
|
||||
, pkg-config
|
||||
, libgit2_1_6
|
||||
, libgit2
|
||||
, Security
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "gex";
|
||||
version = "0.6.3";
|
||||
version = "0.6.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Piturnah";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-ADVF+Kb0DDiR3dS43uzhefFFEg1O8IC22i5fmziEp6I=";
|
||||
hash = "sha256-Xer7a3UtFIv3idchI7DfZ5u6qgDW/XFWi5ihtcREXqo=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
buildInputs = [
|
||||
libgit2_1_6
|
||||
libgit2
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
Security
|
||||
];
|
||||
|
||||
cargoHash = "sha256-XBBZ56jvBtYI5J/sSc4ckk/KXzCHNgM9A4jGolGKh2E=";
|
||||
# force the libgit2-sys crate to use the system libgit2 library
|
||||
LIBGIT2_NO_VENDOR = 1;
|
||||
|
||||
cargoHash = "sha256-HNz1wwn0eUhNR6ZLLPMse8LmAS4CzADx0ZR9gJgJQCg=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Git Explorer: cross-platform git workflow improvement tool inspired by Magit";
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "docker-buildx";
|
||||
version = "0.11.2";
|
||||
version = "0.12.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "docker";
|
||||
repo = "buildx";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-FPqXfIxuqwsnvsuWN5baIIn6o7ucP/Zgn+OsHfI61zU=";
|
||||
hash = "sha256-O2oXswExH6OQLDZcgCGF62oZ7v6svZuOziw0SZgOVHI=";
|
||||
};
|
||||
|
||||
doCheck = false;
|
||||
|
@ -6,42 +6,61 @@
|
||||
}:
|
||||
|
||||
/*
|
||||
Can be used as part of an update script to automatically create a patch
|
||||
hardcoding the path of all GSettings schemas in C code.
|
||||
For example:
|
||||
passthru = {
|
||||
hardcodeGsettingsPatch = makeHardcodeGsettingsPatch {
|
||||
inherit src;
|
||||
schemaIdToVariableMapping = {
|
||||
...
|
||||
};
|
||||
};
|
||||
Creates a patch that replaces every instantiation of GSettings in a C project
|
||||
with a code that loads a GSettings schema from a hardcoded path.
|
||||
|
||||
updateScript =
|
||||
let
|
||||
updateSource = ...;
|
||||
updatePatch = _experimental-update-script-combinators.copyAttrOutputToFile "evolution-ews.hardcodeGsettingsPatch" ./hardcode-gsettings.patch;
|
||||
in
|
||||
_experimental-update-script-combinators.sequence [
|
||||
updateSource
|
||||
updatePatch
|
||||
];
|
||||
};
|
||||
}
|
||||
takes as input a mapping from schema path to variable name.
|
||||
For example `{ "org.gnome.evolution" = "EVOLUTION_SCHEMA_PATH"; }`
|
||||
hardcodes looking for `org.gnome.evolution` into `@EVOLUTION_SCHEMA_PATH@`.
|
||||
All schemas must be listed.
|
||||
This is useful so that libraries can find schemas even though Nix lacks
|
||||
a standard location like /usr/share, where GSettings system could look for schemas.
|
||||
The derivation is is somewhat dependency-heavy so it is best used as part of an update script.
|
||||
|
||||
For each schema id referenced in the source code (e.g. org.gnome.evolution),
|
||||
a variable name such as `EVOLUTION` must be provided.
|
||||
It will end up in the generated patch as `@EVOLUTION@` placeholder, which should be replaced at build time
|
||||
with a path to the directory containing a `gschemas.compiled` file that includes the schema.
|
||||
|
||||
|
||||
Arguments:
|
||||
- `src`: source to generate the patch for.
|
||||
|
||||
- `schemaIdToVariableMapping`: attrset assigning schema ids to variable names.
|
||||
All used schemas must be listed.
|
||||
|
||||
For example, `{ "org.gnome.evolution" = "EVOLUTION_SCHEMA_PATH"; }`
|
||||
hardcodes looking for `org.gnome.evolution` into `@EVOLUTION_SCHEMA_PATH@`.
|
||||
|
||||
- `patches`: A list of patches to apply before generating the patch.
|
||||
|
||||
Example:
|
||||
passthru = {
|
||||
hardcodeGsettingsPatch = makeHardcodeGsettingsPatch {
|
||||
inherit (finalAttrs) src;
|
||||
schemaIdToVariableMapping = {
|
||||
...
|
||||
};
|
||||
};
|
||||
|
||||
updateScript =
|
||||
let
|
||||
updateSource = ...;
|
||||
updatePatch = _experimental-update-script-combinators.copyAttrOutputToFile "evolution-ews.hardcodeGsettingsPatch" ./hardcode-gsettings.patch;
|
||||
in
|
||||
_experimental-update-script-combinators.sequence [
|
||||
updateSource
|
||||
updatePatch
|
||||
];
|
||||
};
|
||||
}
|
||||
*/
|
||||
{
|
||||
src,
|
||||
patches ? [ ],
|
||||
schemaIdToVariableMapping,
|
||||
}:
|
||||
|
||||
runCommand
|
||||
"hardcode-gsettings.patch"
|
||||
{
|
||||
inherit src;
|
||||
inherit src patches;
|
||||
nativeBuildInputs = [
|
||||
git
|
||||
coccinelle
|
||||
@ -51,6 +70,7 @@ runCommand
|
||||
''
|
||||
unpackPhase
|
||||
cd "''${sourceRoot:-.}"
|
||||
patchPhase
|
||||
set -x
|
||||
cp ${builtins.toFile "glib-schema-to-var.json" (builtins.toJSON schemaIdToVariableMapping)} ./glib-schema-to-var.json
|
||||
git init
|
||||
|
@ -1,11 +1,14 @@
|
||||
/**
|
||||
* Since Nix does not have a standard location like /usr/share,
|
||||
* where GSettings system could look for schemas, we need to point the software to a correct location somehow.
|
||||
* Since Nix does not have a standard location like /usr/share where GSettings system
|
||||
* could look for schemas, we need to point the software to a correct location somehow.
|
||||
* For executables, we handle this using wrappers but this is not an option for libraries like e-d-s.
|
||||
* Instead, we hardcode the schema path when creating the settings.
|
||||
* A schema path (ie org.gnome.evolution) can be replaced by @EVOLUTION_SCHEMA_ID@
|
||||
* which is then replaced at build time by substituteAll.
|
||||
* The mapping is provided in a json file ./glib-schema-to-var.json
|
||||
* Instead, we patch the source code to look for the schema in a schema source
|
||||
* through a hardcoded path to the schema.
|
||||
*
|
||||
* For each schema id referenced in the source code (e.g. org.gnome.evolution),
|
||||
* a variable name such as `EVOLUTION` must be provided in the ./glib-schema-to-var.json JSON file.
|
||||
* It will end up in the resulting patch as `@EVOLUTION@` placeholder, which should be replaced at build time
|
||||
* with a path to the directory containing a `gschemas.compiled` file that includes the schema.
|
||||
*/
|
||||
|
||||
@initialize:python@
|
||||
|
@ -62,7 +62,7 @@ in {
|
||||
dontUnpack = src == null;
|
||||
dontInstall = true;
|
||||
|
||||
nativeBuildInputs = [ prefetch-yarn-deps ];
|
||||
nativeBuildInputs = [ prefetch-yarn-deps cacert ];
|
||||
GIT_SSL_CAINFO = "${cacert}/etc/ssl/certs/ca-bundle.crt";
|
||||
|
||||
buildPhase = ''
|
||||
|
@ -17,6 +17,11 @@ rustPlatform.buildRustPackage rec {
|
||||
|
||||
cargoHash = "sha256-OFNqBkPAKaSqDQUWisupj6FlDbm3kw0xq5nbvj04H5U=";
|
||||
|
||||
# Work around https://github.com/NixOS/nixpkgs/issues/166205.
|
||||
env = lib.optionalAttrs stdenv.cc.isClang {
|
||||
NIX_LDFLAGS = "-l${stdenv.cc.libcxx.cxxabi.libName}";
|
||||
};
|
||||
|
||||
# error: linker `aarch64-linux-gnu-gcc` not found
|
||||
postPatch = ''
|
||||
rm .cargo/config.toml
|
||||
|
@ -1,7 +1,7 @@
|
||||
{ lib
|
||||
, perlPackages
|
||||
, fetchFromGitHub
|
||||
, makeWrapper
|
||||
, wrapGAppsHook
|
||||
, gobject-introspection
|
||||
, perl
|
||||
, clamav
|
||||
@ -18,7 +18,7 @@ perlPackages.buildPerlPackage rec {
|
||||
hash = "sha256-o6OaXOXLykTUuF/taKnEhZRV04/3nlU5aNY05ANr1Ko=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper gobject-introspection ];
|
||||
nativeBuildInputs = [ wrapGAppsHook gobject-introspection ];
|
||||
buildInputs = [ perl clamav ];
|
||||
propagatedBuildInputs = with perlPackages; [ Glib LWP LWPProtocolHttps TextCSV JSON LocaleGettext Gtk3 ];
|
||||
|
||||
@ -51,11 +51,17 @@ perlPackages.buildPerlPackage rec {
|
||||
install -D images/* -t $out/share/pixmaps
|
||||
install -D clamtk.1.gz -t $out/share/man/man1
|
||||
install -D -m755 clamtk -t $out/bin
|
||||
wrapProgram $out/bin/clamtk --prefix PERL5LIB : $PERL5LIB --set GI_TYPELIB_PATH "$GI_TYPELIB_PATH"
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
gappsWrapperArgs+=(
|
||||
--prefix PERL5LIB : $PERL5LIB
|
||||
--set GI_TYPELIB_PATH "$GI_TYPELIB_PATH"
|
||||
)
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = ''
|
||||
Easy to use, lightweight front-end for ClamAV (Clam Antivirus).
|
||||
@ -63,7 +69,7 @@ perlPackages.buildPerlPackage rec {
|
||||
license = licenses.gpl1Plus;
|
||||
homepage = "https://github.com/dave-theunsub/clamtk";
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ jgarcia ];
|
||||
maintainers = with maintainers; [ jgarcia ShamrockLee ];
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -13,13 +13,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "doublecmd";
|
||||
version = "1.1.3";
|
||||
version = "1.1.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "doublecmd";
|
||||
repo = "doublecmd";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-RKAIZNty+iXeMfsjDOlOyvngx4XU5CSEi0Wap21lFAI=";
|
||||
hash = "sha256-W0WrI58RgAzxV9WiDAqmz800lcU67uk4IFetUR4Embg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
13
pkgs/by-name/gl/glycin-loaders/fix-glycin-paths.patch
Normal file
13
pkgs/by-name/gl/glycin-loaders/fix-glycin-paths.patch
Normal file
@ -0,0 +1,13 @@
|
||||
diff --git a/vendor/glycin/src/dbus.rs b/vendor/glycin/src/dbus.rs
|
||||
index aa5a876..4f37420 100644
|
||||
--- a/vendor/glycin/src/dbus.rs
|
||||
+++ b/vendor/glycin/src/dbus.rs
|
||||
@@ -43,7 +43,7 @@ impl<'a> DecoderProcess<'a> {
|
||||
|
||||
let (bin, args, final_arg) = match sandbox_mechanism {
|
||||
SandboxMechanism::Bwrap => (
|
||||
- "bwrap".into(),
|
||||
+ "@bwrap@".into(),
|
||||
vec![
|
||||
"--unshare-all",
|
||||
"--die-with-parent",
|
70
pkgs/by-name/gl/glycin-loaders/package.nix
Normal file
70
pkgs/by-name/gl/glycin-loaders/package.nix
Normal file
@ -0,0 +1,70 @@
|
||||
{ stdenv
|
||||
, lib
|
||||
, fetchurl
|
||||
, substituteAll
|
||||
, bubblewrap
|
||||
, cargo
|
||||
, git
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, rustc
|
||||
, gtk4
|
||||
, cairo
|
||||
, libheif
|
||||
, libxml2
|
||||
, gnome
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "glycin-loaders";
|
||||
version = "0.1.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/glycin-loaders/${lib.versions.majorMinor finalAttrs.version}/glycin-loaders-${finalAttrs.version}.tar.xz";
|
||||
hash = "sha256-x2wBklq9BwF0WJzLkWpEpXOrZbHp1JPxVOQnVkMebdc=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Fix paths in glycin library.
|
||||
# Not actually needed for this package since we are only building loaders
|
||||
# and this patch is relevant just to apps that use the loaders
|
||||
# but apply it here to ensure the patch continues to apply.
|
||||
finalAttrs.passthru.glycinPathsPatch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
cargo
|
||||
git
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
rustc
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
gtk4 # for GdkTexture
|
||||
cairo
|
||||
libheif
|
||||
libxml2 # for librsvg crate
|
||||
];
|
||||
|
||||
passthru = {
|
||||
updateScript = gnome.updateScript {
|
||||
packageName = "glycin-loaders";
|
||||
};
|
||||
|
||||
glycinPathsPatch = substituteAll {
|
||||
src = ./fix-glycin-paths.patch;
|
||||
bwrap = "${bubblewrap}/bin/bwrap";
|
||||
};
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "Glycin loaders for several formats";
|
||||
homepage = "https://gitlab.gnome.org/sophie-h/glycin";
|
||||
maintainers = teams.gnome.members;
|
||||
license = with licenses; [ mpl20 /* or */ lgpl21Plus ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
})
|
42
pkgs/by-name/go/goredo/fix-tests.diff
Normal file
42
pkgs/by-name/go/goredo/fix-tests.diff
Normal file
@ -0,0 +1,42 @@
|
||||
diff '--color=auto' -ru goredo-2.0.0/t/goredo-chmoding.t goredo-2.0.0.new/t/goredo-chmoding.t
|
||||
--- goredo-2.0.0/t/goredo-chmoding.t 2023-10-08 18:50:45.000000000 +0200
|
||||
+++ goredo-2.0.0.new/t/goredo-chmoding.t 2023-10-08 20:23:54.862618888 +0200
|
||||
@@ -8,7 +8,7 @@
|
||||
echo echo ok > foo.do
|
||||
redo foo
|
||||
test_expect_success "foo is non executable" '[ ! -x foo ]'
|
||||
-inode0=`stat -f %i foo`
|
||||
+inode0=`stat -c %i foo`
|
||||
|
||||
cat > foo.do <<EOF
|
||||
echo ok > \$3
|
||||
@@ -16,7 +16,7 @@
|
||||
EOF
|
||||
redo foo
|
||||
test_expect_success "foo is executable" '[ -x foo ]'
|
||||
-inode1=`stat -f %i foo`
|
||||
+inode1=`stat -c %i foo`
|
||||
test_expect_success "foo was not renamed" '[ $inode0 = $inode1 ]'
|
||||
|
||||
test_done
|
||||
diff '--color=auto' -ru goredo-2.0.0/t/goredo-double-consideration.t goredo-2.0.0.new/t/goredo-double-consideration.t
|
||||
--- goredo-2.0.0/t/goredo-double-consideration.t 2023-10-08 18:50:45.000000000 +0200
|
||||
+++ goredo-2.0.0.new/t/goredo-double-consideration.t 2023-10-08 20:19:29.213465244 +0200
|
||||
@@ -17,7 +17,7 @@
|
||||
redo-stamp <"\$3"
|
||||
EOF
|
||||
cat > version.do <<EOF
|
||||
-git rev-parse --short HEAD > "\$3"
|
||||
+echo 012345 > "\$3"
|
||||
redo-always
|
||||
redo-stamp <"\$3"
|
||||
EOF
|
||||
diff '--color=auto' -ru goredo-2.0.0/t/redo-sh.tests/clean.do goredo-2.0.0.new/t/redo-sh.tests/clean.do
|
||||
--- goredo-2.0.0/t/redo-sh.tests/clean.do 2023-10-08 18:50:45.000000000 +0200
|
||||
+++ goredo-2.0.0.new/t/redo-sh.tests/clean.do 2023-10-08 20:19:29.213465244 +0200
|
||||
@@ -1,4 +1,4 @@
|
||||
for f in * ; do
|
||||
[ -d $f ] || continue
|
||||
- find $f ! -name test -delete
|
||||
+ find $f ! -name test -delete || true
|
||||
done
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user