Merge branch 'staging-next' into staging

This commit is contained in:
Jan Tojnar 2020-04-16 10:10:38 +02:00
commit 4b706490da
No known key found for this signature in database
GPG Key ID: 7FAB2A15F7A607A4
224 changed files with 7017 additions and 4400 deletions

3
.gitignore vendored
View File

@ -16,3 +16,6 @@ result-*
/pkgs/development/libraries/qt-5/*/tmp/
/pkgs/desktops/kde-5/*/tmp/
/pkgs/development/mobile/androidenv/xml/*
# generated by pkgs/common-updater/update-script.nix
update-git-commits.txt

View File

@ -1305,7 +1305,7 @@ installTargets = "install-bin install-doc";</programlisting>
</term>
<listitem>
<para>
List of directories to search for libraries and executables from which only debugging-related symbols should be stripped. It defaults to <literal>lib bin sbin</literal>.
List of directories to search for libraries and executables from which only debugging-related symbols should be stripped. It defaults to <literal>lib lib32 lib64 libexec bin sbin</literal>.
</para>
</listitem>
</varlistentry>

View File

@ -191,9 +191,23 @@ rec {
Example:
(showOption ["foo" "bar" "baz"]) == "foo.bar.baz"
(showOption ["foo" "bar.baz" "tux"]) == "foo.\"bar.baz\".tux"
(showOption ["foo" "bar.baz" "tux"]) == "foo.bar.baz.tux"
Placeholders will not be quoted as they are not actual values:
(showOption ["foo" "*" "bar"]) == "foo.*.bar"
(showOption ["foo" "<name>" "bar"]) == "foo.<name>.bar"
Unlike attributes, options can also start with numbers:
(showOption ["windowManager" "2bwm" "enable"]) == "windowManager.2bwm.enable"
*/
showOption = parts: concatMapStringsSep "." escapeNixIdentifier parts;
showOption = parts: let
escapeOptionPart = part:
let
escaped = lib.strings.escapeNixString part;
in if escaped == "\"${part}\""
then part
else escaped;
in (concatStringsSep ".") (map escapeOptionPart parts);
showFiles = files: concatStringsSep " and " (map (f: "`${f}'") files);
unknownModule = "<unknown-file>";

View File

@ -5302,6 +5302,12 @@
githubId = 133448;
name = "Mikołaj Siedlarek";
};
msm = {
email = "msm@tailcall.net";
github = "msm-code";
githubId = 7026881;
name = "Jarosław Jedynak";
};
mstarzyk = {
email = "mstarzyk@gmail.com";
github = "mstarzyk";
@ -5714,6 +5720,16 @@
githubId = 108072;
name = "Slawomir Gonet";
};
oxalica = {
email = "oxalicc@pm.me";
github = "oxalica";
githubId = 14816024;
name = "oxalica";
keys = [{
longkeyid = "rsa4096/0xCED392DE0C483D00";
fingerprint = "5CB0 E9E5 D5D5 71F5 7F54 0FEA CED3 92DE 0C48 3D00";
}];
};
oxij = {
email = "oxij@oxij.org";
github = "oxij";

View File

@ -3,7 +3,12 @@
, networkExpr
}:
let nodes = import networkExpr; in
let
nodes = builtins.mapAttrs (vm: module: {
_file = "${networkExpr}@node-${vm}";
imports = [ module ];
}) (import networkExpr);
in
with import ../../../../lib/testing-python.nix {
inherit system;

View File

@ -28,7 +28,7 @@ in
browser = mkOption {
type = types.str;
default = concatStringsSep " " [ ''${pkgs.chromium}/bin/chromium''
''--user-data-dir=$HOME/.chromium-captive''
''--user-data-dir=''${XDG_DATA_HOME:-$HOME/.local/share}/chromium-captive''
''--proxy-server="socks5://$PROXY"''
''--host-resolver-rules="MAP * ~NOTFOUND , EXCLUDE localhost"''
''--no-first-run''

View File

@ -330,13 +330,14 @@ in
User = data.user;
Group = data.group;
PrivateTmp = true;
StateDirectory = "acme/.lego/${cert} ${lpath}";
StateDirectory = "acme/.lego/${cert} acme/.lego/accounts ${lpath}";
StateDirectoryMode = if data.allowKeysForGroup then "750" else "700";
WorkingDirectory = spath;
# Only try loading the credentialsFile if the dns challenge is enabled
EnvironmentFile = if data.dnsProvider != null then data.credentialsFile else null;
ExecStart = pkgs.writeScript "acme-start" ''
#!${pkgs.runtimeShell} -e
test -L ${spath}/accounts -o -d ${spath}/accounts || ln -s ../accounts ${spath}/accounts
${pkgs.lego}/bin/lego ${renewOpts} || ${pkgs.lego}/bin/lego ${runOpts}
'';
ExecStartPost =

View File

@ -99,14 +99,16 @@ in
environment.systemPackages = [cfg.package];
users.users.boinc = {
group = "boinc";
createHome = false;
description = "BOINC Client";
home = cfg.dataDir;
isSystemUser = true;
};
users.groups.boinc = {};
systemd.tmpfiles.rules = [
"d '${cfg.dataDir}' - boinc - - -"
"d '${cfg.dataDir}' - boinc boinc - -"
];
systemd.services.boinc = {
@ -114,7 +116,7 @@ in
after = ["network.target"];
wantedBy = ["multi-user.target"];
script = ''
${fhsEnvExecutable} --dir ${cfg.dataDir} --redirectio ${allowRemoteGuiRpcFlag}
${fhsEnvExecutable} --dir ${cfg.dataDir} ${allowRemoteGuiRpcFlag}
'';
serviceConfig = {
User = "boinc";

View File

@ -138,6 +138,7 @@ in {
services.nginx = mkIf (cfg.virtualHost != null) {
enable = true;
recommendedProxySettings = true;
virtualHosts.${cfg.virtualHost} = {
locations.${cfg.contextPath}.proxyPass = "http://${cfg.listenAddress}:${toString cfg.port}";
};

View File

@ -177,7 +177,7 @@ in
wrapper = {};
}
// lib.optionalAttrs (config.services.httpd.enable) { apache-webapplication = {
documentRoot = config.services.httpd.documentRoot;
documentRoot = config.services.httpd.virtualHosts.localhost.documentRoot;
}; }
// lib.optionalAttrs (config.services.tomcat.axis2.enable) { axis2-webservice = {}; }
// lib.optionalAttrs (config.services.ejabberd.enable) { ejabberd-dump = {

View File

@ -21,6 +21,8 @@ let
"--config.file /tmp/alert-manager-substituted.yaml"
"--web.listen-address ${cfg.listenAddress}:${toString cfg.port}"
"--log.level ${cfg.logLevel}"
"--storage.path /var/lib/alertmanager"
(toString (map (peer: "--cluster.peer ${peer}:9094") cfg.clusterPeers))
] ++ (optional (cfg.webExternalUrl != null)
"--web.external-url ${cfg.webExternalUrl}"
) ++ (optional (cfg.logFormat != null)
@ -120,6 +122,14 @@ in {
'';
};
clusterPeers = mkOption {
type = types.listOf types.str;
default = [];
description = ''
Initial peers for HA cluster.
'';
};
extraFlags = mkOption {
type = types.listOf types.str;
default = [];
@ -162,6 +172,7 @@ in {
'';
serviceConfig = {
Restart = "always";
StateDirectory = "alertmanager";
DynamicUser = true; # implies PrivateTmp
EnvironmentFile = lib.mkIf (cfg.environmentFile != null) cfg.environmentFile;
WorkingDirectory = "/tmp";

View File

@ -14,7 +14,9 @@ let
user = ${cfg.user}
show-password-label = true
password-label-text = Password:
invalid-password-text = Invalid Password
show-input-cursor = true
password-alignment = right
[greeter-hotkeys]
mod-key = meta
@ -26,6 +28,8 @@ let
[greeter-theme]
font = Sans
font-size = 1em
font-weight = bold
font-style = normal
text-color = "#080800"
error-color = "#F8F8F0"
background-image = "${ldmcfg.background}"
@ -36,6 +40,8 @@ let
layout-space = 15
password-color = "#F8F8F0"
password-background-color = "#1B1D1E"
password-border-color = "#080800"
password-border-width = 2px
${cfg.extraConfig}
'';

View File

@ -184,7 +184,11 @@ in {
''
Option "DragLockButtons" "L1 B1 L2 B2"
'';
description = "Additional options for libinput touchpad driver.";
description = ''
Additional options for libinput touchpad driver. See
<citerefentry><refentrytitle>libinput</refentrytitle><manvolnum>4</manvolnum></citerefentry>
for available options.";
'';
};
};

View File

@ -114,7 +114,9 @@ in rec {
(if isList value then value else [value]))
as));
generateUnits = type: units: upstreamUnits: upstreamWants:
generateUnits = generateUnits' true;
generateUnits' = allowCollisions: type: units: upstreamUnits: upstreamWants:
pkgs.runCommand "${type}-units"
{ preferLocalBuild = true;
allowSubstitutes = false;
@ -182,8 +184,13 @@ in rec {
if [ "$(readlink -f $i/$fn)" = /dev/null ]; then
ln -sfn /dev/null $out/$fn
else
mkdir -p $out/$fn.d
ln -s $i/$fn $out/$fn.d/overrides.conf
${if allowCollisions then ''
mkdir -p $out/$fn.d
ln -s $i/$fn $out/$fn.d/overrides.conf
'' else ''
echo "Found multiple derivations configuring $fn!"
exit 1
''}
fi
else
ln -fs $i/$fn $out/

View File

@ -116,7 +116,7 @@ in {
in
mkMerge [
(mkIf (cfg != {}) {
environment.etc."systemd/nspawn".source = mkIf (cfg != {}) (generateUnits "nspawn" units [] []);
environment.etc."systemd/nspawn".source = mkIf (cfg != {}) (generateUnits' false "nspawn" units [] []);
})
{
systemd.targets.multi-user.wants = [ "machines.target" ];

View File

@ -237,6 +237,38 @@ let
'';
};
createNetworkLink = i:
let
deviceDependency = if (config.boot.isContainer || i.name == "lo")
then []
else [ (subsystemDevice i.name) ];
in
nameValuePair "network-link-${i.name}"
{ description = "Link configuration of ${i.name}";
wantedBy = [ "network-interfaces.target" ];
before = [ "network-interfaces.target" ];
bindsTo = deviceDependency;
after = [ "network-pre.target" ] ++ deviceDependency;
path = [ pkgs.iproute ];
serviceConfig = {
Type = "oneshot";
RemainAfterExit = true;
};
script =
''
echo "Configuring link..."
'' + optionalString (i.macAddress != null) ''
echo "setting MAC address to ${i.macAddress}..."
ip link set "${i.name}" address "${i.macAddress}"
'' + optionalString (i.mtu != null) ''
echo "setting MTU to ${toString i.mtu}..."
ip link set "${i.name}" mtu "${toString i.mtu}"
'' + ''
echo -n "bringing up interface... "
ip link set "${i.name}" up && echo "done" || (echo "failed"; exit 1)
'';
};
createTunDevice = i: nameValuePair "${i.name}-netdev"
{ description = "Virtual Network Interface ${i.name}";
bindsTo = [ "dev-net-tun.device" ];
@ -508,6 +540,7 @@ let
});
in listToAttrs (
map createNetworkLink interfaces ++
map configureAddrs interfaces ++
map createTunDevice (filter (i: i.virtual) interfaces))
// mapAttrs' createBridgeDevice cfg.bridges

View File

@ -94,7 +94,12 @@ in
address = forEach (interfaceIps i)
(ip: "${ip.address}/${toString ip.prefixLength}");
networkConfig.IPv6PrivacyExtensions = "kernel";
} ];
linkConfig = optionalAttrs (i.macAddress != null) {
MACAddress = i.macAddress;
} // optionalAttrs (i.mtu != null) {
MTUBytes = toString i.mtu;
};
}];
})))
(mkMerge (flip mapAttrsToList cfg.bridges (name: bridge: {
netdevs."40-${name}" = {

View File

@ -1031,6 +1031,11 @@ in
message = ''
Temporary addresses are only needed when IPv6 is enabled.
'';
})) ++ (forEach interfaces (i: {
assertion = (i.virtual && i.virtualType == "tun") -> i.macAddress == null;
message = ''
Setting a MAC Address for tun device ${i.name} isn't supported.
'';
})) ++ [
{
assertion = cfg.hostId == null || (stringLength cfg.hostId == 8 && isHexString cfg.hostId);
@ -1140,38 +1145,7 @@ in
${cfg.localCommands}
'';
};
} // (listToAttrs (forEach interfaces (i:
let
deviceDependency = if (config.boot.isContainer || i.name == "lo")
then []
else [ (subsystemDevice i.name) ];
in
nameValuePair "network-link-${i.name}"
{ description = "Link configuration of ${i.name}";
wantedBy = [ "network-interfaces.target" ];
before = [ "network-interfaces.target" ];
bindsTo = deviceDependency;
after = [ "network-pre.target" ] ++ deviceDependency;
path = [ pkgs.iproute ];
serviceConfig = {
Type = "oneshot";
RemainAfterExit = true;
};
script =
''
echo "Configuring link..."
'' + optionalString (i.macAddress != null) ''
echo "setting MAC address to ${i.macAddress}..."
ip link set "${i.name}" address "${i.macAddress}"
'' + optionalString (i.mtu != null) ''
echo "setting MTU to ${toString i.mtu}..."
ip link set "${i.name}" mtu "${toString i.mtu}"
'' + ''
echo -n "bringing up interface... "
ip link set "${i.name}" up && echo "done" || (echo "failed"; exit 1)
'';
})));
};
services.mstpd = mkIf needsMstpd { enable = true; };
virtualisation.vswitch = mkIf (cfg.vswitches != { }) { enable = true; };

