Project import generated by Copybara.

GitOrigin-RevId: 9aeeb7574fb784eaf6395f4400705b5f619e6cc3
This commit is contained in:
Default email 2021-10-17 05:12:59 +03:00
parent 6064764516
commit 77976348d2
460 changed files with 16332 additions and 8054 deletions

View file

@ -97,9 +97,9 @@
/pkgs/top-level/haskell-packages.nix @cdepillabout @sternenseemann @maralorn @expipiplus1 /pkgs/top-level/haskell-packages.nix @cdepillabout @sternenseemann @maralorn @expipiplus1
# Perl # Perl
/pkgs/development/interpreters/perl @volth @stigtsp /pkgs/development/interpreters/perl @volth @stigtsp @zakame
/pkgs/top-level/perl-packages.nix @volth @stigtsp /pkgs/top-level/perl-packages.nix @volth @stigtsp @zakame
/pkgs/development/perl-modules @volth @stigtsp /pkgs/development/perl-modules @volth @stigtsp @zakame
# R # R
/pkgs/applications/science/math/R @jbedo @bcdarwin /pkgs/applications/science/math/R @jbedo @bcdarwin

View file

@ -2096,6 +2096,16 @@
githubId = 25088352; githubId = 25088352;
name = "Christian Kögler"; name = "Christian Kögler";
}; };
ckie = {
email = "nixpkgs-0efe364@ckie.dev";
github = "ckiee";
githubId = 2526321;
keys = [{
longkeyid = "rsa4096/0x13E79449C0525215";
fingerprint = "539F 0655 4D35 38A5 429A E253 13E7 9449 C052 5215";
}];
name = "ckie";
};
clkamp = { clkamp = {
email = "c@lkamp.de"; email = "c@lkamp.de";
github = "clkamp"; github = "clkamp";
@ -8326,6 +8336,17 @@
githubId = 127548; githubId = 127548;
name = "Judson Lester"; name = "Judson Lester";
}; };
nzbr = {
email = "nixos@nzbr.de";
github = "nzbr";
githubId = 7851175;
name = "nzbr";
matrix = "@nzbr:nzbr.de";
keys = [{
longkeyid = "rsa2048/0x6C78B50B97A42F8A";
fingerprint = "BF3A 3EE6 3144 2C5F C9FB 39A7 6C78 B50B 97A4 2F8A";
}];
};
nzhang-zh = { nzhang-zh = {
email = "n.zhang.hp.au@gmail.com"; email = "n.zhang.hp.au@gmail.com";
github = "nzhang-zh"; github = "nzhang-zh";
@ -8688,6 +8709,12 @@
githubId = 13225611; githubId = 13225611;
name = "Nicolas Martin"; name = "Nicolas Martin";
}; };
pennae = {
name = "pennae";
email = "github@quasiparticle.net";
github = "pennae";
githubId = 82953136;
};
p3psi = { p3psi = {
name = "Elliot Boo"; name = "Elliot Boo";
email = "p3psi.boo@gmail.com"; email = "p3psi.boo@gmail.com";
@ -9684,16 +9711,6 @@
githubId = 1312525; githubId = 1312525;
name = "Rongcui Dong"; name = "Rongcui Dong";
}; };
ronthecookie = {
name = "Ron B";
email = "me@ronthecookie.me";
github = "ronthecookie";
githubId = 2526321;
keys = [{
longkeyid = "rsa2048/0x6F5B32DE5E5FA80C";
fingerprint = "4B2C DDA5 FA35 642D 956D 7294 6F5B 32DE 5E5F A80C";
}];
};
roosemberth = { roosemberth = {
email = "roosembert.palacios+nixpkgs@posteo.ch"; email = "roosembert.palacios+nixpkgs@posteo.ch";
github = "roosemberth"; github = "roosemberth";
@ -10389,6 +10406,12 @@
fingerprint = "B234 EFD4 2B42 FE81 EE4D 7627 F72C 4A88 7F9A 24CA"; fingerprint = "B234 EFD4 2B42 FE81 EE4D 7627 F72C 4A88 7F9A 24CA";
}]; }];
}; };
sirseruju = {
email = "sir.seruju@yandex.ru";
github = "sirseruju";
githubId = 74881555;
name = "Fofanov Sergey";
};
sivteck = { sivteck = {
email = "sivaram1992@gmail.com"; email = "sivaram1992@gmail.com";
github = "sivteck"; github = "sivteck";

View file

@ -55,6 +55,11 @@
actions. actions.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
KDE Plasma now finally works on Wayland.
</para>
</listitem>
<listitem> <listitem>
<para> <para>
bash now defaults to major version 5. bash now defaults to major version 5.
@ -1106,6 +1111,23 @@ Superuser created successfully.
functionality. functionality.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
<literal>services.xserver.displayManager.defaultSession = &quot;plasma5&quot;</literal>
does not work anymore, instead use either
<literal>&quot;plasma&quot;</literal> for the Plasma X11
session or <literal>&quot;plasmawayland&quot;</literal> for
the Plasma Wayland sesison.
</para>
</listitem>
<listitem>
<para>
<literal>boot.kernelParams</literal> now only accepts one
command line parameter per string. This change is aimed to
reduce common mistakes like <quote>param = 12</quote>, which
would be parsed as 3 parameters.
</para>
</listitem>
</itemizedlist> </itemizedlist>
</section> </section>
<section xml:id="sec-release-21.11-notable-changes"> <section xml:id="sec-release-21.11-notable-changes">
@ -1513,6 +1535,25 @@ Superuser created successfully.
release notes</link> for changes and upgrade instructions. release notes</link> for changes and upgrade instructions.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
The <literal>systemd.network</literal> module has gained
support for the FooOverUDP link type.
</para>
</listitem>
<listitem>
<para>
The <literal>networking</literal> module has a new
<literal>networking.fooOverUDP</literal> option to configure
Foo-over-UDP encapsulations.
</para>
</listitem>
<listitem>
<para>
<literal>networking.sits</literal> now supports Foo-over-UDP
encapsulation.
</para>
</listitem>
</itemizedlist> </itemizedlist>
</section> </section>
</section> </section>

View file

@ -20,6 +20,8 @@ In addition to numerous new and upgraded packages, this release has the followin
This allows activation scripts to output what they would change if the activation was really run. This allows activation scripts to output what they would change if the activation was really run.
The users/modules activation script supports this and outputs some of is actions. The users/modules activation script supports this and outputs some of is actions.
- KDE Plasma now finally works on Wayland.
- bash now defaults to major version 5. - bash now defaults to major version 5.
- Systemd was updated to version 249 (from 247). - Systemd was updated to version 249 (from 247).
@ -342,6 +344,9 @@ In addition to numerous new and upgraded packages, this release has the followin
configuration file. For details, see the [upstream changelog](https://github.com/DataDog/datadog-agent/blob/main/CHANGELOG.rst). configuration file. For details, see the [upstream changelog](https://github.com/DataDog/datadog-agent/blob/main/CHANGELOG.rst).
- `opencv2` no longer includes the non-free libraries by default, and consequently `pfstools` no longer includes OpenCV support by default. Both packages now support an `enableUnfree` option to re-enable this functionality. - `opencv2` no longer includes the non-free libraries by default, and consequently `pfstools` no longer includes OpenCV support by default. Both packages now support an `enableUnfree` option to re-enable this functionality.
- `services.xserver.displayManager.defaultSession = "plasma5"` does not work anymore, instead use either `"plasma"` for the Plasma X11 session or `"plasmawayland"` for the Plasma Wayland sesison.
- `boot.kernelParams` now only accepts one command line parameter per string. This change is aimed to reduce common mistakes like "param = 12", which would be parsed as 3 parameters.
## Other Notable Changes {#sec-release-21.11-notable-changes} ## Other Notable Changes {#sec-release-21.11-notable-changes}
@ -438,3 +443,9 @@ In addition to numerous new and upgraded packages, this release has the followin
- Three new options, [xdg.mime.addedAssociations](#opt-xdg.mime.addedAssociations), [xdg.mime.defaultApplications](#opt-xdg.mime.defaultApplications), and [xdg.mime.removedAssociations](#opt-xdg.mime.removedAssociations) have been added to the [xdg.mime](#opt-xdg.mime.enable) module to allow the configuration of `/etc/xdg/mimeapps.list`. - Three new options, [xdg.mime.addedAssociations](#opt-xdg.mime.addedAssociations), [xdg.mime.defaultApplications](#opt-xdg.mime.defaultApplications), and [xdg.mime.removedAssociations](#opt-xdg.mime.removedAssociations) have been added to the [xdg.mime](#opt-xdg.mime.enable) module to allow the configuration of `/etc/xdg/mimeapps.list`.
- Kopia was upgraded from 0.8.x to 0.9.x. Please read the [upstream release notes](https://github.com/kopia/kopia/releases/tag/v0.9.0) for changes and upgrade instructions. - Kopia was upgraded from 0.8.x to 0.9.x. Please read the [upstream release notes](https://github.com/kopia/kopia/releases/tag/v0.9.0) for changes and upgrade instructions.
- The `systemd.network` module has gained support for the FooOverUDP link type.
- The `networking` module has a new `networking.fooOverUDP` option to configure Foo-over-UDP encapsulations.
- `networking.sits` now supports Foo-over-UDP encapsulation.

View file

@ -1126,9 +1126,9 @@ class Driver:
try: try:
yield yield
return True return True
except: except Exception as e:
rootlog.error(f'Test "{name}" failed with error:') rootlog.error(f'Test "{name}" failed with error: "{e}"')
raise raise e
def test_symbols(self) -> Dict[str, Any]: def test_symbols(self) -> Dict[str, Any]:
@contextmanager @contextmanager

View file

@ -96,9 +96,8 @@ let
}; };
} cfg.extraConfig; } cfg.extraConfig;
configFile = pkgs.runCommand "config.toml" { configFile = pkgs.runCommandLocal "config.toml" {
buildInputs = [ pkgs.remarshal ]; nativeBuildInputs = [ pkgs.remarshal ];
preferLocalBuild = true;
} '' } ''
remarshal -if json -of toml \ remarshal -if json -of toml \
< ${pkgs.writeText "config.json" (builtins.toJSON configOptions)} \ < ${pkgs.writeText "config.json" (builtins.toJSON configOptions)} \

View file

@ -555,6 +555,22 @@ in
+ "\n" + "\n"
) cfg.buildMachines; ) cfg.buildMachines;
}; };
assertions =
let badMachine = m: m.system == null && m.systems == [];
in [
{
assertion = !(builtins.any badMachine cfg.buildMachines);
message = ''
At least one system type (via <varname>system</varname> or
<varname>systems</varname>) must be set for every build machine.
Invalid machine specifications:
'' + " " +
(builtins.concatStringsSep "\n "
(builtins.map (m: m.hostName)
(builtins.filter (badMachine) cfg.buildMachines)));
}
];
systemd.packages = [ nix ]; systemd.packages = [ nix ];

View file

@ -86,7 +86,7 @@ in
serviceConfig = { serviceConfig = {
User = cfg.user; User = cfg.user;
Group = cfg.group; Group = cfg.group;
ExecStart = "${sickbeard}/SickBeard.py --datadir ${cfg.dataDir} --config ${cfg.configFile} --port ${toString cfg.port}"; ExecStart = "${sickbeard}/bin/${sickbeard.pname} --datadir ${cfg.dataDir} --config ${cfg.configFile} --port ${toString cfg.port}";
}; };
}; };
}; };

View file

@ -192,7 +192,7 @@ let
serviceConfig.MemoryDenyWriteExecute = true; serviceConfig.MemoryDenyWriteExecute = true;
serviceConfig.NoNewPrivileges = true; serviceConfig.NoNewPrivileges = true;
serviceConfig.PrivateDevices = true; serviceConfig.PrivateDevices = true;
serviceConfig.ProtectClock = true; serviceConfig.ProtectClock = mkDefault true;
serviceConfig.ProtectControlGroups = true; serviceConfig.ProtectControlGroups = true;
serviceConfig.ProtectHome = true; serviceConfig.ProtectHome = true;
serviceConfig.ProtectHostname = true; serviceConfig.ProtectHostname = true;

View file

@ -35,6 +35,10 @@ in
${concatMapStringsSep " " (x: "--no-collector." + x) cfg.disabledCollectors} \ ${concatMapStringsSep " " (x: "--no-collector." + x) cfg.disabledCollectors} \
--web.listen-address ${cfg.listenAddress}:${toString cfg.port} ${concatStringsSep " " cfg.extraFlags} --web.listen-address ${cfg.listenAddress}:${toString cfg.port} ${concatStringsSep " " cfg.extraFlags}
''; '';
# The systemd collector needs AF_UNIX
RestrictAddressFamilies = lib.optional (lib.any (x: x == "systemd") cfg.enabledCollectors) "AF_UNIX";
# The timex collector needs to access clock APIs
ProtectClock = lib.any (x: x == "timex") cfg.disabledCollectors;
}; };
}; };
} }

View file

@ -61,6 +61,11 @@ in
serviceConfig = { serviceConfig = {
# rtl-sdr udev rules make supported USB devices +rw by plugdev. # rtl-sdr udev rules make supported USB devices +rw by plugdev.
SupplementaryGroups = "plugdev"; SupplementaryGroups = "plugdev";
# rtl_433 needs rw access to the USB radio.
PrivateDevices = lib.mkForce false;
DeviceAllow = lib.mkForce "char-usb_device rw";
RestrictAddressFamilies = [ "AF_NETLINK" ];
ExecStart = let ExecStart = let
matchers = (map (m: matchers = (map (m:
"--channel_matcher '${m.name},${toString m.channel},${m.location}'" "--channel_matcher '${m.name},${toString m.channel},${m.location}'"

View file

@ -172,9 +172,15 @@ in
ExecStart = "${(removeSuffix "\n" cmd)} start"; ExecStart = "${(removeSuffix "\n" cmd)} start";
ExecStop = "${(removeSuffix "\n" cmd)} stop"; ExecStop = "${(removeSuffix "\n" cmd)} stop";
Restart = "on-failure"; Restart = "on-failure";
TimeoutSec = "5min";
User = "unifi"; User = "unifi";
UMask = "0077"; UMask = "0077";
WorkingDirectory = "${stateDir}"; WorkingDirectory = "${stateDir}";
# the stop command exits while the main process is still running, and unifi
# wants to manage its own child processes. this means we have to set KillSignal
# to something the main process ignores, otherwise every stop will have unifi.service
# fail with SIGTERM status.
KillSignal = "SIGCONT";
# Hardening # Hardening
AmbientCapabilities = ""; AmbientCapabilities = "";
@ -215,5 +221,5 @@ in
}; };
meta.maintainers = with lib.maintainers; [ erictapen ]; meta.maintainers = with lib.maintainers; [ erictapen pennae ];
} }

View file

@ -13,7 +13,6 @@ let
pulseaudio = config.hardware.pulseaudio; pulseaudio = config.hardware.pulseaudio;
pactl = "${getBin pulseaudio.package}/bin/pactl"; pactl = "${getBin pulseaudio.package}/bin/pactl";
startplasma-x11 = "${getBin plasma5.plasma-workspace}/bin/startplasma-x11";
sed = "${getBin pkgs.gnused}/bin/sed"; sed = "${getBin pkgs.gnused}/bin/sed";
gtkrc2 = writeText "gtkrc-2.0" '' gtkrc2 = writeText "gtkrc-2.0" ''
@ -136,9 +135,6 @@ let
fi fi
fi fi
''
+ ''
exec "${startplasma-x11}"
''; '';
in in
@ -172,6 +168,12 @@ in
disabled by default. disabled by default.
''; '';
}; };
useQtScaling = mkOption {
type = types.bool;
default = false;
description = "Enable HiDPI scaling in Qt.";
};
}; };
}; };
@ -183,6 +185,7 @@ in
config = mkMerge [ config = mkMerge [
(mkIf cfg.enable { (mkIf cfg.enable {
# Seed our configuration into nixos-generate-config # Seed our configuration into nixos-generate-config
system.nixos-generate-config.desktopConfiguration = ['' system.nixos-generate-config.desktopConfiguration = [''
# Enable the Plasma 5 Desktop Environment. # Enable the Plasma 5 Desktop Environment.
@ -190,11 +193,7 @@ in
services.xserver.desktopManager.plasma5.enable = true; services.xserver.desktopManager.plasma5.enable = true;
'']; ''];
services.xserver.desktopManager.session = singleton { services.xserver.displayManager.sessionPackages = [ pkgs.libsForQt5.plasma5.plasma-workspace ];
name = "plasma5";
bgSupport = true;
start = startplasma;
};
security.wrappers = { security.wrappers = {
kcheckpass = kcheckpass =
@ -347,6 +346,8 @@ in
environment.etc."X11/xkb".source = xcfg.xkbDir; environment.etc."X11/xkb".source = xcfg.xkbDir;
environment.sessionVariables.PLASMA_USE_QT_SCALING = mkIf cfg.useQtScaling "1";
# Enable GTK applications to load SVG icons # Enable GTK applications to load SVG icons
services.xserver.gdk-pixbuf.modulePackages = [ pkgs.librsvg ]; services.xserver.gdk-pixbuf.modulePackages = [ pkgs.librsvg ];
@ -389,6 +390,7 @@ in
# Update the start menu for each user that is currently logged in # Update the start menu for each user that is currently logged in
system.userActivationScripts.plasmaSetup = activationScript; system.userActivationScripts.plasmaSetup = activationScript;
services.xserver.displayManager.setupCommands = startplasma;
nixpkgs.config.firefox.enablePlasmaBrowserIntegration = true; nixpkgs.config.firefox.enablePlasmaBrowserIntegration = true;
}) })

View file

@ -26,7 +26,6 @@ let
load-module module-udev-detect load-module module-udev-detect
load-module module-native-protocol-unix load-module module-native-protocol-unix
load-module module-default-device-restore load-module module-default-device-restore
load-module module-rescue-streams
load-module module-always-sink load-module module-always-sink
load-module module-intended-roles load-module module-intended-roles
load-module module-suspend-on-idle load-module module-suspend-on-idle

View file

@ -83,7 +83,10 @@ in
}; };
boot.kernelParams = mkOption { boot.kernelParams = mkOption {
type = types.listOf types.str; type = types.listOf (types.strMatching ''([^"[:space:]]|"[^"]*")+'' // {
name = "kernelParam";
description = "string, with spaces inside double quotes";
});
default = [ ]; default = [ ];
description = "Parameters added to the kernel command line."; description = "Parameters added to the kernel command line.";
}; };

View file

@ -250,6 +250,16 @@ let
(assertRange "ERSPANIndex" 1 1048575) (assertRange "ERSPANIndex" 1 1048575)
]; ];
sectionFooOverUDP = checkUnitConfig "FooOverUDP" [
(assertOnlyFields [
"Port"
"Encapsulation"
"Protocol"
])
(assertPort "Port")
(assertValueOneOf "Encapsulation" ["FooOverUDP" "GenericUDPEncapsulation"])
];
sectionPeer = checkUnitConfig "Peer" [ sectionPeer = checkUnitConfig "Peer" [
(assertOnlyFields [ (assertOnlyFields [
"Name" "Name"
@ -919,6 +929,18 @@ let
''; '';
}; };
fooOverUDPConfig = mkOption {
default = { };
example = { Port = 9001; };
type = types.addCheck (types.attrsOf unitOption) check.netdev.sectionFooOverUDP;
description = ''
Each attribute in this set specifies an option in the
<literal>[FooOverUDP]</literal> section of the unit. See
<citerefentry><refentrytitle>systemd.netdev</refentrytitle>
<manvolnum>5</manvolnum></citerefentry> for details.
'';
};
peerConfig = mkOption { peerConfig = mkOption {
default = {}; default = {};
example = { Name = "veth2"; }; example = { Name = "veth2"; };
@ -1449,6 +1471,10 @@ let
[Tunnel] [Tunnel]
${attrsToSection def.tunnelConfig} ${attrsToSection def.tunnelConfig}
'' ''
+ optionalString (def.fooOverUDPConfig != { }) ''
[FooOverUDP]
${attrsToSection def.fooOverUDPConfig}
''
+ optionalString (def.peerConfig != { }) '' + optionalString (def.peerConfig != { }) ''
[Peer] [Peer]
${attrsToSection def.peerConfig} ${attrsToSection def.peerConfig}

View file

@ -466,6 +466,39 @@ let
''; '';
}); });
createFouEncapsulation = n: v: nameValuePair "${n}-fou-encap"
(let
# if we have a device to bind to we can wait for its addresses to be
# configured, otherwise external sequencing is required.
deps = optionals (v.local != null && v.local.dev != null)
(deviceDependency v.local.dev ++ [ "network-addresses-${v.local.dev}.service" ]);
fouSpec = "port ${toString v.port} ${
if v.protocol != null then "ipproto ${toString v.protocol}" else "gue"
} ${
optionalString (v.local != null) "local ${escapeShellArg v.local.address} ${
optionalString (v.local.dev != null) "dev ${escapeShellArg v.local.dev}"
}"
}";
in
{ description = "FOU endpoint ${n}";
wantedBy = [ "network-setup.service" (subsystemDevice n) ];
bindsTo = deps;
partOf = [ "network-setup.service" ];
after = [ "network-pre.target" ] ++ deps;
before = [ "network-setup.service" ];
serviceConfig.Type = "oneshot";
serviceConfig.RemainAfterExit = true;
path = [ pkgs.iproute2 ];
script = ''
# always remove previous incarnation since show can't filter
ip fou del ${fouSpec} >/dev/null 2>&1 || true
ip fou add ${fouSpec}
'';
postStop = ''
ip fou del ${fouSpec} || true
'';
});
createSitDevice = n: v: nameValuePair "${n}-netdev" createSitDevice = n: v: nameValuePair "${n}-netdev"
(let (let
deps = deviceDependency v.dev; deps = deviceDependency v.dev;
@ -486,7 +519,12 @@ let
${optionalString (v.remote != null) "remote \"${v.remote}\""} \ ${optionalString (v.remote != null) "remote \"${v.remote}\""} \
${optionalString (v.local != null) "local \"${v.local}\""} \ ${optionalString (v.local != null) "local \"${v.local}\""} \
${optionalString (v.ttl != null) "ttl ${toString v.ttl}"} \ ${optionalString (v.ttl != null) "ttl ${toString v.ttl}"} \
${optionalString (v.dev != null) "dev \"${v.dev}\""} ${optionalString (v.dev != null) "dev \"${v.dev}\""} \
${optionalString (v.encapsulation != null)
"encap ${v.encapsulation.type} encap-dport ${toString v.encapsulation.port} ${
optionalString (v.encapsulation.sourcePort != null)
"encap-sport ${toString v.encapsulation.sourcePort}"
}"}
ip link set "${n}" up ip link set "${n}" up
''; '';
postStop = '' postStop = ''
@ -530,6 +568,7 @@ let
// mapAttrs' createVswitchDevice cfg.vswitches // mapAttrs' createVswitchDevice cfg.vswitches
// mapAttrs' createBondDevice cfg.bonds // mapAttrs' createBondDevice cfg.bonds
// mapAttrs' createMacvlanDevice cfg.macvlans // mapAttrs' createMacvlanDevice cfg.macvlans
// mapAttrs' createFouEncapsulation cfg.fooOverUDP
// mapAttrs' createSitDevice cfg.sits // mapAttrs' createSitDevice cfg.sits
// mapAttrs' createVlanDevice cfg.vlans // mapAttrs' createVlanDevice cfg.vlans
// { // {

View file

@ -47,6 +47,9 @@ in
} ] ++ flip mapAttrsToList cfg.bridges (n: { rstp, ... }: { } ] ++ flip mapAttrsToList cfg.bridges (n: { rstp, ... }: {
assertion = !rstp; assertion = !rstp;
message = "networking.bridges.${n}.rstp is not supported by networkd."; message = "networking.bridges.${n}.rstp is not supported by networkd.";
}) ++ flip mapAttrsToList cfg.fooOverUDP (n: { local, ... }: {
assertion = local == null;
message = "networking.fooOverUDP.${n}.local is not supported by networkd.";
}); });
networking.dhcpcd.enable = mkDefault false; networking.dhcpcd.enable = mkDefault false;
@ -194,6 +197,23 @@ in
macvlan = [ name ]; macvlan = [ name ];
} ]); } ]);
}))) })))
(mkMerge (flip mapAttrsToList cfg.fooOverUDP (name: fou: {
netdevs."40-${name}" = {
netdevConfig = {
Name = name;
Kind = "fou";
};
# unfortunately networkd cannot encode dependencies of netdevs on addresses/routes,
# so we cannot specify Local=, Peer=, PeerPort=. this looks like a missing feature
# in networkd.
fooOverUDPConfig = {
Port = fou.port;
Encapsulation = if fou.protocol != null then "FooOverUDP" else "GenericUDPEncapsulation";
} // (optionalAttrs (fou.protocol != null) {
Protocol = fou.protocol;
});
};
})))
(mkMerge (flip mapAttrsToList cfg.sits (name: sit: { (mkMerge (flip mapAttrsToList cfg.sits (name: sit: {
netdevs."40-${name}" = { netdevs."40-${name}" = {
netdevConfig = { netdevConfig = {
@ -207,7 +227,17 @@ in
Local = sit.local; Local = sit.local;
}) // (optionalAttrs (sit.ttl != null) { }) // (optionalAttrs (sit.ttl != null) {
TTL = sit.ttl; TTL = sit.ttl;
}); }) // (optionalAttrs (sit.encapsulation != null) (
{
FooOverUDP = true;
Encapsulation =
if sit.encapsulation.type == "fou"
then "FooOverUDP"
else "GenericUDPEncapsulation";
FOUDestinationPort = sit.encapsulation.port;
} // (optionalAttrs (sit.encapsulation.sourcePort != null) {
FOUSourcePort = sit.encapsulation.sourcePort;
})));
}; };
networks = mkIf (sit.dev != null) { networks = mkIf (sit.dev != null) {
"40-${sit.dev}" = (mkMerge [ (genericNetwork (mkOverride 999)) { "40-${sit.dev}" = (mkMerge [ (genericNetwork (mkOverride 999)) {

View file

@ -10,6 +10,8 @@ let
hasVirtuals = any (i: i.virtual) interfaces; hasVirtuals = any (i: i.virtual) interfaces;
hasSits = cfg.sits != { }; hasSits = cfg.sits != { };
hasBonds = cfg.bonds != { }; hasBonds = cfg.bonds != { };
hasFous = cfg.fooOverUDP != { }
|| filterAttrs (_: s: s.encapsulation != null) cfg.sits != { };
slaves = concatMap (i: i.interfaces) (attrValues cfg.bonds) slaves = concatMap (i: i.interfaces) (attrValues cfg.bonds)
++ concatMap (i: i.interfaces) (attrValues cfg.bridges) ++ concatMap (i: i.interfaces) (attrValues cfg.bridges)
@ -823,6 +825,71 @@ in
}); });
}; };
networking.fooOverUDP = mkOption {
default = { };
example =
{
primary = { port = 9001; local = { address = "192.0.2.1"; dev = "eth0"; }; };
backup = { port = 9002; };
};
description = ''
This option allows you to configure Foo Over UDP and Generic UDP Encapsulation
endpoints. See <citerefentry><refentrytitle>ip-fou</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> for details.
'';
type = with types; attrsOf (submodule {
options = {
port = mkOption {
type = port;
description = ''
Local port of the encapsulation UDP socket.
'';
};
protocol = mkOption {
type = nullOr (ints.between 1 255);
default = null;
description = ''
Protocol number of the encapsulated packets. Specifying <literal>null</literal>
(the default) creates a GUE endpoint, specifying a protocol number will create
a FOU endpoint.
'';
};
local = mkOption {
type = nullOr (submodule {
options = {
address = mkOption {
type = types.str;
description = ''
Local address to bind to. The address must be available when the FOU
endpoint is created, using the scripted network setup this can be achieved
either by setting <literal>dev</literal> or adding dependency information to
<literal>systemd.services.&lt;name&gt;-fou-encap</literal>; it isn't supported
when using networkd.
'';
};
dev = mkOption {
type = nullOr str;
default = null;
example = "eth0";
description = ''
Network device to bind to.
'';
};
};
});
default = null;
example = { address = "203.0.113.22"; };
description = ''
Local address (and optionally device) to bind to using the given port.
'';
};
};
});
};
networking.sits = mkOption { networking.sits = mkOption {
default = { }; default = { };
example = literalExpression '' example = literalExpression ''
@ -882,6 +949,44 @@ in
''; '';
}; };
encapsulation = with types; mkOption {
type = nullOr (submodule {
options = {
type = mkOption {
type = enum [ "fou" "gue" ];
description = ''
Selects encapsulation type. See
<citerefentry><refentrytitle>ip-link</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> for details.
'';
};
port = mkOption {
type = port;
example = 9001;
description = ''
Destination port for encapsulated packets.
'';
};
sourcePort = mkOption {
type = nullOr types.port;
default = null;
example = 9002;
description = ''
Source port for encapsulated packets. Will be chosen automatically by
the kernel if unset.
'';
};
};
});
default = null;
example = { type = "fou"; port = 9001; };
description = ''
Configures encapsulation in UDP packets.
'';
};
}; };
}); });
@ -1116,7 +1221,8 @@ in
boot.kernelModules = [ ] boot.kernelModules = [ ]
++ optional hasVirtuals "tun" ++ optional hasVirtuals "tun"
++ optional hasSits "sit" ++ optional hasSits "sit"
++ optional hasBonds "bonding"; ++ optional hasBonds "bonding"
++ optional hasFous "fou";
boot.extraModprobeConfig = boot.extraModprobeConfig =
# This setting is intentional as it prevents default bond devices # This setting is intentional as it prevents default bond devices