View File

@ -0,0 +1,69 @@
{ config, pkgs, lib, ... }:
with lib;
let
cfg = config.hyperv;
in {
options = {
hyperv = {
baseImageSize = mkOption {
type = types.int;
default = 2048;
description = ''
The size of the hyper-v base image in MiB.
'';
};
vmDerivationName = mkOption {
type = types.str;
default = "nixos-hyperv-${config.system.nixos.label}-${pkgs.stdenv.hostPlatform.system}";
description = ''
The name of the derivation for the hyper-v appliance.
'';
};
vmFileName = mkOption {
type = types.str;
default = "nixos-${config.system.nixos.label}-${pkgs.stdenv.hostPlatform.system}.vhdx";
description = ''
The file name of the hyper-v appliance.
'';
};
};
};
config = {
system.build.hypervImage = import ../../lib/make-disk-image.nix {
name = cfg.vmDerivationName;
postVM = ''
${pkgs.vmTools.qemu}/bin/qemu-img convert -f raw -o subformat=dynamic -O vhdx $diskImage $out/${cfg.vmFileName}
'';
format = "raw";
diskSize = cfg.baseImageSize;
partitionTableType = "efi";
inherit config lib pkgs;
};
fileSystems."/" = {
device = "/dev/disk/by-label/nixos";
autoResize = true;
fsType = "ext4";
};
fileSystems."/boot" = {
device = "/dev/disk/by-label/ESP";
fsType = "vfat";
};
boot.growPartition = true;
boot.loader.grub = {
version = 2;
device = "nodev";
efiSupport = true;
efiInstallAsRemovable = true;
};
virtualisation.hypervGuest.enable = true;
};
}

View File

@ -1,20 +1,24 @@
import ./make-test.nix ({ pkgs, ...} : {
import ./make-test-python.nix ({ lib, ...} : {
name = "flannel";
meta = with pkgs.stdenv.lib.maintainers; {
meta = with lib.maintainers; {
maintainers = [ offline ];
};
nodes = let
flannelConfig = {
flannelConfig = { pkgs, ... } : {
services.flannel = {
enable = true;
backend = {
Type = "udp";
Port = 8285;
};
network = "10.1.0.0/16";
iface = "eth1";
etcd.endpoints = ["http://etcd:2379"];
};
networking.firewall.allowedUDPPorts = [ 8472 ];
networking.firewall.allowedUDPPorts = [ 8285 ];
};
in {
etcd = { ... }: {
@ -32,25 +36,22 @@ import ./make-test.nix ({ pkgs, ...} : {
networking.firewall.allowedTCPPorts = [ 2379 ];
};
node1 = { ... }: {
require = [flannelConfig];
};
node2 = { ... }: {
require = [flannelConfig];
};
node1 = flannelConfig;
node2 = flannelConfig;
};
testScript = ''
startAll;
start_all()
$node1->waitForUnit("flannel.service");
$node2->waitForUnit("flannel.service");
node1.wait_for_unit("flannel.service")
node2.wait_for_unit("flannel.service")
my $ip1 = $node1->succeed("ip -4 addr show flannel.1 | grep -oP '(?<=inet).*(?=/)'");
my $ip2 = $node2->succeed("ip -4 addr show flannel.1 | grep -oP '(?<=inet).*(?=/)'");
node1.wait_until_succeeds("ip l show dev flannel0")
ip1 = node1.succeed("ip -4 addr show flannel0 | grep -oP '(?<=inet).*(?=/)'")
node2.wait_until_succeeds("ip l show dev flannel0")
ip2 = node2.succeed("ip -4 addr show flannel0 | grep -oP '(?<=inet).*(?=/)'")
$node1->waitUntilSucceeds("ping -c 1 $ip2");
$node2->waitUntilSucceeds("ping -c 1 $ip1");
node1.wait_until_succeeds(f"ping -c 1 {ip2}")
node2.wait_until_succeeds(f"ping -c 1 {ip1}")
'';
})

View File

@ -1,6 +1,7 @@
import ./make-test-python.nix (
{ pkgs, ... }: let
domain = "whatever.example.com";
password = "false;foo;exit;withspecialcharacters";
in
{
name = "iodine";
@ -21,7 +22,7 @@ import ./make-test-python.nix (
services.iodine.server = {
enable = true;
ip = "10.53.53.1/24";
passwordFile = "${builtins.toFile "password" "foo"}";
passwordFile = "${builtins.toFile "password" password}";
inherit domain;
};
@ -41,7 +42,7 @@ import ./make-test-python.nix (
server = domain;
};
systemd.tmpfiles.rules = [
"f /root/pw 0666 root root - foo"
"f /root/pw 0666 root root - ${password}"
];
environment.systemPackages = [
pkgs.nagiosPluginsOfficial

View File

@ -200,6 +200,7 @@ let
useDHCP = false;
interfaces.eth1 = {
ipv4.addresses = mkOverride 0 [ ];
mtu = 1343;
useDHCP = true;
};
interfaces.eth2.ipv4.addresses = mkOverride 0 [ ];
@ -216,6 +217,9 @@ let
with subtest("Wait until we have an ip address on each interface"):
client.wait_until_succeeds("ip addr show dev eth1 | grep -q '192.168.1'")
with subtest("ensure MTU is set"):
assert "mtu 1343" in client.succeed("ip link show dev eth1")
with subtest("Test vlan 1"):
client.wait_until_succeeds("ping -c 1 192.168.1.1")
client.wait_until_succeeds("ping -c 1 192.168.1.2")
@ -455,11 +459,14 @@ let
ipv4.addresses = [ { address = "192.168.1.1"; prefixLength = 24; } ];
ipv6.addresses = [ { address = "2001:1470:fffd:2096::"; prefixLength = 64; } ];
virtual = true;
mtu = 1342;
macAddress = "02:de:ad:be:ef:01";
};
networking.interfaces.tun0 = {
ipv4.addresses = [ { address = "192.168.1.2"; prefixLength = 24; } ];
ipv6.addresses = [ { address = "2001:1470:fffd:2097::"; prefixLength = 64; } ];
virtual = true;
mtu = 1343;
};
};
@ -471,7 +478,7 @@ let
with subtest("Wait for networking to come up"):
machine.start()
machine.wait_for_unit("network-online.target")
machine.wait_for_unit("network.target")
with subtest("Test interfaces set up"):
list = machine.succeed("ip tuntap list | sort").strip()
@ -486,7 +493,12 @@ let
""".format(
list, targetList
)
with subtest("Test MTU and MAC Address are configured"):
assert "mtu 1342" in machine.succeed("ip link show dev tap0")
assert "mtu 1343" in machine.succeed("ip link show dev tun0")
assert "02:de:ad:be:ef:01" in machine.succeed("ip link show dev tap0")
'' # network-addresses-* only exist in scripted networking
+ optionalString (!networkd) ''
with subtest("Test interfaces clean up"):
machine.succeed("systemctl stop network-addresses-tap0")
machine.sleep(10)
@ -602,17 +614,17 @@ let
};
testScript = ''
targetIPv4Table = """
10.0.0.0/16 proto static scope link mtu 1500
192.168.1.0/24 proto kernel scope link src 192.168.1.2
192.168.2.0/24 via 192.168.1.1 proto static
""".strip()
targetIPv4Table = [
"10.0.0.0/16 proto static scope link mtu 1500",
"192.168.1.0/24 proto kernel scope link src 192.168.1.2",
"192.168.2.0/24 via 192.168.1.1 proto static",
]
targetIPv6Table = """
2001:1470:fffd:2097::/64 proto kernel metric 256 pref medium
2001:1470:fffd:2098::/64 via fdfd:b3f0::1 proto static metric 1024 pref medium
fdfd:b3f0::/48 proto static metric 1024 pref medium
""".strip()
targetIPv6Table = [
"2001:1470:fffd:2097::/64 proto kernel metric 256 pref medium",
"2001:1470:fffd:2098::/64 via fdfd:b3f0::1 proto static metric 1024 pref medium",
"fdfd:b3f0::/48 proto static metric 1024 pref medium",
]
machine.start()
machine.wait_for_unit("network.target")
@ -620,9 +632,9 @@ let
with subtest("test routing tables"):
ipv4Table = machine.succeed("ip -4 route list dev eth0 | head -n3").strip()
ipv6Table = machine.succeed("ip -6 route list dev eth0 | head -n3").strip()
assert (
ipv4Table == targetIPv4Table
), """
assert [
l.strip() for l in ipv4Table.splitlines()
] == targetIPv4Table, """
The IPv4 routing table does not match the expected one:
Result:
{}
@ -631,9 +643,9 @@ let
""".format(
ipv4Table, targetIPv4Table
)
assert (
ipv6Table == targetIPv6Table
), """
assert [
l.strip() for l in ipv6Table.splitlines()
] == targetIPv6Table, """
The IPv6 routing table does not match the expected one:
Result:
{}

View File

@ -15,13 +15,13 @@ assert withGtk3 -> gtk3 != null;
stdenv.mkDerivation rec {
pname = "carla";
version = "2.0.0";
version = "2.1";
src = fetchFromGitHub {
owner = "falkTX";
repo = pname;
rev = "v${version}";
sha256 = "0fqgncqlr86n38yy7pa118mswfacmfczj7w9xx6c6k0jav3wk29k";
sha256 = "074y40yrgl3qrdr3a5vn0scsw0qv77r5p5m6gc89zhf20ic8ajzc";
};
nativeBuildInputs = [

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "lightdm-mini-greeter";
version = "0.3.4";
version = "0.4.0";
src = fetchFromGitHub {
owner = "prikhi";
repo = "lightdm-mini-greeter";
rev = version;
sha256 = "1qi0bsqi8z2zv3303ww0kd7bciz6qx8na5bkvgrqlwyvq31czai5";
sha256 = "10hga7pmfyjdvj4xwm3djwrhk50brcpycj3p3c57pa0vnx4ill3s";
};
nativeBuildInputs = [ autoreconfHook pkgconfig wrapGAppsHook ];
@ -33,5 +33,6 @@ stdenv.mkDerivation rec {
license = licenses.gpl3;
maintainers = with maintainers; [ mnacamura prikhi ];
platforms = platforms.linux;
changelog = "https://github.com/prikhi/lightdm-mini-greeter/blob/master/CHANGELOG.md";
};
}

View File

@ -1,18 +1,16 @@
{ stdenv, fetchurl
, ncurses, gpm
}:
{ stdenv, fetchurl, ncurses, gpm }:
stdenv.mkDerivation rec {
pname = "jupp";
version = "3.1";
srcName = "joe-3.1jupp31";
version = "39";
srcName = "joe-3.1${pname}${version}";
src = fetchurl {
urls = [
"https://www.mirbsd.org/MirOS/dist/jupp/${srcName}.tgz"
"https://pub.allbsd.org/MirOS/dist/jupp/${srcName}.tgz" ];
sha256 = "1fnf9jsd6p4jyybkhjjs328qx38ywy8w029ngc7j7kqp0ixn0l0s";
sha256 = "14gys92dy3kq9ikigry7q2x4w5v2z76d97vp212bddrxiqy5np8d";
};
preConfigure = "chmod +x ./configure";
@ -37,7 +35,7 @@ stdenv.mkDerivation rec {
and has a lot of bugs fixed. It is based upon an older version of joe
because these behave better overall.
'';
homepage = "http://mirbsd.de/jupp";
homepage = "http://www.mirbsd.org/jupp.htm";
license = licenses.gpl1;
maintainers = with maintainers; [ AndersonTorres ];
};

View File

@ -1,54 +1,62 @@
{ stdenv, fetchurl, fetchpatch, pkgconfig, perlPackages, libXft
, libpng, zlib, popt, boehmgc, libxml2, libxslt, glib, gtkmm2
, glibmm, libsigcxx, lcms, boost, gettext, makeWrapper
, gsl, gtkspell2, cairo, python2, poppler, imagemagick, libwpg, librevenge
, libvisio, libcdr, libexif, potrace, cmake
, librsvg, wrapGAppsHook
{ stdenv
, boehmgc
, boost
, cairo
, cmake
, fetchpatch
, fetchurl
, gettext
, glib
, glibmm
, gsl
, gtkmm2
, gtkspell2
, imagemagick
, lcms
, libcdr
, libexif
, libpng
, librevenge
, librsvg
, libsigcxx
, libvisio
, libwpg
, libXft
, libxml2
, libxslt
, makeWrapper
, perlPackages
, pkg-config
, poppler
, popt
, potrace
, python3
, wrapGAppsHook
, zlib
}:
let
python2Env = python2.withPackages(ps: with ps;
[ numpy lxml scour ]);
python3Env = python3.withPackages
(ps: with ps; [
numpy
lxml
scour
]);
in
stdenv.mkDerivation rec {
name = "inkscape-0.92.4";
pname = "inkscape";
version = "0.92.5";
src = fetchurl {
url = "https://media.inkscape.org/dl/resources/file/${name}.tar.bz2";
sha256 = "0pjinhjibfsz1aywdpgpj3k23xrsszpj4a1ya5562dkv2yl2vv2p";
url = "https://media.inkscape.org/dl/resources/file/${pname}-${version}.tar.bz2";
sha256 = "ge5/aeK9ZKlzQ9g5Wkp6eQWyG4YVZu1eXZF5F41Rmgs=";
};
patches = [
(fetchpatch {
name = "inkscape-poppler_0_76_compat.patch";
url = "https://gitlab.com/inkscape/inkscape/commit/e831b034746f8dc3c3c1b88372751f6dcb974831.diff";
sha256 = "096rdyi6ppjq1h9jwwsm9hb99nggfrfinik8rm23jkn4h2zl01zf";
})
(fetchpatch {
name = "inkscape-poppler_0_82_compat.patch";
url = "https://gitlab.com/inkscape/inkscape/commit/835b6bb62be565efab986d5a3f30a672ad56c7eb.patch";
sha256 = "02c6sxi2w52b885vr3pgani6kvxp9gdqqk2jgiykkdzv70hhrnm7";
})
(fetchpatch {
name = "inkscape-poppler_0_83_compat.patch";
url = "https://gitlab.com/inkscape/inkscape/commit/b5360a807b12d4e8318475ffd0464b84882788b5.patch";
sha256 = "1p44rr2q2i3zkd1y1j7xgdcbgx8yvlq6hq92im8s0bkjby6p5cpz";
})
];
# Inkscape hits the ARGMAX when linking on macOS. It appears to be
# CMakes ARGMAX check doesnt offer enough padding for NIX_LDFLAGS.
# Setting strictDeps it avoids duplicating some dependencies so it
# will leave us under ARGMAX.
strictDeps = true;
unpackPhase = ''
cp $src ${name}.tar.bz2
tar xvjf ${name}.tar.bz2 > /dev/null
cd ${name}
'';
postPatch = ''
patchShebangs share/extensions
patchShebangs fix-roff-punct
@ -56,24 +64,52 @@ stdenv.mkDerivation rec {
# Python is used at run-time to execute scripts, e.g., those from
# the "Effects" menu.
substituteInPlace src/extension/implementation/script.cpp \
--replace '"python-interpreter", "python"' '"python-interpreter", "${python2Env}/bin/python"'
--replace '"python-interpreter", "python"' '"python-interpreter", "${python3Env}/bin/python"'
'';
nativeBuildInputs = [ pkgconfig cmake makeWrapper python2Env wrapGAppsHook ]
++ (with perlPackages; [ perl XMLParser ]);
nativeBuildInputs = [
pkg-config
cmake
makeWrapper
python3Env
wrapGAppsHook
] ++ (with perlPackages; [
perl
XMLParser
]);
buildInputs = [
libXft libpng zlib popt boehmgc
libxml2 libxslt glib gtkmm2 glibmm libsigcxx lcms boost gettext
gsl poppler imagemagick libwpg librevenge
libvisio libcdr libexif potrace
boehmgc
boost
gettext
glib
glibmm
gsl
gtkmm2
imagemagick
lcms
libcdr
libexif
libpng
librevenge
librsvg # for loading icons
python2Env perlPackages.perl
] ++ stdenv.lib.optional (!stdenv.isDarwin) gtkspell2
++ stdenv.lib.optional stdenv.isDarwin cairo;
enableParallelBuilding = true;
libsigcxx
libvisio
libwpg
libXft
libxml2
libxslt
perlPackages.perl
poppler
popt
potrace
python3Env
zlib
] ++ stdenv.lib.optionals (!stdenv.isDarwin) [
gtkspell2
] ++ stdenv.lib.optionals stdenv.isDarwin [
cairo
];
# Make sure PyXML modules can be found at run-time.
postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
@ -82,9 +118,10 @@ stdenv.mkDerivation rec {
'';
meta = with stdenv.lib; {
license = "GPL";
homepage = "https://www.inkscape.org";
description = "Vector graphics editor";
homepage = "https://www.inkscape.org";
license = licenses.gpl3Plus;
maintainers = [ maintainers.jtojnar ];
platforms = platforms.all;
longDescription = ''
Inkscape is a feature-rich vector graphics editor that edits

View File

@ -1,9 +1,10 @@
{ stdenv, cmake, fetchFromGitHub, pkgconfig, boost, exiv2, fftwFloat, gsl
{ stdenv, mkDerivation, cmake, fetchFromGitHub, pkgconfig
, boost, exiv2, fftwFloat, gsl
, ilmbase, lcms2, libraw, libtiff, openexr
, qtbase, qtdeclarative, qttools, qtwebengine, eigen
}:
stdenv.mkDerivation rec {
mkDerivation rec {
pname = "luminance-hdr";
version = "2.6.0";

View File

@ -90,6 +90,7 @@ let
kalarm = callPackage ./kalarm.nix {};
kalarmcal = callPackage ./kalarmcal.nix {};
kate = callPackage ./kate.nix {};
kbreakout = callPackage ./kbreakout.nix {};
kcachegrind = callPackage ./kcachegrind.nix {};
kcalc = callPackage ./kcalc.nix {};
kcalutils = callPackage ./kcalutils.nix {};
@ -146,6 +147,7 @@ let
krdc = callPackage ./krdc.nix {};
krfb = callPackage ./krfb.nix {};
kruler = callPackage ./kruler.nix {};
kspaceduel = callPackage ./kspaceduel.nix {};
ksudoku = callPackage ./ksudoku.nix {};
ksystemlog = callPackage ./ksystemlog.nix {};
ktnef = callPackage ./ktnef.nix {};

View File

@ -0,0 +1,22 @@
{ mkDerivation, lib
, extra-cmake-modules
, cmake
, kdbusaddons
, ki18n
, kconfigwidgets
, kcrash
, kxmlgui
, libkdegames
}:
mkDerivation {
name = "kbreakout";
meta.license = with lib.licenses; [ lgpl21 gpl3 ];
outputs = [ "out" "dev" ];
nativeBuildInputs = [
cmake extra-cmake-modules
];
propagatedBuildInputs = [
kdbusaddons ki18n kconfigwidgets kcrash kxmlgui libkdegames
];
}

View File

@ -0,0 +1,22 @@
{ mkDerivation, lib
, extra-cmake-modules
, cmake
, kdbusaddons
, ki18n
, kconfigwidgets
, kcrash
, kxmlgui
, libkdegames
}:
mkDerivation {
name = "kspaceduel";
meta.license = with lib.licenses; [ lgpl21 gpl3 ];
outputs = [ "out" "dev" ];
nativeBuildInputs = [
cmake extra-cmake-modules
];
propagatedBuildInputs = [
kdbusaddons ki18n kconfigwidgets kcrash kxmlgui libkdegames
];
}

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "blugon";
version = "1.12.0";
version = "1.12.1";
src = fetchFromGitHub {
owner = "jumper149";
repo = pname;
rev = version;
sha256 = "0vdhq8v011awhpkccbcmigj9c46widyzh0m5knafapanai3kv7ii";
sha256 = "1i67v8jxvavgax3dwvns200iwwdcvgki04liq0x64q52lg0vrh7m";
};
buildInputs = [ python3 libX11 libXrandr ];

View File

@ -122,7 +122,16 @@ mkDerivation rec {
export PODOFO_INC_DIR=${podofo.dev}/include/podofo
export PODOFO_LIB_DIR=${podofo.lib}/lib
export SIP_BIN=${pypkgs.sip}/bin/sip
${pypkgs.python.interpreter} setup.py install --prefix=$out
export XDG_DATA_HOME=$out/share
export XDG_UTILS_INSTALL_MODE="user"
${pypkgs.python.interpreter} setup.py install --root=$out \
--prefix=$out \
--libdir=$out/lib \
--staging-root=$out \
--staging-libdir=$out/lib \
--staging-sharedir=$out/share
PYFILES="$out/bin/* $out/lib/calibre/calibre/web/feeds/*.py
$out/lib/calibre/calibre/ebooks/metadata/*.py
@ -131,13 +140,6 @@ mkDerivation rec {
sed -i "s/env python[0-9.]*/python/" $PYFILES
sed -i "2i import sys; sys.argv[0] = 'calibre'" $out/bin/calibre
# Replace @out@ by the output path.
mkdir -p $out/share/applications/
cp {$calibreDesktopItem,$ebookEditDesktopItem,$ebookViewerDesktopItem}/share/applications/* $out/share/applications/
for entry in $out/share/applications/*.desktop; do
substituteAllInPlace $entry
done
mkdir -p $out/share
cp -a man-pages $out/share/man
@ -165,79 +167,6 @@ mkDerivation rec {
disallowedReferences = [ podofo.dev ];
calibreDesktopItem = makeDesktopItem {
fileValidation = false; # fails before substitution
name = "calibre-gui";
desktopName = "calibre";
exec = "@out@/bin/calibre --detach %F";
genericName = "E-book library management";
icon = "@out@/share/calibre/images/library.png";
comment = "Manage, convert, edit, and read e-books";
mimeType = lib.concatStringsSep ";" [
"application/x-mobipocket-subscription"
"application/vnd.openxmlformats-officedocument.wordprocessingml.document"
"text/html"
"application/x-cbc"
"application/ereader"
"application/oebps-package+xml"
"image/vnd.djvu"
"application/x-sony-bbeb"
"application/vnd.ms-word.document.macroenabled.12"
"text/rtf"
"text/x-markdown"
"application/pdf"
"application/x-cbz"
"application/x-mobipocket-ebook"
"application/x-cbr"
"application/x-mobi8-ebook"
"text/fb2+xml"
"application/vnd.oasis.opendocument.text"
"application/epub+zip"
"text/plain"
"application/xhtml+xml"
];
categories = "Office";
extraEntries = ''
Actions=Edit;Viewer;
[Desktop Action Edit]
Name=Edit E-book
Icon=@out@/share/calibre/images/tweak.png
Exec=@out@/bin/ebook-edit --detach %F
[Desktop Action Viewer]
Name=E-book Viewer
Icon=@out@/share/calibre/images/viewer.png
Exec=@out@/bin/ebook-viewer --detach %F
'';
};
ebookEditDesktopItem = makeDesktopItem {
fileValidation = false; # fails before substitution
name = "calibre-edit-book";
desktopName = "Edit E-book";
genericName = "E-book Editor";
comment = "Edit e-books";
icon = "@out@/share/calibre/images/tweak.png";
exec = "@out@/bin/ebook-edit --detach %F";
categories = "Office;Publishing";
mimeType = "application/epub+zip";
extraEntries = "NoDisplay=true";
};
ebookViewerDesktopItem = makeDesktopItem {
fileValidation = false; # fails before substitution
name = "calibre-ebook-viewer";
desktopName = "E-book Viewer";
genericName = "E-book Viewer";
comment = "Read e-books in all the major formats";
icon = "@out@/share/calibre/images/viewer.png";
exec = "@out@/bin/ebook-viewer --detach %F";
categories = "Office;Viewer";
mimeType = "application/epub+zip";
extraEntries = "NoDisplay=true";
};
meta = with lib; {
description = "Comprehensive e-book software";
homepage = "https://calibre-ebook.com";

View File

@ -1,12 +1,15 @@
{ lib, fetchurl, pythonPackages, gettext }:
{ lib, fetchFromGitHub, pythonPackages, gettext }:
pythonPackages.buildPythonApplication rec {
pname = "cherrytree";
version = "0.39.1";
version = "0.39.2";
src = fetchFromGitHub {
owner = "giuspen";
repo = "cherrytree";
rev = version;
sha256 = "1l6wh24bhp4yhmsfmc0r4n2n10nlilkv4cmv5sfl80i250fiw7xa";
src = fetchurl {
url = "https://www.giuspen.com/software/${pname}-${version}.tar.xz";
sha256 = "0qhycblnixvbybzr8psgmgcpfs6jc9m0p2h9lmd5zmiaggqlcsv7";
};
nativeBuildInputs = [ gettext ];
@ -20,17 +23,16 @@ pythonPackages.buildPythonApplication rec {
meta = with lib; {
description = "An hierarchical note taking application";
longDescription = ''
Cherrytree is an hierarchical note taking application,
featuring rich text, syntax highlighting and powerful search
capabilities. It organizes all information in units called
"nodes", as in a tree, and can be very useful to store any piece
of information, from tables and links to pictures and even entire
documents. All those little bits of information you have scattered
around your hard drive can be conveniently placed into a
Cherrytree document where you can easily find it.
Cherrytree is an hierarchical note taking application, featuring rich
text, syntax highlighting and powerful search capabilities. It organizes
all information in units called "nodes", as in a tree, and can be very
useful to store any piece of information, from tables and links to
pictures and even entire documents. All those little bits of information
you have scattered around your hard drive can be conveniently placed into
a Cherrytree document where you can easily find it.
'';
homepage = "http://www.giuspen.com/cherrytree";
license = licenses.gpl3;
maintainers = with maintainers; [ AndersonTorres ];
maintainers = with maintainers; [ ];
};
}

View File

@ -74,7 +74,7 @@ stdenv.mkDerivation rec {
wrapProgram $out/bin/far2l --argv0 $out/bin/far2l
'';
stripDebugList = "bin share";
stripDebugList = [ "bin" "share" ];
enableParallelBuilding = true;

View File

@ -3,13 +3,13 @@
stdenv.mkDerivation rec {
pname = "notejot";
version = "1.6.0";
version = "1.6.3";
src = fetchFromGitHub {
owner = "lainsce";
repo = pname;
rev = version;
sha256 = "1b65m9gvq8ziqqgnw3vgjpjb1qw7bww40ngd3gardsjg9lcwpxaf";
sha256 = "170dzgd6cnf2k3hfifjysmdggpskx6v1pjmblqgbwaj2d3snf3h8";
};
nativeBuildInputs = [

View File

@ -11,13 +11,13 @@ let
in stdenv.mkDerivation rec {
pname = "sequeler";
version = "0.7.4";
version = "0.7.9";
src = fetchFromGitHub {
owner = "Alecaddd";
repo = pname;
rev = "v${version}";
sha256 = "0ki8dganj6hmvg5qwdlc3y0a4pdmx7454np790yf5wnqb6ixb6gv";
sha256 = "117gcc41rd24y5hpm3drqxfcfz52smpcr8w76xnykx8wb1ac50jf";
};
nativeBuildInputs = [ meson ninja pkgconfig vala gettext wrapGAppsHook python3 desktop-file-utils ];

View File

@ -0,0 +1,41 @@
From dfa4bcafec4425659a409550085417af3c5c787b Mon Sep 17 00:00:00 2001
From: Florian Klink <flokli@flokli.de>
Date: Sat, 11 Apr 2020 12:38:38 +0200
Subject: [PATCH] core: fix libgit ifdef to handle libgit2 v1.0 and onwards
Conditional code for older libgit versions was removed in
https://github.com/Subsurface-divelog/subsurface/pull/2737,
but it's a non-trivial backport, and master currently isn't really ready
for a release.
So instead ship a patch fixing the one broken libgit2 conditional until
a 4.10 release has been made.
Note the inverted logic - the if branch now handles the old libgit
condition, and the else branch the newer versions, consistent with how
it's done in the rest of the subsurface codebase.
---
core/git-access.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/core/git-access.c b/core/git-access.c
index 3688cb90c..9997fc8fd 100644
--- a/core/git-access.c
+++ b/core/git-access.c
@@ -359,10 +359,10 @@ static int try_to_git_merge(git_repository *repo, git_reference **local_p, git_r
}
git_merge_init_options(&merge_options, GIT_MERGE_OPTIONS_VERSION);
-#if !LIBGIT2_VER_MAJOR && LIBGIT2_VER_MINOR > 23
- merge_options.flags = GIT_MERGE_FIND_RENAMES;
-#else
+#if !LIBGIT2_VER_MAJOR && LIBGIT2_VER_MINOR <= 22
merge_options.tree_flags = GIT_MERGE_TREE_FIND_RENAMES;
+#else
+ merge_options.flags = GIT_MERGE_FIND_RENAMES;
#endif
merge_options.file_favor = GIT_MERGE_FILE_FAVOR_UNION;
merge_options.rename_threshold = 100;
--
2.25.1

View File

@ -4,16 +4,22 @@
}:
let
version = "4.8.2";
version = "4.9.3";
subsurfaceSrc = (fetchFromGitHub {
owner = "Subsurface-divelog";
repo = "subsurface";
rev = "v${version}";
sha256 = "1i07f7appifx9j205x5a7ng01wsipxr6n9a3692pm60jli2nsir5";
fetchSubmodules = true;
});
libdc = stdenv.mkDerivation {
pname = "libdivecomputer-ssrf";
inherit version;
src = fetchurl {
url = "https://subsurface-divelog.org/downloads/libdivecomputer-subsurface-branch-${version}.tgz";
sha256 = "167qan59raibmilkc574gdqxfjg2f5ww2frn86xzk2kn4qg8190w";
};
src = subsurfaceSrc;
sourceRoot = "source/libdivecomputer";
nativeBuildInputs = [ autoreconfHook ];
@ -70,10 +76,10 @@ in stdenv.mkDerivation {
pname = "subsurface";
inherit version;
src = fetchurl {
url = "https://subsurface-divelog.org/downloads/Subsurface-${version}.tgz";
sha256 = "1fzrq6rqb6pzs36wxar2453cl509dqpcy9w7nq4gw7b1v2331wfy";
};
src = subsurfaceSrc;
# remove with the 4.10 release
patches = [ ./0001-core-fix-libgit-ifdef-to-handle-libgit2-v1.0-and-onw.patch ];
buildInputs = [
libdc googlemaps

View File

@ -2,7 +2,7 @@
let
pname = "Sylk";
version = "2.5.0";
version = "2.6.1";
in
appimageTools.wrapType2 rec {
@ -10,7 +10,7 @@ appimageTools.wrapType2 rec {
src = fetchurl {
url = "http://download.ag-projects.com/Sylk/Sylk-${version}-x86_64.AppImage";
sha256 = "1jhs25zzdac3r2wz886vlpb0bz77p52mdlrbsbv28h6is79pbd69";
hash = "sha256:0417qk925k7p3fiq1zha9al86jrz6mqspda7mi3h9blpbyvlcy7w";
};
profile = ''

View File

@ -19,13 +19,13 @@
stdenv.mkDerivation rec {
pname = "ephemeral";
version = "6.3.1";
version = "6.3.3";
src = fetchFromGitHub {
owner = "cassidyjames";
repo = "ephemeral";
rev = version;
sha256 = "13rl26lv5xgagiv21yp5pz69bkwh4nnz1lx9wryhsplki45xm1sq";
sha256 = "093bqc40p4s8jc1s5rg49363x24vnwwjayvgzmi4xag28f1x6kn8";
};
nativeBuildInputs = [

View File

@ -15,13 +15,13 @@ with lib;
stdenv.mkDerivation rec {
pname = "kubernetes";
version = "1.17.3";
version = "1.18.0";
src = fetchFromGitHub {
owner = "kubernetes";
repo = "kubernetes";
rev = "v${version}";
sha256 = "0caqczz8hrwqb8j94158hz6919i7c9v1v0zknh9m2zbbng4b1awi";
sha256 = "1jp54aahwpx9w73byfyadgffrig9fy6x8xzw27xv0anj2v9bm1fw";
};
nativeBuildInputs = [ removeReferencesTo makeWrapper which go rsync go-bindata ];

View File

@ -3,13 +3,13 @@
with stdenv.lib;
stdenv.mkDerivation rec {
pname = "bitlbee-discord";
version = "0.4.2";
version = "0.4.3";
src = fetchFromGitHub {
rev = version;
owner = "sm00th";
repo = "bitlbee-discord";
sha256 = "02pigk2vbz0jdz11f96sygdvp1j762yjn62h124fkcsc070g7a2f";
sha256 = "00qgdvrp7hv02n0ns685igp810zxmv3adsama8601122al6x041n";
};
nativeBuildInputs = [ autoreconfHook pkgconfig ];

View File

@ -0,0 +1,57 @@
{ stdenv
, fetchurl
, appimageTools
, makeWrapper
, electron_8
}:
stdenv.mkDerivation rec {
pname = "jitsi-meet-electron";
version = "2.0.0";
src = fetchurl {
url = "https://github.com/jitsi/jitsi-meet-electron/releases/download/v${version}/jitsi-meet-x86_64.AppImage";
sha256 = "11ci9dqhy8hkb4fwykjvcvai20ahqhjil825n1y1xf663ch8by93";
name="${pname}-${version}.AppImage";
};
appimageContents = appimageTools.extractType2 {
name = "${pname}-${version}";
inherit src;
};
dontUnpack = true;
dontConfigure = true;
dontBuild = true;
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
runHook preInstall
mkdir -p $out/bin $out/share/${pname} $out/share/applications
cp -a ${appimageContents}/{locales,resources} $out/share/${pname}
cp -a ${appimageContents}/jitsi-meet.desktop $out/share/applications/${pname}.desktop
cp -a ${appimageContents}/usr/share/icons $out/share
substituteInPlace $out/share/applications/${pname}.desktop \
--replace 'Exec=AppRun' 'Exec=${pname}'
runHook postInstall
'';
postFixup = ''
makeWrapper ${electron_8}/bin/electron $out/bin/${pname} \
--add-flags $out/share/${pname}/resources/app.asar \
--prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ stdenv.cc.cc ]}"
'';
meta = with stdenv.lib; {
description = "Jitsi Meet desktop application powered by Electron";
homepage = "https://github.com/jitsi/jitsi-meet-electron";
license = licenses.asl20;
maintainers = with maintainers; [ prusnak ];
platforms = [ "x86_64-linux" ];
};
}

View File

@ -15,11 +15,11 @@ assert pulseaudioSupport -> libpulseaudio != null;
let
inherit (stdenv.lib) concatStringsSep makeBinPath optional;
version = "3.5.383291.0407";
version = "3.5.385850.0413";
srcs = {
x86_64-linux = fetchurl {
url = "https://zoom.us/client/${version}/zoom_x86_64.tar.xz";
sha256 = "1l560gv1wpfiggxylz3f62mcjjchpq3p0i1j4b2b68ckgc5sj80k";
sha256 = "049kxgkyaxknxpk0hf1a7bxn0c08dk250z3q2ba9pc1xkrn5kdnw";
};
};

View File

@ -12,7 +12,9 @@
, json-glib
, libsoup
, libgee
, wrapGAppsHook }:
, wrapGAppsHook
, vala_0_40
}:
stdenv.mkDerivation rec {
pname = "ping";
@ -28,7 +30,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [
meson
ninja
vala
vala_0_40
pkgconfig
python3
wrapGAppsHook

View File

@ -1,34 +1,41 @@
{ stdenv, lib, fetchFromGitHub, cmake, pkgconfig
, alsaLib, ffmpeg, glib, openssl, pcre, zlib
, libX11, libXcursor, libXdamage, libXext, libXi, libXinerama, libXrandr, libXrender, libXv, libXtst
, libxkbcommon, libxkbfile
, wayland
, gstreamer, gst-plugins-base, gst-plugins-good, libunwind, orc
, libxslt
, libusb1
, libpulseaudio ? null
, cups ? null
, pcsclite ? null
, systemd ? null
, buildServer ? true
, nocaps ? false
}:
{ stdenv, lib, fetchFromGitHub, cmake, pkgconfig, alsaLib, ffmpeg, glib, openssl
, pcre, zlib, libX11, libXcursor, libXdamage, libXext, libXi, libXinerama
, libXrandr, libXrender, libXv, libXtst, libxkbcommon, libxkbfile, wayland
, gstreamer, gst-plugins-base, gst-plugins-good, libunwind, orc, libxslt
, libusb1, libpulseaudio ? null, cups ? null, pcsclite ? null, systemd ? null
, buildServer ? true, nocaps ? false }:
stdenv.mkDerivation rec {
let
cmFlag = flag: if flag then "ON" else "OFF";
disabledTests = [
# this one is probably due to our sandbox
{
dir = "libfreerdp/crypto/test";
file = "Test_x509_cert_info.c";
}
];
in stdenv.mkDerivation rec {
pname = "freerdp";
version = "2.0.0";
src = fetchFromGitHub {
owner = "FreeRDP";
repo = "FreeRDP";
rev = version;
owner = "FreeRDP";
repo = "FreeRDP";
rev = version;
sha256 = "0d2559v0z1jnq6jlrvsgdf8p6gd27m8kwdnxckl1x0ygaxs50bqc";
};
# outputs = [ "bin" "out" "dev" ];
prePatch = ''
postPatch = ''
export HOME=$TMP
# failing test(s)
${lib.concatMapStringsSep "\n" (e: ''
substituteInPlace ${e.dir}/CMakeLists.txt \
--replace ${e.file} ""
rm ${e.dir}/${e.file}
'') disabledTests}
substituteInPlace "libfreerdp/freerdp.pc.in" \
--replace "Requires:" "Requires: @WINPR_PKG_CONFIG_FILENAME@"
'' + lib.optionalString (pcsclite != null) ''
@ -39,32 +46,54 @@ stdenv.mkDerivation rec {
--replace "RDP_SCANCODE_CAPSLOCK" "RDP_SCANCODE_LCONTROL"
'';
buildInputs = with lib; [
alsaLib cups ffmpeg glib openssl pcre pcsclite libpulseaudio zlib
gstreamer gst-plugins-base gst-plugins-good libunwind orc
libX11 libXcursor libXdamage libXext libXi libXinerama libXrandr libXrender libXv libXtst
libxkbcommon libxkbfile
wayland libusb1
libxslt
] ++ optional stdenv.isLinux systemd;
buildInputs = with lib;
[
alsaLib
cups
ffmpeg
glib
gst-plugins-base
gst-plugins-good
gstreamer
libX11
libXcursor
libXdamage
libXext
libXi
libXinerama
libXrandr
libXrender
libXtst
libXv
libpulseaudio
libunwind
libusb1
libxkbcommon
libxkbfile
libxslt
openssl
orc
pcre
pcsclite
wayland
zlib
] ++ optional stdenv.isLinux systemd;
nativeBuildInputs = [
cmake pkgconfig
];
nativeBuildInputs = [ cmake pkgconfig ];
enableParallelBuilding = true;
doCheck = true;
doCheck = false;
cmakeFlags = with lib; [
"-DCMAKE_INSTALL_LIBDIR=lib"
"-DWITH_CUNIT=OFF"
"-DWITH_OSS=OFF"
] ++ optional (libpulseaudio != null) "-DWITH_PULSE=ON"
++ optional (cups != null) "-DWITH_CUPS=ON"
++ optional (pcsclite != null) "-DWITH_PCSC=ON"
++ optional buildServer "-DWITH_SERVER=ON"
++ optional (stdenv.isx86_64) "-DWITH_SSE2=ON";
cmakeFlags = [ "-DCMAKE_INSTALL_LIBDIR=lib" ]
++ lib.mapAttrsToList (k: v: "-D${k}=${if v then "ON" else "OFF"}") {
BUILD_TESTING = doCheck;
WITH_CUNIT = doCheck;
WITH_CUPS = (cups != null);
WITH_OSS = false;
WITH_PCSC = (pcsclite != null);
WITH_PULSE = (libpulseaudio != null);
WITH_SERVER = buildServer;
WITH_SSE2 = stdenv.isx86_64;
};
meta = with lib; {
description = "A Remote Desktop Protocol Client";
@ -72,7 +101,7 @@ stdenv.mkDerivation rec {
FreeRDP is a client-side implementation of the Remote Desktop Protocol (RDP)
following the Microsoft Open Specifications.
'';
homepage = "http://www.freerdp.com/";
homepage = "https://www.freerdp.com/";
license = licenses.asl20;
maintainers = with maintainers; [ peterhoeg lheckemann ];
platforms = platforms.unix;

View File

@ -3,13 +3,13 @@
stdenv.mkDerivation rec {
pname = "testssl.sh";
version = "3.0rc6";
version = "3.0";
src = fetchFromGitHub {
owner = "drwetter";
repo = pname;
rev = version;
sha256 = "1ks7pqgrg382ry0a0jf1dwgcwv81snhkrhkjdbcpym6w5flmpjsv";
sha256 = "08i1l835zlzb3qmsnsd5vhsrr82li6fnp5jqxiybbqr5wjz67ssd";
};
nativeBuildInputs = [ makeWrapper ];

View File

@ -1,7 +1,9 @@
{ stdenv
, fetchFromGitHub
, pantheon
, cmake
, meson
, ninja
, python3
, pkg-config
, vala
, gettext
@ -13,20 +15,23 @@
stdenv.mkDerivation rec {
pname = "agenda";
version = "1.0.12";
version = "1.1.0";
src = fetchFromGitHub {
owner = "dahenson";
repo = pname;
rev = version;
sha256 = "128c9p2jkc90imlq25xg5alqlam8q4i3gd5p1kcggf7s4amv8l8w";
sha256 = "0yfapapsanqacaa83iagar88i335yy2jvay8y6z7gkri7avbs4am";
};
nativeBuildInputs = [
cmake
gettext
vala
glib # for glib-compile-schemas
meson
ninja
pkg-config
python3
vala
wrapGAppsHook
];
@ -37,6 +42,13 @@ stdenv.mkDerivation rec {
pantheon.granite
];
postPatch = ''
chmod +x meson/post_install.py
patchShebangs meson/post_install.py
'';
doCheck = true;
passthru = {
updateScript = pantheon.updateScript {
attrPath = pname;

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "atlassian-cli";
version = "9.1.1";
version = "9.2.0";
src = fetchzip {
url = "https://bobswift.atlassian.net/wiki/download/attachments/16285777/${pname}-${version}-distribution.zip";
sha256 = "0mdf4ybp0a6c816210g76lx901qwxw727ipyiph5kbdzl4jlrpgm";
sha256 = "0rdnbx3zfz3lpgka7bb8jzapkr81l2yvgsbmn8hrhva5k61xwx3d";
extraPostFetch = "chmod go-w $out";
};

View File

@ -1,67 +1,112 @@
{ stdenv, fetchurl
, libX11, glib, xorg, fontconfig, freetype
, zlib, libpng12, libICE, libXrender, cups
, alsaLib, atk, cairo, dbus, expat
, gdk-pixbuf, gtk2-x11, lzma, pango, zotero
, sqlite, libuuid, qt5, dpkg }:
{ stdenv
, mkDerivation
, fetchurl
, autoPatchelfHook
, dpkg
, wrapGAppsHook
, wrapQtAppsHook
, alsaLib
, atk
, bzip2
, cairo
, cups
, dbus
, expat
, ffmpeg_3
, fontconfig
, freetype
, gdk-pixbuf
, glib
, gperftools
, gtk2-x11
, libpng12
, libtool
, libuuid
, libxml2
, lzma
, nspr
, nss
, openssl
, pango
, qt4
, qtbase
, sqlite
, unixODBC
, xorg
, zlib
}:
stdenv.mkDerivation rec{
pname = "wpsoffice";
version = "11.1.0.9080";
version = "11.1.0.9505";
src = fetchurl {
url = "http://wdl1.pcfg.cache.wpscdn.com/wpsdl/wpsoffice/download/linux/9080/wps-office_11.1.0.9080.XA_amd64.deb";
sha256 = "1731e9aea22ef4e558ad66b1373d863452b4f570aecf09d448ae28a821333454";
url = "http://wdl1.pcfg.cache.wpscdn.com/wpsdl/wpsoffice/download/linux/9505/wps-office_11.1.0.9505.XA_amd64.deb";
sha256 = "1bvaxwd3npw3kswk7k1p6mcbfg37x0ym4sp6xis6ykz870qivqk5";
};
unpackCmd = "dpkg -x $src .";
sourceRoot = ".";
nativeBuildInputs = [ qt5.wrapQtAppsHook dpkg ];
postUnpack = stdenv.lib.optionalString (version == "11.1.0.9505") ''
# distribution is missing libjsapiservice.so, so we should not let
# autoPatchelfHook fail on the following dead libraries
rm opt/kingsoft/wps-office/office6/{libjsetapi.so,libjswppapi.so,libjswpsapi.so}
'';
nativeBuildInputs = [ autoPatchelfHook dpkg wrapGAppsHook wrapQtAppsHook ];
meta = {
description = "Office program originally named Kingsoft Office";
homepage = "http://wps-community.org/";
platforms = [ "i686-linux" "x86_64-linux" ];
platforms = [ "x86_64-linux" ];
hydraPlatforms = [];
license = stdenv.lib.licenses.unfreeRedistributable;
maintainers = [ stdenv.lib.maintainers.mlatus ];
};
libPath = with xorg; stdenv.lib.makeLibraryPath [
libX11
libpng12
glib
libSM
libXext
fontconfig
zlib
freetype
libICE
cups
libXrender
libxcb
buildInputs = with xorg; [
alsaLib
atk
bzip2
cairo
dbus.daemon.lib
dbus.lib
expat
fontconfig.lib
ffmpeg_3
fontconfig
freetype
gdk-pixbuf
glib
gperftools
gtk2-x11
lzma
pango
zotero
sqlite
libuuid
libICE
libSM
libX11
libX11
libXScrnSaver
libXcomposite
libXcursor
libXdamage
libXext
libXfixes
libXi
libXrandr
libXScrnSaver
libXrender
libXtst
libpng12
libtool
libuuid
libxcb
libxml2
lzma
nspr
nss
openssl
pango
qt4
qtbase
sqlite
unixODBC
zlib
];
dontPatchELF = true;
@ -70,25 +115,59 @@ stdenv.mkDerivation rec{
# references to nix own build directory
noAuditTmpdir = true;
unvendoredLibraries = [
# Have to use parts of the vendored qt4
#"Qt"
"SDL2"
"bz2"
"avcodec"
"avdevice"
"avformat"
"avutil"
"swresample"
"swscale"
"jpeg"
"png"
# File saving breaks unless we are using vendored llvmPackages_8.libcxx
#"c++"
"ssl" "crypto"
"nspr"
"nss"
"odbc"
"tcmalloc" # gperftools
];
installPhase = ''
prefix=$out/opt/kingsoft/wps-office
mkdir -p $out
cp -r opt $out
cp -r usr/* $out
# Avoid forbidden reference error due use of patchelf
rm -r *
for lib in $unvendoredLibraries; do
rm -v "$prefix/office6/lib$lib"*.so{,.*}
done
for i in wps wpp et wpspdf; do
patchelf \
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--force-rpath --set-rpath "$(patchelf --print-rpath $prefix/office6/$i):${stdenv.cc.cc.lib}/lib64:${libPath}" \
$prefix/office6/$i
substituteInPlace $out/bin/$i \
--replace /opt/kingsoft/wps-office $prefix
done
for i in $out/share/applications/*;do
substituteInPlace $i \
--replace /usr/bin $out/bin \
--replace /opt/kingsoft/wps-office $prefix
--replace /usr/bin $out/bin
done
'';
runtimeLibPath = stdenv.lib.makeLibraryPath [
cups.lib
];
dontWrapQtApps = true;
dontWrapGApps = true;
postFixup = ''
for f in "$out"/bin/*; do
echo "Wrapping $f"
wrapProgram "$f" \
"''${gappsWrapperArgs[@]}" \
"''${qtWrapperArgs[@]}" \
--suffix LD_LIBRARY_PATH : "$runtimeLibPath"
done
'';
}

View File

@ -4,11 +4,11 @@
}:
python2.pkgs.buildPythonApplication rec {
pname = "chirp-daily";
version = "20200213";
version = "20200409";
src = fetchurl {
url = "https://trac.chirp.danplanet.com/chirp_daily/daily-${version}/${pname}-${version}.tar.gz";
sha256 = "189kg3425wggib1cggcj49bk01pq3j4b8mks7najpp1rjsl5f2i1";
sha256 = "16zhwg2xmp5kpqx5isavwwkfq1212zgfj8gbp453ngjcrvp3m4lq";
};
propagatedBuildInputs = with python2.pkgs; [

View File

@ -1,5 +1,6 @@
{ stdenv
, fetchFromGitHub
, fetchpatch
, pkgconfig
, vala
, gtk3
@ -25,6 +26,14 @@ stdenv.mkDerivation rec {
sha256 = "036v3dx8yasp19j88lflibqnpfi5d0nk7qkcnr80zn1lvawf4wgn";
};
patches = [
# fix build with gcc9
(fetchpatch {
url = "https://github.com/parnold-x/nasc/commit/46b9b80e228b6b86001bded45d85e073a9411549.patch";
sha256 = "1sm2aw0xhw2chk036r231nmp2f2ypxcmzggwljkn7wfzgg3h1mx3";
})
];
nativeBuildInputs = [
cmake
vala

View File

@ -4,11 +4,11 @@
stdenv.mkDerivation rec {
pname = "gp2c";
version = "0.0.11pl2";
version = "0.0.11pl3";
src = fetchurl {
url = "https://pari.math.u-bordeaux.fr/pub/pari/GP2C/${pname}-${version}.tar.gz";
sha256 = "0wqsf05wgkqvmmsx7jinvzdqav6rl56sr8haibgs31nzz4x9xz9g";
sha256 = "0yymbrgyjw500hqgmkj5m4nmscd7c9rs9w2c96lxgrcyab8krhrm";
};
buildInputs = [ pari perl ];
@ -25,4 +25,3 @@ stdenv.mkDerivation rec {
maintainers = with maintainers; [ AndersonTorres ];
};
}
# TODO: add it as "source file" for default package

View File

@ -18,13 +18,14 @@
stdenv.mkDerivation rec {
pname = "monitor";
version = "0.6.2";
version = "0.7.1";
src = fetchFromGitHub {
owner = "stsdc";
repo = "monitor";
rev = version;
sha256 = "0cqzxlzdbij26qgbbngqx6njcpcymkgvm29b7ipldgkssxp1mkkg";
sha256 ="194s9rjh3yd2c3rf3zwxsxr2lwqfswjazj39yiyccy0wcxmxpv34";
fetchSubmodules = true;
};
nativeBuildInputs = [
@ -61,6 +62,11 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; {
description = "Manage processes and monitor system resources";
longDescription = ''
Manage processes and monitor system resources.
To use the wingpanel indicator in this application, see the Pantheon
section in the NixOS manual.
'';
homepage = "https://github.com/stsdc/monitor";
maintainers = with maintainers; [ kjuvi ] ++ pantheon.maintainers;
platforms = platforms.linux;

View File

@ -2,23 +2,23 @@
rustPlatform.buildRustPackage rec {
pname = "git-trim";
version = "0.2.4";
version = "0.3.1";
src = fetchFromGitHub {
owner = "foriequal0";
repo = pname;
rev = "v${version}";
sha256 = "0gfmv9bwhh6bv0s9kfbxq9wsvrk3zz3ibavbpp9l8cpqc3145pqy";
sha256 = "06wni47s8yq274bh5f7bcy0sah23938kjiw5pdxnma5kwwnrccrr";
};
cargoSha256 = "0xklczk4vbh2mqf76r3rsfyclyza9imf6yss7vbkm9w4ir3ar9f3";
cargoSha256 = "06ndja8212xy4rybh1117wijsyj70w4z8h6km538a7598s49vzdk";
nativeBuildInputs = [ pkg-config ];
buildInputs = [ openssl ] ++ stdenv.lib.optionals stdenv.isDarwin [ libiconv Security ];
postInstall = ''
install -Dm644 docs/git-trim.md.1 $out/share/man/man1/git-trim.1
install -Dm644 -t $out/share/man/man1/ docs/git-trim.1
'';
# fails with sandbox

View File

@ -5,14 +5,15 @@ set -eu -o pipefail
oldVersion="$(nix-instantiate --eval -E "with import ./. {}; lib.getVersion git" | tr -d '"')"
latestTag="$(git ls-remote --tags --sort="v:refname" git://github.com/git/git.git | grep -v '\{\}' | grep -v '\-rc' | tail -1 | sed 's|^.*/v\(.*\)|\1|')"
targetVersion="${1:-latestTag}"
if [ ! "${oldVersion}" = "${latestTag}" ]; then
update-source-version git "${latestTag}"
if [ ! "${oldVersion}" = "${targetVersion}" ]; then
update-source-version git "${targetVersion}"
nixpkgs="$(git rev-parse --show-toplevel)"
default_nix="$nixpkgs/pkgs/applications/version-management/git-and-tools/git/default.nix"
nix-build -A git
git add "${default_nix}"
git commit -m "git: ${oldVersion} -> ${latestTag}"
git commit -m "git: ${oldVersion} -> ${targetVersion}"
else
echo "git is already up-to-date"
fi

View File

@ -31,10 +31,13 @@ stdenv.mkDerivation rec {
make install
make install-doc
substituteInPlace contrib/tig-completion.zsh \
--replace 'e=$(dirname ''${funcsourcetrace[1]%:*})/tig-completion.bash' "e=$out/etc/bash_completion.d/tig-completion.bash"
# fixes tig-completion __git-complete dependency
sed -i '1s;^;source ${git}/share/bash-completion/completions/git\n;' contrib/tig-completion.bash
install -D contrib/tig-completion.bash $out/etc/bash_completion.d/tig-completion.bash
substituteInPlace contrib/tig-completion.zsh \
--replace 'e=$(dirname ''${funcsourcetrace[1]%:*})/tig-completion.bash' "e=$out/share/bash-completion/completions/tig"
install -D contrib/tig-completion.bash $out/share/bash-completion/completions/tig
install -D contrib/tig-completion.zsh $out/share/zsh/site-functions/_tig
cp contrib/vim.tigrc $out/etc/

View File

@ -52,7 +52,7 @@
, xvSupport ? stdenv.isLinux, libXv ? null
, youtubeSupport ? true, youtube-dl ? null
, zimgSupport ? true, zimg ? null
, archiveSupport ? false, libarchive ? null
, archiveSupport ? true, libarchive ? null
, jackaudioSupport ? false, libjack2 ? null
, openalSupport ? true, openalSoft ? null
, vapoursynthSupport ? false, vapoursynth ? null

View File

@ -4,13 +4,13 @@
stdenv.mkDerivation rec {
pname = "wf-recorder";
version = "0.2";
version = "0.2.1";
src = fetchFromGitHub {
owner = "ammen99";
repo = pname;
rev = "v${version}";
sha256 = "1772hrd7j8b32y65x5c392kdijlcn13iqg9hrlagfar92102vsbf";
sha256 = "1cw6kpcbl33wh95pvy32xrsrm6kkk1awccr3phyh885xjs3b3iim";
};
nativeBuildInputs = [ meson ninja pkg-config wayland scdoc ];

View File

@ -20,7 +20,7 @@ let
buildTags = "apparmor seccomp selinux containers_image_ostree_stub";
in buildGoPackage rec {
project = "cri-o";
version = "1.17.1";
version = "1.17.3";
name = "${project}-${version}${flavor}";
goPackagePath = "github.com/${project}/${project}";
@ -29,7 +29,7 @@ in buildGoPackage rec {
owner = "cri-o";
repo = "cri-o";
rev = "v${version}";
sha256 = "0zipigjcnhcnn0w69dkd8312qb6z98l65ir175wp3jfvj4cx3g28";
sha256 = "1cy2lqasfn5n20vlm3ckb6myci8ya6qv08dw8fq7z4ycnm39r1a6";
};
outputs = [ "bin" "out" ];

View File

@ -1,24 +1,32 @@
{ stdenv, fetchFromGitHub, pkgconfig, installShellFiles
, buildGoPackage, gpgme, lvm2, btrfs-progs, libseccomp, systemd
{ stdenv
, fetchFromGitHub
, pkg-config
, installShellFiles
, buildGoPackage
, gpgme
, lvm2
, btrfs-progs
, libseccomp
, systemd
, go-md2man
}:
buildGoPackage rec {
pname = "podman";
version = "1.8.2";
version = "1.9.0";
src = fetchFromGitHub {
owner = "containers";
repo = "libpod";
rev = "v${version}";
sha256 = "1nxlkqz1ffa3l2yf4rmsxj788dx6xdp8pbi55m9jc9k1vqwc9hxs";
owner = "containers";
repo = "libpod";
rev = "v${version}";
sha256 = "19y48lpf7pvw5f5pzpknn92rq9xwbrpvi8mj7mc4dby6skqadrk4";
};
goPackagePath = "github.com/containers/libpod";
outputs = [ "bin" "out" "man" ];
nativeBuildInputs = [ pkgconfig go-md2man installShellFiles ];
nativeBuildInputs = [ pkg-config go-md2man installShellFiles ];
buildInputs = stdenv.lib.optionals stdenv.isLinux [ btrfs-progs libseccomp gpgme lvm2 systemd ];

View File

@ -6,6 +6,7 @@
, libpthreadstubs, pcre, libXdamage, libXcomposite, libXfixes
, libsndfile, fribidi }:
with stdenv.lib;
stdenv.mkDerivation rec {
pname = "icewm";
version = "1.6.5";
@ -34,13 +35,13 @@ stdenv.mkDerivation rec {
cp -r ../lib/themes/{gtk2,Natural,nice,nice2,warp3,warp4,yellowmotif} $out/share/icewm/themes/
'';
meta = with stdenv.lib; {
meta = {
description = "A simple, lightweight X window manager";
longDescription = ''
IceWM is a window manager for the X Window System. The goal of
IceWM is speed, simplicity, and not getting in the user's way.
'';
homepage = "http://www.icewm.org/";
homepage = "https://www.ice-wm.org/";
license = licenses.lgpl2;
maintainers = [ maintainers.AndersonTorres ];
platforms = platforms.linux;

View File

@ -1,4 +1,4 @@
{ stdenv, makeWrapper, coreutils, gnused, gnugrep, diffutils, nix }:
{ stdenv, makeWrapper, coreutils, gnused, gnugrep, diffutils, nix, git }:
stdenv.mkDerivation {
name = "common-updater-scripts";
@ -12,7 +12,7 @@ stdenv.mkDerivation {
cp ${./scripts}/* $out/bin
for f in $out/bin/*; do
wrapProgram $f --prefix PATH : ${stdenv.lib.makeBinPath [ coreutils gnused gnugrep nix diffutils ]}
wrapProgram $f --prefix PATH : ${stdenv.lib.makeBinPath [ coreutils gnused gnugrep nix diffutils git ]}
done
'';
}

View File

@ -0,0 +1,35 @@
#! /bin/sh
# lists all available versions listed for a package in a site (http)
scriptName=list-archive-two-level-versions # do not use the .wrapped name
usage() {
echo "Usage: $scriptName <archive url> [<package name> [<debug file path>]]"
}
archive="$1" # archive url
pname="$2" # package name
file="$3" # file for writing debugging information
if [ -z "$archive" ]; then
echo "$scriptName: Missing archive url"
usage
exit 1
fi
# print a debugging message
if [ -n "$file" ]; then
echo "# Listing versions for $pname at $archive" >> $file
fi
# list all major-minor versions from archive
tags1=$(curl -sS "$archive/")
tags1=$(echo "$tags1" | sed -rne 's,^<a href="([0-9]+\.[0-9]+)/">.*,\1,p')
# print available versions
for tag in $tags1; do
tags2=$(curl -sS "$archive/$tag/")
tags2=$(echo "$tags2" | sed -rne "s,^<a href=\"$pname-([0-9.]+)\\.[^0-9].*\">.*,\\1,p")
echo "$tags2"
done

View File

@ -0,0 +1,32 @@
#! /bin/sh -x
# lists all available tags from a git repository
scriptName=list-git-tags # do not use the .wrapped name
usage() {
echo "Usage: $scriptName <repository url> [<package name> [<debug file path>]]"
}
repo="$1" # git repository url
pname="$2" # package name
file="$3" # file for writing debugging information
if [ -z "$repo" ]; then
echo "$scriptName: Missing git repository url"
usage
exit 1
fi
# print a debugging message
if [ -n "$file" ]; then
echo "# Listing tags for $pname at $repo" >> $file
fi
# list all tags from the remote repository
tags=$(git ls-remote --tags --refs "$repo")
# keep only the version part of the tag
tags=$(echo "$tags" | cut --delimiter=/ --field=3)
echo "$tags"

View File

@ -0,0 +1,98 @@
{ stdenv, writeScript, coreutils, gnugrep, gnused, common-updater-scripts, nix }:
{ pname
, version
, attrPath ? pname
, versionLister
, rev-prefix ? ""
, odd-unstable ? true
, patchlevel-unstable ? true
}:
let
# where to print git commands and debugging messages
fileForGitCommands = "update-git-commits.txt";
# shell script to update package
updateScript = writeScript "update-script.sh" ''
#! ${stdenv.shell}
set -o errexit
set -x
pname="$1"
version="$2"
attr_path="$3"
version_lister="$4"
rev_prefix="$5"
odd_unstable="$6"
patchlevel_unstable="$7"
# print header
echo "# $pname-$version" >> ${fileForGitCommands}
function version_is_unstable() {
local tag="$1"
local enforce="$2"
if [ -n "$odd_unstable" -o -n "$enforce" ]; then
local minor=$(echo "$tag" | ${gnused}/bin/sed -rne 's,^[0-9]+\.([0-9]+).*,\1,p')
if [ $((minor % 2)) -eq 1 ]; then
return 0
fi
fi
if [ -n "$patchlevel_unstable" -o -n "$enforce" ]; then
local patchlevel=$(echo "$tag" | ${gnused}/bin/sed -rne 's,^[0-9]+\.[0-9]+\.([0-9]+).*$,\1,p')
if ((patchlevel >= 90)); then
return 0
fi
fi
return 1
}
tags=$($version_lister $pname ${fileForGitCommands}) || exit 1
# print available tags
for tag in $tags; do
echo "# found $pname version: $tag" >> ${fileForGitCommands}
done
# cut any revision prefix not used in the NixOS package version
if [ -n "$rev_prefix" ]; then
tags=$(echo "$tags" | ${gnugrep}/bin/grep "^$rev_prefix")
tags=$(echo "$tags" | ${gnused}/bin/sed -e "s,^$rev_prefix,,")
fi
tags=$(echo "$tags" | ${gnugrep}/bin/grep "^[0-9]")
# sort the tags in decreasing order
tags=$(echo "$tags" | ${coreutils}/bin/sort --reverse --version-sort)
# find the newest tag
# do not consider development versions
for latest_tag in $tags; do
if version_is_unstable "$latest_tag"; then
echo "# skip development version: $pname-$latest_tag" >> ${fileForGitCommands}
latest_tag=
else
if version_is_unstable "$latest_tag" "enforce"; then
echo "# use potential development version: $pname-$latest_tag" >> ${fileForGitCommands}
fi
break
fi
done
if [ -n "$latest_tag" ]; then
# print commands to commit the changes
if [ "$version" != "$latest_tag" ]; then
pfile=$(EDITOR=echo ${nix}/bin/nix edit -f. "$attr_path")
echo " git add $pfile " >> ${fileForGitCommands}
echo " git commit -m '$attr_path: $version -> $latest_tag'" >> ${fileForGitCommands}
fi
# update the nix expression
${common-updater-scripts}/bin/update-source-version "$attr_path" "$latest_tag"
fi
echo "" >> ${fileForGitCommands}
'';
in
[ updateScript pname version attrPath versionLister rev-prefix odd-unstable patchlevel-unstable ]

View File

@ -1,7 +1,7 @@
{ stdenv, fetchzip }:
let
version = "3";
version = "3.1";
in fetchzip {
name = "fira-code-${version}";
@ -13,7 +13,7 @@ in fetchzip {
unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype
'';
sha256 = "19kcqqd6c61v137q88zsvf2ra154n009sbqh6zs7l8f7r5bbipj2";
sha256 = "1rk5hiix282b1gsxq9kqma2q9fnydj0xl9vbrd88rf7ywvn75817";
meta = with stdenv.lib; {
homepage = "https://github.com/tonsky/FiraCode";

View File

@ -0,0 +1,36 @@
{ lib, stdenv, fetchurl, unzip }:
stdenv.mkDerivation rec {
pname = "line-awesome";
version = "1.3.0";
src = fetchurl {
url =
"https://maxst.icons8.com/vue-static/landings/line-awesome/line-awesome/${version}/line-awesome-${version}.zip";
hash = "sha256:07qkz8s1wjh5xwqlq1b4lpihr1zah3kh6bnqvfwvncld8l9wjqfk";
};
nativeBuildInputs = [ unzip ];
sourceRoot = "${version}/fonts";
installPhase = ''
mkdir -p $out/share/fonts/truetype
mkdir -p $out/share/fonts/woff
mkdir -p $out/share/fonts/woff2
cp *.ttf $out/share/fonts/truetype
cp *.woff $out/share/fonts/woff
cp *.woff2 $out/share/fonts/woff2
'';
meta = with lib; {
description = "Replace Font Awesome with modern line icons";
longDescription = ''
This package includes only the TTF, WOFF and WOFF2 fonts. For full CSS etc. see the project website.
'';
homepage = "https://icons8.com/line-awesome";
license = licenses.mit;
maintainers = with maintainers; [ puzzlewolf ];
platforms = platforms.all;
};
}

View File

@ -0,0 +1,44 @@
{ stdenv, fetchurl, gtk3, gnome3, hicolor-icon-theme }:
stdenv.mkDerivation rec {
pname = "humanity-icon-theme";
version = "0.6.15";
src = fetchurl {
url = "https://launchpad.net/ubuntu/+archive/primary/+files/${pname}_${version}.tar.xz";
sha256 = "19ja47468s3jfabvakq9wknyfclfr31a9vd11p3mhapfq8jv9g4x";
};
nativeBuildInputs = [
gtk3
];
propagatedBuildInputs = [
gnome3.adwaita-icon-theme
hicolor-icon-theme
];
dontDropIconThemeCache = true;
installPhase = ''
runHook preInstall
mkdir -p $out/share/icons
cp -a Humanity* $out/share/icons
rm $out/share/icons/*/{AUTHORS,CONTRIBUTORS,COPYING}
for theme in $out/share/icons/*; do
gtk-update-icon-cache $theme
done
runHook postInstall
'';
meta = with stdenv.lib; {
description = "Humanity icons from Ubuntu";
homepage = "https://launchpad.net/humanity/";
license = licenses.gpl2;
platforms = platforms.unix;
maintainers = [ maintainers.romildo ];
};
}

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "zafiro-icons";
version = "1.0";
version = "1.1";
src = fetchFromGitHub {
owner = "zayronxio";
repo = pname;
rev = "${version}";
sha256 = "0gy3c0jkj1icnwcs23b6km9cj9cccv8y5z1w11nfdv91cq3mdhmb";
sha256 = "05h8qm9izjbp8pnl9jpbw3y9sddhp0zmg94fm1k4d4hhdqnakqhv";
};
nativeBuildInputs = [ gtk3 ];

View File

@ -19,7 +19,7 @@
stdenv.mkDerivation rec {
pname = "elementary-videos";
version = "2.7.0";
version = "2.7.1";
repoName = "videos";
@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
owner = "elementary";
repo = repoName;
rev = version;
sha256 = "1b6dqqmxa83fwlh9r0v918ikxd3mnwk0j5xssw1wk5l7q72s43w7";
sha256 = "00arim4i9bv9mbms1irkp44grkgrfnmqzraswyn1xiz9nvl1bsb9";
};
passthru = {

View File

@ -15,13 +15,13 @@
stdenv.mkDerivation rec {
pname = "pantheon-agent-geoclue2";
version = "1.0.3";
version = "1.0.4";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
sha256 = "1fhgdcykn0ykn8fp7inn2akygpglhdwfpdkpnih86kqmqj8siahv";
sha256 = "1lky7pw47d5mdza3bhq0ahdhgdv159ixngdsc1ys6j1kszsfxc1f";
};
passthru = {

View File

@ -4,6 +4,7 @@ mkXfceDerivation {
category = "apps";
pname = "gigolo";
version = "0.5.0";
odd-unstable = false;
sha256 = "1lqsxb0d5i8p9vbzx8s4p3rga7va5h1q146xgmsa41j5v40wrlw6";

View File

@ -8,7 +8,7 @@ let
in
mkXfceDerivation {
category = "apps";
category = "archive";
pname = "orage";
version = "4.12.1";

View File

@ -4,6 +4,7 @@ mkXfceDerivation {
category = "apps";
pname = "xfce4-screenshooter";
version = "1.9.5";
odd-unstable = false;
sha256 = "1h14sywvk9l06p3z1cpb79911j8w2wqbk03ldknjkia2rfymjk06";

View File

@ -1,9 +1,11 @@
{ stdenv, fetchurl, pkgconfig, makeWrapper
, gstreamer, gtk2, gst-plugins-base, libnotify
, keybinder, xfconf
, keybinder, xfconf, xfce
}:
let
category = "apps";
# The usual Gstreamer plugins package has a zillion dependencies
# that we don't need for a simple mixer, so build a minimal package.
gst_plugins_minimal = gst-plugins-base.override {
@ -13,15 +15,13 @@ let
in
stdenv.mkDerivation rec {
p_name = "xfce4-volumed";
ver_maj = "0.1";
ver_min = "13";
pname = "xfce4-volumed";
version = "0.1.13";
src = fetchurl {
url = "mirror://xfce/src/apps/${p_name}/${ver_maj}/${name}.tar.bz2";
url = "mirror://xfce/src/${category}/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
sha256 = "1aa0a1sbf9yzi7bc78kw044m0xzg1li3y4w9kf20wqv5kfjs7v2c";
};
name = "${p_name}-${ver_maj}.${ver_min}";
buildInputs =
[ gstreamer gst_plugins_minimal gtk2
@ -36,6 +36,12 @@ stdenv.mkDerivation rec {
--prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH"
'';
passthru.updateScript = xfce.updateScript {
inherit pname version;
attrPath = "xfce.${pname}";
versionLister = xfce.archiveLister category pname;
};
meta = with stdenv.lib; {
homepage = "https://www.xfce.org/projects/xfce4-volumed"; # referenced but inactive
description = "A volume keys control daemon for the Xfce desktop environment";

View File

@ -18,7 +18,8 @@ mkXfceDerivation {
category = "apps";
pname = "xfdashboard";
version = "0.7.5";
rev = "0.7.5";
rev-prefix = "";
odd-unstable = false;
sha256 = "0d0kg90h3li41bs75z3xldljsglkz220pba39c54qznnzb8v8a2i";

View File

@ -1,23 +1,31 @@
{ stdenv, fetchurl, pkgconfig, intltool, gtk2 }:
{ stdenv, fetchurl, pkgconfig, intltool, gtk2, xfce }:
let
category = "art";
in
stdenv.mkDerivation rec {
p_name = "xfce4-icon-theme";
ver_maj = "4.4";
ver_min = "3";
pname = "xfce4-icon-theme";
version = "4.4.3";
src = fetchurl {
url = "mirror://xfce/src/art/${p_name}/${ver_maj}/${name}.tar.bz2";
url = "mirror://xfce/src/${category}/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
sha256 = "1yk6rx3zr9grm4jwpjvqdkl13pisy7qn1wm5cqzmd2kbsn96cy6l";
};
name = "${p_name}-${ver_maj}.${ver_min}";
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ intltool gtk2 ];
passthru.updateScript = xfce.updateScript {
inherit pname version;
attrPath = "xfce.${pname}";
versionLister = xfce.archiveLister category pname;
};
meta = {
meta = with stdenv.lib; {
homepage = "https://www.xfce.org/";
description = "Icons for Xfce";
platforms = stdenv.lib.platforms.linux;
maintainers = [ stdenv.lib.maintainers.eelco ];
platforms = platforms.linux;
maintainers = [ maintainers.eelco ];
};
}

View File

@ -1,15 +1,23 @@
{ stdenv, fetchurl }:
{ stdenv, fetchurl, xfce }:
let
category = "art";
in
stdenv.mkDerivation rec {
p_name = "xfwm4-themes";
ver_maj = "4.10";
ver_min = "0";
pname = "xfwm4-themes";
version = "4.10.0";
src = fetchurl {
url = "mirror://xfce/src/art/${p_name}/${ver_maj}/${name}.tar.bz2";
url = "mirror://xfce/src/${category}/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
sha256 = "0xfmdykav4rf6gdxbd6fhmrfrvbdc1yjihz7r7lba0wp1vqda51j";
};
name = "${p_name}-${ver_maj}.${ver_min}";
passthru.updateScript = xfce.updateScript {
inherit pname version;
attrPath = "xfce.${pname}";
versionLister = xfce.archiveLister category pname;
};
meta = with stdenv.lib; {
homepage = "https://www.xfce.org/";

View File

@ -9,6 +9,8 @@ mkXfceDerivation {
sha256 = "1qrlpn0q5g9psd41l6y80r3bvbg8jaic92m6r400zzwcvivf95z0";
odd-unstable = false;
meta = {
description = "Thunar extension for automatic management of removable drives and media";
};

View File

@ -3,6 +3,14 @@
lib.makeScope pkgs.newScope (self: with self; {
#### NixOS support
updateScript = callPackage ../../common-updater/update-script.nix { };
gitLister = url:
"${pkgs.common-updater-scripts}/bin/list-git-tags ${url}";
archiveLister = category: name:
"${pkgs.common-updater-scripts}/bin/list-archive-two-level-versions https://archive.xfce.org/src/${category}/${name}";
mkXfceDerivation = callPackage ./mkXfceDerivation.nix { };
automakeAddFlags = pkgs.makeSetupHook { } ./automakeAddFlags.sh;

View File

@ -1,6 +1,16 @@
{ stdenv, fetchgit, pkgconfig, xfce4-dev-tools, hicolor-icon-theme, wrapGAppsHook }:
{ stdenv, fetchgit, pkgconfig, xfce4-dev-tools, hicolor-icon-theme, xfce, wrapGAppsHook }:
{ category, pname, version, rev ? "${pname}-${version}", sha256, ... } @ args:
{ category
, pname
, version
, attrPath ? "xfce.${pname}"
, rev-prefix ? "${pname}-"
, rev ? "${rev-prefix}${version}"
, sha256
, odd-unstable ? true
, patchlevel-unstable ? true
, ...
} @ args:
let
inherit (builtins) filter getAttr head isList;
@ -12,7 +22,7 @@ let
concatAttrLists = attrsets:
zipAttrsWithNames (filterAttrNames isList (head attrsets)) (_: concatLists) attrsets;
template = {
template = rec {
name = "${pname}-${version}";
nativeBuildInputs = [ pkgconfig xfce4-dev-tools wrapGAppsHook ];
@ -27,6 +37,13 @@ let
enableParallelBuilding = true;
outputs = [ "out" "dev" ];
pos = builtins.unsafeGetAttrPos "pname" args;
passthru.updateScript = xfce.updateScript {
inherit pname version attrPath rev-prefix odd-unstable patchlevel-unstable;
versionLister = xfce.gitLister src.url;
};
meta = with stdenv.lib; {
homepage = "https://git.xfce.org/${category}/${pname}/about";
license = licenses.gpl2; # some libraries are under LGPLv2+

View File

@ -1,10 +1,11 @@
{ mkXfceDerivation, gtk3, libxfce4ui, libxfce4util, xfce4-panel, xfconf }:
mkXfceDerivation rec {
mkXfceDerivation {
category = "panel-plugins";
pname = "xfce4-battery-plugin";
version = "1.1.2";
rev = version;
rev-prefix = "";
odd-unstable = false;
sha256 = "0329miiclc8da6j0sz495p99hyrf9fjhvpmdl0556fphybz5agc0";
buildInputs = [ gtk3 libxfce4ui libxfce4util xfce4-panel xfconf ];

View File

@ -1,10 +1,9 @@
{ mkXfceDerivation, gtk3, libXtst, libxfce4ui, libxfce4util, xfce4-panel, xfconf, exo }:
mkXfceDerivation rec {
mkXfceDerivation {
category = "panel-plugins";
pname = "xfce4-clipman-plugin";
version = "1.4.3";
rev = version;
sha256 = "1xk79xh1zk0x4r1z9m1dakp79pip0zh3naviybvl1dnpwwfc03gq";
buildInputs = [ exo gtk3 libXtst libxfce4ui libxfce4util xfce4-panel xfconf ];

View File

@ -1,22 +1,29 @@
{ stdenv, fetchurl, pkgconfig, intltool, glib, exo, libXtst, xorgproto, libxfce4util, xfce4-panel, libxfce4ui, xfconf, gtk2, hicolor-icon-theme }:
{ stdenv, fetchurl, pkgconfig, intltool, glib, exo, libXtst, xorgproto, libxfce4util, xfce4-panel, libxfce4ui, xfconf, gtk2, hicolor-icon-theme, xfce }:
let
category = "panel-plugins";
in
with stdenv.lib;
stdenv.mkDerivation rec {
p_name = "xfce4-cpugraph-plugin";
ver_maj = "1.0";
ver_min = "5";
pname = "xfce4-cpugraph-plugin";
version = "1.0.5";
src = fetchurl {
url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2";
url = "mirror://xfce/src/${category}/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
sha256 = "1izl53q95m5xm2fiq7385vb1i9nwgjizxkmgpgh33zdckb40xnl5";
};
name = "${p_name}-${ver_maj}.${ver_min}";
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ intltool glib exo libXtst xorgproto libxfce4util libxfce4ui xfce4-panel xfconf gtk2 hicolor-icon-theme ];
passthru.updateScript = xfce.updateScript {
inherit pname version;
attrPath = "xfce.${pname}";
versionLister = xfce.archiveLister category pname;
};
meta = {
homepage = "https://goodies.xfce.org/projects/panel-plugins/${p_name}";
meta = with stdenv.lib; {
homepage = "https://goodies.xfce.org/projects/panel-plugins/${pname}";
description = "CPU graph show for Xfce panel";
platforms = platforms.linux;
maintainers = [ maintainers.AndersonTorres ];

View File

@ -7,13 +7,12 @@
, gettext
}:
mkXfceDerivation rec {
mkXfceDerivation {
category = "panel-plugins";
pname = "xfce4-datetime-plugin";
version = "0.8.0";
rev = "datetime-${version}";
rev-prefix = "datetime-";
sha256 = "12drh7y70d70r93lpv43fkj5cbyl0vciz4a41nxrknrfbhxrvyah";
nativeBuildInputs = [

View File

@ -1,22 +1,29 @@
{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, xfconf, gtk2}:
{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, xfconf, gtk2, xfce }:
let
category = "panel-plugins";
in
with stdenv.lib;
stdenv.mkDerivation rec {
p_name = "xfce4-dict-plugin";
ver_maj = "0.3";
ver_min = "0";
pname = "xfce4-dict-plugin";
version = "0.3.0";
src = fetchurl {
url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.gz";
url = "mirror://xfce/src/${category}/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
sha256 = "1x0imfnsdfq7fbhka8bc0yjjspkcljc1jafhrwzb08qi9bk2wbar";
};
name = "${p_name}-${ver_maj}.${ver_min}";
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel xfconf gtk2 ];
passthru.updateScript = xfce.updateScript {
inherit pname version;
attrPath = "xfce.${pname}";
versionLister = xfce.archiveLister category pname;
};
meta = {
homepage = "https://goodies.xfce.org/projects/panel-plugins/${p_name}";
meta =with stdenv.lib; {
homepage = "https://goodies.xfce.org/projects/panel-plugins/${pname}";
description = "Dictionary plugin for Xfce panel";
platforms = platforms.linux;
maintainers = [ maintainers.AndersonTorres ];

View File

@ -2,9 +2,10 @@
, dockbarx, gtk2, xfce, pythonPackages, wafHook }:
stdenv.mkDerivation rec {
pname = "xfce4-dockbarx-plugin";
version = "${ver}-${rev}";
ver = "0.5";
rev = "a2dcb66";
name = "xfce4-dockbarx-plugin-${ver}-${rev}";
src = fetchFromGitHub {
owner = "TiZ-EX1";

View File

@ -1,22 +1,30 @@
{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, xfconf, gtk2 }:
{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, xfconf, gtk2, xfce }:
let
category = "panel-plugins";
in
with stdenv.lib;
stdenv.mkDerivation rec {
p_name = "xfce4-embed-plugin";
ver_maj = "1.6";
ver_min = "0";
pname = "xfce4-embed-plugin";
version = "1.6.0";
src = fetchurl {
url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2";
url = "mirror://xfce/src/${category}/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
sha256 = "0a72kqsjjh45swimqlpyrahdnplp0383v0i4phr4n6g8c1ixyry7";
};
name = "${p_name}-${ver_maj}.${ver_min}";
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel xfconf gtk2 ];
passthru.updateScript = xfce.updateScript {
inherit pname version;
attrPath = "xfce.${pname}";
versionLister = xfce.archiveLister category pname;
};
meta = {
homepage = "https://goodies.xfce.org/projects/panel-plugins/${p_name}";
homepage = "https://goodies.xfce.org/projects/panel-plugins/${pname}";
description = "Embed arbitrary app windows on Xfce panel";
platforms = platforms.linux;
maintainers = [ maintainers.AndersonTorres ];

View File

@ -1,22 +1,29 @@
{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, xfconf, gtk2}:
{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, xfconf, gtk2, xfce }:
let
category = "panel-plugins";
in
with stdenv.lib;
stdenv.mkDerivation rec {
p_name = "xfce4-eyes-plugin";
ver_maj = "4.4";
ver_min = "4";
pname = "xfce4-eyes-plugin";
version = "4.4.4";
src = fetchurl {
url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2";
url = "mirror://xfce/src/${category}/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
sha256 = "1jh02hylvsvfpxrx0bq6fzgy6vnxf9qakgpbfvr63lfkd1dyh314";
};
name = "${p_name}-${ver_maj}.${ver_min}";
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel xfconf gtk2 ];
passthru.updateScript = xfce.updateScript {
inherit pname version;
attrPath = "xfce.${pname}";
versionLister = xfce.archiveLister category pname;
};
meta = {
homepage = "https://goodies.xfce.org/projects/panel-plugins/${p_name}";
meta = with stdenv.lib; {
homepage = "https://goodies.xfce.org/projects/panel-plugins/${pname}";
description = "Eyes following you!";
platforms = platforms.linux;
maintainers = [ maintainers.AndersonTorres ];

View File

@ -1,22 +1,29 @@
{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, xfconf, gtk2}:
{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, xfconf, gtk2, xfce }:
let
category = "panel-plugins";
in
with stdenv.lib;
stdenv.mkDerivation rec {
p_name = "xfce4-fsguard-plugin";
ver_maj = "1.0";
ver_min = "2";
pname = "xfce4-fsguard-plugin";
version = "1.0.2";
src = fetchurl {
url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2";
url = "mirror://xfce/src/${category}/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
sha256 = "1bj021h4q68bc03f32pkyqy4gfd1sz6s21nxdg7j6gdfhs9xbj52";
};
name = "${p_name}-${ver_maj}.${ver_min}";
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel xfconf gtk2 ];
passthru.updateScript = xfce.updateScript {
inherit pname version;
attrPath = "xfce.${pname}";
versionLister = xfce.archiveLister category pname;
};
meta = {
homepage = "https://goodies.xfce.org/projects/panel-plugins/${p_name}";
meta = with stdenv.lib; {
homepage = "https://goodies.xfce.org/projects/panel-plugins/${pname}";
description = "Filesystem monitor";
platforms = platforms.linux;
maintainers = [ maintainers.AndersonTorres ];

View File

@ -1,22 +1,29 @@
{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, xfconf, gtk2}:
{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, xfconf, gtk2, xfce }:
let
category = "panel-plugins";
in
with stdenv.lib;
stdenv.mkDerivation rec {
p_name = "xfce4-genmon-plugin";
ver_maj = "3.4";
ver_min = "0";
pname = "xfce4-genmon-plugin";
version = "3.4.0";
src = fetchurl {
url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2";
url = "mirror://xfce/src/${category}/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
sha256 = "11q3g6lmgz3d5lyh6614mxkd9cblfdyf9jgki7f26mn895xk79dh";
};
name = "${p_name}-${ver_maj}.${ver_min}";
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel xfconf gtk2 ];
passthru.updateScript = xfce.updateScript {
inherit pname version;
attrPath = "xfce.${pname}";
versionLister = xfce.archiveLister category pname;
};
meta = {
homepage = "https://goodies.xfce.org/projects/panel-plugins/${p_name}";
meta = with stdenv.lib; {
homepage = "https://goodies.xfce.org/projects/panel-plugins/${pname}";
description = "Cyclically spawns a command and captures its output";
platforms = platforms.linux;
maintainers = [ maintainers.AndersonTorres ];

View File

@ -1,5 +1,5 @@
{ stdenv, fetchurl, pkgconfig, intltool, autoreconfHook, gnome2, gtkmm2,
libgtop, libxfce4ui, libxfce4util, xfce4-panel, lm_sensors
libgtop, libxfce4ui, libxfce4util, xfce4-panel, lm_sensors, xfce
}:
stdenv.mkDerivation rec {
@ -30,11 +30,11 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
meta = {
meta = with stdenv.lib; {
homepage = "https://goodies.xfce.org/projects/panel-plugins/${pname}";
description = "Hardware monitor plugin for the XFCE4 panel";
license = stdenv.lib.licenses.gpl3;
platforms = stdenv.lib.platforms.unix;
maintainers = [ stdenv.lib.maintainers.romildo ];
license = licenses.gpl3;
platforms = platforms.unix;
maintainers = [ maintainers.romildo ];
};
}

View File

@ -1,24 +1,31 @@
{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui,
xfconf, gtk2, exo, gnutls, libgcrypt }:
xfconf, gtk2, exo, gnutls, libgcrypt, xfce }:
let
category = "panel-plugins";
in
with stdenv.lib;
stdenv.mkDerivation rec {
p_name = "xfce4-mailwatch-plugin";
ver_maj = "1.2";
ver_min = "0";
pname = "xfce4-mailwatch-plugin";
version = "1.2.0";
src = fetchurl {
url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2";
url = "mirror://xfce/src/${category}/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
sha256 = "1bfw3smwivr9mzdyq768biqrl4aq94zqi3xjzq6kqnd8561cqjk2";
};
name = "${p_name}-${ver_maj}.${ver_min}";
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel
xfconf gtk2 exo gnutls libgcrypt ];
passthru.updateScript = xfce.updateScript {
inherit pname version;
attrPath = "xfce.${pname}";
versionLister = xfce.archiveLister category pname;
};
meta = {
homepage = "https://goodies.xfce.org/projects/panel-plugins/${p_name}";
meta = with stdenv.lib; {
homepage = "https://goodies.xfce.org/projects/panel-plugins/${pname}";
description = "Mailwatch plugin for Xfce panel";
platforms = platforms.linux;
maintainers = [ ];

View File

@ -1,24 +1,31 @@
{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui,
xfconf, gtk2, exo }:
xfconf, gtk2, exo, xfce }:
let
category = "panel-plugins";
in
with stdenv.lib;
stdenv.mkDerivation rec {
p_name = "xfce4-mpc-plugin";
ver_maj = "0.4";
ver_min = "5";
name = "${p_name}-${ver_maj}.${ver_min}";
pname = "xfce4-mpc-plugin";
version = "0.4.5";
src = fetchurl {
url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2";
url = "mirror://xfce/src/${category}/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
sha256 = "1kvgq1pq7cykqdc3227dq0izad093ppfw3nfsrcp9i8mi6i5f7z7";
};
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel
xfconf gtk2 exo ];
passthru.updateScript = xfce.updateScript {
inherit pname version;
attrPath = "xfce.${pname}";
versionLister = xfce.archiveLister category pname;
};
meta = {
homepage = "https://goodies.xfce.org/projects/panel-plugins/${p_name}";
meta = with stdenv.lib; {
homepage = "https://goodies.xfce.org/projects/panel-plugins/${pname}";
description = "MPD plugin for Xfce panel";
platforms = platforms.linux;
maintainers = [ ];

View File

@ -1,10 +1,10 @@
{ mkXfceDerivation, gtk3, libxfce4ui, libxfce4util, xfce4-panel, xfconf }:
mkXfceDerivation rec {
mkXfceDerivation {
category = "panel-plugins";
pname = "xfce4-netload-plugin";
version = "1.3.1";
rev = "version-${version}";
rev-prefix = "version-";
sha256 = "0nm8advafw4jpc9p1qszyfqa56194sz51z216rdh4c6ilcrrpy1h";
buildInputs = [ gtk3 libxfce4ui libxfce4util xfce4-panel xfconf ];

View File

@ -1,22 +1,29 @@
{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, xfconf, gtk2, libunique }:
{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, xfconf, gtk2, libunique, xfce }:
let
category = "panel-plugins";
in
with stdenv.lib;
stdenv.mkDerivation rec {
p_name = "xfce4-notes-plugin";
ver_maj = "1.7";
ver_min = "7";
pname = "xfce4-notes-plugin";
version = "1.7.7";
src = fetchurl {
url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2";
url = "mirror://xfce/src/${category}/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
sha256 = "05sjbwgch1j93m3r23ksbjnpfk11sf7xjmbb9pm5vl3snc2s3fm7";
};
name = "${p_name}-${ver_maj}.${ver_min}";
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel xfconf gtk2 libunique ];
passthru.updateScript = xfce.updateScript {
inherit pname version;
attrPath = "xfce.${pname}";
versionLister = xfce.archiveLister category pname;
};
meta = {
homepage = "https://goodies.xfce.org/projects/panel-plugins/${p_name}";
meta = with stdenv.lib; {
homepage = "https://goodies.xfce.org/projects/panel-plugins/${pname}";
description = "Sticky notes plugin for Xfce panel";
platforms = platforms.linux;
maintainers = [ maintainers.AndersonTorres ];

View File

@ -1,15 +1,17 @@
{ stdenv, fetchurl, pkgconfig, intltool, gtk2, libxfce4ui,
libxfce4util, xfce4-panel, libnotify, lm_sensors, hddtemp, netcat-gnu
libxfce4util, xfce4-panel, libnotify, lm_sensors, hddtemp, netcat-gnu, xfce
}:
let
category = "panel-plugins";
in
stdenv.mkDerivation rec {
name = "${pname}-${ver_maj}.${ver_min}";
pname = "xfce4-sensors-plugin";
ver_maj = "1.2";
ver_min = "6";
version = "1.2.6";
src = fetchurl {
url = "mirror://xfce/src/panel-plugins/${pname}/${ver_maj}/${name}.tar.bz2";
url = "mirror://xfce/src/${category}/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
sha256 = "1h0vpqxcziml3gwrbvd8xvy1mwh9mf2a68dvxsy03rs5pm1ghpi3";
};
@ -35,12 +37,18 @@ stdenv.mkDerivation rec {
"--with-pathhddtemp=${hddtemp}/bin/hddtemp"
"--with-pathnetcat=${netcat-gnu}/bin/netcat"
];
passthru.updateScript = xfce.updateScript {
inherit pname version;
attrPath = "xfce.${pname}";
versionLister = xfce.archiveLister category pname;
};
meta = {
meta = with stdenv.lib; {
homepage = "https://goodies.xfce.org/projects/panel-plugins/${pname}";
description = "A panel plug-in for different sensors using acpi, lm_sensors and hddtemp";
license = stdenv.lib.licenses.gpl2;
platforms = stdenv.lib.platforms.unix;
maintainers = [ stdenv.lib.maintainers.romildo ];
license = licenses.gpl2;
platforms = platforms.unix;
maintainers = [ maintainers.romildo ];
};
}

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