View file

@ -380,12 +380,57 @@ let
router.wait_until_succeeds("ping -c 1 192.168.1.3") router.wait_until_succeeds("ping -c 1 192.168.1.3")
''; '';
}; };
fou = {
name = "foo-over-udp";
nodes.machine = { ... }: {
virtualisation.vlans = [ 1 ];
networking = {
useNetworkd = networkd;
useDHCP = false;
interfaces.eth1.ipv4.addresses = mkOverride 0
[ { address = "192.168.1.1"; prefixLength = 24; } ];
fooOverUDP = {
fou1 = { port = 9001; };
fou2 = { port = 9002; protocol = 41; };
fou3 = mkIf (!networkd)
{ port = 9003; local.address = "192.168.1.1"; };
fou4 = mkIf (!networkd)
{ port = 9004; local = { address = "192.168.1.1"; dev = "eth1"; }; };
};
};
systemd.services = {
fou3-fou-encap.after = optional (!networkd) "network-addresses-eth1.service";
};
};
testScript = { ... }:
''
import json
machine.wait_for_unit("network.target")
fous = json.loads(machine.succeed("ip -json fou show"))
assert {"port": 9001, "gue": None, "family": "inet"} in fous, "fou1 exists"
assert {"port": 9002, "ipproto": 41, "family": "inet"} in fous, "fou2 exists"
'' + optionalString (!networkd) ''
assert {
"port": 9003,
"gue": None,
"family": "inet",
"local": "192.168.1.1",
} in fous, "fou3 exists"
assert {
"port": 9004,
"gue": None,
"family": "inet",
"local": "192.168.1.1",
"dev": "eth1",
} in fous, "fou4 exists"
'';
};
sit = let sit = let
node = { address4, remote, address6 }: { pkgs, ... }: with pkgs.lib; { node = { address4, remote, address6 }: { pkgs, ... }: with pkgs.lib; {
virtualisation.vlans = [ 1 ]; virtualisation.vlans = [ 1 ];
networking = { networking = {
useNetworkd = networkd; useNetworkd = networkd;
firewall.enable = false;
useDHCP = false; useDHCP = false;
sits.sit = { sits.sit = {
inherit remote; inherit remote;
@ -400,8 +445,30 @@ let
}; };
in { in {
name = "Sit"; name = "Sit";
nodes.client1 = node { address4 = "192.168.1.1"; remote = "192.168.1.2"; address6 = "fc00::1"; }; # note on firewalling: the two nodes are explicitly asymmetric.
nodes.client2 = node { address4 = "192.168.1.2"; remote = "192.168.1.1"; address6 = "fc00::2"; }; # client1 sends SIT packets in UDP, but accepts only proto-41 incoming.
# client2 does the reverse, sending in proto-41 and accepting only UDP incoming.
# that way we'll notice when either SIT itself or FOU breaks.
nodes.client1 = args@{ pkgs, ... }:
mkMerge [
(node { address4 = "192.168.1.1"; remote = "192.168.1.2"; address6 = "fc00::1"; } args)
{
networking = {
firewall.extraCommands = "iptables -A INPUT -p 41 -j ACCEPT";
sits.sit.encapsulation = { type = "fou"; port = 9001; };
};
}
];
nodes.client2 = args@{ pkgs, ... }:
mkMerge [
(node { address4 = "192.168.1.2"; remote = "192.168.1.1"; address6 = "fc00::2"; } args)
{
networking = {
firewall.allowedUDPPorts = [ 9001 ];
fooOverUDP.fou1 = { port = 9001; protocol = 41; };
};
}
];
testScript = { ... }: testScript = { ... }:
'' ''
start_all() start_all()

View file

@ -12,7 +12,7 @@ import ./make-test-python.nix ({ pkgs, ...} :
imports = [ ./common/user-account.nix ]; imports = [ ./common/user-account.nix ];
services.xserver.enable = true; services.xserver.enable = true;
services.xserver.displayManager.sddm.enable = true; services.xserver.displayManager.sddm.enable = true;
services.xserver.displayManager.defaultSession = "plasma5"; services.xserver.displayManager.defaultSession = "plasma";
services.xserver.desktopManager.plasma5.enable = true; services.xserver.desktopManager.plasma5.enable = true;
services.xserver.displayManager.autoLogin = { services.xserver.displayManager.autoLogin = {
enable = true; enable = true;

View file

@ -14,9 +14,6 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "csound"; pname = "csound";
# When updating, please check if https://github.com/csound/csound/issues/1078
# has been fixed in the new version so we can use the normal fluidsynth
# version and remove fluidsynth 1.x from nixpkgs again.
version = "6.16.2"; version = "6.16.2";
hardeningDisable = [ "format" ]; hardeningDisable = [ "format" ];

View file

@ -16,6 +16,7 @@
, lilv , lilv
, lsp-plugins , lsp-plugins
, lv2 , lv2
, mda_lv2
, meson , meson
, ninja , ninja
, nlohmann_json , nlohmann_json
@ -25,20 +26,20 @@
, rnnoise , rnnoise
, rubberband , rubberband
, speexdsp , speexdsp
, wrapGAppsHook , wrapGAppsHook4
, zam-plugins , zam-plugins
, zita-convolver , zita-convolver
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "easyeffects"; pname = "easyeffects";
version = "6.0.3"; version = "6.1.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "wwmm"; owner = "wwmm";
repo = "easyeffects"; repo = "easyeffects";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-GzqPC/m/HMthLMamhJ4EXX6fxZYscdX1QmXgqHOPEcg="; sha256 = "sha256-1UfeqPJxY4YT98UdqTZtG+QUBOZlKfK+7WbszhO22A0=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -48,7 +49,7 @@ stdenv.mkDerivation rec {
ninja ninja
pkg-config pkg-config
python3 python3
wrapGAppsHook wrapGAppsHook4
]; ];
buildInputs = [ buildInputs = [
@ -74,17 +75,20 @@ stdenv.mkDerivation rec {
postPatch = '' postPatch = ''
chmod +x meson_post_install.py chmod +x meson_post_install.py
patchShebangs meson_post_install.py patchShebangs meson_post_install.py
# https://github.com/wwmm/easyeffects/pull/1205
substituteInPlace meson_post_install.py --replace "gtk-update-icon-cache" "gtk4-update-icon-cache"
''; '';
preFixup = preFixup =
let let
lv2Plugins = [ lv2Plugins = [
calf # limiter, compressor exciter, bass enhancer and others calf # compressor exciter, bass enhancer and others
lsp-plugins # delay lsp-plugins # delay, limiter, multiband compressor
mda_lv2 # loudness
zam-plugins # maximizer
]; ];
ladspaPlugins = [ ladspaPlugins = [
rubberband # pitch shifting rubberband # pitch shifting
zam-plugins # maximizer
]; ];
in in
'' ''

View file

@ -0,0 +1,45 @@
{ stdenv, cmake, lib, fetchFromGitHub, qt5, fftw, libtorch-bin, portaudio, eigen
, xorg, pkg-config, autoPatchelfHook, soxr
}:
stdenv.mkDerivation rec {
pname = "in-formant";
version = "2021-06-30";
# no Qt6 yet, so we're stuck in the last Qt5-supporting commit: https://github.com/NixOS/nixpkgs/issues/108008
src = fetchFromGitHub {
owner = "in-formant";
repo = "in-formant";
rev = "e28e628cf5ff0949a7b046d220cc884f6035f31a";
sha256 = "sha256-YvtV0wGUNmI/+GGxrIfTk/l8tqUsWgc/LAI17X+AWGI=";
fetchSubmodules = true;
};
nativeBuildInputs = [ cmake pkg-config qt5.wrapQtAppsHook autoPatchelfHook ];
buildInputs = [
qt5.qtbase
qt5.qtquickcontrols
qt5.qtquickcontrols2
qt5.qtcharts
fftw
libtorch-bin
portaudio
eigen
xorg.libxcb
soxr
];
installPhase = ''
mkdir -p $out/bin
cp in-formant $out/bin
'';
meta = with lib; {
description = "A real-time pitch and formant tracking software";
homepage = "https://github.com/in-formant/in-formant";
license = licenses.asl20;
platforms = platforms.linux;
maintainers = with maintainers; [ ckie ];
};
}

File diff suppressed because it is too large Load diff

View file

@ -4,17 +4,16 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "librespot"; pname = "librespot";
version = "0.1.6"; version = "0.3.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "librespot-org"; owner = "librespot-org";
repo = "librespot"; repo = "librespot";
rev = "v${version}"; rev = "v${version}";
sha256 = "153i9n3qwmmwc29f62cz8nbqrlry16iygvibm1sdnvpf0s6wk5f3"; sha256 = "0n7h690gplpp47gdj038g6ncgwr7wvwfkg00cbrbvxhv7kzqqa1f";
}; };
cargoPatches = [ ./cargo-lock.patch ]; cargoSha256 = "0qakvpxvn84ppgs3qlsfan4flqkmjcgs698w25jasx9ymiv8wc3s";
cargoSha256 = "11d64rpq4b5rdxk5wx0hhzgc6mvs6h2br0w3kfncfklp67vn3v4v";
cargoBuildFlags = with lib; [ cargoBuildFlags = with lib; [
"--no-default-features" "--no-default-features"

View file

@ -1,5 +1,5 @@
{ lib, fetchFromGitHub, cmake, pkg-config, alsa-lib ? null, fftwFloat, fltk13 { lib, fetchFromGitHub, cmake, pkg-config, alsa-lib ? null, fftwFloat, fltk13
, fluidsynth_1 ? null, lame ? null, libgig ? null, libjack2 ? null, libpulseaudio ? null , fluidsynth ? null, lame ? null, libgig ? null, libjack2 ? null, libpulseaudio ? null
, libsamplerate, libsoundio ? null, libsndfile, libvorbis ? null, portaudio ? null , libsamplerate, libsoundio ? null, libsndfile, libvorbis ? null, portaudio ? null
, qtbase, qtx11extras, qttools, SDL ? null, mkDerivation }: , qtbase, qtx11extras, qttools, SDL ? null, mkDerivation }:
@ -21,7 +21,7 @@ mkDerivation rec {
alsa-lib alsa-lib
fftwFloat fftwFloat
fltk13 fltk13
fluidsynth_1 fluidsynth
lame lame
libgig libgig
libjack2 libjack2

View file

@ -1,6 +1,7 @@
{ lib { lib
, python3 , python3
, fetchFromGitHub , fetchFromGitHub
, substituteAll
, appstream-glib , appstream-glib
, desktop-file-utils , desktop-file-utils
, gettext , gettext
@ -13,12 +14,13 @@
, meson , meson
, ninja , ninja
, pkg-config , pkg-config
, pulseaudio
, wrapGAppsHook , wrapGAppsHook
}: }:
python3.pkgs.buildPythonApplication rec { python3.pkgs.buildPythonApplication rec {
pname = "mousai"; pname = "mousai";
version = "0.4.2"; version = "0.6.6";
format = "other"; format = "other";
@ -26,9 +28,16 @@ python3.pkgs.buildPythonApplication rec {
owner = "SeaDve"; owner = "SeaDve";
repo = "Mousai"; repo = "Mousai";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-zH++GGFIz3oxkKOYB4zhY6yL3vENEXxtrv8mZZ+41kU="; sha256 = "sha256-nCbFVFg+nVF8BOBfdzQVgdTRXR5UF18PJFC266yTFwg=";
}; };
patches = [
(substituteAll {
src = ./paths.patch;
pactl = "${lib.getBin pulseaudio}/bin/pactl";
})
];
postPatch = '' postPatch = ''
patchShebangs build-aux/meson patchShebangs build-aux/meson
''; '';
@ -53,6 +62,7 @@ python3.pkgs.buildPythonApplication rec {
gtk4 gtk4
libadwaita libadwaita
librsvg librsvg
pulseaudio
]; ];
propagatedBuildInputs = with python3.pkgs; [ propagatedBuildInputs = with python3.pkgs; [

View file

@ -0,0 +1,13 @@
diff --git a/src/backend/utils.py b/src/backend/utils.py
index cebc009..0087c09 100644
--- a/src/backend/utils.py
+++ b/src/backend/utils.py
@@ -79,7 +79,7 @@ class Utils:
@staticmethod
def get_default_audio_sources():
pactl_output = subprocess.run(
- ['/usr/bin/pactl', 'info'],
+ ['@pactl@', 'info'],
stdout=subprocess.PIPE,
text=True
).stdout.splitlines()

View file

@ -8,7 +8,7 @@
let let
pname = "trezor-suite"; pname = "trezor-suite";
version = "21.9.2"; version = "21.10.2";
name = "${pname}-${version}"; name = "${pname}-${version}";
suffix = { suffix = {
@ -18,9 +18,9 @@ let
src = fetchurl { src = fetchurl {
url = "https://github.com/trezor/${pname}/releases/download/v${version}/Trezor-Suite-${version}-${suffix}.AppImage"; url = "https://github.com/trezor/${pname}/releases/download/v${version}/Trezor-Suite-${version}-${suffix}.AppImage";
sha512 = { # curl -Lfs https://github.com/trezor/trezor-suite/releases/latest/download/latest-linux{-arm64,}.yml | rg ^sha512 | sed 's/: /-/' sha512 = { # curl -Lfs https://github.com/trezor/trezor-suite/releases/latest/download/latest-linux{-arm64,}.yml | grep ^sha512 | sed 's/: /-/'
aarch64-linux = "sha512-mgip818sGkrKwF4v2mj/JeTNxBoj7DgdNPoxZ8sp8OvojHB2sa0hm4YXfrzAdPf8CP6d5ChUmwccQyYilGUiOQ=="; aarch64-linux = "sha512-+qXN9cQk1u18ZzeMecPNfhkTTsw61iM/IJYksPJl9+zx2AKldv9tAFUnnmKZ65LabiaIXI+emN185SRRcaOndw==";
x86_64-linux = "sha512-f02m8Q6ITYhIXH1FS2BA/QYYsdtxklDDNYBXBarj8b1kA+yhDFZ3VL9vy+nZNdPQHQ2yMQreDzpcToXBQ67XyQ=="; x86_64-linux = "sha512-WpiG8VOEODqsQ1/jERiEEGwVqR0zbMqERGjOysEVYorA0p3xZyl7OSpWOSWaUjPBZpQtJIBdqhSXeoSRcvfJgg==";
}.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
}; };

View file

@ -13,12 +13,12 @@ let
sha256Hash = "0k8jcq8vpjayvwm9wqcrjhnp7dly0h4bb8nxspck5zmi8q2ar67l"; sha256Hash = "0k8jcq8vpjayvwm9wqcrjhnp7dly0h4bb8nxspck5zmi8q2ar67l";
}; };
betaVersion = { betaVersion = {
version = "2020.3.1.21"; # "Android Studio Arctic Fox (2020.3.1) RC 1" version = "2021.1.1.14"; # "Android Studio Bumblebee (2021.1.1) Beta 1"
sha256Hash = "04k7c328bl8ixi8bvp2mm33q2hmv40yc9p5dff5cghyycarwpd3f"; sha256Hash = "1j1fxl4vzq3bln2z9ycxn9imjgy55yd1nbl7ycmsi90bdp96pzj0";
}; };
latestVersion = { # canary & dev latestVersion = { # canary & dev
version = "2021.1.1.13"; # "Android Studio Bumblebee (2021.1.1) Canary 13" version = "2021.2.1.1"; # "Android Studio Chipmunk (2021.2.1) Canary 1"
sha256Hash = "04w5jw79fkxk4gy1n9iy8kjxg6k3zcl59z76f04rh556n12f01gm"; sha256Hash = "1fn0jv6ybgdhgpwhamw16fjqbg2961ir9jhbjzanysi7y3935nbv";
}; };
in { in {
# Attributes are named by their corresponding release channels # Attributes are named by their corresponding release channels

View file

@ -7,13 +7,13 @@
trivialBuild rec { trivialBuild rec {
pname = "apheleia"; pname = "apheleia";
version = "0.pre+unstable=2021-08-08"; version = "1.1.2+unstable=2021-10-03";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "raxod502"; owner = "raxod502";
repo = pname; repo = pname;
rev = "8e022c67fea4248f831c678b31c19646cbcbbf6f"; rev = "8b9d576f2fda10d0c9051fc03c1eb1d9791e32fd";
hash = "sha256-Put/BBQ7V423C18UIVfaM17T+TDWtAxRZi7WI8doPJw="; hash = "sha256-QwGlCdHBll16mbfQxGw1EORZFUxYCZSt8ThYTTGjRpo=";
}; };
buildInputs = [ buildInputs = [

View file

@ -369,10 +369,10 @@
elpaBuild { elpaBuild {
pname = "boxy"; pname = "boxy";
ename = "boxy"; ename = "boxy";
version = "1.0.2"; version = "1.0.4";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/boxy-1.0.2.tar"; url = "https://elpa.gnu.org/packages/boxy-1.0.4.tar";
sha256 = "07m832kn4d6njfz21qfmh12gzd35d17v29pqlxfq9v03cazww4lr"; sha256 = "0cwzjyj8yjg13b63va6pnj01m6kc5g3zx69c9w2ysl2wk24zn6dz";
}; };
packageRequires = [ emacs ]; packageRequires = [ emacs ];
meta = { meta = {
@ -380,18 +380,18 @@
license = lib.licenses.free; license = lib.licenses.free;
}; };
}) {}; }) {};
boxy-headlines = callPackage ({ boxy, elpaBuild, emacs, fetchurl, lib }: boxy-headings = callPackage ({ boxy, elpaBuild, emacs, fetchurl, lib, org }:
elpaBuild { elpaBuild {
pname = "boxy-headlines"; pname = "boxy-headings";
ename = "boxy-headlines"; ename = "boxy-headings";
version = "1.0.2"; version = "2.1.0";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/boxy-headlines-1.0.2.tar"; url = "https://elpa.gnu.org/packages/boxy-headings-2.1.0.tar";
sha256 = "1j8j2vc318mb4i116qs9zj6cvkiy1fips09mkzj6lqr25qk5fi31"; sha256 = "021w4ic028jsq7vxz1jgnfny9dymcz6v112b3b3nwyw3g3dnc62f";
}; };
packageRequires = [ boxy emacs ]; packageRequires = [ boxy emacs org ];
meta = { meta = {
homepage = "https://elpa.gnu.org/packages/boxy-headlines.html"; homepage = "https://elpa.gnu.org/packages/boxy-headings.html";
license = lib.licenses.free; license = lib.licenses.free;
}; };
}) {}; }) {};
@ -666,10 +666,10 @@
elpaBuild { elpaBuild {
pname = "consult"; pname = "consult";
ename = "consult"; ename = "consult";
version = "0.11"; version = "0.12";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/consult-0.11.tar"; url = "https://elpa.gnu.org/packages/consult-0.12.tar";
sha256 = "14zjhsfhq5g9257maivyzpj5qxi1kprcsdk1qalwybyylyb4q4kk"; sha256 = "0xcr7jki9m30hppy24z74nrw7xv5nahm1yrjilcck32mxfkrc69x";
}; };
packageRequires = [ emacs ]; packageRequires = [ emacs ];
meta = { meta = {
@ -696,10 +696,10 @@
elpaBuild { elpaBuild {
pname = "corfu"; pname = "corfu";
ename = "corfu"; ename = "corfu";
version = "0.11"; version = "0.13";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/corfu-0.11.tar"; url = "https://elpa.gnu.org/packages/corfu-0.13.tar";
sha256 = "1sf7ll25ry7vwff4bvqgdh84zviqj6wifmqdb2z8hf12awz63icz"; sha256 = "0psvkxr7fjqq7gkqdzl0ma367zjlxgixk563vpv9hmwfwymddyyb";
}; };
packageRequires = [ emacs ]; packageRequires = [ emacs ];
meta = { meta = {
@ -1086,10 +1086,10 @@
elpaBuild { elpaBuild {
pname = "ebdb"; pname = "ebdb";
ename = "ebdb"; ename = "ebdb";
version = "0.8.5"; version = "0.8.6";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/ebdb-0.8.5.tar"; url = "https://elpa.gnu.org/packages/ebdb-0.8.6.tar";
sha256 = "1p2chzj5hnaiqhammvdp82ck5pi6h1rl9r782zaqxrhrqsp3vg09"; sha256 = "0amr1s1q5w4513qw31qsr8gpsfgj5b2j7qn017rmwbaf1mj0k6z0";
}; };
packageRequires = [ emacs seq ]; packageRequires = [ emacs seq ];
meta = { meta = {
@ -1146,10 +1146,10 @@
elpaBuild { elpaBuild {
pname = "eev"; pname = "eev";
ename = "eev"; ename = "eev";
version = "20211006"; version = "20211011";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/eev-20211006.tar"; url = "https://elpa.gnu.org/packages/eev-20211011.tar";
sha256 = "08z9q5y46fqm7r1gwiv0ir2hcybwfrvh0b7pxsrppjs1gvclyazn"; sha256 = "1a71qam6z5s3zl7fvxpsnabbqxh8a7llm1524nxs2353pb6ksfra";
}; };
packageRequires = [ emacs ]; packageRequires = [ emacs ];
meta = { meta = {
@ -1325,6 +1325,21 @@
license = lib.licenses.free; license = lib.licenses.free;
}; };
}) {}; }) {};
erc = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "erc";
ename = "erc";
version = "5.4.1";
src = fetchurl {
url = "https://elpa.gnu.org/packages/erc-5.4.1.tar";
sha256 = "0hghqwqrx11f8qa1zhyhjqp99w01l686azsmd24z9w0l93fz598a";
};
packageRequires = [ emacs ];
meta = {
homepage = "https://elpa.gnu.org/packages/erc.html";
license = lib.licenses.free;
};
}) {};
ergoemacs-mode = callPackage ({ cl-lib ? null ergoemacs-mode = callPackage ({ cl-lib ? null
, elpaBuild , elpaBuild
, emacs , emacs
@ -2084,16 +2099,16 @@
license = lib.licenses.free; license = lib.licenses.free;
}; };
}) {}; }) {};
kiwix = callPackage ({ elpaBuild, elquery, emacs, fetchurl, lib, request }: kiwix = callPackage ({ elpaBuild, emacs, fetchurl, lib, request }:
elpaBuild { elpaBuild {
pname = "kiwix"; pname = "kiwix";
ename = "kiwix"; ename = "kiwix";
version = "1.1.0"; version = "1.1.4";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/kiwix-1.1.0.tar"; url = "https://elpa.gnu.org/packages/kiwix-1.1.4.tar";
sha256 = "1clp0q34bs395d0hrqdyvm9ds665hgf5qrdiqa14k31h4lbv2wsn"; sha256 = "1ls11a7fc6d4gj85g8m09r95fvc4ppc0k0fs28d1hzybmgl89rgl";
}; };
packageRequires = [ elquery emacs request ]; packageRequires = [ emacs request ];
meta = { meta = {
homepage = "https://elpa.gnu.org/packages/kiwix.html"; homepage = "https://elpa.gnu.org/packages/kiwix.html";
license = lib.licenses.free; license = lib.licenses.free;
@ -2268,10 +2283,10 @@
elpaBuild { elpaBuild {
pname = "marginalia"; pname = "marginalia";
ename = "marginalia"; ename = "marginalia";
version = "0.8"; version = "0.9";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/marginalia-0.8.tar"; url = "https://elpa.gnu.org/packages/marginalia-0.9.tar";
sha256 = "0afry11i7kgfa0q83p63hmahl7jzsqhn4sl1rnkjy98pnikwv9kd"; sha256 = "0jnw9ys7p2rhi7sx2wxi3xs95ryg9vr34xb2jdfiz0p1xv04a300";
}; };
packageRequires = [ emacs ]; packageRequires = [ emacs ];
meta = { meta = {
@ -2577,14 +2592,29 @@
license = lib.licenses.free; license = lib.licenses.free;
}; };
}) {}; }) {};
nano-agenda = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "nano-agenda";
ename = "nano-agenda";
version = "0.1";
src = fetchurl {
url = "https://elpa.gnu.org/packages/nano-agenda-0.1.tar";
sha256 = "1bylgd4ly6dybpg66ndgsmgs5w0y5ymfq3s2pbwjnl46fnrmggz0";
};
packageRequires = [ emacs ];
meta = {
homepage = "https://elpa.gnu.org/packages/nano-agenda.html";
license = lib.licenses.free;
};
}) {};
nano-modeline = callPackage ({ elpaBuild, emacs, fetchurl, lib }: nano-modeline = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
elpaBuild { elpaBuild {
pname = "nano-modeline"; pname = "nano-modeline";
ename = "nano-modeline"; ename = "nano-modeline";
version = "0.1"; version = "0.2";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/nano-modeline-0.1.tar"; url = "https://elpa.gnu.org/packages/nano-modeline-0.2.tar";
sha256 = "10hnxgjp56dqydf39mbn9zmwwvnwzi89lwnam5k3x6d6p2cnfgcx"; sha256 = "13m8j8jnd33wwv1siv6frzdbs7bhspg859sflq58vimv444zjzac";
}; };
packageRequires = [ emacs ]; packageRequires = [ emacs ];
meta = { meta = {
@ -2596,10 +2626,10 @@
elpaBuild { elpaBuild {
pname = "nano-theme"; pname = "nano-theme";
ename = "nano-theme"; ename = "nano-theme";
version = "0.2"; version = "0.2.1";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/nano-theme-0.2.tar"; url = "https://elpa.gnu.org/packages/nano-theme-0.2.1.tar";
sha256 = "0kcirnl1fg9kvavw8aq9l16jv4rrxv5w62i7wrsjn7np697sm0s6"; sha256 = "0m98kq40dhbrn55x4bp2x5d5j1gps4y7z4086mgnj8wr1y3w8kdl";
}; };
packageRequires = [ emacs ]; packageRequires = [ emacs ];
meta = { meta = {
@ -2791,16 +2821,16 @@
license = lib.licenses.free; license = lib.licenses.free;
}; };
}) {}; }) {};
org-real = callPackage ({ boxy, elpaBuild, emacs, fetchurl, lib }: org-real = callPackage ({ boxy, elpaBuild, emacs, fetchurl, lib, org }:
elpaBuild { elpaBuild {
pname = "org-real"; pname = "org-real";
ename = "org-real"; ename = "org-real";
version = "1.0.1"; version = "1.0.4";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/org-real-1.0.1.tar"; url = "https://elpa.gnu.org/packages/org-real-1.0.4.tar";
sha256 = "0rklzp32v30ndyqli3fjcsqvvpiz3klsz26b7zn2bai2ldx6016s"; sha256 = "0bn9vyx74lki2nggzir02mcrww94dnqpbkryjr7a4i6am0ylf705";
}; };
packageRequires = [ boxy emacs ]; packageRequires = [ boxy emacs org ];
meta = { meta = {
homepage = "https://elpa.gnu.org/packages/org-real.html"; homepage = "https://elpa.gnu.org/packages/org-real.html";
license = lib.licenses.free; license = lib.licenses.free;
@ -3020,10 +3050,10 @@
elpaBuild { elpaBuild {
pname = "project"; pname = "project";
ename = "project"; ename = "project";
version = "0.8.0"; version = "0.8.1";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/project-0.8.0.tar"; url = "https://elpa.gnu.org/packages/project-0.8.1.tar";
sha256 = "05q2zr661bn2h6pdvyv3apdajfxnsx0rb0n5np8cg98a7gw4zyxd"; sha256 = "1x3zkbjsi04v5ny3yxqrb75vcacrj9kxmpm9mvkp0n07j5g34f68";
}; };
packageRequires = [ emacs xref ]; packageRequires = [ emacs xref ];
meta = { meta = {
@ -3095,10 +3125,10 @@
elpaBuild { elpaBuild {
pname = "python"; pname = "python";
ename = "python"; ename = "python";
version = "0.27.1"; version = "0.28";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/python-0.27.1.el"; url = "https://elpa.gnu.org/packages/python-0.28.tar";
sha256 = "0jygl2w8x73v22w0rzq75i2hnm3f46dzgg5x1ckz720nznvwwkka"; sha256 = "1pvhsdjla1rvw223h7irmbzzsrixnpy1rsskiq9xmkpkc688b6pm";
}; };
packageRequires = [ cl-lib emacs ]; packageRequires = [ cl-lib emacs ];
meta = { meta = {
@ -3546,10 +3576,10 @@
elpaBuild { elpaBuild {
pname = "shelisp"; pname = "shelisp";
ename = "shelisp"; ename = "shelisp";
version = "0.9.1"; version = "1.0.0";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/shelisp-0.9.1.el"; url = "https://elpa.gnu.org/packages/shelisp-1.0.0.tar";
sha256 = "15z8rpx8nhx53q77z5fqcpww255di80lb5mm28mnn2myalrr8b59"; sha256 = "05r26gy1ajl47ir0yz5gn62xw2f31vdq04n3r8ywlzxbqyvzlc0d";
}; };
packageRequires = []; packageRequires = [];
meta = { meta = {
@ -3561,10 +3591,10 @@
elpaBuild { elpaBuild {
pname = "shell-command-plus"; pname = "shell-command-plus";
ename = "shell-command+"; ename = "shell-command+";
version = "2.2.1"; version = "2.3.1";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/shell-command+-2.2.1.tar"; url = "https://elpa.gnu.org/packages/shell-command+-2.3.1.tar";
sha256 = "1dmi7fn4g55va5ljpyswr3dpgj471747kkdixfyp8zpsbhvr5yf6"; sha256 = "0g8pcrkkh3bxcxxbasnz834gi3pvhlkpf011fvmlhwzswypcyqmy";
}; };
packageRequires = [ emacs ]; packageRequires = [ emacs ];
meta = { meta = {
@ -4574,10 +4604,10 @@
elpaBuild { elpaBuild {
pname = "xref"; pname = "xref";
ename = "xref"; ename = "xref";
version = "1.2.2"; version = "1.3.0";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/xref-1.2.2.tar"; url = "https://elpa.gnu.org/packages/xref-1.3.0.tar";
sha256 = "14kdy8blhs6lwg349l9lmv0bbpybgi9nsg2iic3v87j4jyi41ljm"; sha256 = "0bw2cbxmjavzhmpd9gyl41d4c201p535jrfz3b7jb5zw12jdnppl";
}; };
packageRequires = [ emacs ]; packageRequires = [ emacs ];
meta = { meta = {

View file

@ -198,8 +198,6 @@
railgun = callPackage ./railgun { }; railgun = callPackage ./railgun { };
rec-mode = callPackage ./rec-mode { };
structured-haskell-mode = self.shm; structured-haskell-mode = self.shm;
sv-kalender = callPackage ./sv-kalender { }; sv-kalender = callPackage ./sv-kalender { };

View file

@ -155,14 +155,29 @@
license = lib.licenses.free; license = lib.licenses.free;
}; };
}) {}; }) {};
flymake-kondor = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "flymake-kondor";
ename = "flymake-kondor";
version = "0.1.0";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/flymake-kondor-0.1.0.tar";
sha256 = "0fn9vnrqy5nmv07jv2ry0xs90rkb92qhrh7j5pdikw7zykcwlbdd";
};
packageRequires = [ emacs ];
meta = {
homepage = "https://elpa.gnu.org/packages/flymake-kondor.html";
license = lib.licenses.free;
};
}) {};
geiser = callPackage ({ elpaBuild, emacs, fetchurl, lib }: geiser = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
elpaBuild { elpaBuild {
pname = "geiser"; pname = "geiser";
ename = "geiser"; ename = "geiser";
version = "0.16"; version = "0.18";
src = fetchurl { src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/geiser-0.16.tar"; url = "https://elpa.nongnu.org/nongnu/geiser-0.18.tar";
sha256 = "1mhngb1ik3qsc3w466cs61rbz3nn08ag29m5vfbd6adk60xmhnfk"; sha256 = "131j4f82hl4pqj07qsl1f2dz4105v5fyll3bc97ggayzvrdiy58i";
}; };
packageRequires = [ emacs ]; packageRequires = [ emacs ];
meta = { meta = {
@ -330,10 +345,10 @@
elpaBuild { elpaBuild {
pname = "git-commit"; pname = "git-commit";
ename = "git-commit"; ename = "git-commit";
version = "3.2.1"; version = "3.3.0";
src = fetchurl { src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/git-commit-3.2.1.tar"; url = "https://elpa.nongnu.org/nongnu/git-commit-3.3.0.tar";
sha256 = "1jndc8ppj4r2s62idabygj4q0qbpk4gwifn8jrd6pa61d7dlvp28"; sha256 = "0lp6r4w1k0idvfc2h0chlplap2i4x2slva9cw3iw1rhhxbcvlmdx";
}; };
packageRequires = [ dash emacs transient with-editor ]; packageRequires = [ dash emacs transient with-editor ];
meta = { meta = {
@ -416,6 +431,21 @@
license = lib.licenses.free; license = lib.licenses.free;
}; };
}) {}; }) {};
haskell-tng-mode = callPackage ({ elpaBuild, emacs, fetchurl, lib, popup }:
elpaBuild {
pname = "haskell-tng-mode";
ename = "haskell-tng-mode";
version = "0.0.1";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/haskell-tng-mode-0.0.1.tar";
sha256 = "1dndnxb9bdjnixyl09025065wdrk0h8q721rbwvransq308fijwy";
};
packageRequires = [ emacs popup ];
meta = {
homepage = "https://elpa.gnu.org/packages/haskell-tng-mode.html";
license = lib.licenses.free;
};
}) {};
highlight-parentheses = callPackage ({ elpaBuild highlight-parentheses = callPackage ({ elpaBuild
, emacs , emacs
, fetchurl , fetchurl
@ -560,10 +590,10 @@
elpaBuild { elpaBuild {
pname = "magit"; pname = "magit";
ename = "magit"; ename = "magit";
version = "3.2.1"; version = "3.3.0";
src = fetchurl { src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/magit-3.2.1.tar"; url = "https://elpa.nongnu.org/nongnu/magit-3.3.0.tar";
sha256 = "0yyf16605bp5q8jl2vbljxx04ja0ljvs775dnnawlc3mvn13zd9n"; sha256 = "0ihrds45z12z155c1y7haz1mxc95w6v4rynh0izm159xhz44121z";
}; };
packageRequires = [ packageRequires = [
dash dash
@ -582,10 +612,10 @@
elpaBuild { elpaBuild {
pname = "magit-section"; pname = "magit-section";
ename = "magit-section"; ename = "magit-section";
version = "3.2.1"; version = "3.3.0";
src = fetchurl { src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/magit-section-3.2.1.tar"; url = "https://elpa.nongnu.org/nongnu/magit-section-3.3.0.tar";
sha256 = "1ppinys8rfa38ac8grcx16hlaw33p03pif4ya6bbw280kq8c73rv"; sha256 = "08ac10vips6f2gy4x4w2wkz2ki3q0d6dhynkmlpdinsdmgagziny";
}; };
packageRequires = [ dash emacs ]; packageRequires = [ dash emacs ];
meta = { meta = {
@ -657,10 +687,10 @@
elpaBuild { elpaBuild {
pname = "org-contrib"; pname = "org-contrib";
ename = "org-contrib"; ename = "org-contrib";
version = "0.1"; version = "0.3";
src = fetchurl { src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/org-contrib-0.1.tar"; url = "https://elpa.nongnu.org/nongnu/org-contrib-0.3.tar";
sha256 = "07hzywvgj11wd21dw4lbkvqv32da03407f9qynlzgg1qa7wknm2k"; sha256 = "0fqhyby7624drskfsasgvzyxbgjb42rd6vw8l6xgb3h22kaprl0q";
}; };
packageRequires = [ emacs org ]; packageRequires = [ emacs org ];
meta = { meta = {
@ -683,6 +713,21 @@
license = lib.licenses.free; license = lib.licenses.free;
}; };
}) {}; }) {};
popup = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "popup";
ename = "popup";
version = "0.5.8";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/popup-0.5.8.tar";
sha256 = "1amwxsymzvzmj8696fa6i0cqx4ac581rvr4dwkri7akkr7amh3yh";
};
packageRequires = [ emacs ];
meta = {
homepage = "https://elpa.gnu.org/packages/popup.html";
license = lib.licenses.free;
};
}) {};
projectile = callPackage ({ elpaBuild, emacs, fetchurl, lib }: projectile = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
elpaBuild { elpaBuild {
pname = "projectile"; pname = "projectile";
@ -841,10 +886,10 @@
elpaBuild { elpaBuild {
pname = "swift-mode"; pname = "swift-mode";
ename = "swift-mode"; ename = "swift-mode";
version = "8.4.0"; version = "8.4.1";
src = fetchurl { src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/swift-mode-8.4.0.tar"; url = "https://elpa.nongnu.org/nongnu/swift-mode-8.4.1.tar";
sha256 = "1pfp1nvq2gny6kbiq3q0dcms0ysw43zq0aayfwqdj0llkf025dfp"; sha256 = "0f87bjgva0iv818bh2dqvc1svrwh5zm134jpxcmvmzr1yqazx4qp";
}; };
packageRequires = [ emacs seq ]; packageRequires = [ emacs seq ];
meta = { meta = {
@ -882,6 +927,21 @@
license = lib.licenses.free; license = lib.licenses.free;
}; };
}) {}; }) {};
vc-fossil = callPackage ({ elpaBuild, fetchurl, lib }:
elpaBuild {
pname = "vc-fossil";
ename = "vc-fossil";
version = "20210928";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/vc-fossil-20210928.tar";
sha256 = "0n4h1cj1336mv5cswq0139bkry5gnv4hrrwzd4bqhrxp5kbhqa5y";
};
packageRequires = [];
meta = {
homepage = "https://elpa.gnu.org/packages/vc-fossil.html";
license = lib.licenses.free;
};
}) {};
web-mode = callPackage ({ elpaBuild, emacs, fetchurl, lib }: web-mode = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
elpaBuild { elpaBuild {
pname = "web-mode"; pname = "web-mode";
@ -916,10 +976,10 @@
elpaBuild { elpaBuild {
pname = "with-editor"; pname = "with-editor";
ename = "with-editor"; ename = "with-editor";
version = "3.0.4"; version = "3.0.5";
src = fetchurl { src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/with-editor-3.0.4.tar"; url = "https://elpa.nongnu.org/nongnu/with-editor-3.0.5.tar";
sha256 = "032i954rzn8sg1qp6vjhz6j8j1fl6mpvhfnmd3va8k9q9m27k4an"; sha256 = "0bri6jr99133k9w0d754rw2f6hgjzndczngfw2lf2rvxks448krm";
}; };
packageRequires = [ emacs ]; packageRequires = [ emacs ];
meta = { meta = {

View file

@ -1,18 +0,0 @@
{ lib
, trivialBuild
, recutils
}:
trivialBuild {
pname = "rec-mode";
inherit (recutils) version src;
postUnpack = ''
sourceRoot="$sourceRoot/etc"
'';
meta = recutils.meta // {
description = "A major mode for editing rec files";
};
}

View file

@ -2,14 +2,11 @@
trivialBuild { trivialBuild {
pname = "sv-kalender"; pname = "sv-kalender";
version = "1.9"; version = "1.11";
src = fetchurl { src = fetchurl {
url = "http://bigwalter.net/daniel/elisp/sv-kalender.el"; url = "http://bigwalter.net/daniel/elisp/sv-kalender.el";
sha256 = "0kilp0nyhj67qscy13s0g07kygz2qwmddklhan020sk7z7jv3lpi"; sha256 = "0mcx7g1pg6kfp0i4b9rh3q9csgdf3054ijswy368bxwdxsjgfz2m";
postFetch = ''
echo "(provide 'sv-kalender)" >> $out
'';
}; };
meta = with lib; { meta = with lib; {

View file

@ -198,7 +198,7 @@ let emacs = stdenv.mkDerivation (lib.optionalAttrs nativeComp {
description = "The extensible, customizable GNU text editor"; description = "The extensible, customizable GNU text editor";
homepage = "https://www.gnu.org/software/emacs/"; homepage = "https://www.gnu.org/software/emacs/";
license = licenses.gpl3Plus; license = licenses.gpl3Plus;
maintainers = with maintainers; [ lovek323 peti jwiegley adisbladis ]; maintainers = with maintainers; [ lovek323 jwiegley adisbladis ];
platforms = platforms.all; platforms = platforms.all;
longDescription = '' longDescription = ''

View file

@ -1,17 +1,17 @@
{ lib, stdenv { stdenv
, lib
, ctags , ctags
, cmark
, appstream-glib , appstream-glib
, desktop-file-utils , desktop-file-utils
, docbook_xsl
, docbook_xml_dtd_43
, fetchurl , fetchurl
, flatpak , flatpak
, gnome , gnome
, libgit2-glib , libgit2-glib
, gi-docgen
, gobject-introspection , gobject-introspection
, glade , glade
, gspell , gspell
, gtk-doc
, gtk3 , gtk3
, gtksourceview4 , gtksourceview4
, json-glib , json-glib
@ -39,20 +39,20 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gnome-builder"; pname = "gnome-builder";
version = "3.40.2"; version = "41.1";
outputs = [ "out" "devdoc" ];
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
sha256 = "16kikslvcfjqj4q3j857mq9i8cyd965b3lvfzcwijc91x3ylr15j"; sha256 = "XVXkqqKkdYpGJj0cf9AJyz20RV4O1/nkTDoWNIYfo4o=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
appstream-glib appstream-glib
desktop-file-utils desktop-file-utils
docbook_xsl gi-docgen
docbook_xml_dtd_43
gobject-introspection gobject-introspection
gtk-doc
meson meson
ninja ninja
pkg-config pkg-config
@ -63,6 +63,7 @@ stdenv.mkDerivation rec {
buildInputs = [ buildInputs = [
ctags ctags
cmark
flatpak flatpak
gnome.devhelp gnome.devhelp
glade glade
@ -92,8 +93,6 @@ stdenv.mkDerivation rec {
xvfb-run xvfb-run
]; ];
outputs = [ "out" "devdoc" ];
prePatch = '' prePatch = ''
patchShebangs build-aux/meson/post_install.py patchShebangs build-aux/meson/post_install.py
''; '';
@ -134,9 +133,13 @@ stdenv.mkDerivation rec {
done done
''; '';
postFixup = ''
# Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
moveToOutput share/doc/libide "$devdoc"
'';
passthru.updateScript = gnome.updateScript { passthru.updateScript = gnome.updateScript {
packageName = pname; packageName = pname;
versionPolicy = "odd-unstable";
}; };
meta = with lib; { meta = with lib; {

View file

@ -1,25 +1,61 @@
diff --git i/src/cpp/core/libclang/LibClang.cpp w/src/cpp/core/libclang/LibClang.cpp diff --git a/src/cpp/core/libclang/LibClang.cpp b/src/cpp/core/libclang/LibClang.cpp
index ec12a3a1ff..8c81b633ae 100644 index 1186f3a..58e8cc7 100644
--- i/src/cpp/core/libclang/LibClang.cpp --- a/src/cpp/core/libclang/LibClang.cpp
+++ w/src/cpp/core/libclang/LibClang.cpp +++ b/src/cpp/core/libclang/LibClang.cpp
@@ -54,7 +54,7 @@ std::vector<std::string> defaultCompileArgs(LibraryVersion version) @@ -58,7 +58,7 @@ std::vector<std::string> defaultCompileArgs(LibraryVersion version)
// we need to add in the associated libclang headers as // we need to add in the associated libclang headers as
// they are not discovered / used by default during compilation // they are not discovered / used by default during compilation
- FilePath llvmPath = s_libraryPath.parent().parent(); - FilePath llvmPath = s_libraryPath.getParent().getParent();
+ FilePath llvmPath("@libclang@"); + FilePath llvmPath("@libclang@");
boost::format fmt("%1%/lib/clang/%2%/include"); boost::format fmt("%1%/lib/clang/%2%/include");
fmt % llvmPath.absolutePath() % version.asString(); fmt % llvmPath.getAbsolutePath() % version.asString();
std::string includePath = fmt.str(); std::string includePath = fmt.str();
@@ -77,10 +77,7 @@ std::vector<std::string> systemClangVersions() @@ -70,46 +70,7 @@ std::vector<std::string> defaultCompileArgs(LibraryVersion version)
#elif defined(__unix__)
// default set of versions std::vector<std::string> systemClangVersions()
clangVersions = { {
- std::vector<std::string> clangVersions;
-
-#if defined(__APPLE__)
- // NOTE: the version of libclang.dylib bundled with Xcode
- // doesn't seem to work well when loaded as a library
- // (there seems to be extra orchestration required to get
- // include paths set up; easier to just depend on command
- // line tools since we request their installation in other
- // contexts as well)
- clangVersions = {
- "/Library/Developer/CommandLineTools/usr/lib/libclang.dylib"
- };
-#elif defined(__unix__)
- // default set of versions
- clangVersions = {
- "/usr/lib/libclang.so", - "/usr/lib/libclang.so",
- "/usr/lib/llvm/libclang.so", - "/usr/lib/llvm/libclang.so",
- "/usr/lib64/libclang.so", - "/usr/lib64/libclang.so",
- "/usr/lib64/llvm/libclang.so", - "/usr/lib64/llvm/libclang.so",
+ "@libclang.so@" - };
}; -
- // iterate through the set of available 'llvm' directories
// iterate through the set of available 'llvm' directories - for (const char* prefix : {"/usr/lib", "/usr/lib64"})
- {
- FilePath prefixPath(prefix);
- if (!prefixPath.exists())
- continue;
-
- std::vector<FilePath> directories;
- Error error = prefixPath.getChildren(directories);
- if (error)
- LOG_ERROR(error);
-
- // generate a path for each 'llvm' directory
- for (const FilePath& path : directories)
- if (path.getFilename().find("llvm") == 0)
- clangVersions.push_back(path.completePath("lib/libclang.so.1").getAbsolutePath());
- }
-#endif
-
+ std::vector<std::string> clangVersions = { "@libclang.so@" };
return clangVersions;
}

View file

@ -1,141 +1,209 @@
{ lib, mkDerivation, fetchurl, fetchpatch, fetchFromGitHub, makeDesktopItem, cmake, boost, zlib { lib
, openssl, R, qtbase, qtxmlpatterns, qtsensors, qtwebengine, qtwebchannel , mkDerivation
, libuuid, hunspellDicts, unzip, ant, jdk, gnumake, makeWrapper, pandoc , fetchurl
, fetchpatch
, fetchFromGitHub
, makeDesktopItem
, copyDesktopItems
, cmake
, boost
, zlib
, openssl
, R
, qtbase
, qtxmlpatterns
, qtsensors
, qtwebengine
, qtwebchannel
, libuuid
, hunspellDicts
, unzip
, ant
, jdk
, gnumake
, makeWrapper
, pandoc
, llvmPackages , llvmPackages
, libyamlcpp
, soci
, postgresql
, nodejs
, mkYarnModules
, qmake
}: }:
with lib;
let let
verMajor = "1";
verMinor = "2";
verPatch = "5042";
version = "${verMajor}.${verMinor}.${verPatch}";
ginVer = "2.1.2";
gwtVer = "2.8.1";
in
mkDerivation rec {
pname = "RStudio"; pname = "RStudio";
inherit version; version = "1.4.1717";
RSTUDIO_VERSION_MAJOR = lib.versions.major version;
nativeBuildInputs = [ cmake unzip ant jdk makeWrapper pandoc ]; RSTUDIO_VERSION_MINOR = lib.versions.minor version;
RSTUDIO_VERSION_PATCH = lib.versions.patch version;
buildInputs = [ boost zlib openssl R qtbase qtxmlpatterns qtsensors
qtwebengine qtwebchannel libuuid ];
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "rstudio"; owner = "rstudio";
repo = "rstudio"; repo = "rstudio";
rev = "v${version}"; rev = version;
sha256 = "1n67fa357v51j3z1ma8v2ydfsx3y8n10k2svmfcf4mdzsi8w0kc5"; sha256 = "sha256-9c1bNsf8kJjpcZ2cMV/pPNtXQkFOntX29a1cdnXpllE=";
}; };
# Hack RStudio to only use the input R and provided libclang.
patches = [ ./r-location.patch ./clang-location.patch
(fetchpatch {
# Fetch a patch to ensure Rstudio compiles against R
# 4.0.0, should be removed next 1.2.X Rstudio update
# or possibly 1.3.X
url = "https://github.com/rstudio/rstudio/commit/3fb2397c2f208bb8ace0bbaf269481ccb96b5b20.patch";
sha256 = "0qpgjy6aash0fc0xbns42cwpj3nsw49nkbzwyq8az01xwg81g0f3";
})
];
postPatch = ''
substituteInPlace src/cpp/core/r_util/REnvironmentPosix.cpp --replace '@R@' ${R}
substituteInPlace src/cpp/core/libclang/LibClang.cpp \
--replace '@libclang@' ${llvmPackages.libclang.lib} \
--replace '@libclang.so@' ${llvmPackages.libclang.lib}/lib/libclang.so
'';
ginSrc = fetchurl {
url = "https://s3.amazonaws.com/rstudio-buildtools/gin-${ginVer}.zip";
sha256 = "16jzmljravpz6p2rxa87k5f7ir8vs7ya75lnfybfajzmci0p13mr";
};
gwtSrc = fetchurl {
url = "https://s3.amazonaws.com/rstudio-buildtools/gwt-${gwtVer}.zip";
sha256 = "19x000m3jwnkqgi6ic81lkzyjvvxcfacw2j0vcfcaknvvagzhyhb";
};
hunspellDictionaries = filter isDerivation (unique (attrValues hunspellDicts));
# These dicts contain identically-named dict files, so we only keep the
# -large versions in case of clashes
largeDicts = filter (d: hasInfix "-large-wordlist" d) hunspellDictionaries;
otherDicts = filter (d: !(hasAttr "dictFileName" d &&
elem d.dictFileName (map (d: d.dictFileName) largeDicts))) hunspellDictionaries;
dictionaries = largeDicts ++ otherDicts;
mathJaxSrc = fetchurl { mathJaxSrc = fetchurl {
url = "https://s3.amazonaws.com/rstudio-buildtools/mathjax-26.zip"; url = "https://s3.amazonaws.com/rstudio-buildtools/mathjax-27.zip";
sha256 = "0wbcqb9rbfqqvvhqr1pbqax75wp8ydqdyhp91fbqfqp26xzjv6lk"; sha256 = "sha256-xWy6psTOA8H8uusrXqPDEtL7diajYCVHcMvLiPsgQXY=";
}; };
rsconnectSrc = fetchFromGitHub { rsconnectSrc = fetchFromGitHub {
owner = "rstudio"; owner = "rstudio";
repo = "rsconnect"; repo = "rsconnect";
rev = "984745d8"; rev = "f5854bb71464f6e3017da9855f058fe3d5b32efd";
sha256 = "037z0y32k1gdda192y5qn5hi7wp8wyap44mkjlklrgcqkmlcylb9"; sha256 = "sha256-ULyWdSgGPSAwMt0t4QPuzeUE6Bo6IJh+5BMgW1bFN+Y=";
}; };
preConfigure = panmirrorModules = mkYarnModules {
'' inherit pname version;
export RSTUDIO_VERSION_MAJOR=${verMajor} packageJSON = ./package.json;
export RSTUDIO_VERSION_MINOR=${verMinor} yarnLock = ./yarn.lock;
export RSTUDIO_VERSION_PATCH=${verPatch} yarnNix = ./yarndeps.nix;
GWT_LIB_DIR=src/gwt/lib
mkdir -p $GWT_LIB_DIR/gin/${ginVer}
unzip ${ginSrc} -d $GWT_LIB_DIR/gin/${ginVer}
unzip ${gwtSrc}
mkdir -p $GWT_LIB_DIR/gwt
mv gwt-${gwtVer} $GWT_LIB_DIR/gwt/${gwtVer}
mkdir dependencies/common/dictionaries
for dict in ${builtins.concatStringsSep " " dictionaries}; do
for i in "$dict/share/hunspell/"*; do
ln -sv $i dependencies/common/dictionaries/
done
done
unzip ${mathJaxSrc} -d dependencies/common/mathjax-26
mkdir -p dependencies/common/pandoc
cp ${pandoc}/bin/pandoc dependencies/common/pandoc/
cp -r ${rsconnectSrc} dependencies/common/rsconnect
pushd dependencies/common
${R}/bin/R CMD build -d --no-build-vignettes rsconnect
popd
'';
cmakeFlags = [ "-DRSTUDIO_TARGET=Desktop" "-DQT_QMAKE_EXECUTABLE=$NIX_QT5_TMP/bin/qmake" ];
desktopItem = makeDesktopItem {
name = "${pname}-${version}";
exec = "rstudio %F";
icon = "rstudio";
desktopName = "RStudio";
genericName = "IDE";
comment = meta.description;
categories = "Development;";
mimeType = "text/x-r-source;text/x-r;text/x-R;text/x-r-doc;text/x-r-sweave;text/x-r-markdown;text/x-r-html;text/x-r-presentation;application/x-r-data;application/x-r-project;text/x-r-history;text/x-r-profile;text/x-tex;text/x-markdown;text/html;text/css;text/javascript;text/x-chdr;text/x-csrc;text/x-c++hdr;text/x-c++src;";
}; };
qtWrapperArgs = [ "--suffix PATH : ${gnumake}/bin" ]; in
mkDerivation rec {
inherit pname version src RSTUDIO_VERSION_MAJOR RSTUDIO_VERSION_MINOR RSTUDIO_VERSION_PATCH;
postInstall = '' nativeBuildInputs = [
mkdir $out/share cmake
cp -r ${desktopItem}/share/applications $out/share unzip
mkdir $out/share/icons ant
ln $out/rstudio.png $out/share/icons jdk
makeWrapper
pandoc
nodejs
copyDesktopItems
];
buildInputs = [
boost
zlib
openssl
R
qtbase
qtxmlpatterns
qtsensors
qtwebengine
qtwebchannel
libuuid
libyamlcpp
soci
postgresql
];
cmakeFlags = [
"-DRSTUDIO_TARGET=Desktop"
"-DCMAKE_BUILD_TYPE=Release"
"-DQT_QMAKE_EXECUTABLE=${qmake}/bin/qmake"
"-DRSTUDIO_USE_SYSTEM_SOCI=ON"
"-DRSTUDIO_USE_SYSTEM_BOOST=ON"
"-DRSTUDIO_USE_SYSTEM_YAML_CPP=ON"
"-DPANDOC_VERSION=${pandoc.version}"
"-DCMAKE_INSTALL_PREFIX=${placeholder "out"}/lib/rstudio"
];
# Hack RStudio to only use the input R and provided libclang.
patches = [
./r-location.patch
./clang-location.patch
# postFetch doesn't work with this | error: unexpected end-of-file
# replacing /usr/bin/node is done in postPatch
# https://src.fedoraproject.org/rpms/rstudio/tree/rawhide
(fetchpatch {
name = "system-node.patch";
url = "https://src.fedoraproject.org/rpms/rstudio/raw/5bda2e290c9e72305582f2011040938d3e356906/f/0004-use-system-node.patch";
sha256 = "sha256-P1Y07RB/ceFNa749nyBUWSE41eiiZgt43zVcmahvfZM=";
})
];
postPatch = ''
substituteInPlace src/cpp/core/r_util/REnvironmentPosix.cpp --replace '@R@' ${R}
substituteInPlace src/cpp/CMakeLists.txt \
--replace 'SOCI_LIBRARY_DIR "/usr/lib"' 'SOCI_LIBRARY_DIR "${soci}/lib"'
substituteInPlace src/gwt/build.xml \
--replace '/usr/bin/node' '${nodejs}/bin/node'
substituteInPlace src/cpp/core/libclang/LibClang.cpp \
--replace '@libclang@' ${llvmPackages.libclang.lib} \
--replace '@libclang.so@' ${llvmPackages.libclang.lib}/lib/libclang.so
substituteInPlace src/cpp/session/include/session/SessionConstants.hpp \
--replace "bin/pandoc" "${pandoc}/bin/pandoc"
''; '';
meta = with lib; hunspellDictionaries = with lib; filter isDerivation (unique (attrValues hunspellDicts));
{ description = "Set of integrated tools for the R language"; # These dicts contain identically-named dict files, so we only keep the
homepage = "https://www.rstudio.com/"; # -large versions in case of clashes
license = licenses.agpl3; largeDicts = with lib; filter (d: hasInfix "-large-wordlist" d) hunspellDictionaries;
maintainers = with maintainers; [ ciil ]; otherDicts = with lib; filter
platforms = platforms.linux; (d: !(hasAttr "dictFileName" d &&
}; elem d.dictFileName (map (d: d.dictFileName) largeDicts)))
hunspellDictionaries;
dictionaries = largeDicts ++ otherDicts;
preConfigure = ''
mkdir dependencies/dictionaries
for dict in ${builtins.concatStringsSep " " dictionaries}; do
for i in "$dict/share/hunspell/"*; do
ln -s $i dependencies/dictionaries/
done
done
unzip -q ${mathJaxSrc} -d dependencies/mathjax-27
mkdir -p dependencies/pandoc/${pandoc.version}
cp ${pandoc}/bin/pandoc dependencies/pandoc/${pandoc.version}/pandoc
cp -r ${rsconnectSrc} dependencies/rsconnect
( cd dependencies && ${R}/bin/R CMD build -d --no-build-vignettes rsconnect )
cp -r "${panmirrorModules}" src/gwt/panmirror/src/editor/node_modules
'';
postInstall = ''
mkdir -p $out/share/icons $out/bin
ln $out/lib/rstudio/rstudio.png $out/share/icons
for f in {diagnostics,rpostback,rstudio}; do
ln -s $out/lib/rstudio/bin/$f $out/bin
done
for f in .gitignore .Rbuildignore LICENSE README; do
find . -name $f -delete
done
rm -r $out/lib/rstudio/{INSTALL,COPYING,NOTICE,README.md,SOURCE,VERSION}
rm -r $out/lib/rstudio/bin/{pandoc/pandoc,pandoc}
'';
qtWrapperArgs = [
"--suffix PATH : ${lib.makeBinPath [ gnumake ]}"
];
desktopItems = [
(makeDesktopItem {
name = "${pname}";
exec = "rstudio %F";
icon = "rstudio";
desktopName = "RStudio";
genericName = "IDE";
comment = meta.description;
categories = "Development;";
mimeType = "text/x-r-source;text/x-r;text/x-R;text/x-r-doc;text/x-r-sweave;text/x-r-markdown;text/x-r-html;text/x-r-presentation;application/x-r-data;application/x-r-project;text/x-r-history;text/x-r-profile;text/x-tex;text/x-markdown;text/html;text/css;text/javascript;text/x-chdr;text/x-csrc;text/x-c++hdr;text/x-c++src;";
})
];
meta = with lib; {
description = "Set of integrated tools for the R language";
homepage = "https://www.rstudio.com/";
license = licenses.agpl3Only;
maintainers = with maintainers; [ ciil ];
platforms = platforms.linux;
};
} }

View file

@ -0,0 +1,83 @@
{
"name": "panmirror",
"version": "0.1.0",
"private": true,
"license": "agpl-3.0",
"dependencies": {
"@types/ace": "^0.0.43",
"@types/clipboard": "^2.0.1",
"@types/diff-match-patch": "^1.0.32",
"@types/js-yaml": "^3.12.3",
"@types/lodash.debounce": "^4.0.6",
"@types/lodash.uniqby": "^4.7.6",
"@types/orderedmap": "^1.0.0",
"@types/prosemirror-commands": "^1.0.3",
"@types/prosemirror-dev-tools": "^2.1.0",
"@types/prosemirror-dropcursor": "^1.0.0",
"@types/prosemirror-gapcursor": "^1.0.1",
"@types/prosemirror-history": "^1.0.1",
"@types/prosemirror-inputrules": "^1.0.3",
"@types/prosemirror-keymap": "^1.0.3",
"@types/prosemirror-model": "^1.7.2",
"@types/prosemirror-schema-list": "^1.0.1",
"@types/prosemirror-state": "^1.2.5",
"@types/prosemirror-tables": "^0.9.1",
"@types/prosemirror-transform": "^1.1.1",
"@types/react": "^16.9.32",
"@types/react-dom": "^16.9.6",
"@types/react-window": "^1.8.2",
"@types/zenscroll": "^4.0.0",
"biblatex-csl-converter": "^1.9.1",
"clipboard": "^2.0.6",
"diff-match-patch": "^1.0.4",
"fuse.js": "^6.0.4",
"js-yaml": "^3.13.1",
"lodash.debounce": "^4.0.8",
"lodash.uniqby": "^4.7.0",
"orderedmap": "^1.0.0",
"prosemirror-changeset": "^2.1.2",
"prosemirror-commands": "^1.1.4",
"prosemirror-dev-tools": "^2.1.1",
"prosemirror-dropcursor": "^1.3.2",
"prosemirror-gapcursor": "^1.1.5",
"prosemirror-history": "^1.1.3",
"prosemirror-inputrules": "^1.1.2",
"prosemirror-keymap": "^1.1.4",
"prosemirror-model": "^1.11.0",
"prosemirror-schema-list": "^1.1.4",
"prosemirror-state": "^1.3.3",
"prosemirror-tables": "^1.1.1",
"prosemirror-transform": "^1.2.8",
"prosemirror-utils": "^0.9.6",
"prosemirror-view": "^1.15.6",
"react": "^16.13.1",
"react-dom": "^16.13.1",
"react-window": "^1.8.5",
"sentence-splitter": "^3.2.0",
"thenby": "^1.3.3",
"tlite": "^0.1.9",
"typescript": "3.8.3",
"zenscroll": "^4.0.2"
},
"scripts": {
"format": "prettier --write \"src/**/*.ts\" \"src/**/*.tsx\"",
"lint": "tslint -c tslint.json 'src/**/*.{ts,tsx}'",
"watch": "tsc --watch --noEmit --project './tsconfig.json'",
"generate-symbols": "ts-node tools/generate-symbols.ts"
},
"devDependencies": {
"@types/node": "^14.0.4",
"@types/unzip": "^0.1.1",
"fast-xml-parser": "^3.17.1",
"fuse-box": "^3.7.1",
"prettier": "^1.18.2",
"terser": "^4.6.2",
"ts-node": "^8.10.2",
"tslint": "^5.20.0",
"tslint-config-prettier": "^1.18.0",
"tslint-react": "^5.0.0",
"typescript-tslint-plugin": "^0.5.5",
"uglify-js": "^3.7.4",
"unzip": "^0.1.11"
}
}

View file

@ -1,19 +1,23 @@
diff -ur rstudio-1.1.216-old/src/cpp/core/CMakeLists.txt rstudio-1.1.216-new/src/cpp/core/CMakeLists.txt diff --git a/src/cpp/core/r_util/REnvironmentPosix.cpp b/src/cpp/core/r_util/REnvironmentPosix.cpp
--- rstudio-1.1.216-old/src/cpp/core/r_util/REnvironmentPosix.cpp 2017-04-30 03:37:26.669418665 -0400 index dbc9a9a1..9a526a86 100644
+++ rstudio-1.1.216-new/src/cpp/core/r_util/REnvironmentPosix.cpp 2017-04-30 03:36:33.590726185 -0400 --- a/src/cpp/core/r_util/REnvironmentPosix.cpp
@@ -87,10 +87,7 @@ +++ b/src/cpp/core/r_util/REnvironmentPosix.cpp
@@ -107,12 +107,9 @@ FilePath systemDefaultRScript(std::string* pErrMsg)
{ {
// define potential paths // check fallback paths
std::vector<std::string> rScriptPaths; std::vector<std::string> rScriptPaths = {
- rScriptPaths.push_back("/usr/bin/R"); - "/usr/bin/R",
- rScriptPaths.push_back("/usr/local/bin/R"); - "/usr/local/bin/R",
- rScriptPaths.push_back("/opt/local/bin/R"); - "/opt/local/bin/R",
- rScriptPaths.push_back("/Library/Frameworks/R.framework/Resources/bin/R"); + "@R@/bin/R"
+ rScriptPaths.push_back("@R@/bin/R"); #ifdef __APPLE__
return scanForRScript(rScriptPaths, pErrMsg); - "/opt/homebrew/bin/R",
} - "/Library/Frameworks/R.framework/Resources/bin/R",
+ "@R@/bin/R",
#endif
};
@@ -226,8 +223,7 @@ @@ -225,8 +222,7 @@ FilePath systemDefaultRScript(std::string* pErrMsg)
// scan in standard locations as a fallback // scan in standard locations as a fallback
std::string scanErrMsg; std::string scanErrMsg;
std::vector<std::string> rScriptPaths; std::vector<std::string> rScriptPaths;
@ -21,5 +25,6 @@ diff -ur rstudio-1.1.216-old/src/cpp/core/CMakeLists.txt rstudio-1.1.216-new/src
- rScriptPaths.push_back("/usr/bin/R"); - rScriptPaths.push_back("/usr/bin/R");
+ rScriptPaths.push_back("@R@/bin/R"); + rScriptPaths.push_back("@R@/bin/R");
FilePath scriptPath = scanForRScript(rScriptPaths, &scanErrMsg); FilePath scriptPath = scanForRScript(rScriptPaths, &scanErrMsg);
if (scriptPath.empty()) if (scriptPath.isEmpty())
{ {

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -14,17 +14,17 @@ let
archive_fmt = if stdenv.isDarwin then "zip" else "tar.gz"; archive_fmt = if stdenv.isDarwin then "zip" else "tar.gz";
sha256 = { sha256 = {
x86_64-linux = "1mpvikps5l2vynw7afrpkp4ah0q6q2q4q8d074b4vfwhaj1v6v75"; x86_64-linux = "069jdwqs9z2z95mjs9nx58rp1516dyyqn5bc0vgr7xvlbis97lq0";
x86_64-darwin = "0r65wfyzc90lhd0i61xkb8kq9339b3ddyqp5dx7wf0aydgi203br"; x86_64-darwin = "1bd32dkpyfgknxqn76jcwpa47rac9q14glbf5sb1rh9rfav0m1m8";
aarch64-linux = "0d4kqjhyq8s7ini25m2igf37bzb2dw01jv62nps3yx3cr52vzyn2"; aarch64-linux = "1axxnys3pd2qrvj6mqpa5cih44b4dbpgi8mvn616d8d45jgdnc1r";
aarch64-darwin = "0h5g3h8z1wl7pz6ddlchnwqns956pyi1c3fjivsff0f0yhmdlva7"; aarch64-darwin = "0bdp0k20lfwpsl1a3dz6c97s0b5bp3rhb66jwgbyyc16zrz79r1z";
armv7l-linux = "0fyxmq3i4kc1x013xs9flcbkmzzy9sqhjhcj5n38w6mswsb97qrv"; armv7l-linux = "077w5hvc4brb56zs0w37nr4a8vlcij5z3yrv3rz16p58nnkj56hs";
}.${system}; }.${system};
in in
callPackage ./generic.nix rec { callPackage ./generic.nix rec {
# Please backport all compatible updates to the stable release. # Please backport all compatible updates to the stable release.
# This is important for the extension ecosystem. # This is important for the extension ecosystem.
version = "1.61.0"; version = "1.61.1";
pname = "vscode"; pname = "vscode";
executableName = "code" + lib.optionalString isInsiders "-insiders"; executableName = "code" + lib.optionalString isInsiders "-insiders";

View file

@ -13,10 +13,10 @@ let
archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz"; archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
sha256 = { sha256 = {
x86_64-linux = "072wdzl8gp4ygprgza4cfg46fvrd13zx9za5fa8s6vsd9w1l95l7"; x86_64-linux = "0ic7h5aq1lyplk01bydqwrvz40h59sf0n0q4gxj844k4qidy14md";
x86_64-darwin = "083sipxp9r7g6p6la15jjlib52l8xjbfxn2cb05scigq3zsyffy7"; x86_64-darwin = "15s3vj7740ksb82gdjqpxw6cyd45ymdpacamkqk800929cv715qs";
aarch64-linux = "1s82f6ba57r7bnjhbanmih5g7wa001sf6php1402w06cxxy7dz00"; aarch64-linux = "0n3bxggfzlr1cqarq861yfqka3qfgpwvk8j22l7dv4vki06f8jzy";
armv7l-linux = "113nk1rqw07giqq8pnc11dymzxdhj3nn3q2p0fppnm3lpccaq9hs"; armv7l-linux = "0jksfdals8xf3vh5hqrd40pj5qn8byjrakjnrv926qznxjj152bn";
}.${system}; }.${system};
sourceRoot = { sourceRoot = {
@ -31,7 +31,7 @@ in
# Please backport all compatible updates to the stable release. # Please backport all compatible updates to the stable release.
# This is important for the extension ecosystem. # This is important for the extension ecosystem.
version = "1.61.0"; version = "1.61.1";
pname = "vscodium"; pname = "vscodium";
executableName = "codium"; executableName = "codium";

View file

@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
description = "A boxy 3D model editor powered by Electron"; description = "A boxy 3D model editor powered by Electron";
homepage = "https://blockbench.net/"; homepage = "https://blockbench.net/";
license = licenses.gpl3Only; license = licenses.gpl3Only;
maintainers = [ maintainers.ronthecookie ]; maintainers = [ maintainers.ckie ];
platforms = [ "x86_64-linux" ]; platforms = [ "x86_64-linux" ];
}; };
} }

View file

@ -33,11 +33,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gthumb"; pname = "gthumb";
version = "3.11.4"; version = "3.12.0";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "sha256-3ZsPiUXX34Ev/a3OyMO94dyXZyMy4AVt5Cp/ELZLIGw="; sha256 = "sha256-Pe/8AwOE5ktXNhxDfHm0ga4Uie9EyHroVugbsQ2OOD8=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View file

@ -10,14 +10,14 @@
python3Packages.buildPythonPackage rec { python3Packages.buildPythonPackage rec {
pname = "hydrus"; pname = "hydrus";
version = "457"; version = "458";
format = "other"; format = "other";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "hydrusnetwork"; owner = "hydrusnetwork";
repo = "hydrus"; repo = "hydrus";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-ZXBVJc+9dFzi75JYl3U3ic0MKolWMsdR3UkLe5EOzsw="; sha256 = "sha256-oVNgXelFMVT5V41SRlnN+pnYzOWbdDKQQcvRWFZqEro=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View file

@ -113,7 +113,6 @@ stdenv.mkDerivation {
''; '';
homepage = "http://www.sane-project.org/"; homepage = "http://www.sane-project.org/";
license = licenses.gpl2Plus; license = licenses.gpl2Plus;
maintainers = with maintainers; [ peti ];
platforms = platforms.linux; platforms = platforms.linux;
}; };
} }

View file

@ -23,7 +23,6 @@ stdenv.mkDerivation rec {
description = "Scanner Access Now Easy"; description = "Scanner Access Now Easy";
homepage = "http://www.sane-project.org/"; homepage = "http://www.sane-project.org/";
license = licenses.gpl2Plus; license = licenses.gpl2Plus;
maintainers = with maintainers; [ peti ];
platforms = platforms.linux; platforms = platforms.linux;
}; };
} }

View file

@ -27,7 +27,6 @@ stdenv.mkDerivation rec {
homepage = "http://www.sane-project.org/"; homepage = "http://www.sane-project.org/";
description = "Graphical scanning frontend for sane"; description = "Graphical scanning frontend for sane";
license = lib.licenses.gpl2Plus; license = lib.licenses.gpl2Plus;
maintainers = with lib.maintainers; [peti];
platforms = with lib.platforms; linux; platforms = with lib.platforms; linux;
}; };
} }

View file

@ -41,11 +41,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "shotwell"; pname = "shotwell";
version = "0.31.3"; version = "0.30.14";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "1wkahbnnfxmi1jc5zmm3h761nrnkdks8lk0rj38bfkwg90h6zqwd"; sha256 = "sha256-McLkgzkI02GcssNnWgXw2lnCuqduKLkFOF/VbADBKJU=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View file

@ -33,11 +33,11 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "1password"; pname = "1password";
version = "8.2.0"; version = "8.3.0";
src = fetchurl { src = fetchurl {
url = "https://downloads.1password.com/linux/tar/stable/x86_64/1password-${version}.x64.tar.gz"; url = "https://downloads.1password.com/linux/tar/stable/x86_64/1password-${version}.x64.tar.gz";
sha256 = "1hnpvvval8a9ny5x5zffn5lf5qrwc4hcs3jvhqmd7m4adh2i6y2i"; sha256 = "1cakv316ipwyw6s3x4a6qhl0nmg17bxhh08c969gma3svamh1grw";
}; };
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];

View file

@ -3,13 +3,13 @@
python3Packages.buildPythonApplication rec { python3Packages.buildPythonApplication rec {
pname = "electron-cash"; pname = "electron-cash";
version = "4.2.4"; version = "4.2.5";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Electron-Cash"; owner = "Electron-Cash";
repo = "Electron-Cash"; repo = "Electron-Cash";
rev = version; rev = version;
sha256 = "sha256-hiOS0cTaPqllb31p+6nU4GYvw/E1Hdn8yd3sppzGkqg="; sha256 = "sha256-ALIrNnhpX46xdQdfJdx/9e/QtdyBEgi5xLrbuOBJR7o=";
}; };
propagatedBuildInputs = with python3Packages; [ propagatedBuildInputs = with python3Packages; [

View file

@ -25,7 +25,6 @@ stdenv.mkDerivation rec {
IPSEC. IPSEC.
''; '';
platforms = platforms.unix; platforms = platforms.unix;
maintainers = [ maintainers.peti ];
license = licenses.gpl2Plus; license = licenses.gpl2Plus;
}; };
} }

View file

@ -19,14 +19,14 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "fnott"; pname = "fnott";
version = "1.1.0"; version = "1.1.2";
src = fetchFromGitea { src = fetchFromGitea {
domain = "codeberg.org"; domain = "codeberg.org";
owner = "dnkl"; owner = "dnkl";
repo = "fnott"; repo = "fnott";
rev = version; rev = version;
sha256 = "sha256-gzU5AqjCIZlhLbnj/xuSGJ69ZhLv9zQxlM0Nn+MIX/U="; sha256 = "sha256-+x3uN7Uj0fqO0kpHlOVnsshgEJA1z/6ZElKSTyLzfG4=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View file

@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
homepage = "http://nostatic.org/grip"; homepage = "http://nostatic.org/grip";
license = lib.licenses.gpl2Plus; license = lib.licenses.gpl2Plus;
maintainers = with lib.maintainers; [ marcweber peti ]; maintainers = with lib.maintainers; [ marcweber ];
platforms = lib.platforms.linux; platforms = lib.platforms.linux;
}; };
} }

View file

@ -4,9 +4,9 @@
, curl, writeShellScript, common-updater-scripts }: , curl, writeShellScript, common-updater-scripts }:
let let
url = "https://hubstaff-production.s3.amazonaws.com/downloads/HubstaffClient/Builds/Release/1.6.2-b5029032/Hubstaff-1.6.2-b5029032.sh"; url = "https://hubstaff-production.s3.amazonaws.com/downloads/HubstaffClient/Builds/Release/1.6.2-328c666b/Hubstaff-1.6.2-328c666b.sh";
version = "1.6.2-b5029032"; version = "1.6.2-328c666b";
sha256 = "1q3gimg6bcpdnm1fkn1vq3b6shwgi6y84bixisyfcva5px7dmi4s"; sha256 = "0fmlblw19qk9s9xsl0dl705cnns825wrlc7navii4bvbsn6ycl5v";
rpath = lib.makeLibraryPath rpath = lib.makeLibraryPath
[ libX11 zlib libSM libICE libXext freetype libXrender fontconfig libXft [ libX11 zlib libSM libICE libXext freetype libXrender fontconfig libXft

View file

@ -74,6 +74,5 @@ stdenv.mkDerivation rec {
homepage = "http://ikiwiki.info/"; homepage = "http://ikiwiki.info/";
license = licenses.gpl2Plus; license = licenses.gpl2Plus;
platforms = platforms.linux; platforms = platforms.linux;
maintainers = [ maintainers.peti ];
}; };
} }

View file

@ -121,4 +121,16 @@ in buildFHSUserEnv {
ln -sf ${lutris-unwrapped}/share/applications $out/share ln -sf ${lutris-unwrapped}/share/applications $out/share
ln -sf ${lutris-unwrapped}/share/icons $out/share ln -sf ${lutris-unwrapped}/share/icons $out/share
''; '';
meta = {
inherit (lutris-unwrapped.meta)
homepage
description
platforms
license
maintainers
broken;
mainProgram = "lutris";
};
} }

View file

@ -2,47 +2,51 @@
, stdenv , stdenv
, fetchFromGitHub , fetchFromGitHub
, gtk4 , gtk4
, gtksourceview , hicolor-icon-theme
, json-glib , json-glib
, libadwaita , libadwaita
, libgee , libgee
, meson , meson
, ninja , ninja
, nix-update-script , nix-update-script
, pantheon
, pkg-config , pkg-config
, python3 , python3
, vala , vala
, wrapGAppsHook , wrapGAppsHook4
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "notejot"; pname = "notejot";
version = "3.1.5"; version = "3.2.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "lainsce"; owner = "lainsce";
repo = pname; repo = pname;
rev = version; rev = version;
hash = "sha256-wsHQvN+sqAMs1QldiRoc9JlF4d54JFqNkqC+lyuHC7M="; hash = "sha256-WyW1tGhO3+OykNa8BRavi93cBMOSBJw0M+0bwQHJOjU=";
}; };
patches = [
# build: use gtk4-update-icon-cache
# https://github.com/lainsce/notejot/pull/307
./use-gtk4-update-icon-cache.patch
];
nativeBuildInputs = [ nativeBuildInputs = [
meson meson
ninja ninja
vala
pkg-config pkg-config
python3 python3
wrapGAppsHook vala
wrapGAppsHook4
]; ];
buildInputs = [ buildInputs = [
gtk4 gtk4
gtksourceview hicolor-icon-theme
json-glib json-glib
libadwaita libadwaita
libgee libgee
pantheon.elementary-icon-theme
pantheon.granite
]; ];
postPatch = '' postPatch = ''
@ -50,6 +54,10 @@ stdenv.mkDerivation rec {
patchShebangs build-aux/post_install.py patchShebangs build-aux/post_install.py
''; '';
passthru.updateScript = nix-update-script {
attrPath = pname;
};
meta = with lib; { meta = with lib; {
homepage = "https://github.com/lainsce/notejot"; homepage = "https://github.com/lainsce/notejot";
description = "Stupidly-simple sticky notes applet"; description = "Stupidly-simple sticky notes applet";
@ -57,8 +65,4 @@ stdenv.mkDerivation rec {
maintainers = with maintainers; [ AndersonTorres ] ++ teams.pantheon.members; maintainers = with maintainers; [ AndersonTorres ] ++ teams.pantheon.members;
platforms = platforms.linux; platforms = platforms.linux;
}; };
passthru.updateScript = nix-update-script {
attrPath = pname;
};
} }

View file

@ -0,0 +1,20 @@
diff --git a/build-aux/post_install.py b/build-aux/post_install.py
index 1278304..fface6d 100644
--- a/build-aux/post_install.py
+++ b/build-aux/post_install.py
@@ -2,11 +2,13 @@
import os
import subprocess
-schemadir = os.path.join(os.environ['MESON_INSTALL_PREFIX'], 'share', 'glib-2.0', 'schemas')
+install_prefix = os.environ['MESON_INSTALL_PREFIX']
+icondir = os.path.join(install_prefix, 'share', 'icons', 'hicolor')
+schemadir = os.path.join(install_prefix, 'share', 'glib-2.0', 'schemas')
if not os.environ.get('DESTDIR'):
print('Compiling gsettings schemas…')
subprocess.call(['glib-compile-schemas', schemadir], shell=False)
print('Rebuilding desktop icons cache...')
- subprocess.call(['gtk-update-icon-cache', '/usr/share/icons/hicolor/'], shell=False)
+ subprocess.call(['gtk4-update-icon-cache', '-qtf', icondir], shell=False)

View file

@ -8,7 +8,6 @@
, gettext , gettext
, yelp-tools , yelp-tools
, itstool , itstool
, libxmlxx3
, python , python
, pygobject3 , pygobject3
, gtk3 , gtk3
@ -35,13 +34,13 @@
buildPythonApplication rec { buildPythonApplication rec {
pname = "orca"; pname = "orca";
version = "40.0"; version = "41.0";
format = "other"; format = "other";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
sha256 = "0hq0zdcn80ficpcffbk667907v6m7dih3dhyc7ss01mrj3iyw000"; sha256 = "dpflFEXhn9d05osWCtr2aHuAgXLeBBdgLhaXZra21L0=";
}; };
patches = [ patches = [
@ -58,7 +57,6 @@ buildPythonApplication rec {
autoreconfHook autoreconfHook
wrapGAppsHook wrapGAppsHook
pkg-config pkg-config
libxmlxx3
gettext gettext
yelp-tools yelp-tools
itstool itstool

View file

@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "ttyper"; pname = "ttyper";
version = "0.2.5"; version = "0.3.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "max-niederman"; owner = "max-niederman";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "1fsb77ky92fyv3ll6zrbxbd69gm85xnc6bivj7sc3sv5cxhgr7a5"; sha256 = "sha256-9vcoK2mFEivTSZE3KoQRHUr3AfQ/aN5eWP//Jagw3gU=";
}; };
cargoSha256 = "1sqdql0kfr1vsww6hkrp7yjlzx0mnhfma51z699hkx9c492sf1wk"; cargoSha256 = "sha256-VzO32b5oAoXR/Ei9up00XRM63I5kuG68TeX4KBCXIdo=";
meta = with lib; { meta = with lib; {
description = "Terminal-based typing test"; description = "Terminal-based typing test";

View file

@ -10,11 +10,11 @@
let isFullPackage = mediaSupport; let isFullPackage = mediaSupport;
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
pname = if isFullPackage then "vifm-full" else "vifm"; pname = if isFullPackage then "vifm-full" else "vifm";
version = "0.11"; version = "0.12";
src = fetchurl { src = fetchurl {
url = "https://github.com/vifm/vifm/releases/download/v${version}/vifm-${version}.tar.bz2"; url = "https://github.com/vifm/vifm/releases/download/v${version}/vifm-${version}.tar.bz2";
sha256 = "0rqyd424y0g5b5basw2ybb60r9gar4f40d1xgzr3c2dsy4jpwvyh"; sha256 = "1h5j4y704nciyzg3aaav8sl3r5h9mpwq8f28cj65nnxk6a7n3a9k";
}; };
nativeBuildInputs = [ pkg-config makeWrapper ]; nativeBuildInputs = [ pkg-config makeWrapper ];

View file

@ -10,11 +10,11 @@
# Based on https://gist.github.com/msteen/96cb7df66a359b827497c5269ccbbf94 and joplin-desktop nixpkgs. # Based on https://gist.github.com/msteen/96cb7df66a359b827497c5269ccbbf94 and joplin-desktop nixpkgs.
let let
pname = "zettlr"; pname = "zettlr";
version = "1.8.9"; version = "2.0.0";
name = "${pname}-${version}"; name = "${pname}-${version}";
src = fetchurl { src = fetchurl {
url = "https://github.com/Zettlr/Zettlr/releases/download/v${version}/Zettlr-${version}-x86_64.appimage"; url = "https://github.com/Zettlr/Zettlr/releases/download/v${version}/Zettlr-${version}-x86_64.appimage";
sha256 = "sha256-1cU9HdPXrJ4ibSjOitO8iJfMIaGub/jjlb2lssYFfcU="; sha256 = "sha256-MIFgNUuuneIIkPRVRarbx6UMoB/3sdJtKvbacUnwHX8=";
}; };
appimageContents = appimageTools.extractType2 { appimageContents = appimageTools.extractType2 {
inherit name src; inherit name src;

View file

@ -6,7 +6,7 @@
# Native build inputs: # Native build inputs:
, ninja, pkg-config , ninja, pkg-config
, python2, python3, perl , python3, perl
, gnutar, which , gnutar, which
, llvmPackages , llvmPackages
# postPatch: # postPatch:
@ -34,6 +34,7 @@
, libva , libva
, libdrm, wayland, libxkbcommon # Ozone , libdrm, wayland, libxkbcommon # Ozone
, curl , curl
, epoxy
# postPatch: # postPatch:
, glibc # gconv + locale , glibc # gconv + locale
@ -56,6 +57,10 @@ let
python3WithPackages = python3.withPackages(ps: with ps; [ python3WithPackages = python3.withPackages(ps: with ps; [
ply jinja2 setuptools ply jinja2 setuptools
]); ]);
clangFormatPython3 = fetchurl {
url = "https://chromium.googlesource.com/chromium/tools/build/+/e77882e0dde52c2ccf33c5570929b75b4a2a2522/recipes/recipe_modules/chromium/resources/clang-format?format=TEXT";
sha256 = "0ic3hn65dimgfhakli1cyf9j3cxcqsf1qib706ihfhmlzxf7256l";
};
# The additional attributes for creating derivations based on the chromium # The additional attributes for creating derivations based on the chromium
# source tree. # source tree.
@ -122,7 +127,7 @@ let
nativeBuildInputs = [ nativeBuildInputs = [
ninja pkg-config ninja pkg-config
python2 python3WithPackages perl python3WithPackages perl
gnutar which gnutar which
llvmPackages.bintools llvmPackages.bintools
]; ];
@ -147,6 +152,8 @@ let
libva libva
libdrm wayland mesa.drivers libxkbcommon libdrm wayland mesa.drivers libxkbcommon
curl curl
] ++ optionals (chromiumVersionAtLeast "96") [
epoxy
] ++ optionals gnomeSupport [ gnome2.GConf libgcrypt ] ] ++ optionals gnomeSupport [ gnome2.GConf libgcrypt ]
++ optional gnomeKeyringSupport libgnome-keyring3 ++ optional gnomeKeyringSupport libgnome-keyring3
++ optionals cupsSupport [ libgcrypt cups ] ++ optionals cupsSupport [ libgcrypt cups ]
@ -209,6 +216,9 @@ let
# Allow to put extensions into the system-path. # Allow to put extensions into the system-path.
sed -i -e 's,/usr,/run/current-system/sw,' chrome/common/chrome_paths.cc sed -i -e 's,/usr,/run/current-system/sw,' chrome/common/chrome_paths.cc
# We need the fix for https://bugs.chromium.org/p/chromium/issues/detail?id=1254408:
base64 --decode ${clangFormatPython3} > buildtools/linux64/clang-format
patchShebangs . patchShebangs .
# Link to our own Node.js and Java (required during the build): # Link to our own Node.js and Java (required during the build):
mkdir -p third_party/node/linux/node-linux-x64/bin mkdir -p third_party/node/linux/node-linux-x64/bin

View file

@ -18,9 +18,9 @@
} }
}, },
"beta": { "beta": {
"version": "95.0.4638.40", "version": "95.0.4638.49",
"sha256": "1v1n113rh5nzfbk5xaq4kp7fdg5n9rca978a9700nmrd0gqpd2hn", "sha256": "11fiq6p2d99hl166pf39g83pk7m7ibi1zz19wj7qmcc7ql7006jz",
"sha256bin64": "0xadlal8fb7hqjcq6d931if555spw72wa4d23m0fqcan31sky3i0", "sha256bin64": "04s81fnr01jq74fpl5n6jg8iw5iw6sdwyz40zja68h1crxh5d6d6",
"deps": { "deps": {
"gn": { "gn": {
"version": "2021-08-11", "version": "2021-08-11",
@ -31,9 +31,9 @@
} }
}, },
"dev": { "dev": {
"version": "96.0.4662.6", "version": "96.0.4664.9",
"sha256": "14vr0nlp195h0hwfsd43fifl9r3qr875fw2da3gi9l5yi0pxns2q", "sha256": "0hlniaglnd19cb3k2wi9mmf56ws8i89lm5y2dbjpr7vqnmj6qc39",
"sha256bin64": "1lq114rsgxqrdh18f2x3i0iwdn5ijxw3jb6nrxjxx0c3bvlzhsw8", "sha256bin64": "1crl8gbhjyaa0yhkvm4va0g9dyljra8n5zg9bd1znmjlk0c124x3",
"deps": { "deps": {
"gn": { "gn": {
"version": "2021-09-24", "version": "2021-09-24",

View file

@ -1,7 +1,7 @@
#!/usr/bin/env nix-shell #!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl gnugrep gnused jq #!nix-shell -i bash -p curl gnugrep gnused jq
set -eu -o pipefail set -x -eu -o pipefail
cd $(dirname "${BASH_SOURCE[0]}") cd $(dirname "${BASH_SOURCE[0]}")
@ -14,7 +14,7 @@ SHA256=$(nix-prefetch-url --quiet --unpack https://github.com/fluxcd/flux2/archi
SPEC_SHA256=$(nix-prefetch-url --quiet --unpack https://github.com/fluxcd/flux2/releases/download/${TAG}/manifests.tar.gz) SPEC_SHA256=$(nix-prefetch-url --quiet --unpack https://github.com/fluxcd/flux2/releases/download/${TAG}/manifests.tar.gz)
setKV () { setKV () {
sed -i "s|$1 = \".*\"|$1 = \"$2\"|" ./default.nix sed -i "s|$1 = \".*\"|$1 = \"${2:-}\"|" ./default.nix
} }
setKV version ${VERSION} setKV version ${VERSION}
@ -24,8 +24,15 @@ setKV vendorSha256 ""
cd ../../../../../ cd ../../../../../
set +e set +e
VENDOR_SHA256=$(nix-build --no-out-link -A fluxcd 2>&1 | grep "got:" | cut -d':' -f2 | sed 's/ //g') VENDOR_SHA256=$(nix-build --no-out-link -A fluxcd 2>&1 | grep "got:" | cut -d':' -f2 | sed 's| ||g')
set -e set -e
cd - > /dev/null cd - > /dev/null
setKV vendorSha256 ${VENDOR_SHA256}
if [ -n "${VENDOR_SHA256:-}" ]; then
setKV vendorSha256 ${VENDOR_SHA256}
else
echo "Update failed. VENDOR_SHA256 is empty."
exit 1
fi

View file

@ -2,10 +2,12 @@
{ {
helm-diff = callPackage ./helm-diff.nix {}; helm-diff = callPackage ./helm-diff.nix { };
helm-s3 = callPackage ./helm-s3.nix {}; helm-git = callPackage ./helm-git.nix { };
helm-secrets = callPackage ./helm-secrets.nix {}; helm-s3 = callPackage ./helm-s3.nix { };
helm-secrets = callPackage ./helm-secrets.nix { };
} }

View file

@ -0,0 +1,46 @@
{ lib
, stdenv
, fetchFromGitHub
, coreutils
, findutils
, git
, gnugrep
, gnused
, makeWrapper
}:
stdenv.mkDerivation rec {
pname = "helm-git";
version = "0.10.0";
src = fetchFromGitHub {
owner = "aslafy-z";
repo = pname;
rev = "v${version}";
sha256 = "0hvycqibmlw2zw3nm8rn73v5x1zcgm2jrfdlljbvc1n4n5vnzdrg";
};
nativeBuildInputs = [ makeWrapper ];
# NOTE: helm-git is comprised of shell scripts.
dontBuild = true;
installPhase = ''
install -dm755 $out/helm-git
install -m644 -Dt $out/helm-git plugin.yaml
cp helm-git helm-git-plugin.sh $out/helm-git/
patchShebangs $out/helm-git/helm-git{,-plugin.sh}
wrapProgram $out/helm-git/helm-git \
--prefix PATH : ${lib.makeBinPath [ coreutils findutils git gnugrep gnused ]}
runHook postInstall
'';
meta = with lib; {
description = "The Helm downloader plugin that provides GIT protocol support";
inherit (src.meta) homepage;
license = licenses.mit;
maintainers = with maintainers; [ flokli ];
};
}

View file

@ -1,7 +1,7 @@
#!/usr/bin/env nix-shell #!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl gnugrep gnused jq #!nix-shell -i bash -p curl gnugrep gnused jq
set -eu -o pipefail set -x -eu -o pipefail
WORKDIR=$(mktemp -d) WORKDIR=$(mktemp -d)
trap "rm -rf ${WORKDIR}" EXIT trap "rm -rf ${WORKDIR}" EXIT
@ -45,7 +45,7 @@ CNIPLUGINS_SHA256=$(nix-prefetch-url --quiet --unpack \
"https://github.com/rancher/plugins/archive/refs/tags/v${CNIPLUGINS_VERSION}.tar.gz") "https://github.com/rancher/plugins/archive/refs/tags/v${CNIPLUGINS_VERSION}.tar.gz")
setKV () { setKV () {
sed -i "s|$1 = \".*\"|$1 = \"$2\"|" ./default.nix sed -i "s|$1 = \".*\"|$1 = \"${2:-}\"|" ./default.nix
} }
setKV k3sVersion ${K3S_VERSION} setKV k3sVersion ${K3S_VERSION}

View file

@ -0,0 +1,44 @@
{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
buildGoModule rec {
pname = "kn";
version = "0.26.0";
src = fetchFromGitHub {
owner = "knative";
repo = "client";
rev = "v${version}";
sha256 = "sha256-hquxv1BluR535WvMtJlVyP7JuARDNGDjPAbdSSj2juo=";
};
vendorSha256 = null;
subPackages = [ "cmd/kn" ];
nativeBuildInputs = [ installShellFiles ];
ldflags = [
"-X knative.dev/client/pkg/kn/commands/version.Version=v${version}"
"-X knative.dev/client/pkg/kn/commands/version.VersionEventing=v${version}"
"-X knative.dev/client/pkg/kn/commands/version.VersionServing=v${version}"
];
postInstall = ''
installShellCompletion --cmd kn \
--bash <($out/bin/kn completion bash) \
--zsh <($out/bin/kn completion zsh)
'';
doInstallCheck = true;
installCheckPhase = ''
$out/bin/kn version | grep ${version} > /dev/null
'';
meta = with lib; {
description = "The Knative client kn is your door to the Knative world. It allows you to create Knative resources interactively from the command line or from within scripts";
homepage = "https://github.com/knative/client";
changelog = "https://github.com/knative/client/releases/tag/v${version}";
license = licenses.asl20;
maintainers = with maintainers; [ bryanasdev000 ];
};
}

View file

@ -111,7 +111,7 @@ GEM
zeitwerk (2.4.2) zeitwerk (2.4.2)
PLATFORMS PLATFORMS
x86_64-linux ruby
DEPENDENCIES DEPENDENCIES
krane krane

View file

@ -1,7 +1,7 @@
#!/usr/bin/env nix-shell #!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl gnugrep gnused jq #!nix-shell -i bash -p curl gnugrep gnused jq
set -eu -o pipefail set -x -eu -o pipefail
cd $(dirname "$0") cd $(dirname "$0")
@ -14,7 +14,7 @@ VERSION=$(echo ${TAG} | sed 's/^edge-//')
SHA256=$(nix-prefetch-url --quiet --unpack https://github.com/linkerd/linkerd2/archive/refs/tags/${TAG}.tar.gz) SHA256=$(nix-prefetch-url --quiet --unpack https://github.com/linkerd/linkerd2/archive/refs/tags/${TAG}.tar.gz)
setKV () { setKV () {
sed -i "s|$1 = \".*\"|$1 = \"$2\"|" ./edge.nix sed -i "s|$1 = \".*\"|$1 = \"${2:-}\"|" ./edge.nix
} }
setKV version ${VERSION} setKV version ${VERSION}
@ -25,9 +25,9 @@ cd ../../../../../
set +e set +e
VENDOR_SHA256=$(nix-build --no-out-link -A linkerd_edge 2>&1 | grep "got:" | cut -d':' -f2 | sed 's| ||g') VENDOR_SHA256=$(nix-build --no-out-link -A linkerd_edge 2>&1 | grep "got:" | cut -d':' -f2 | sed 's| ||g')
set -e set -e
cd - > /dev/null
if [ -n "${VENDOR_SHA256:-}" ]; then if [ -n "${VENDOR_SHA256:-}" ]; then
cd - > /dev/null
setKV vendorSha256 ${VENDOR_SHA256} setKV vendorSha256 ${VENDOR_SHA256}
else else
echo "Update failed. VENDOR_SHA256 is empty." echo "Update failed. VENDOR_SHA256 is empty."

View file

@ -1,7 +1,7 @@
#!/usr/bin/env nix-shell #!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl gnugrep gnused jq #!nix-shell -i bash -p curl gnugrep gnused jq
set -eu -o pipefail set -x -eu -o pipefail
cd $(dirname "$0") cd $(dirname "$0")
@ -14,7 +14,7 @@ VERSION=$(echo ${TAG} | sed 's/^stable-//')
SHA256=$(nix-prefetch-url --quiet --unpack https://github.com/linkerd/linkerd2/archive/refs/tags/${TAG}.tar.gz) SHA256=$(nix-prefetch-url --quiet --unpack https://github.com/linkerd/linkerd2/archive/refs/tags/${TAG}.tar.gz)
setKV () { setKV () {
sed -i "s|$1 = \".*\"|$1 = \"$2\"|" ./default.nix sed -i "s|$1 = \".*\"|$1 = \"${2:-}\"|" ./default.nix
} }
setKV version ${VERSION} setKV version ${VERSION}
@ -25,11 +25,11 @@ cd ../../../../../
set +e set +e
VENDOR_SHA256=$(nix-build --no-out-link -A linkerd 2>&1 | grep "got:" | cut -d':' -f2 | sed 's| ||g') VENDOR_SHA256=$(nix-build --no-out-link -A linkerd 2>&1 | grep "got:" | cut -d':' -f2 | sed 's| ||g')
set -e set -e
cd - > /dev/null
if [ -n "${VENDOR_SHA256:-}" ]; then if [ -n "${VENDOR_SHA256:-}" ]; then
cd - > /dev/null setKV vendorSha256 ${VENDOR_SHA256}
setKV vendorSha256 ${VENDOR_SHA256}
else else
echo "Update failed. VENDOR_SHA256 is empty." echo "Update failed. VENDOR_SHA256 is empty."
exit 1 exit 1
fi fi

View file

@ -10,16 +10,16 @@
buildGoModule rec { buildGoModule rec {
pname = "nerdctl"; pname = "nerdctl";
version = "0.11.2"; version = "0.12.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "containerd"; owner = "containerd";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-QkUE4oImP0eg5tofGEUonKzffICG4b3SuPJz9S2ZNfE="; sha256 = "sha256-FRu1h6DT43rPaa9dcgz83w9K+xtzJgB4l/eTu+Fbb+c=";
}; };
vendorSha256 = "sha256-mPOyF1S/g1FpUHHNc+cy0nxk6rK9txnZPYHOSvvfu70="; vendorSha256 = "sha256-QFACe1/5MVbXKTknEyqjWclEQgJSZAJ/QljhLq/tWe4=";
nativeBuildInputs = [ makeWrapper installShellFiles ]; nativeBuildInputs = [ makeWrapper installShellFiles ];

View file

@ -38,14 +38,14 @@ python-versions = "*"
[[package]] [[package]]
name = "boto3" name = "boto3"
version = "1.18.36" version = "1.18.60"
description = "The AWS SDK for Python" description = "The AWS SDK for Python"
category = "main" category = "main"
optional = false optional = false
python-versions = ">= 3.6" python-versions = ">= 3.6"
[package.dependencies] [package.dependencies]
botocore = ">=1.21.36,<1.22.0" botocore = ">=1.21.60,<1.22.0"
jmespath = ">=0.7.1,<1.0.0" jmespath = ">=0.7.1,<1.0.0"
s3transfer = ">=0.5.0,<0.6.0" s3transfer = ">=0.5.0,<0.6.0"
@ -54,7 +54,7 @@ crt = ["botocore[crt] (>=1.21.0,<2.0a0)"]
[[package]] [[package]]
name = "botocore" name = "botocore"
version = "1.21.36" version = "1.21.60"
description = "Low-level, data-driven core of boto 3." description = "Low-level, data-driven core of boto 3."
category = "main" category = "main"
optional = false optional = false
@ -70,7 +70,7 @@ crt = ["awscrt (==0.11.24)"]
[[package]] [[package]]
name = "certifi" name = "certifi"
version = "2021.5.30" version = "2021.10.8"
description = "Python package for providing Mozilla's CA Bundle." description = "Python package for providing Mozilla's CA Bundle."
category = "main" category = "main"
optional = false optional = false
@ -89,7 +89,7 @@ pycparser = "*"
[[package]] [[package]]
name = "charset-normalizer" name = "charset-normalizer"
version = "2.0.4" version = "2.0.7"
description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet."
category = "main" category = "main"
optional = false optional = false
@ -151,7 +151,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
[[package]] [[package]]
name = "jinja2" name = "jinja2"
version = "3.0.1" version = "3.0.2"
description = "A very fast and expressive template engine." description = "A very fast and expressive template engine."
category = "dev" category = "dev"
optional = false optional = false
@ -173,7 +173,7 @@ python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*"
[[package]] [[package]]
name = "libvirt-python" name = "libvirt-python"
version = "7.7.0" version = "7.8.0"
description = "The libvirt virtualization API python binding" description = "The libvirt virtualization API python binding"
category = "main" category = "main"
optional = false optional = false
@ -391,7 +391,7 @@ six = ">=1.5"
[[package]] [[package]]
name = "pytz" name = "pytz"
version = "2021.1" version = "2021.3"
description = "World timezone definitions, modern and historical" description = "World timezone definitions, modern and historical"
category = "dev" category = "dev"
optional = false optional = false
@ -549,7 +549,7 @@ test = ["pytest"]
[[package]] [[package]]
name = "typeguard" name = "typeguard"
version = "2.12.1" version = "2.13.0"
description = "Run-time type checker for Python" description = "Run-time type checker for Python"
category = "main" category = "main"
optional = false optional = false
@ -569,7 +569,7 @@ python-versions = "*"
[[package]] [[package]]
name = "urllib3" name = "urllib3"
version = "1.26.6" version = "1.26.7"
description = "HTTP library with thread-safe connection pooling, file post, and more." description = "HTTP library with thread-safe connection pooling, file post, and more."
category = "main" category = "main"
optional = false optional = false
@ -603,16 +603,16 @@ boto = [
{file = "boto-2.49.0.tar.gz", hash = "sha256:ea0d3b40a2d852767be77ca343b58a9e3a4b00d9db440efb8da74b4e58025e5a"}, {file = "boto-2.49.0.tar.gz", hash = "sha256:ea0d3b40a2d852767be77ca343b58a9e3a4b00d9db440efb8da74b4e58025e5a"},
] ]
boto3 = [ boto3 = [
{file = "boto3-1.18.36-py3-none-any.whl", hash = "sha256:a7fccb61d95230322dd812629455df14167307c569077fa89d297eae73605ffb"}, {file = "boto3-1.18.60-py3-none-any.whl", hash = "sha256:8f3face72d2ac6ad36bd7724410548891ce338b350e6f98574890a7b1d425d78"},
{file = "boto3-1.18.36.tar.gz", hash = "sha256:4df1085f5c24504a1b1a6584947f27b67c26eda123f29d3cecce9b2fd683e09b"}, {file = "boto3-1.18.60.tar.gz", hash = "sha256:45709a04ec5fb67ce5a8eaade3eb0ab24d6eb08d9a9ca6bdb2153047896197fc"},
] ]
botocore = [ botocore = [
{file = "botocore-1.21.36-py3-none-any.whl", hash = "sha256:e3e522fbe0bad1197aa7182451dc05f650310e77cf0a77749f6a5e82794c53de"}, {file = "botocore-1.21.60-py3-none-any.whl", hash = "sha256:890a5835ac00415ff78f1c7118a774aae83c0c70742284b68abd1176f9d05761"},
{file = "botocore-1.21.36.tar.gz", hash = "sha256:5b9a7d30e44b8a0a2bbbde62ae01bf6c349017e836985a0248552b00bbce7fae"}, {file = "botocore-1.21.60.tar.gz", hash = "sha256:3e746ca75fb7539ba3f001169264fa54dfaded2477ffc8bd979ce1e1df200620"},
] ]
certifi = [ certifi = [
{file = "certifi-2021.5.30-py2.py3-none-any.whl", hash = "sha256:50b1e4f8446b06f41be7dd6338db18e0990601dce795c2b1686458aa7e8fa7d8"}, {file = "certifi-2021.10.8-py2.py3-none-any.whl", hash = "sha256:d62a0163eb4c2344ac042ab2bdf75399a71a2d8c7d47eac2e2ee91b9d6339569"},
{file = "certifi-2021.5.30.tar.gz", hash = "sha256:2bbf76fd432960138b3ef6dda3dde0544f27cbf8546c458e60baf371917ba9ee"}, {file = "certifi-2021.10.8.tar.gz", hash = "sha256:78884e7c1d4b00ce3cea67b44566851c4343c120abd683433ce934a68ea58872"},
] ]
cffi = [ cffi = [
{file = "cffi-1.14.6-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:22b9c3c320171c108e903d61a3723b51e37aaa8c81255b5e7ce102775bd01e2c"}, {file = "cffi-1.14.6-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:22b9c3c320171c108e903d61a3723b51e37aaa8c81255b5e7ce102775bd01e2c"},
@ -662,8 +662,8 @@ cffi = [
{file = "cffi-1.14.6.tar.gz", hash = "sha256:c9a875ce9d7fe32887784274dd533c57909b7b1dcadcc128a2ac21331a9765dd"}, {file = "cffi-1.14.6.tar.gz", hash = "sha256:c9a875ce9d7fe32887784274dd533c57909b7b1dcadcc128a2ac21331a9765dd"},
] ]
charset-normalizer = [ charset-normalizer = [
{file = "charset-normalizer-2.0.4.tar.gz", hash = "sha256:f23667ebe1084be45f6ae0538e4a5a865206544097e4e8bbcacf42cd02a348f3"}, {file = "charset-normalizer-2.0.7.tar.gz", hash = "sha256:e019de665e2bcf9c2b64e2e5aa025fa991da8720daa3c1138cadd2fd1856aed0"},
{file = "charset_normalizer-2.0.4-py3-none-any.whl", hash = "sha256:0c8911edd15d19223366a194a513099a302055a962bca2cec0f54b8b63175d8b"}, {file = "charset_normalizer-2.0.7-py3-none-any.whl", hash = "sha256:f7af805c321bfa1ce6714c51f254e0d5bb5e5834039bc17db7ebe3a4cec9492b"},
] ]
colorama = [ colorama = [
{file = "colorama-0.4.4-py2.py3-none-any.whl", hash = "sha256:9f47eda37229f68eee03b24b9748937c7dc3868f906e8ba69fbcbdd3bc5dc3e2"}, {file = "colorama-0.4.4-py2.py3-none-any.whl", hash = "sha256:9f47eda37229f68eee03b24b9748937c7dc3868f906e8ba69fbcbdd3bc5dc3e2"},
@ -676,6 +676,8 @@ cryptography = [
{file = "cryptography-3.4.8-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:34dae04a0dce5730d8eb7894eab617d8a70d0c97da76b905de9efb7128ad7085"}, {file = "cryptography-3.4.8-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:34dae04a0dce5730d8eb7894eab617d8a70d0c97da76b905de9efb7128ad7085"},
{file = "cryptography-3.4.8-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1eb7bb0df6f6f583dd8e054689def236255161ebbcf62b226454ab9ec663746b"}, {file = "cryptography-3.4.8-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1eb7bb0df6f6f583dd8e054689def236255161ebbcf62b226454ab9ec663746b"},
{file = "cryptography-3.4.8-cp36-abi3-manylinux_2_24_x86_64.whl", hash = "sha256:9965c46c674ba8cc572bc09a03f4c649292ee73e1b683adb1ce81e82e9a6a0fb"}, {file = "cryptography-3.4.8-cp36-abi3-manylinux_2_24_x86_64.whl", hash = "sha256:9965c46c674ba8cc572bc09a03f4c649292ee73e1b683adb1ce81e82e9a6a0fb"},
{file = "cryptography-3.4.8-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:3c4129fc3fdc0fa8e40861b5ac0c673315b3c902bbdc05fc176764815b43dd1d"},
{file = "cryptography-3.4.8-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:695104a9223a7239d155d7627ad912953b540929ef97ae0c34c7b8bf30857e89"},
{file = "cryptography-3.4.8-cp36-abi3-win32.whl", hash = "sha256:21ca464b3a4b8d8e86ba0ee5045e103a1fcfac3b39319727bc0fc58c09c6aff7"}, {file = "cryptography-3.4.8-cp36-abi3-win32.whl", hash = "sha256:21ca464b3a4b8d8e86ba0ee5045e103a1fcfac3b39319727bc0fc58c09c6aff7"},
{file = "cryptography-3.4.8-cp36-abi3-win_amd64.whl", hash = "sha256:3520667fda779eb788ea00080124875be18f2d8f0848ec00733c0ec3bb8219fc"}, {file = "cryptography-3.4.8-cp36-abi3-win_amd64.whl", hash = "sha256:3520667fda779eb788ea00080124875be18f2d8f0848ec00733c0ec3bb8219fc"},
{file = "cryptography-3.4.8-pp36-pypy36_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:d2a6e5ef66503da51d2110edf6c403dc6b494cc0082f85db12f54e9c5d4c3ec5"}, {file = "cryptography-3.4.8-pp36-pypy36_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:d2a6e5ef66503da51d2110edf6c403dc6b494cc0082f85db12f54e9c5d4c3ec5"},
@ -701,15 +703,15 @@ imagesize = [
{file = "imagesize-1.2.0.tar.gz", hash = "sha256:b1f6b5a4eab1f73479a50fb79fcf729514a900c341d8503d62a62dbc4127a2b1"}, {file = "imagesize-1.2.0.tar.gz", hash = "sha256:b1f6b5a4eab1f73479a50fb79fcf729514a900c341d8503d62a62dbc4127a2b1"},
] ]
jinja2 = [ jinja2 = [
{file = "Jinja2-3.0.1-py3-none-any.whl", hash = "sha256:1f06f2da51e7b56b8f238affdd6b4e2c61e39598a378cc49345bc1bd42a978a4"}, {file = "Jinja2-3.0.2-py3-none-any.whl", hash = "sha256:8569982d3f0889eed11dd620c706d39b60c36d6d25843961f33f77fb6bc6b20c"},
{file = "Jinja2-3.0.1.tar.gz", hash = "sha256:703f484b47a6af502e743c9122595cc812b0271f661722403114f71a79d0f5a4"}, {file = "Jinja2-3.0.2.tar.gz", hash = "sha256:827a0e32839ab1600d4eb1c4c33ec5a8edfbc5cb42dafa13b81f182f97784b45"},
] ]
jmespath = [ jmespath = [
{file = "jmespath-0.10.0-py2.py3-none-any.whl", hash = "sha256:cdf6525904cc597730141d61b36f2e4b8ecc257c420fa2f4549bac2c2d0cb72f"}, {file = "jmespath-0.10.0-py2.py3-none-any.whl", hash = "sha256:cdf6525904cc597730141d61b36f2e4b8ecc257c420fa2f4549bac2c2d0cb72f"},
{file = "jmespath-0.10.0.tar.gz", hash = "sha256:b85d0567b8666149a93172712e68920734333c0ce7e89b78b3e987f71e5ed4f9"}, {file = "jmespath-0.10.0.tar.gz", hash = "sha256:b85d0567b8666149a93172712e68920734333c0ce7e89b78b3e987f71e5ed4f9"},
] ]
libvirt-python = [ libvirt-python = [
{file = "libvirt-python-7.7.0.tar.gz", hash = "sha256:cc8d6528cef7cf395c5d97566328f16faef6b5653a500b0e88c9c0fc36b72cdb"}, {file = "libvirt-python-7.8.0.tar.gz", hash = "sha256:9d07416d66805bf1a17f34491b3ced2ac6c42b6a012ddf9177e0e3ae1b103fd5"},
] ]
markupsafe = [ markupsafe = [
{file = "MarkupSafe-2.0.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d8446c54dc28c01e5a2dbac5a25f071f6653e6e40f3a8818e8b45d790fe6ef53"}, {file = "MarkupSafe-2.0.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d8446c54dc28c01e5a2dbac5a25f071f6653e6e40f3a8818e8b45d790fe6ef53"},
@ -804,8 +806,8 @@ python-dateutil = [
{file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"}, {file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"},
] ]
pytz = [ pytz = [
{file = "pytz-2021.1-py2.py3-none-any.whl", hash = "sha256:eb10ce3e7736052ed3623d49975ce333bcd712c7bb19a58b9e2089d4057d0798"}, {file = "pytz-2021.3-py2.py3-none-any.whl", hash = "sha256:3672058bc3453457b622aab7a1c3bfd5ab0bdae451512f6cf25f64ed37f5b87c"},
{file = "pytz-2021.1.tar.gz", hash = "sha256:83a4a90894bf38e243cf052c8b58f381bfe9a7a483f6a9cab140bc7f702ac4da"}, {file = "pytz-2021.3.tar.gz", hash = "sha256:acad2d8b20a1af07d4e4c9d2e9285c5ed9104354062f275f3fcd88dcef4f1326"},
] ]
requests = [ requests = [
{file = "requests-2.26.0-py2.py3-none-any.whl", hash = "sha256:6c1246513ecd5ecd4528a0906f910e8f0f9c6b8ec72030dc9fd154dc1a6efd24"}, {file = "requests-2.26.0-py2.py3-none-any.whl", hash = "sha256:6c1246513ecd5ecd4528a0906f910e8f0f9c6b8ec72030dc9fd154dc1a6efd24"},
@ -852,8 +854,8 @@ sphinxcontrib-serializinghtml = [
{file = "sphinxcontrib_serializinghtml-1.1.5-py2.py3-none-any.whl", hash = "sha256:352a9a00ae864471d3a7ead8d7d79f5fc0b57e8b3f95e9867eb9eb28999b92fd"}, {file = "sphinxcontrib_serializinghtml-1.1.5-py2.py3-none-any.whl", hash = "sha256:352a9a00ae864471d3a7ead8d7d79f5fc0b57e8b3f95e9867eb9eb28999b92fd"},
] ]
typeguard = [ typeguard = [
{file = "typeguard-2.12.1-py3-none-any.whl", hash = "sha256:cc15ef2704c9909ef9c80e19c62fb8468c01f75aad12f651922acf4dbe822e02"}, {file = "typeguard-2.13.0-py3-none-any.whl", hash = "sha256:0bc44d1ff865b522eda969627868b0e001c8329296ce50aededbea03febc79ee"},
{file = "typeguard-2.12.1.tar.gz", hash = "sha256:c2af8b9bdd7657f4bd27b45336e7930171aead796711bc4cfc99b4731bb9d051"}, {file = "typeguard-2.13.0.tar.gz", hash = "sha256:04e38f92eb59410c9375d3be23df65e0a7643f2e8bcbd421423d808d2f9e99df"},
] ]
typing-extensions = [ typing-extensions = [
{file = "typing_extensions-3.10.0.2-py2-none-any.whl", hash = "sha256:d8226d10bc02a29bcc81df19a26e56a9647f8b0a6d4a83924139f4a8b01f17b7"}, {file = "typing_extensions-3.10.0.2-py2-none-any.whl", hash = "sha256:d8226d10bc02a29bcc81df19a26e56a9647f8b0a6d4a83924139f4a8b01f17b7"},
@ -861,6 +863,6 @@ typing-extensions = [
{file = "typing_extensions-3.10.0.2.tar.gz", hash = "sha256:49f75d16ff11f1cd258e1b988ccff82a3ca5570217d7ad8c5f48205dd99a677e"}, {file = "typing_extensions-3.10.0.2.tar.gz", hash = "sha256:49f75d16ff11f1cd258e1b988ccff82a3ca5570217d7ad8c5f48205dd99a677e"},
] ]
urllib3 = [ urllib3 = [
{file = "urllib3-1.26.6-py2.py3-none-any.whl", hash = "sha256:39fb8672126159acb139a7718dd10806104dec1e2f0f6c88aab05d17df10c8d4"}, {file = "urllib3-1.26.7-py2.py3-none-any.whl", hash = "sha256:c4fdf4019605b6e5423637e01bc9fe4daef873709a7973e195ceba0a62bbc844"},
{file = "urllib3-1.26.6.tar.gz", hash = "sha256:f57b4c16c62fa2760b7e3d97c35b255512fb6b59a259730f36ba32ce9f8e342f"}, {file = "urllib3-1.26.7.tar.gz", hash = "sha256:4987c65554f7a2dbf30c18fd48778ef124af6fab771a377103da0585e2336ece"},
] ]

View file

@ -6,6 +6,6 @@
callPackage ./generic.nix { callPackage ./generic.nix {
inherit buildGoPackage nvidia_x11 nvidiaGpuSupport; inherit buildGoPackage nvidia_x11 nvidiaGpuSupport;
version = "1.0.11"; version = "1.0.12";
sha256 = "15h7w020p576zl91s5mr4npcmngrqqfj9xzlx6bk9i1cp6h4w0jy"; sha256 = "04fqliz7y4zzs4xraid54mqxwgrzh138nmfcs876vp534slvikpi";
} }

View file

@ -6,7 +6,7 @@
callPackage ./genericModule.nix { callPackage ./genericModule.nix {
inherit buildGoModule nvidia_x11 nvidiaGpuSupport; inherit buildGoModule nvidia_x11 nvidiaGpuSupport;
version = "1.1.5"; version = "1.1.6";
sha256 = "03gxh12bd5mj1l4q3xilil806dsqaqmz93ff7ysf441frgkx3iy3"; sha256 = "1q6fqay1s9qwimjwlldc8hr6009cgx3ghz142mdx36jjv9isj9ln";
vendorSha256 = "0rfd22rf76mwj489zhswah4g3dhhz6davm336xgm9dbnyaz9d8r0"; vendorSha256 = "0rfd22rf76mwj489zhswah4g3dhhz6davm336xgm9dbnyaz9d8r0";
} }

View file

@ -1095,12 +1095,13 @@
"version": "0.1.0" "version": "0.1.0"
}, },
"vault": { "vault": {
"owner": "terraform-providers", "owner": "hashicorp",
"provider-source-address": "registry.terraform.io/hashicorp/vault", "provider-source-address": "registry.terraform.io/hashicorp/vault",
"repo": "terraform-provider-vault", "repo": "terraform-provider-vault",
"rev": "v2.11.0", "rev": "v2.24.1",
"sha256": "1yzakc7jp0rs9axnfdqw409asrbjhq0qa7xn4xzpi7m94g1ii12d", "sha256": "1xk14q06js774lqyylkbp53dnlsbgh3vi38mqqmndh80xigs6d99",
"version": "2.11.0" "version": "2.24.1",
"vendorSha256": "1ksla455qfgxpk2dmq3pg52nyyw3v0bg6fm5s60j6cb0lzvjbq48"
}, },
"vcd": { "vcd": {
"owner": "terraform-providers", "owner": "terraform-providers",

View file

@ -195,8 +195,8 @@ rec {
}; };
terraform_1_0 = mkTerraform { terraform_1_0 = mkTerraform {
version = "1.0.8"; version = "1.0.9";
sha256 = "1755m3h9iz086znjpkhxjbyl3jaxpsqmk73infn9wbhql8pq2wil"; sha256 = "0g97l53xrcafjrzz5inij4q4aaadibn5ilr5j39a6569pkvcvsh3";
vendorSha256 = "00cl42w1mzsi9qd09wydfvp5f2h7lxaay6s2dv0mf47k6h7prf42"; vendorSha256 = "00cl42w1mzsi9qd09wydfvp5f2h7lxaay6s2dv0mf47k6h7prf42";
patches = [ ./provider-path-0_15.patch ]; patches = [ ./provider-path-0_15.patch ];
passthru = { inherit plugins; }; passthru = { inherit plugins; };

View file

@ -2,14 +2,14 @@
python3Packages.buildPythonApplication rec { python3Packages.buildPythonApplication rec {
pname = "flexget"; pname = "flexget";
version = "3.1.137"; version = "3.1.139";
# Fetch from GitHub in order to use `requirements.in` # Fetch from GitHub in order to use `requirements.in`
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "flexget"; owner = "flexget";
repo = "flexget"; repo = "flexget";
rev = "v${version}"; rev = "v${version}";
sha256 = "15zl97laijn42rhh524rfb3h1rky461hwfnlny2maa3h61889xrv"; sha256 = "0gnj89q5mv5qiy6zsp85sswmwzm0y73nffjj3vrccx5lmxd955nv";
}; };
postPatch = '' postPatch = ''

View file

@ -2,7 +2,7 @@
freetype, fontconfig, dbus, libX11, xorg, libXi, libXcursor, libXdamage, freetype, fontconfig, dbus, libX11, xorg, libXi, libXcursor, libXdamage,
libXrandr, libXcomposite, libXext, libXfixes, libXrender, libXtst, libXrandr, libXcomposite, libXext, libXfixes, libXrender, libXtst,
libXScrnSaver, nss, nspr, alsa-lib, cups, expat, udev, wrapGAppsHook, libXScrnSaver, nss, nspr, alsa-lib, cups, expat, udev, wrapGAppsHook,
hicolor-icon-theme, libuuid, at-spi2-core, at-spi2-atk }: hicolor-icon-theme, libuuid, at-spi2-core, at-spi2-atk, libappindicator-gtk3 }:
let let
rpath = lib.makeLibraryPath [ rpath = lib.makeLibraryPath [
@ -21,6 +21,7 @@ let
gnome2.GConf gnome2.GConf
gtk3 gtk3
pango pango
libappindicator-gtk3
libuuid libuuid
libX11 libX11
libXScrnSaver libXScrnSaver

View file

@ -1,33 +1,47 @@
{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, glib, openssl { lib
, glibcLocales, expect, ncurses, libotr, curl, readline, libuuid , stdenv
, cmocka, libmicrohttpd, expat, sqlite, libmesode, autoconf-archive , fetchFromGitHub
, autoconf-archive
, autoAwaySupport ? true, libXScrnSaver ? null, libX11 ? null , autoreconfHook
, notifySupport ? true, libnotify ? null, gdk-pixbuf ? null , cmocka
, traySupport ? true, gtk2 ? null , curl
, pgpSupport ? true, gpgme ? null , expat
, pythonPluginSupport ? true, python ? null , expect
, omemoSupport ? true, libsignal-protocol-c ? null, libgcrypt ? null , glib
, glibcLocales
, libmesode
, libmicrohttpd
, libotr
, libuuid
, ncurses
, openssl
, pkg-config
, readline
, sqlite
, autoAwaySupport ? true, libXScrnSaver ? null, libX11
, notifySupport ? true, libnotify, gdk-pixbuf
, omemoSupport ? true, libsignal-protocol-c, libgcrypt
, pgpSupport ? true, gpgme
, pythonPluginSupport ? true, python
, traySupport ? true, gtk
}: }:
assert autoAwaySupport -> libXScrnSaver != null && libX11 != null; assert autoAwaySupport -> libXScrnSaver != null && libX11 != null;
assert notifySupport -> libnotify != null && gdk-pixbuf != null; assert notifySupport -> libnotify != null && gdk-pixbuf != null;
assert traySupport -> gtk2 != null; assert traySupport -> gtk != null;
assert pgpSupport -> gpgme != null; assert pgpSupport -> gpgme != null;
assert pythonPluginSupport -> python != null; assert pythonPluginSupport -> python != null;
assert omemoSupport -> libsignal-protocol-c != null && libgcrypt != null; assert omemoSupport -> libsignal-protocol-c != null && libgcrypt != null;
with lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "profanity"; pname = "profanity";
version = "0.11.0"; version = "0.11.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "profanity-im"; owner = "profanity-im";
repo = "profanity"; repo = "profanity";
rev = version; rev = version;
sha256 = "0xmzsh0szm8x3hgw65j0cd2bp8cmrnq5pjz49lqajircyzflsngm"; hash = "sha256-8WGHOy0fSW8o7vMCYZqqpvDsn81JZefM6wGfjQ5iKbU=";
}; };
patches = [ patches = [
@ -37,26 +51,42 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true; enableParallelBuilding = true;
nativeBuildInputs = [ nativeBuildInputs = [
autoreconfHook autoconf-archive glibcLocales pkg-config autoconf-archive
autoreconfHook
glibcLocales
pkg-config
]; ];
buildInputs = [ buildInputs = [
expect readline libuuid glib openssl expat ncurses libotr cmocka
curl libmesode cmocka libmicrohttpd sqlite curl
] ++ optionals autoAwaySupport [ libXScrnSaver libX11 ] expat
++ optionals notifySupport [ libnotify gdk-pixbuf ] expect
++ optionals traySupport [ gtk2 ] glib
++ optionals pgpSupport [ gpgme ] libmesode
++ optionals pythonPluginSupport [ python ] libmicrohttpd
++ optionals omemoSupport [ libsignal-protocol-c libgcrypt ]; libotr
libuuid
ncurses
openssl
readline
sqlite
] ++ lib.optionals autoAwaySupport [ libXScrnSaver libX11 ]
++ lib.optionals notifySupport [ libnotify gdk-pixbuf ]
++ lib.optionals omemoSupport [ libsignal-protocol-c libgcrypt ]
++ lib.optionals pgpSupport [ gpgme ]
++ lib.optionals pythonPluginSupport [ python ]
++ lib.optionals traySupport [ gtk ];
# Enable feature flags, so that build fail if libs are missing # Enable feature flags, so that build fail if libs are missing
configureFlags = [ "--enable-c-plugins" "--enable-otr" ] configureFlags = [
++ optionals notifySupport [ "--enable-notifications" ] "--enable-c-plugins"
++ optionals traySupport [ "--enable-icons-and-clipboard" ] "--enable-otr"
++ optionals pgpSupport [ "--enable-pgp" ] ] ++ lib.optionals notifySupport [ "--enable-notifications" ]
++ optionals pythonPluginSupport [ "--enable-python-plugins" ] ++ lib.optionals traySupport [ "--enable-icons-and-clipboard" ]
++ optionals omemoSupport [ "--enable-omemo" ]; ++ lib.optionals pgpSupport [ "--enable-pgp" ]
++ lib.optionals pythonPluginSupport [ "--enable-python-plugins" ]
++ lib.optionals omemoSupport [ "--enable-omemo" ];
preAutoreconf = '' preAutoreconf = ''
mkdir m4 mkdir m4
@ -66,18 +96,15 @@ stdenv.mkDerivation rec {
LC_ALL = "en_US.utf8"; LC_ALL = "en_US.utf8";
meta = { meta = with lib; {
homepage = "http://www.profanity.im/";
description = "A console based XMPP client"; description = "A console based XMPP client";
longDescription = '' longDescription = ''
Profanity is a console based XMPP client written in C using ncurses and Profanity is a console based XMPP client written in C using ncurses and
libstrophe, inspired by Irssi. libstrophe, inspired by Irssi.
''; '';
homepage = "http://www.profanity.im/";
license = licenses.gpl3Plus; license = licenses.gpl3Plus;
platforms = platforms.unix;
changelog = "https://github.com/profanity-im/profanity/releases/tag/${version}";
downloadPage = "https://github.com/profanity-im/profanity/releases/";
maintainers = [ maintainers.devhell ]; maintainers = [ maintainers.devhell ];
updateWalker = true; platforms = platforms.unix;
}; };
} }

View file

@ -40,15 +40,43 @@ assert builtins.elem (lib.toLower chatType) [
assert enablePsiMedia -> enablePlugins; assert enablePsiMedia -> enablePlugins;
mkDerivation rec { mkDerivation {
pname = "psi-plus"; pname = "psi-plus";
version = "1.5.1549";
# Version mask is “X.X.XXXX-R” where “X.X.XXXX” is a mandatory version of Psi
# and “-R” ending is optional revision number.
#
# The “psi-plus-snapshots” generally provides snapshots of these separate
# repositories glued together (there are also dependencies/libraries):
#
# 1. Psi
# 2. Plugins pack for Psi
# 3. “psimedia” plugin
# 4. Resources for Psi (icons, skins, sounds)
#
# “X.X.XXXX” is literally a version of Psi.
# So often when for instance plugins are updated separately a new snapshot is
# created. And that snapshot would also be linked to “X.X.XXXX” version.
# So many commits may have the same associated version of the snapshot.
# But mind that only one Git tag is created for “X.X.XXXX” version.
#
# Its not yet defined in the Psi+ project what value to use as a version for
# any further releases that dont change Psi version.
#
# Lets do what Debian does for instance (appends “-R” where “R” is a revision
# number).
# E.g. https://tracker.debian.org/news/1226321/psi-plus-14554-5-migrated-to-testing/
#
# This has been communicated with the Psi+ main devs in this XMPP MUC chat:
# psi-dev@conference.jabber.ru
#
version = "1.5.1556-2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "psi-plus"; owner = "psi-plus";
repo = "psi-plus-snapshots"; repo = "psi-plus-snapshots";
rev = version; rev = "635879010b6697f7041a7bbea1853a1f4673c7f7";
sha256 = "0jpv6qzfg6xjwkrnci7fav27nxm174i9l5g4vmsbchqpwfk90z2m"; sha256 = "18xvljcm0a9swkyz4diwxi4xaj0w27jnhfgpi8fv5fj11j0g1b3a";
}; };
cmakeFlags = [ cmakeFlags = [
@ -96,7 +124,7 @@ mkDerivation rec {
meta = with lib; { meta = with lib; {
homepage = "https://psi-plus.com"; homepage = "https://psi-plus.com";
description = "XMPP (Jabber) client"; description = "XMPP (Jabber) client based on Qt5";
maintainers = with maintainers; [ orivej misuzu unclechu ]; maintainers = with maintainers; [ orivej misuzu unclechu ];
license = licenses.gpl2Only; license = licenses.gpl2Only;
platforms = platforms.linux; platforms = platforms.linux;

View file

@ -4,13 +4,13 @@
}: }:
let let
version = "1.7.1"; version = "1.7.3";
in in
appimageTools.wrapType2 { appimageTools.wrapType2 {
name = "session-desktop-appimage-${version}"; name = "session-desktop-appimage-${version}";
src = fetchurl { src = fetchurl {
url = "https://github.com/oxen-io/session-desktop/releases/download/v${version}/session-desktop-linux-x86_64-${version}.AppImage"; url = "https://github.com/oxen-io/session-desktop/releases/download/v${version}/session-desktop-linux-x86_64-${version}.AppImage";
sha256 = "126dx37099pjaqgfv5gbmvn5iiwv2a8lvfbqy5i9h1w1gqnihwq6"; sha256 = "0s0zvj9ddrngdzsx8hd07pq3150sq8ab1hbpsi9i2ir99sv1p7gn";
}; };
meta = with lib; { meta = with lib; {

View file

@ -4,11 +4,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "alpine"; pname = "alpine";
version = "2.24"; version = "2.25";
src = fetchurl { src = fetchurl {
url = "http://alpine.x10host.com/alpine/release/src/${pname}-${version}.tar.xz"; url = "http://alpine.x10host.com/alpine/release/src/${pname}-${version}.tar.xz";
sha256 = "1vxw19nx10y7nx01d9i6gah2f3y5r2idbq56l13bdqi91bx9y6k5"; sha256 = "0xppxhcbafq9qa1rns5zl0n238gai08xhvcf2as0nx7nh84ib2k5";
}; };
buildInputs = [ buildInputs = [

View file

@ -1,27 +1,19 @@
{ lib, stdenv, fetchFromGitHub, gettext, makeWrapper, tcl, which, fetchpatch { lib, stdenv, fetchFromGitHub, gettext, makeWrapper, tcl, which
, ncurses, perl , cyrus_sasl, gss, gpgme, libkrb5, libidn, libxml2, notmuch, openssl , ncurses, perl , cyrus_sasl, gss, gpgme, libkrb5, libidn, libxml2, notmuch, openssl
, lmdb, libxslt, docbook_xsl, docbook_xml_dtd_42, w3m, mailcap, sqlite, zlib , lmdb, libxslt, docbook_xsl, docbook_xml_dtd_42, w3m, mailcap, sqlite, zlib
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "20210205"; version = "20211015";
pname = "neomutt"; pname = "neomutt";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "neomutt"; owner = "neomutt";
repo = "neomutt"; repo = "neomutt";
rev = version; rev = version;
sha256 = "sha256-ADg/+gmndOiuQHsncOzS5K4chthXeUFz6RRJsrZNeZY="; sha256 = "sha256-ObYeh9Q/WZ1N60pxR2LoDNCU8rP4tQt/oIxnqALqMhs=";
}; };
patches = [
(fetchpatch {
name = "CVE-2021-32055.patch";
url = "https://github.com/neomutt/neomutt/commit/fa1db5785e5cfd9d3cd27b7571b9fe268d2ec2dc.patch";
sha256 = "0bb7gisjynq3w7hhl6vxa469h609bcz6fkdi8vf740pqrwhk68yn";
})
];
buildInputs = [ buildInputs = [
cyrus_sasl gss gpgme libkrb5 libidn ncurses cyrus_sasl gss gpgme libkrb5 libidn ncurses
notmuch openssl perl lmdb notmuch openssl perl lmdb

View file

@ -1,28 +1,54 @@
{ lib, fetchurl, appimageTools }: { stdenv, lib, fetchurl, makeDesktopItem, copyDesktopItems, makeWrapper,
electron, libsecret }:
let stdenv.mkDerivation rec {
pname = "tutanota-desktop"; pname = "tutanota-desktop";
version = "3.88.4"; version = "3.88.4";
name = "tutanota-desktop-${version}";
src = fetchurl { src = fetchurl {
url = "https://mail.tutanota.com/desktop/tutanota-desktop-linux.AppImage"; url = "https://github.com/tutao/tutanota/releases/download/tutanota-release-${version}/${pname}-${version}-unpacked-linux.tar.gz";
name = "tutanota-desktop-${version}.AppImage"; name = "tutanota-desktop-${version}.tar.gz";
sha256 = "sha256-MwvH6SGZwcvxAr5olklqKTF2p2pv8+F5qwpmwN3uZkc="; sha256 = "sha256-UOb63+NfW6mHKaj3PDEzvz5hcmJBIISq02rtwgSZMjo=";
}; };
appimageContents = appimageTools.extractType2 { inherit name src; };
in appimageTools.wrapType2 { nativeBuildInputs = [
inherit name src; copyDesktopItems
makeWrapper
];
extraPkgs = pkgs: (appimageTools.defaultFhsEnvArgs.multiPkgs pkgs) ++ [ pkgs.libsecret ]; dontConfigure = true;
dontBuild = true;
extraInstallCommands = '' desktopItems = makeDesktopItem {
mv $out/bin/${name} $out/bin/${pname} name = pname;
exec = "tutanota-desktop";
icon = "tutanota-desktop";
comment = meta.description;
desktopName = "Tutanota Desktop";
genericName = "Email Reader";
};
install -m 444 -D ${appimageContents}/tutanota-desktop.desktop -t $out/share/applications installPhase = ''
substituteInPlace $out/share/applications/tutanota-desktop.desktop \ runHook preInstall
--replace 'Exec=AppRun' 'Exec=${pname}'
cp -r ${appimageContents}/usr/share/icons $out/share mkdir -p $out/bin $out/opt/tutanota-desktop $out/share/tutanota-desktop
cp -r ./ $out/opt/tutanota-desktop
mv $out/opt/tutanota-desktop/{locales,resources} $out/share/tutanota-desktop
for icon_size in 64 512; do
icon=resources/icons/icon/$icon_size.png
path=$out/share/icons/hicolor/$icon_size'x'$icon_size/apps/tutanota-desktop.png
install -Dm644 $icon $path
done
makeWrapper ${electron}/bin/electron \
$out/bin/tutanota-desktop \
--add-flags $out/share/tutanota-desktop/resources/app.asar \
--run "mkdir /tmp/tutanota" \
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libsecret ]}
runHook postInstall
''; '';
meta = with lib; { meta = with lib; {

View file

@ -2,13 +2,13 @@
python3Packages.buildPythonPackage rec { python3Packages.buildPythonPackage rec {
pname = "opsdroid"; pname = "opsdroid";
version = "0.23.0"; version = "0.24.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "opsdroid"; owner = "opsdroid";
repo = "opsdroid"; repo = "opsdroid";
rev = "v${version}"; rev = "v${version}";
sha256 = "1p1x7jbp0jx8anfwvavyn3x8i1vfhmbzyzrm014n26v5y39gabj1"; sha256 = "15l2jvcpb9l8sgdd9zsvxqglf1r3vap0pp9cklpfa9jj0aik6nx9";
}; };
disabled = !python3Packages.isPy3k; disabled = !python3Packages.isPy3k;

View file

@ -2,11 +2,11 @@
mkDerivation rec { mkDerivation rec {
pname = "owncloud-client"; pname = "owncloud-client";
version = "2.9.0.5150"; version = "2.9.1.5500";
src = fetchurl { src = fetchurl {
url = "https://download.owncloud.com/desktop/ownCloud/stable/${version}/source/ownCloud-${version}.tar.xz"; url = "https://download.owncloud.com/desktop/ownCloud/stable/${version}/source/ownCloud-${version}.tar.xz";
sha256 = "0nf68x840p30yng4fh1nlyiqg40z0rkcv0lskpz8dd4pj1iw5jjs"; sha256 = "0h4dclxr6kmhmx318wvxz36lhyqw84q0mg4c6di6p230mp8b1l4v";
}; };
nativeBuildInputs = [ pkg-config cmake extra-cmake-modules ]; nativeBuildInputs = [ pkg-config cmake extra-cmake-modules ];

View file

@ -63,6 +63,6 @@ stdenv.mkDerivation rec {
meta = base.meta // { meta = base.meta // {
description = "A fast incremental file transfer utility"; description = "A fast incremental file transfer utility";
maintainers = with lib.maintainers; [ peti ehmry kampfschlaefer ]; maintainers = with lib.maintainers; [ ehmry kampfschlaefer ];
}; };
} }

View file

@ -25,7 +25,6 @@ stdenv.mkDerivation {
description = "Convert MS Word documents to plain text or PostScript"; description = "Convert MS Word documents to plain text or PostScript";
license = lib.licenses.gpl2; license = lib.licenses.gpl2;
maintainers = [ lib.maintainers.peti ];
platforms = with lib.platforms; linux ++ darwin; platforms = with lib.platforms; linux ++ darwin;
}; };
} }

View file

@ -110,7 +110,7 @@ stdenv.mkDerivation rec {
homepage = "http://www.gnucash.org/"; homepage = "http://www.gnucash.org/";
maintainers = [ lib.maintainers.peti lib.maintainers.domenkozar ]; maintainers = [ lib.maintainers.domenkozar ];
platforms = lib.platforms.gnu ++ lib.platforms.linux; platforms = lib.platforms.gnu ++ lib.platforms.linux;
}; };
} }

View file

@ -1,4 +1,5 @@
{ lib, stdenv { lib
, stdenv
, fetchFromGitHub , fetchFromGitHub
, nix-update-script , nix-update-script
, meson , meson
@ -6,25 +7,24 @@
, vala , vala
, pkg-config , pkg-config
, desktop-file-utils , desktop-file-utils
, pantheon
, python3 , python3
, glib , glib
, gtk4 , gtk4
, json-glib , json-glib
, libadwaita , libadwaita
, libgee , libgee
, wrapGAppsHook , wrapGAppsHook4
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "khronos"; pname = "khronos";
version = "3.5.9"; version = "3.6.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "lainsce"; owner = "lainsce";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "sha256-3FatmyANB/tNYSN2hu5IVkyCy0YrC3uA2d/3+5u48w8="; sha256 = "sha256-AETyVCBUuBzHwDgTkGRIokFYwcmXrb/F85J5GEIu4dE=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
vala vala
pkg-config pkg-config
python3 python3
wrapGAppsHook wrapGAppsHook4
]; ];
buildInputs = [ buildInputs = [
@ -43,12 +43,14 @@ stdenv.mkDerivation rec {
json-glib json-glib
libadwaita libadwaita
libgee libgee
pantheon.granite
]; ];
postPatch = '' postPatch = ''
chmod +x build-aux/post_install.py chmod +x build-aux/post_install.py
patchShebangs build-aux/post_install.py patchShebangs build-aux/post_install.py
# https://github.com/lainsce/khronos/pull/75
substituteInPlace build-aux/post_install.py \
--replace 'gtk-update-icon-cache' 'gtk4-update-icon-cache'
''; '';
passthru = { passthru = {

View file

@ -1,50 +0,0 @@
{ appimageTools, fetchurl, lib, runCommand, stdenv, gsettings-desktop-schemas, gtk3, zlib }:
let
name = "${pname}-${version}";
pname = "minetime";
version = "1.8.10";
appimage = fetchurl {
url = "https://github.com/marcoancona/MineTime/releases/download/v${version}/${name}.AppImage";
sha256 = "1a80lgk6v9kv9xb2y3i08gk25jm0pqyl57kfr5p1rbc33prhmcgw";
};
extracted = appimageTools.extractType2 {
inherit name;
src = appimage;
};
patched = runCommand "minetime-patchelf" {} ''
cp -av ${extracted} $out
x=$out/resources/app.asar.unpacked/services/scheduling/dist/MinetimeSchedulingService
chmod +w $x
patchelf \
--set-interpreter ${stdenv.cc.bintools.dynamicLinker} \
--replace-needed libz.so.1 ${zlib}/lib/libz.so.1 \
$x
'';
in
appimageTools.wrapAppImage rec {
inherit name;
src = patched;
profile = ''
export LC_ALL=C.UTF-8
export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS
'';
multiPkgs = null; # no 32bit needed
extraPkgs = ps:
appimageTools.defaultFhsEnvArgs.multiPkgs ps
++ (with ps; [ at-spi2-core at-spi2-atk libsecret libnotify ]);
extraInstallCommands = "mv $out/bin/{${name},${pname}}";
meta = with lib; {
description = "Modern, intuitive and smart calendar application";
homepage = "https://minetime.ai";
license = licenses.unfree;
# Should be cross-platform, but for now we just grab the appimage
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ dtzWill ];
};
}

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