Merge master into staging-next

This commit is contained in:
Frederik Rietdijk 2020-03-12 11:30:04 +01:00
commit 8fa5eb488b
162 changed files with 5196 additions and 3915 deletions

View File

@ -131,7 +131,12 @@ rec {
origArgs = auto // args; origArgs = auto // args;
pkgs = f origArgs; pkgs = f origArgs;
mkAttrOverridable = name: _: makeOverridable (newArgs: (f newArgs).${name}) origArgs; mkAttrOverridable = name: _: makeOverridable (newArgs: (f newArgs).${name}) origArgs;
in lib.mapAttrs mkAttrOverridable pkgs; in
if lib.isDerivation pkgs then throw
("function `callPackages` was called on a *single* derivation "
+ ''"${pkgs.name or "<unknown-name>"}";''
+ " did you mean to use `callPackage` instead?")
else lib.mapAttrs mkAttrOverridable pkgs;
/* Add attributes to each output of a derivation without changing /* Add attributes to each output of a derivation without changing

View File

@ -24,6 +24,7 @@ let
# packaging # packaging
customisation = callLibs ./customisation.nix; customisation = callLibs ./customisation.nix;
maintainers = import ../maintainers/maintainer-list.nix; maintainers = import ../maintainers/maintainer-list.nix;
teams = callLibs ../maintainers/team-list.nix;
meta = callLibs ./meta.nix; meta = callLibs ./meta.nix;
sources = callLibs ./sources.nix; sources = callLibs ./sources.nix;
versions = callLibs ./versions.nix; versions = callLibs ./versions.nix;

View File

@ -76,10 +76,14 @@ rec {
* mkKeyValue is the same as in toINI. * mkKeyValue is the same as in toINI.
*/ */
toKeyValue = { toKeyValue = {
mkKeyValue ? mkKeyValueDefault {} "=" mkKeyValue ? mkKeyValueDefault {} "=",
}: attrs: listsAsDuplicateKeys ? false
let mkLine = k: v: mkKeyValue k v + "\n"; }:
in libStr.concatStrings (libAttr.mapAttrsToList mkLine attrs); let mkLine = k: v: mkKeyValue k v + "\n";
mkLines = if listsAsDuplicateKeys
then k: v: map (mkLine k) (if lib.isList v then v else [v])
else k: v: [ (mkLine k v) ];
in attrs: libStr.concatStrings (lib.concatLists (libAttr.mapAttrsToList mkLines attrs));
/* Generate an INI-style config file from an /* Generate an INI-style config file from an
@ -106,7 +110,9 @@ rec {
# apply transformations (e.g. escapes) to section names # apply transformations (e.g. escapes) to section names
mkSectionName ? (name: libStr.escape [ "[" "]" ] name), mkSectionName ? (name: libStr.escape [ "[" "]" ] name),
# format a setting line from key and value # format a setting line from key and value
mkKeyValue ? mkKeyValueDefault {} "=" mkKeyValue ? mkKeyValueDefault {} "=",
# allow lists as values for duplicate keys
listsAsDuplicateKeys ? false
}: attrsOfAttrs: }: attrsOfAttrs:
let let
# map function to string for each key val # map function to string for each key val
@ -115,7 +121,7 @@ rec {
(libAttr.mapAttrsToList mapFn attrs); (libAttr.mapAttrsToList mapFn attrs);
mkSection = sectName: sectValues: '' mkSection = sectName: sectValues: ''
[${mkSectionName sectName}] [${mkSectionName sectName}]
'' + toKeyValue { inherit mkKeyValue; } sectValues; '' + toKeyValue { inherit mkKeyValue listsAsDuplicateKeys; } sectValues;
in in
# map input to ini sections # map input to ini sections
mapAttrsToStringsSep "\n" mkSection attrsOfAttrs; mapAttrsToStringsSep "\n" mkSection attrsOfAttrs;

View File

@ -348,6 +348,18 @@ runTests {
''; '';
}; };
testToINIDuplicateKeys = {
expr = generators.toINI { listsAsDuplicateKeys = true; } { foo.bar = true; baz.qux = [ 1 false ]; };
expected = ''
[baz]
qux=1
qux=false
[foo]
bar=true
'';
};
testToINIDefaultEscapes = { testToINIDefaultEscapes = {
expr = generators.toINI {} { expr = generators.toINI {} {
"no [ and ] allowed unescaped" = { "no [ and ] allowed unescaped" = {

View File

@ -5899,6 +5899,12 @@
githubId = 4579165; githubId = 4579165;
name = "Danny Bautista"; name = "Danny Bautista";
}; };
peelz = {
email = "peelz.dev+nixpkgs@gmail.com";
github = "louistakepillz";
githubId = 920910;
name = "peelz";
};
q3k = { q3k = {
email = "q3k@q3k.org"; email = "q3k@q3k.org";
github = "q3k"; github = "q3k";

24
maintainers/team-list.nix Normal file
View File

@ -0,0 +1,24 @@
/* List of maintainer teams.
name = {
# Required
members = [ maintainer1 maintainer2 ];
scope = "Maintain foo packages.";
};
where
- `members` is the list of maintainers belonging to the group,
- `scope` describes the scope of the group.
More fields may be added in the future.
Please keep the list alphabetically sorted.
*/
{ lib }:
with lib.maintainers; {
freedesktop = {
members = [ jtojnar worldofpeace ];
scope = "Maintain Freedesktop.org packages for graphical desktop.";
};
}

View File

@ -23,6 +23,11 @@
Support is planned until the end of April 2021, handing over to 21.03. Support is planned until the end of April 2021, handing over to 21.03.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
PHP now defaults to PHP 7.4, updated from 7.3.
</para>
</listitem>
</itemizedlist> </itemizedlist>
</section> </section>

View File

@ -133,7 +133,7 @@ in
tcpcryptd = 93; # tcpcryptd uses a hard-coded uid. We patch it in Nixpkgs to match this choice. tcpcryptd = 93; # tcpcryptd uses a hard-coded uid. We patch it in Nixpkgs to match this choice.
firebird = 95; firebird = 95;
#keys = 96; # unused #keys = 96; # unused
#haproxy = 97; # DynamicUser as of 2019-11-08 #haproxy = 97; # dynamically allocated as of 2020-03-11
mongodb = 98; mongodb = 98;
openldap = 99; openldap = 99;
#users = 100; # unused #users = 100; # unused
@ -448,7 +448,7 @@ in
#tcpcryptd = 93; # unused #tcpcryptd = 93; # unused
firebird = 95; firebird = 95;
keys = 96; keys = 96;
#haproxy = 97; # DynamicUser as of 2019-11-08 #haproxy = 97; # dynamically allocated as of 2020-03-11
#mongodb = 98; # unused #mongodb = 98; # unused
openldap = 99; openldap = 99;
munin = 102; munin = 102;

View File

@ -297,6 +297,7 @@
./services/desktops/geoclue2.nix ./services/desktops/geoclue2.nix
./services/desktops/gsignond.nix ./services/desktops/gsignond.nix
./services/desktops/gvfs.nix ./services/desktops/gvfs.nix
./services/desktops/malcontent.nix
./services/desktops/pipewire.nix ./services/desktops/pipewire.nix
./services/desktops/gnome3/at-spi2-core.nix ./services/desktops/gnome3/at-spi2-core.nix
./services/desktops/gnome3/chrome-gnome-shell.nix ./services/desktops/gnome3/chrome-gnome-shell.nix

View File

@ -25,8 +25,14 @@ in {
enable = mkEnableOption "firejail"; enable = mkEnableOption "firejail";
wrappedBinaries = mkOption { wrappedBinaries = mkOption {
type = types.attrs; type = types.attrsOf types.path;
default = {}; default = {};
example = literalExample ''
{
firefox = "''${lib.getBin pkgs.firefox}/bin/firefox";
mpv = "''${lib.getBin pkgs.mpv}/bin/mpv";
}
'';
description = '' description = ''
Wrap the binaries in firejail and place them in the global path. Wrap the binaries in firejail and place them in the global path.
</para> </para>

View File

@ -21,12 +21,12 @@ with lib;
(mkRemovedOptionModule [ "services" "firefox" "syncserver" "group" ] "") (mkRemovedOptionModule [ "services" "firefox" "syncserver" "group" ] "")
(mkRemovedOptionModule [ "services" "winstone" ] "The corresponding package was removed from nixpkgs.") (mkRemovedOptionModule [ "services" "winstone" ] "The corresponding package was removed from nixpkgs.")
(mkRemovedOptionModule [ "networking" "vpnc" ] "Use environment.etc.\"vpnc/service.conf\" instead.") (mkRemovedOptionModule [ "networking" "vpnc" ] "Use environment.etc.\"vpnc/service.conf\" instead.")
(mkRemovedOptionModule [ "environment.blcr.enable" ] "The BLCR module has been removed") (mkRemovedOptionModule [ "environment" "blcr" "enable" ] "The BLCR module has been removed")
(mkRemovedOptionModule [ "services.beegfsEnable" ] "The BeeGFS module has been removed") (mkRemovedOptionModule [ "services" "beegfsEnable" ] "The BeeGFS module has been removed")
(mkRemovedOptionModule [ "services.beegfs" ] "The BeeGFS module has been removed") (mkRemovedOptionModule [ "services" "beegfs" ] "The BeeGFS module has been removed")
(mkRemovedOptionModule [ "services.osquery" ] "The osquery module has been removed") (mkRemovedOptionModule [ "services" "osquery" ] "The osquery module has been removed")
(mkRemovedOptionModule [ "services.fourStore" ] "The fourStore module has been removed") (mkRemovedOptionModule [ "services" "fourStore" ] "The fourStore module has been removed")
(mkRemovedOptionModule [ "services.fourStoreEndpoint" ] "The fourStoreEndpoint module has been removed") (mkRemovedOptionModule [ "services" "fourStoreEndpoint" ] "The fourStoreEndpoint module has been removed")
(mkRemovedOptionModule [ "programs" "way-cooler" ] ("way-cooler is abandoned by its author: " + (mkRemovedOptionModule [ "programs" "way-cooler" ] ("way-cooler is abandoned by its author: " +
"https://way-cooler.org/blog/2020/01/09/way-cooler-post-mortem.html")) "https://way-cooler.org/blog/2020/01/09/way-cooler-post-mortem.html"))
(mkRemovedOptionModule [ "services" "xserver" "multitouch" ] '' (mkRemovedOptionModule [ "services" "xserver" "multitouch" ] ''

View File

@ -21,6 +21,11 @@ let
installOptions = installOptions =
"${mysqldOptions} ${lib.optionalString isMysqlAtLeast57 "--insecure"}"; "${mysqldOptions} ${lib.optionalString isMysqlAtLeast57 "--insecure"}";
settingsFile = pkgs.writeText "my.cnf" (
generators.toINI { listsAsDuplicateKeys = true; } cfg.settings +
optionalString (cfg.extraOptions != null) "[mysqld]\n${cfg.extraOptions}"
);
in in
{ {
@ -76,9 +81,64 @@ in
description = "Location where MySQL stores its table files"; description = "Location where MySQL stores its table files";
}; };
configFile = mkOption {
type = types.path;
default = settingsFile;
defaultText = "settingsFile";
description = ''
Override the configuration file used by MySQL. By default,
NixOS generates one automatically from <option>services.mysql.settings</option>.
'';
example = literalExample ''
pkgs.writeText "my.cnf" '''
[mysqld]
datadir = /var/lib/mysql
bind-address = 127.0.0.1
port = 3336
plugin-load-add = auth_socket.so
!includedir /etc/mysql/conf.d/
''';
'';
};
settings = mkOption {
type = with types; attrsOf (attrsOf (oneOf [ bool int str (listOf str) ]));
default = {};
description = ''
MySQL configuration. Refer to
<link xlink:href="https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html"/>,
<link xlink:href="https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html"/>,
and <link xlink:href="https://mariadb.com/kb/en/server-system-variables/"/>
for details on supported values.
<note>
<para>
MySQL configuration options such as <literal>--quick</literal> should be treated as
boolean options and provided values such as <literal>true</literal>, <literal>false</literal>,
<literal>1</literal>, or <literal>0</literal>. See the provided example below.
</para>
</note>
'';
example = literalExample ''
{
mysqld = {
key_buffer_size = "6G";
table_cache = 1600;
log-error = "/var/log/mysql_err.log";
plugin-load-add = [ "server_audit" "ed25519=auth_ed25519" ];
};
mysqldump = {
quick = true;
max_allowed_packet = "16M";
};
}
'';
};
extraOptions = mkOption { extraOptions = mkOption {
type = types.lines; type = with types; nullOr lines;
default = ""; default = null;
example = '' example = ''
key_buffer_size = 6G key_buffer_size = 6G
table_cache = 1600 table_cache = 1600
@ -252,10 +312,27 @@ in
config = mkIf config.services.mysql.enable { config = mkIf config.services.mysql.enable {
warnings = optional (cfg.extraOptions != null) "services.mysql.`extraOptions` is deprecated, please use services.mysql.`settings`.";
services.mysql.dataDir = services.mysql.dataDir =
mkDefault (if versionAtLeast config.system.stateVersion "17.09" then "/var/lib/mysql" mkDefault (if versionAtLeast config.system.stateVersion "17.09" then "/var/lib/mysql"
else "/var/mysql"); else "/var/mysql");
services.mysql.settings.mysqld = mkMerge [
{
datadir = cfg.dataDir;
bind-address = mkIf (cfg.bind != null) cfg.bind;
port = cfg.port;
plugin-load-add = optional (cfg.ensureUsers != []) "auth_socket.so";
}
(mkIf (cfg.replication.role == "master" || cfg.replication.role == "slave") {
log-bin = "mysql-bin-${toString cfg.replication.serverId}";
log-bin-index = "mysql-bin-${toString cfg.replication.serverId}.index";
relay-log = "mysql-relay-bin";
server-id = cfg.replication.serverId;
})
];
users.users.mysql = { users.users.mysql = {
description = "MySQL server user"; description = "MySQL server user";
group = "mysql"; group = "mysql";
@ -266,25 +343,7 @@ in
environment.systemPackages = [mysql]; environment.systemPackages = [mysql];
environment.etc."my.cnf".text = environment.etc."my.cnf".source = cfg.configFile;
''
[mysqld]
port = ${toString cfg.port}
datadir = ${cfg.dataDir}
${optionalString (cfg.bind != null) "bind-address = ${cfg.bind}" }
${optionalString (cfg.replication.role == "master" || cfg.replication.role == "slave")
''
log-bin=mysql-bin-${toString cfg.replication.serverId}
log-bin-index=mysql-bin-${toString cfg.replication.serverId}.index
relay-log=mysql-relay-bin
server-id = ${toString cfg.replication.serverId}
''}
${optionalString (cfg.ensureUsers != [])
''
plugin-load-add = auth_socket.so
''}
${cfg.extraOptions}
'';
systemd.tmpfiles.rules = [ systemd.tmpfiles.rules = [
"d '${cfg.dataDir}' 0700 ${cfg.user} mysql -" "d '${cfg.dataDir}' 0700 ${cfg.user} mysql -"
@ -297,7 +356,7 @@ in
after = [ "network.target" ]; after = [ "network.target" ];
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
restartTriggers = [ config.environment.etc."my.cnf".source ]; restartTriggers = [ cfg.configFile ];
unitConfig.RequiresMountsFor = "${cfg.dataDir}"; unitConfig.RequiresMountsFor = "${cfg.dataDir}";

View File

@ -0,0 +1,32 @@
# Malcontent daemon.
{ config, lib, pkgs, ... }:
with lib;
{
###### interface
options = {
services.malcontent = {
enable = mkEnableOption "Malcontent";
};
};
###### implementation
config = mkIf config.services.malcontent.enable {
environment.systemPackages = [ pkgs.malcontent ];
services.dbus.packages = [ pkgs.malcontent ];
};
}

View File

@ -48,5 +48,5 @@ in {
}; };
meta.maintainers = with maintainers; [ gnidorah ma27 ]; meta.maintainers = with maintainers; [ gnidorah ];
} }

View File

@ -10,14 +10,15 @@ let
{ {
description = "FreeRadius server"; description = "FreeRadius server";
wantedBy = ["multi-user.target"]; wantedBy = ["multi-user.target"];
after = ["network-online.target"]; after = ["network.target"];
wants = ["network-online.target"]; wants = ["network.target"];
preStart = '' preStart = ''
${pkgs.freeradius}/bin/radiusd -C -d ${cfg.configDir} -l stdout ${pkgs.freeradius}/bin/radiusd -C -d ${cfg.configDir} -l stdout
''; '';
serviceConfig = { serviceConfig = {
ExecStart = "${pkgs.freeradius}/bin/radiusd -f -d ${cfg.configDir} -l stdout -xx"; ExecStart = "${pkgs.freeradius}/bin/radiusd -f -d ${cfg.configDir} -l stdout" +
optionalString cfg.debug " -xx";
ExecReload = [ ExecReload = [
"${pkgs.freeradius}/bin/radiusd -C -d ${cfg.configDir} -l stdout" "${pkgs.freeradius}/bin/radiusd -C -d ${cfg.configDir} -l stdout"
"${pkgs.coreutils}/bin/kill -HUP $MAINPID" "${pkgs.coreutils}/bin/kill -HUP $MAINPID"
@ -41,6 +42,16 @@ let
''; '';
}; };
debug = mkOption {
type = types.bool;
default = false;
description = ''
Whether to enable debug logging for freeradius (-xx
option). This should not be left on, since it includes
sensitive data such as passwords in the logs.
'';
};
}; };
in in
@ -66,6 +77,7 @@ in
}; };
systemd.services.freeradius = freeradiusService cfg; systemd.services.freeradius = freeradiusService cfg;
warnings = optional cfg.debug "Freeradius debug logging is enabled. This will log passwords in plaintext to the journal!";
}; };

View File

@ -26,6 +26,18 @@ with lib;
''; '';
}; };
user = mkOption {
type = types.str;
default = "haproxy";
description = "User account under which haproxy runs.";
};
group = mkOption {
type = types.str;
default = "haproxy";
description = "Group account under which haproxy runs.";
};
config = mkOption { config = mkOption {
type = types.nullOr types.lines; type = types.nullOr types.lines;
default = null; default = null;
@ -49,7 +61,8 @@ with lib;
after = [ "network.target" ]; after = [ "network.target" ];
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
serviceConfig = { serviceConfig = {
DynamicUser = true; User = cfg.user;
Group = cfg.group;
Type = "notify"; Type = "notify";
# when running the config test, don't be quiet so we can see what goes wrong # when running the config test, don't be quiet so we can see what goes wrong
ExecStartPre = "${pkgs.haproxy}/sbin/haproxy -c -f ${haproxyCfg}"; ExecStartPre = "${pkgs.haproxy}/sbin/haproxy -c -f ${haproxyCfg}";
@ -60,5 +73,16 @@ with lib;
AmbientCapabilities = "CAP_NET_BIND_SERVICE"; AmbientCapabilities = "CAP_NET_BIND_SERVICE";
}; };
}; };
users.users = optionalAttrs (cfg.user == "haproxy") {
haproxy = {
group = cfg.group;
isSystemUser = true;
};
};
users.groups = optionalAttrs (cfg.group == "haproxy") {
haproxy = {};
};
}; };
} }

View File

@ -133,8 +133,8 @@ let
${optionalString cfg.enableVirtualUsers '' ${optionalString cfg.enableVirtualUsers ''
guest_enable=YES guest_enable=YES
guest_username=vsftpd guest_username=vsftpd
pam_service_name=vsftpd
''} ''}
pam_service_name=vsftpd
${cfg.extraConfig} ${cfg.extraConfig}
''; '';

View File

@ -0,0 +1,92 @@
{ config, lib, pkgs, ... }:
with lib;
let
dmcfg = config.services.xserver.displayManager;
ldmcfg = dmcfg.lightdm;
cfg = ldmcfg.greeters.tiny;
in
{
options = {
services.xserver.displayManager.lightdm.greeters.tiny = {
enable = mkOption {
type = types.bool;
default = false;
description = ''
Whether to enable lightdm-tiny-greeter as the lightdm greeter.
Note that this greeter starts only the default X session.
You can configure the default X session using
<xref linkend="opt-services.xserver.displayManager.defaultSession"/>.
'';
};
label = {
user = mkOption {
type = types.str;
default = "Username";
description = ''
The string to represent the user_text label.
'';
};
pass = mkOption {
type = types.str;
default = "Password";
description = ''
The string to represent the pass_text label.
'';
};
};
extraConfig = mkOption {
type = types.lines;
default = "";
description = ''
Section to describe style and ui.
'';
};
};
};
config = mkIf (ldmcfg.enable && cfg.enable) {
services.xserver.displayManager.lightdm.greeters.gtk.enable = false;
nixpkgs.config.lightdm-tiny-greeter.conf =
let
configHeader = ''
#include <gtk/gtk.h>
static const char *user_text = "${cfg.label.user}";
static const char *pass_text = "${cfg.label.pass}";
static const char *session = "${dmcfg.defaultSession}";
'';
in
optionalString (cfg.extraConfig != "")
(configHeader + cfg.extraConfig);
services.xserver.displayManager.lightdm.greeter =
mkDefault {
package = pkgs.lightdm-tiny-greeter.xgreeters;
name = "lightdm-tiny-greeter";
};
assertions = [
{
assertion = dmcfg.defaultSession != null;
message = ''
Please set: services.xserver.displayManager.defaultSession
'';
}
];
};
}

View File

@ -77,6 +77,7 @@ in
./lightdm-greeters/mini.nix ./lightdm-greeters/mini.nix
./lightdm-greeters/enso-os.nix ./lightdm-greeters/enso-os.nix
./lightdm-greeters/pantheon.nix ./lightdm-greeters/pantheon.nix
./lightdm-greeters/tiny.nix
]; ];
options = { options = {

View File

@ -63,6 +63,19 @@ let cfg = config.system.autoUpgrade; in
''; '';
}; };
randomizedDelaySec = mkOption {
default = "0";
type = types.str;
example = "45min";
description = ''
Add a randomized delay before each automatic upgrade.
The delay will be chozen between zero and this value.
This value must be a time span in the format specified by
<citerefentry><refentrytitle>systemd.time</refentrytitle>
<manvolnum>7</manvolnum></citerefentry>
'';
};
}; };
}; };
@ -109,6 +122,8 @@ let cfg = config.system.autoUpgrade; in
startAt = cfg.dates; startAt = cfg.dates;
}; };
systemd.timers.nixos-upgrade.timerConfig.RandomizedDelaySec = cfg.randomizedDelaySec;
}; };
} }

View File

@ -3,8 +3,6 @@ with import ./base.nix { inherit system; };
let let
domain = "my.zyx"; domain = "my.zyx";
certs = import ./certs.nix { externalDomain = domain; kubelets = [ "machine1" "machine2" ]; };
redisPod = pkgs.writeText "redis-pod.json" (builtins.toJSON { redisPod = pkgs.writeText "redis-pod.json" (builtins.toJSON {
kind = "Pod"; kind = "Pod";
apiVersion = "v1"; apiVersion = "v1";

View File

@ -17,6 +17,7 @@ import ./make-test-python.nix ({ pkgs, ...} :
services.xserver.enable = true; services.xserver.enable = true;
test-support.displayManager.auto.user = "alice"; test-support.displayManager.auto.user = "alice";
environment.systemPackages = [ pkgs.signal-desktop ]; environment.systemPackages = [ pkgs.signal-desktop ];
virtualisation.memorySize = 1024;
}; };
enableOCR = true; enableOCR = true;

View File

@ -10,14 +10,14 @@ let
# If an update breaks things, one of those might have valuable info: # If an update breaks things, one of those might have valuable info:
# https://aur.archlinux.org/packages/spotify/ # https://aur.archlinux.org/packages/spotify/
# https://community.spotify.com/t5/Desktop-Linux # https://community.spotify.com/t5/Desktop-Linux
version = "1.1.10.546.ge08ef575-19"; version = "1.1.26.501.gbe11e53b-15";
# To get the latest stable revision: # To get the latest stable revision:
# curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/spotify?channel=stable' | jq '.download_url,.version,.last_updated' # curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/spotify?channel=stable' | jq '.download_url,.version,.last_updated'
# To get general information: # To get general information:
# curl -H 'Snap-Device-Series: 16' 'https://api.snapcraft.io/v2/snaps/info/spotify' | jq '.' # curl -H 'Snap-Device-Series: 16' 'https://api.snapcraft.io/v2/snaps/info/spotify' | jq '.'
# More examples of api usage: # More examples of api usage:
# https://github.com/canonical-websites/snapcraft.io/blob/master/webapp/publisher/snaps/views.py # https://github.com/canonical-websites/snapcraft.io/blob/master/webapp/publisher/snaps/views.py
rev = "36"; rev = "41";
deps = [ deps = [
@ -56,6 +56,8 @@ let
xorg.libXScrnSaver xorg.libXScrnSaver
xorg.libXtst xorg.libXtst
xorg.libxcb xorg.libxcb
xorg.libSM
xorg.libICE
zlib zlib
]; ];
@ -75,7 +77,7 @@ stdenv.mkDerivation {
# https://community.spotify.com/t5/Desktop-Linux/Redistribute-Spotify-on-Linux-Distributions/td-p/1695334 # https://community.spotify.com/t5/Desktop-Linux/Redistribute-Spotify-on-Linux-Distributions/td-p/1695334
src = fetchurl { src = fetchurl {
url = "https://api.snapcraft.io/api/v1/snaps/download/pOBIoZ2LrCB3rDohMxoYGnbN14EHOgD7_${rev}.snap"; url = "https://api.snapcraft.io/api/v1/snaps/download/pOBIoZ2LrCB3rDohMxoYGnbN14EHOgD7_${rev}.snap";
sha512 = "c49f1a86a9b737e64a475bbe62754a36f607669e908eb725a2395f0a0a6b95968e0c8ce27ab2c8b6c92fe8cbacb1ef58de11c79b92dc0f58c2c6d3a140706a1f"; sha512 = "41bc8d20388bab39058d0709d99b1c8e324ea37af217620797356b8bc0b24aedbe801eaaa6e00a93e94e26765602e5dc27ad423ce2e777b4bec1b92daf04f81e";
}; };
buildInputs = [ squashfsTools makeWrapper ]; buildInputs = [ squashfsTools makeWrapper ];

View File

@ -0,0 +1,30 @@
{ stdenv
, fetchFromGitHub
, autoreconfHook
, pkgconfig
, openssl
}:
with stdenv.lib;
stdenv.mkDerivation rec {
pname = "btcdeb";
version = "0.2.19";
src = fetchFromGitHub {
owner = "kallewoof";
repo = pname;
rev = "fb2dace4cd115dc9529a81515cee855b8ce94784";
sha256 = "0l0niamcjxmgyvc6w0wiygfgwsjam3ypv8mvjglgsj50gyv1vnb3";
};
nativeBuildInputs = [ pkgconfig autoreconfHook ];
buildInputs = [ openssl ];
meta = {
description = "Bitcoin Script Debugger";
homepage = "https://github.com/kallewoof/btcdeb";
license = licenses.mit;
maintainers = with maintainers; [ akru ];
platforms = platforms.unix;
};
}

View File

@ -4,13 +4,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "nano-wallet"; pname = "nano-wallet";
version = "19.0"; version = "20.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "nanocurrency"; owner = "nanocurrency";
repo = "raiblocks"; repo = "raiblocks";
rev = "V${version}"; rev = "V${version}";
sha256 = "1y5fc4cvfqh33imjkh91sqhy5bb9kh0icwyvdgm1cl564vnjax80"; sha256 = "12nrjjd89yjzx20d85ccmp395pl0djpx0x0qb8dgka8xfy11k7xn";
fetchSubmodules = true; fetchSubmodules = true;
}; };

View File

@ -0,0 +1,46 @@
{ stdenv, linkFarm, lightdm-tiny-greeter, fetchFromGitHub
, pkgconfig, lightdm, gtk3, glib, wrapGAppsHook, conf ? "" }:
stdenv.mkDerivation rec {
pname = "lightdm-tiny-greeter";
version = "1.2";
src = fetchFromGitHub {
owner = "off-world";
repo = "lightdm-tiny-greeter";
rev = version;
sha256 = "08azpj7b5qgac9bgi1xvd6qy6x2nb7iapa0v40ggr3d1fabyhrg6";
};
nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
buildInputs = [ lightdm gtk3 glib ];
postUnpack = if conf != "" then ''
cp ${builtins.toFile "config.h" conf} source/config.h
'' else "";
buildPhase = ''
mkdir -p $out/bin $out/share/xgreeters
make ${pname}
mv ${pname} $out/bin/.
mv lightdm-tiny-greeter.desktop $out/share/xgreeters
'';
installPhase = ''
substituteInPlace "$out/share/xgreeters/lightdm-tiny-greeter.desktop" \
--replace "Exec=lightdm-tiny-greeter" "Exec=$out/bin/lightdm-tiny-greeter"
'';
passthru.xgreeters = linkFarm "lightdm-tiny-greeter-xgreeters" [{
path = "${lightdm-tiny-greeter}/share/xgreeters/lightdm-tiny-greeter.desktop";
name = "lightdm-tiny-greeter.desktop";
}];
meta = with stdenv.lib; {
description = "A tiny multi user lightdm greeter";
homepage = https://github.com/off-world/lightdm-tiny-greeter;
license = licenses.bsd3;
maintainers = with maintainers; [ edwtjo ];
platforms = platforms.linux;
};
}

View File

@ -18,9 +18,9 @@ let
sha256Hash = "0ibp54wcss4ihm454hbavv1bhar6cd4alp5b0z248ryjr5w9mixf"; sha256Hash = "0ibp54wcss4ihm454hbavv1bhar6cd4alp5b0z248ryjr5w9mixf";
}; };
latestVersion = { # canary & dev latestVersion = { # canary & dev
version = "4.1.0.1"; # "Android Studio 4.1 Canary 1" version = "4.1.0.2"; # "Android Studio 4.1 Canary 2"
build = "193.6224510"; build = "193.6264773";
sha256Hash = "0misff7xx8jcg4zr5ahc8qdwvlkx605il0shzd9i1cm9v1br3sqx"; sha256Hash = "0m09q4jp653i9jlqsjplx3d64xkdm27c35781yz6h5rw0a1sq6kz";
}; };
in { in {
# Attributes are named by their corresponding release channels # Attributes are named by their corresponding release channels

View File

@ -343,10 +343,10 @@
elpaBuild { elpaBuild {
pname = "bnf-mode"; pname = "bnf-mode";
ename = "bnf-mode"; ename = "bnf-mode";
version = "0.4.3"; version = "0.4.4";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/bnf-mode-0.4.3.tar"; url = "https://elpa.gnu.org/packages/bnf-mode-0.4.4.tar";
sha256 = "1hdhk6kw50vsixprrri0jb5i1c2y94ihifipqgq6kil7y4blr614"; sha256 = "0acr3x96zknxs90dc9mpnrwiaa81883h36lx5q1lxfn78vjfw14x";
}; };
packageRequires = [ cl-lib emacs ]; packageRequires = [ cl-lib emacs ];
meta = { meta = {
@ -2007,6 +2007,36 @@
license = lib.licenses.free; license = lib.licenses.free;
}; };
}) {}; }) {};
modus-operandi-theme = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "modus-operandi-theme";
ename = "modus-operandi-theme";
version = "0.6.0";
src = fetchurl {
url = "https://elpa.gnu.org/packages/modus-operandi-theme-0.6.0.el";
sha256 = "10smvzaxp90lsg0g61s2nzmfxwnlrxq9dv4rn771vlhra249y08v";
};
packageRequires = [ emacs ];
meta = {
homepage = "https://elpa.gnu.org/packages/modus-operandi-theme.html";
license = lib.licenses.free;
};
}) {};
modus-vivendi-theme = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "modus-vivendi-theme";
ename = "modus-vivendi-theme";
version = "0.6.0";
src = fetchurl {
url = "https://elpa.gnu.org/packages/modus-vivendi-theme-0.6.0.el";
sha256 = "1b7wkz779f020gpil4spbdzmg2fx6l48wk1138564cv9kx3nkkz2";
};
packageRequires = [ emacs ];
meta = {
homepage = "https://elpa.gnu.org/packages/modus-vivendi-theme.html";
license = lib.licenses.free;
};
}) {};
multishell = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib }: multishell = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib }:
elpaBuild { elpaBuild {
pname = "multishell"; pname = "multishell";
@ -2765,10 +2795,10 @@
elpaBuild { elpaBuild {
pname = "relint"; pname = "relint";
ename = "relint"; ename = "relint";
version = "1.14"; version = "1.15";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/relint-1.14.tar"; url = "https://elpa.gnu.org/packages/relint-1.15.tar";
sha256 = "0hjzhxcygb2r2s3g2pk3z9x3appy1y8gkw8gpg9cpkl6lpwcsh2f"; sha256 = "0sxmdsacj8my942k8j76m2y68nzab7190acv7cwgflc5n4f07yxa";
}; };
packageRequires = [ emacs xr ]; packageRequires = [ emacs xr ];
meta = { meta = {
@ -3041,10 +3071,10 @@
elpaBuild { elpaBuild {
pname = "ssh-deploy"; pname = "ssh-deploy";
ename = "ssh-deploy"; ename = "ssh-deploy";
version = "3.1.10"; version = "3.1.11";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/ssh-deploy-3.1.10.tar"; url = "https://elpa.gnu.org/packages/ssh-deploy-3.1.11.tar";
sha256 = "0gckc6yhgi8pn3s8vdyzz8x1s2d4wmsw6yjwsaqcr5nra50glbpg"; sha256 = "1xd09kfn7lqw6jzfkrn0p5agdpcz1z9zbazqigylpqfcywr5snhk";
}; };
packageRequires = [ emacs ]; packageRequires = [ emacs ];
meta = { meta = {
@ -3157,7 +3187,11 @@
license = lib.licenses.free; license = lib.licenses.free;
}; };
}) {}; }) {};
timerfunctions = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib }: timerfunctions = callPackage ({ cl-lib ? null
, elpaBuild
, emacs
, fetchurl
, lib }:
elpaBuild { elpaBuild {
pname = "timerfunctions"; pname = "timerfunctions";
ename = "timerfunctions"; ename = "timerfunctions";
@ -3166,7 +3200,7 @@
url = "https://elpa.gnu.org/packages/timerfunctions-1.4.2.el"; url = "https://elpa.gnu.org/packages/timerfunctions-1.4.2.el";
sha256 = "122q8nv08pz1mkgilvi9qfrs7rsnc5picr7jyz2jpnvpd9qw6jw5"; sha256 = "122q8nv08pz1mkgilvi9qfrs7rsnc5picr7jyz2jpnvpd9qw6jw5";
}; };
packageRequires = [ cl-lib ]; packageRequires = [ cl-lib emacs ];
meta = { meta = {
homepage = "https://elpa.gnu.org/packages/timerfunctions.html"; homepage = "https://elpa.gnu.org/packages/timerfunctions.html";
license = lib.licenses.free; license = lib.licenses.free;
@ -3675,10 +3709,10 @@
elpaBuild { elpaBuild {
pname = "xr"; pname = "xr";
ename = "xr"; ename = "xr";
version = "1.16"; version = "1.18";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/xr-1.16.tar"; url = "https://elpa.gnu.org/packages/xr-1.18.tar";
sha256 = "1s6pkbr7gkan0r9gfmix75m587d8cg6l11722v70zzgf2z9w2xg9"; sha256 = "1nq9pj47sxgpkw97c2xrkhgcwh3zsfd2a22qiqbl4i9zf2l9yy91";
}; };
packageRequires = [ emacs ]; packageRequires = [ emacs ];
meta = { meta = {

View File

@ -11,15 +11,15 @@ 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 = "0c067qp3aa5kqya3y8pzc9cvyzsafizhgjp9dsibnfl08lvz9hbs"; x86_64-linux = "0i8dmh9w7xgzfjii4m116lavydpfpcp7fxs4bcykf0a779pzwv87";
x86_64-darwin = "0vi94nk8p3vp30nx60mwqcmfqbrmrqwvfdjbah0zm480dcjzz7dv"; x86_64-darwin = "0z0r0dmmzk3k095g7jbrrk9gl1jpb3cai973xrjw17ank1lddcjf";
}.${system}; }.${system};
in in
callPackage ./generic.nix rec { callPackage ./generic.nix rec {
# The update script doesn't correctly change the hash for darwin, so please: # The update script doesn't correctly change the hash for darwin, so please:
# nixpkgs-update: no auto update # nixpkgs-update: no auto update
version = "1.42.1"; version = "1.43.0";
pname = "vscode"; pname = "vscode";
executableName = "code" + lib.optionalString isInsiders "-insiders"; executableName = "code" + lib.optionalString isInsiders "-insiders";

View File

@ -11,8 +11,8 @@ 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 = "1pac3rv7ps23ymynvy8dwd5k2154aln33ksr75z1d8w859x3f1dy"; x86_64-linux = "139sqaixlcqlpcrn2vkcp9fxvcjgnhn2dwxclxq3bnb814pw7rba";
x86_64-darwin = "1imzgqynbd65c7gbfp2gb1cxjbazx7afvbdvbqnm5qg7pvq22rni"; x86_64-darwin = "0jkd3p1jqg38z9l22k5w7b45fdnxwrhzlgyhinw7wlqz7zvflkn1";
}.${system}; }.${system};
sourceRoot = { sourceRoot = {
@ -25,7 +25,7 @@ in
# The update script doesn't correctly change the hash for darwin, so please: # The update script doesn't correctly change the hash for darwin, so please:
# nixpkgs-update: no auto update # nixpkgs-update: no auto update
version = "1.42.1"; version = "1.43.0";
pname = "vscodium"; pname = "vscodium";
executableName = "codium"; executableName = "codium";

View File

@ -1,6 +1,6 @@
{ stdenv, fetchFromGitHub, cmake, pkgconfig, mkDerivation { stdenv, fetchFromGitHub, cmake, pkgconfig, mkDerivation
, qtbase, qtx11extras, qtsvg, makeWrapper , qtbase, qtx11extras, qtsvg, makeWrapper
, vulkan-loader, xorg, python3, python3Packages , vulkan-loader, libglvnd, xorg, python3, python3Packages
, bison, pcre, automake, autoconf, addOpenGLRunpath , bison, pcre, automake, autoconf, addOpenGLRunpath
}: }:
let let
@ -13,14 +13,14 @@ let
pythonPackages = python3Packages; pythonPackages = python3Packages;
in in
mkDerivation rec { mkDerivation rec {
version = "1.6"; version = "1.7";
pname = "renderdoc"; pname = "renderdoc";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "baldurk"; owner = "baldurk";
repo = "renderdoc"; repo = "renderdoc";
rev = "v${version}"; rev = "v${version}";
sha256 = "0b2f9m5azzvcjbmxkwcl1d7jvvp720b81zwn19rrskznfcc2r1i8"; sha256 = "0r0y0lx48hkyf39pgippsc9q8hdcf57bdva6gx7f35vlhicx5hlz";
}; };
buildInputs = [ buildInputs = [
@ -52,8 +52,8 @@ mkDerivation rec {
dontWrapQtApps = true; dontWrapQtApps = true;
preFixup = '' preFixup = ''
wrapQtApp $out/bin/qrenderdoc --suffix LD_LIBRARY_PATH : "$out/lib:${vulkan-loader}/lib" wrapQtApp $out/bin/qrenderdoc --suffix LD_LIBRARY_PATH : "$out/lib:${vulkan-loader}/lib:${libglvnd}/lib"
wrapProgram $out/bin/renderdoccmd --suffix LD_LIBRARY_PATH : "$out/lib:${vulkan-loader}/lib" wrapProgram $out/bin/renderdoccmd --suffix LD_LIBRARY_PATH : "$out/lib:${vulkan-loader}/lib:${libglvnd}/lib"
''; '';
# The only documentation for this so far is in pkgs/build-support/add-opengl-runpath/setup-hook.sh # The only documentation for this so far is in pkgs/build-support/add-opengl-runpath/setup-hook.sh

View File

@ -5,14 +5,14 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "tev"; pname = "tev";
version = "1.14"; version = "1.15";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Tom94"; owner = "Tom94";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
fetchSubmodules = true; fetchSubmodules = true;
sha256 = "1g86wl0sdn0wprfxff2q1yc1hiq9fndmzhyvj09cw51lzbab5faw"; sha256 = "173nxvj30xmbdj8fc3rbw0mlicxy6zbhxv01i7z5nmcdvpamkdx6";
}; };
nativeBuildInputs = [ cmake wrapGAppsHook ]; nativeBuildInputs = [ cmake wrapGAppsHook ];
@ -46,6 +46,7 @@ stdenv.mkDerivation rec {
types of images can also be loaded. types of images can also be loaded.
''; '';
inherit (src.meta) homepage; inherit (src.meta) homepage;
changelog = "https://github.com/Tom94/tev/releases/tag/v${version}";
license = licenses.bsd3; license = licenses.bsd3;
platforms = platforms.unix; platforms = platforms.unix;
maintainers = with maintainers; [ primeos ]; maintainers = with maintainers; [ primeos ];

View File

@ -1,92 +0,0 @@
{ stdenv, fetchFromGitHub, pythonPackages
, pkgconfig, autoreconfHook, rsync
, swig, qt48Full, fcgi
, bitcoin, procps, utillinux
}:
let
version = "0.96.1";
inherit (pythonPackages) buildPythonApplication pyqt4 psutil twisted;
in buildPythonApplication {
pname = "bitcoinarmory";
inherit version;
src = fetchFromGitHub {
owner = "goatpig";
repo = "BitcoinArmory";
rev = "v${version}";
sha256 = "0pjk5qx16n3kvs9py62666qkwp2awkgd87by4karbj7vk6p1l14h"; fetchSubmodules = true;
};
format = "other";
# FIXME bitcoind doesn't die on shutdown. Need some sort of patch to fix that.
#patches = [ ./shutdown-fix.patch ];
nativeBuildInputs = [
autoreconfHook
pkgconfig
swig
pyqt4
qt48Full
rsync # used by silly install script (TODO patch upstream)
];
buildInputs = [
qt48Full
fcgi
];
propagatedBuildInputs = [
pyqt4
psutil
twisted
];
makeFlags = [ "PREFIX=$(out)" ];
makeWrapperArgs = [
"--prefix PATH : ${bitcoin}/bin" # for `bitcoind`
"--prefix PATH : ${procps}/bin" # for `free`
"--prefix PATH : ${utillinux}/bin" # for `whereis`
"--suffix LD_LIBRARY_PATH : $out/lib" # for python bindings built as .so files
"--run cd\\ $out/lib/armory" # so that GUI resources can be loaded
];
# auditTmpdir runs during fixupPhase, so patchelf before that
preFixup = ''
newRpath=$(patchelf --print-rpath $out/bin/ArmoryDB | sed -r 's|(.*)(/tmp/nix-build-.*libfcgi/.libs:?)(.*)|\1\3|')
patchelf --set-rpath $out/lib:$newRpath $out/bin/ArmoryDB
'';
# fixupPhase of mkPythonDerivation wraps $out/bin/*, so this needs to come after
postFixup = ''
wrapPythonProgramsIn $out/lib/armory "$out $pythonPath"
ln -sf $out/lib/armory/ArmoryQt.py $out/bin/armory
'';
meta = {
description = "Bitcoin wallet with cold storage and multi-signature support";
longDescription = ''
Armory is the most secure and full featured solution available for users
and institutions to generate and store Bitcoin private keys. This means
users never have to trust the Armory team and can use it with the Glacier
Protocol. Satoshi would be proud!
Users are empowered with multiple encrypted Bitcoin wallets and permanent
one-time paper backups. Armory pioneered cold storage and distributed
multi-signature. Bitcoin cold storage is a system for securely storing
Bitcoins on a completely air-gapped offline computer.
Maintainer's note: The original authors at https://bitcoinarmory.com/
discontinued development. I elected instead to package GitHub user
@goatpig's fork, as it's the most active, at time of this writing.
'';
homepage = https://github.com/goatpig/BitcoinArmory;
license = stdenv.lib.licenses.agpl3Plus;
maintainers = with stdenv.lib.maintainers; [ elitak ];
platforms = [ "i686-linux" "x86_64-linux" ];
};
}

View File

@ -1,37 +1,33 @@
{ stdenv, pkgs, makeWrapper, pango { stdenv, pkgs
, glib, gnome2, gnome3, gtk2-x11, gtkspell2, poppler , glib, gnome3, gtk3, gtksourceview3, gtkspell3, poppler, texlive
, pkgconfig, intltool, autoreconfHook, wrapGAppsHook , pkgconfig, intltool, autoreconfHook, wrapGAppsHook
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "0.6.6"; version = "0.8.1";
pname = "gummi"; pname = "gummi";
src = pkgs.fetchFromGitHub { src = pkgs.fetchFromGitHub {
owner = "alexandervdm"; owner = "alexandervdm";
repo = "gummi"; repo = "gummi";
rev = version; rev = version;
sha256 = "1vw8rhv8qj82l6l22kpysgm9mxilnki2kjmvxsnajbqcagr6s7cn"; sha256 = "0wxgmzazqiq77cw42i5fn2hc22hhxf5gbpl9g8y3zlnp21lw9y16";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
pkgconfig intltool autoreconfHook makeWrapper wrapGAppsHook pkgconfig intltool autoreconfHook wrapGAppsHook
]; ];
buildInputs = [ buildInputs = [
glib gnome2.gtksourceview pango gtk2-x11 gtkspell2 poppler glib gtksourceview3 gtk3 gtkspell3 poppler
gnome3.adwaita-icon-theme texlive.bin.core # needed for synctex
]; ];
preConfigure = ''
gappsWrapperArgs+=(--prefix XDG_DATA_DIRS : "${pkgs.gnome2.gtksourceview}/share")
'';
postInstall = '' postInstall = ''
install -Dpm644 COPYING $out/share/licenses/$name/COPYING install -Dpm644 COPYING $out/share/licenses/$name/COPYING
''; '';
meta = { meta = {
homepage = http://gummi.midnightcoding.org/; homepage = "https://gummi.app";
description = "Simple LaTex editor for GTK users"; description = "Simple LaTex editor for GTK users";
license = stdenv.lib.licenses.mit; license = stdenv.lib.licenses.mit;
maintainers = with stdenv.lib.maintainers; [ flokli ]; maintainers = with stdenv.lib.maintainers; [ flokli ];

View File

@ -2,7 +2,7 @@
buildGoModule rec { buildGoModule rec {
pname = "hugo"; pname = "hugo";
version = "0.66.0"; version = "0.67.0";
goPackagePath = "github.com/gohugoio/hugo"; goPackagePath = "github.com/gohugoio/hugo";
@ -10,7 +10,7 @@ buildGoModule rec {
owner = "gohugoio"; owner = "gohugoio";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "177vqxzmldpkpaj7giqlbl39091fa2ga2pnshdj6gc393rw52f0a"; sha256 = "0rgwrcs1ydwccyf714zpn3427p8zlwynn0q1v8k5j63zxr91jdbq";
}; };
modSha256 = "1f320zbqnv2ybsp3qmlgn3rsjgp2zdb24qjd3gcys30mw48cx3na"; modSha256 = "1f320zbqnv2ybsp3qmlgn3rsjgp2zdb24qjd3gcys30mw48cx3na";

View File

@ -2,6 +2,7 @@
harfbuzz, fontconfig, pkgconfig, ncurses, imagemagick, xsel, harfbuzz, fontconfig, pkgconfig, ncurses, imagemagick, xsel,
libstartup_notification, libGL, libX11, libXrandr, libXinerama, libXcursor, libstartup_notification, libGL, libX11, libXrandr, libXinerama, libXcursor,
libxkbcommon, libXi, libXext, wayland-protocols, wayland, libxkbcommon, libXi, libXext, wayland-protocols, wayland,
installShellFiles,
which, dbus, which, dbus,
Cocoa, Cocoa,
CoreGraphics, CoreGraphics,
@ -53,6 +54,7 @@ buildPythonApplication rec {
] ++ stdenv.lib.optionals stdenv.isDarwin [ ] ++ stdenv.lib.optionals stdenv.isDarwin [
imagemagick imagemagick
libicns # For the png2icns tool. libicns # For the png2icns tool.
installShellFiles
]; ];
propagatedBuildInputs = stdenv.lib.optional stdenv.isLinux libGL; propagatedBuildInputs = stdenv.lib.optional stdenv.isLinux libGL;
@ -78,6 +80,7 @@ buildPythonApplication rec {
buildPhase = if stdenv.isDarwin then '' buildPhase = if stdenv.isDarwin then ''
${python.interpreter} setup.py kitty.app --update-check-interval=0 ${python.interpreter} setup.py kitty.app --update-check-interval=0
make man
'' else '' '' else ''
${python.interpreter} setup.py linux-package --update-check-interval=0 ${python.interpreter} setup.py linux-package --update-check-interval=0
''; '';
@ -90,6 +93,8 @@ buildPythonApplication rec {
ln -s ../Applications/kitty.app/Contents/MacOS/kitty "$out/bin/kitty" ln -s ../Applications/kitty.app/Contents/MacOS/kitty "$out/bin/kitty"
mkdir "$out/Applications" mkdir "$out/Applications"
cp -r kitty.app "$out/Applications/kitty.app" cp -r kitty.app "$out/Applications/kitty.app"
installManPage 'docs/_build/man/kitty.1'
'' else '' '' else ''
cp -r linux-package/{bin,share,lib} $out cp -r linux-package/{bin,share,lib} $out
''} ''}

View File

@ -33,10 +33,10 @@ rec {
firefox-esr-68 = common rec { firefox-esr-68 = common rec {
pname = "firefox-esr"; pname = "firefox-esr";
ffversion = "68.5.0esr"; ffversion = "68.6.0esr";
src = fetchurl { src = fetchurl {
url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz"; url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz";
sha512 = "39i05r7r4rh2jvc8v4m2s2i6d33qaa075a1lc8m9gx7s3rw8yxja2c42cv5hq1imr9zc4dldbk88paz6lv1w8rhncm0dkxw8z6lxkqa"; sha512 = "2ipajk86s7hfz7qky9lh24i5fgzgpv9hl12invr1rr6jhpp0h6gbb44ffim0z9lmcj49cr01cgqis0swhb4vph8dl1jvgfq9rjmsml4";
}; };
patches = [ patches = [

View File

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

View File

@ -2,7 +2,7 @@
buildGoPackage rec { buildGoPackage rec {
pname = "terragrunt"; pname = "terragrunt";
version = "0.21.11"; version = "0.23.2";
goPackagePath = "github.com/gruntwork-io/terragrunt"; goPackagePath = "github.com/gruntwork-io/terragrunt";
@ -10,7 +10,7 @@ buildGoPackage rec {
owner = "gruntwork-io"; owner = "gruntwork-io";
repo = "terragrunt"; repo = "terragrunt";
rev = "v${version}"; rev = "v${version}";
sha256 = "1w64skk67i0sxjd2mkyqh3nglc32wc7schk7h8fwszpa1rw4dfcn"; sha256 = "1r3q7faxys0h147cr9154pcix1qgj36v41ja9hhbggm4c7vig4s1";
}; };
goDeps = ./deps.nix; goDeps = ./deps.nix;

View File

@ -5,8 +5,17 @@
fetch = { fetch = {
type = "git"; type = "git";
url = "https://code.googlesource.com/gocloud"; url = "https://code.googlesource.com/gocloud";
rev = "28a4bc8c44b3acbcc482cff0cdf7de29a4688b61"; rev = "d96ccb2ba7586bb79a416471882d347754a78ce5";
sha256 = "0j40msxm72m8gs87rpwkk19iagjj387r42xwxszmrna7il8g0sbl"; sha256 = "18f1l28665x1a8j8a5bh2i7wb2vrwj050d1g5qda50isgqaybixd";
};
}
{
goPackagePath = "github.com/BurntSushi/toml";
fetch = {
type = "git";
url = "https://github.com/BurntSushi/toml";
rev = "3012a1dbe2e4bd1391d42b32f0577cb7bbc7f005";
sha256 = "1fjdwwfzyzllgiwydknf1pwjvy49qxfsczqx5gz3y0izs7as99j6";
}; };
} }
{ {
@ -243,6 +252,15 @@
sha256 = "1r6w7ydx8ydryxk3sfhzsk8m6f1nsik9jg3i1zhi69v4kfl4d5cz"; sha256 = "1r6w7ydx8ydryxk3sfhzsk8m6f1nsik9jg3i1zhi69v4kfl4d5cz";
}; };
} }
{
goPackagePath = "github.com/jstemmer/go-junit-report";
fetch = {
type = "git";
url = "https://github.com/jstemmer/go-junit-report";
rev = "cc1f095d5cc5eca2844f5c5ea7bb37f6b9bf6cac";
sha256 = "1knip80yir1cdsjlb3rzy0a4w3kl4ljpiciaz6hjzwqlfhnv7bkw";
};
}
{ {
goPackagePath = "github.com/mattn/go-colorable"; goPackagePath = "github.com/mattn/go-colorable";
fetch = { fetch = {
@ -378,6 +396,33 @@
sha256 = "17g8fb9vy2sqq8vgz8jdvf6c6d2290gm2qs0i4yzsd86mgn4dlrg"; sha256 = "17g8fb9vy2sqq8vgz8jdvf6c6d2290gm2qs0i4yzsd86mgn4dlrg";
}; };
} }
{
goPackagePath = "golang.org/x/exp";
fetch = {
type = "git";
url = "https://go.googlesource.com/exp";
rev = "f17229e696bd4e065144fd6ae1313e41515abbdc";
sha256 = "0q1fij8izg7xcnx7wqh0zdnya11k3d9a5fqm0yb2r93jhlf3x128";
};
}
{
goPackagePath = "golang.org/x/lint";
fetch = {
type = "git";
url = "https://go.googlesource.com/lint";
rev = "910be7a94367618fd0fd25eaabbee4fdc0ac7092";
sha256 = "08gskshgfwxhmm9i4vgd4q7kqd5i7yihqh33v6r07br6kqd0g995";
};
}
{
goPackagePath = "golang.org/x/mod";
fetch = {
type = "git";
url = "https://go.googlesource.com/mod";
rev = "ed3ec21bb8e252814c380df79a80f366440ddb2d";
sha256 = "1fp6885dclq77mh73v7i54v2b9llpv4di193zc8vmsbbkkc483cl";
};
}
{ {
goPackagePath = "golang.org/x/net"; goPackagePath = "golang.org/x/net";
fetch = { fetch = {
@ -414,13 +459,31 @@
sha256 = "0flv9idw0jm5nm8lx25xqanbkqgfiym6619w575p7nrdh0riqwqh"; sha256 = "0flv9idw0jm5nm8lx25xqanbkqgfiym6619w575p7nrdh0riqwqh";
}; };
} }
{
goPackagePath = "golang.org/x/tools";
fetch = {
type = "git";
url = "https://go.googlesource.com/tools";
rev = "49b8ac185c84c5092be0953fb92b7660db9b8162";
sha256 = "0ccsm8p9i83f0s0z5c7jwyzj7jgcg60zf20hzrmp705669wn5y67";
};
}
{
goPackagePath = "golang.org/x/xerrors";
fetch = {
type = "git";
url = "https://go.googlesource.com/xerrors";
rev = "9bdfabe68543c54f90421aeb9a60ef8061b5b544";
sha256 = "1yjfi1bk9xb81lqn85nnm13zz725wazvrx3b50hx19qmwg7a4b0c";
};
}
{ {
goPackagePath = "google.golang.org/api"; goPackagePath = "google.golang.org/api";
fetch = { fetch = {
type = "git"; type = "git";
url = "https://code.googlesource.com/google-api-go-client"; url = "https://code.googlesource.com/google-api-go-client";
rev = "890e5eb51fe205e56dc55eb68d63e82039730816"; rev = "e9c39defab7fc4be8ec95d4ce422dbeae4070400";
sha256 = "05r2wsjnmszsz4y59w8q6qknc7zq1mc56kya61i2133dqxyc55ai"; sha256 = "01wjr07xnb9s32y2jc6d0rba3jxwccd2wydm6cql41yhyr3x84rd";
}; };
} }
{ {
@ -446,8 +509,17 @@
fetch = { fetch = {
type = "git"; type = "git";
url = "https://github.com/grpc/grpc-go"; url = "https://github.com/grpc/grpc-go";
rev = "501c41df7f472c740d0674ff27122f3f48c80ce7"; rev = "f495f5b15ae7ccda3b38c53a1bfcde4c1a58a2bc";
sha256 = "0hla9rjvyi6wjak4cw39ic8jkdcd0lsymhrz9sa52bfybxsczf38"; sha256 = "09phrrsafgq6hnbw8cawvx44bdpk1p584fys17x1bwn0j0451zzs";
};
}
{
goPackagePath = "honnef.co/go/tools";
fetch = {
type = "git";
url = "https://github.com/dominikh/go-tools";
rev = "afd67930eec2a9ed3e9b19f684d17a062285f16a";
sha256 = "1rwwahmbs4dwxncwjj56likir1kps9937vm2id3rygxzzla40zal";
}; };
} }
] ]

View File

@ -1,23 +1,21 @@
{ stdenv, fetchFromGitHub, rustPlatform, makeWrapper, openssl }: { stdenv, fetchFromGitHub, rustPlatform, pkg-config, openssl }:
with rustPlatform; with rustPlatform;
buildRustPackage rec { buildRustPackage rec {
pname = "cfdyndns"; pname = "cfdyndns";
version = "0.0.1"; version = "0.0.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "colemickens"; owner = "colemickens";
repo = "cfdyndns"; repo = "cfdyndns";
rev = "v${version}"; rev = "v${version}";
sha256 = "1mcdjykrgh0jq6k6y664lai8sbgzk6j7k0r944f43vg63d1jql5b"; sha256 = "1fba0w2979dmc2wyggqx4fj52rrl1s2vpjk6mkj1811a848l1hdi";
}; };
# Delete this on next update; see #79975 for details cargoSha256 = "04ryin24z3pfxjxy4smngy66xs7k85g6gdzsl77cij8ifb29im99";
legacyCargoFetcher = true;
cargoSha256 = "1d7jpffkw2m2v37bfdqsl9sqwsl19cgglpa00lwy4ih09kzbc2n9"; nativeBuildInputs = [ pkg-config ];
buildInputs = [ openssl ];
buildInputs = [ makeWrapper openssl ];
installPhase = '' installPhase = ''
mkdir -p $out/bin mkdir -p $out/bin
@ -30,6 +28,5 @@ buildRustPackage rec {
license = stdenv.lib.licenses.mit; license = stdenv.lib.licenses.mit;
maintainers = with maintainers; [ colemickens ]; maintainers = with maintainers; [ colemickens ];
platforms = with platforms; linux; platforms = with platforms; linux;
broken = true;
}; };
} }

View File

@ -52,6 +52,8 @@ python3Packages.buildPythonApplication rec {
sqlalchemy sqlalchemy
terminaltables terminaltables
zxcvbn zxcvbn
# plugins
transmissionrpc
]; ];
meta = with lib; { meta = with lib; {

View File

@ -0,0 +1,69 @@
{ lib, mkDerivation, fetchurl, makeFontsConf, appimageTools,
qtbase, qtsvg, qtmultimedia, qtwebsockets, qtimageformats,
autoPatchelfHook, desktop-file-utils, imagemagick, makeWrapper,
twemoji-color-font, xorg, libsodium, libopus, libGL, zlib, alsaLib }:
mkDerivation rec {
pname = "ripcord";
version = "0.4.23";
src = let
appimage = fetchurl {
url = "https://cancel.fm/dl/Ripcord-${version}-x86_64.AppImage";
sha256 = "0395w0pwr1cz8ichcbyrsscmm2p7srgjk4vkqvqgwyx41prm0x2h";
name = "${pname}-${version}.AppImage";
};
in appimageTools.extract {
name = "${pname}-${version}";
src = appimage;
};
nativeBuildInputs = [ autoPatchelfHook desktop-file-utils imagemagick ];
buildInputs = [ libsodium libopus libGL alsaLib ] ++
[ qtbase qtsvg qtmultimedia qtwebsockets qtimageformats ] ++
(with xorg; [ libX11 libXScrnSaver libXcursor xkeyboardconfig ]);
fontsConf = makeFontsConf {
fontDirectories = [ twemoji-color-font ];
};
installPhase = ''
runHook preInstall
mkdir -p $out
cp -r ${src}/{qt.conf,translations,twemoji.ripdb} $out
for size in 16 32 48 64 72 96 128 192 256 512 1024; do
mkdir -p $out/share/icons/hicolor/"$size"x"$size"/apps
convert -resize "$size"x"$size" ${src}/Ripcord_Icon.png $out/share/icons/hicolor/"$size"x"$size"/apps/ripcord.png
done
desktop-file-install --dir $out/share/applications \
--set-key Exec --set-value ripcord \
--set-key Icon --set-value ripcord \
--set-key Comment --set-value "${meta.description}" \
${src}/Ripcord.desktop
mv $out/share/applications/Ripcord.desktop $out/share/applications/ripcord.desktop
install -Dm755 ${src}/Ripcord $out/Ripcord
patchelf --replace-needed libsodium.so.18 libsodium.so $out/Ripcord
makeQtWrapper $out/Ripcord $out/bin/ripcord \
--run "cd $out" \
--set FONTCONFIG_FILE "${fontsConf}" \
--prefix LD_LIBRARY_PATH ":" "${xorg.libXcursor}/lib" \
--prefix QT_XKB_CONFIG_ROOT ":" "${xorg.xkeyboardconfig}/share/X11/xkb"
runHook postInstall
'';
meta = with lib; {
description = "Desktop chat client for Slack and Discord";
homepage = "https://cancel.fm/ripcord/";
# See: https://cancel.fm/ripcord/shareware-redistribution/
license = licenses.unfreeRedistributable;
maintainers = with maintainers; [ infinisil ];
platforms = [ "x86_64-linux" ];
};
}

View File

@ -20,6 +20,6 @@ stdenv.mkDerivation rec {
description = "Autosort is a weechat script to automatically or manually keep your buffers sorted"; description = "Autosort is a weechat script to automatically or manually keep your buffers sorted";
homepage = https://github.com/de-vri-es/weechat-autosort; homepage = https://github.com/de-vri-es/weechat-autosort;
license = licenses.gpl3; license = licenses.gpl3;
maintainers = with maintainers; [ ma27 emily ]; maintainers = with maintainers; [ emily ];
}; };
} }

View File

@ -1,59 +1,57 @@
{ stdenv, lib, fetchurl, mkDerivation { stdenv, lib, fetchzip, mkDerivation
, appimageTools
, autoPatchelfHook , autoPatchelfHook
, dbus
, desktop-file-utils , desktop-file-utils
, fontconfig , imagemagick
, libjson
, pythonPackages
, qtmultimedia , qtmultimedia
, squashfsTools
, zlib
}: }:
mkDerivation rec { mkDerivation rec {
pname = "soulseekqt"; pname = "soulseekqt";
version = "2018-1-30"; version = "2018-1-30";
name="${pname}-${version}";
src = fetchurl { src = fetchzip {
urls = [ url = "https://www.slsknet.org/SoulseekQt/Linux/SoulseekQt-${version}-64bit-appimage.tgz";
"https://www.dropbox.com/s/0vi87eef3ooh7iy/SoulseekQt-${version}.tgz" sha256 = "16ncnvv8h33f161mgy7qc0wjvvqahsbwvby65qhgfh9pbbgb4xgg";
"https://www.slsknet.org/SoulseekQt/Linux/SoulseekQt-${version}-64bit-appimage.tgz" };
];
sha256 = "0d1cayxr1a4j19bc5a3qp9pg22ggzmd55b6f5av3lc6lvwqqg4w6"; appextracted = appimageTools.extractType2 {
}; inherit name;
src="${src}/SoulseekQt-2018-1-30-64bit.AppImage";
};
dontBuild = true; dontBuild = true;
dontConfigure = true;
nativeBuildInputs = [ autoPatchelfHook pythonPackages.binwalk squashfsTools desktop-file-utils ];
nativeBuildInputs = [ imagemagick autoPatchelfHook desktop-file-utils ];
buildInputs = [ qtmultimedia stdenv.cc.cc ]; buildInputs = [ qtmultimedia stdenv.cc.cc ];
# avoid usage of appimage's runner option --appimage-extract
unpackCmd = ''
export HOME=$(pwd) # workaround for binwalk
appimage=$(tar xvf $curSrc) && binwalk --quiet \
$appimage -D 'squashfs:squashfs:unsquashfs %e'
'';
patchPhase = ''
cd squashfs-root/
binary="$(readlink AppRun)"
# fixup desktop file
desktop-file-edit --set-key Exec --set-value $binary default.desktop
desktop-file-edit --set-key Comment --set-value "${meta.description}" default.desktop
desktop-file-edit --set-key Categories --set-value Network default.desktop
'';
installPhase = '' installPhase = ''
mkdir -p $out/{bin,share/applications,share/icons/} # directory in /nix/store so readonly
cp default.desktop $out/share/applications/$binary.desktop cd $appextracted
cp soulseek.png $out/share/icons/
cp $binary $out/bin/ binary="$(readlink AppRun)"
''; install -Dm755 $binary -t $out/bin
# fixup and install desktop file
desktop-file-install --dir $out/share/applications \
--set-key Exec --set-value $binary \
--set-key Comment --set-value "${meta.description}" \
--set-key Categories --set-value Network default.desktop
mv $out/share/applications/default.desktop $out/share/applications/SoulseekQt.desktop
#TODO: write generic code to read icon path from $binary.desktop
icon="$(readlink .DirIcon)"
for size in 16 32 48 64 72 96 128 192 256 512 1024; do
mkdir -p $out/share/icons/hicolor/"$size"x"$size"/apps
convert -resize "$size"x"$size" $icon $out/share/icons/hicolor/"$size"x"$size"/apps/$icon
done
'';
meta = with lib; { meta = with lib; {
description = "Official Qt SoulSeek client"; description = "Official Qt SoulSeek client";
homepage = http://www.soulseekqt.net; homepage = https://www.slsknet.org;
license = licenses.unfree; license = licenses.unfree;
maintainers = [ maintainers.genesis ]; maintainers = [ maintainers.genesis ];
platforms = [ "x86_64-linux" ]; platforms = [ "x86_64-linux" ];

View File

@ -0,0 +1,24 @@
diff --git a/src/sage/misc/sphinxify.py b/src/sage/misc/sphinxify.py
index 4849c2bffa..76b7bc8602 100644
--- a/src/sage/misc/sphinxify.py
+++ b/src/sage/misc/sphinxify.py
@@ -25,6 +25,7 @@ from __future__ import absolute_import, print_function
import os
import re
import shutil
+import warnings
from tempfile import mkdtemp
from sphinx.application import Sphinx
@@ -120,7 +121,10 @@ smart_quotes = no""")
# buildername, confoverrides, status, warning, freshenv).
sphinx_app = Sphinx(srcdir, confdir, outdir, doctreedir, format,
confoverrides, None, None, True)
- sphinx_app.build(None, [rst_name])
+ with warnings.catch_warnings():
+ # Quick and dirty workaround for https://trac.sagemath.org/ticket/28856#comment:19
+ warnings.simplefilter("ignore")
+ sphinx_app.build(None, [rst_name])
sys.path = old_sys_path
# We need to remove "_" from __builtin__ that the gettext module installs

View File

@ -52,6 +52,11 @@ stdenv.mkDerivation rec {
# Parallelize docubuild using subprocesses, fixing an isolation issue. See # Parallelize docubuild using subprocesses, fixing an isolation issue. See
# https://groups.google.com/forum/#!topic/sage-packaging/YGOm8tkADrE # https://groups.google.com/forum/#!topic/sage-packaging/YGOm8tkADrE
./patches/sphinx-docbuild-subprocesses.patch ./patches/sphinx-docbuild-subprocesses.patch
# Fix doctest failures with docutils 0.15:
# https://nix-cache.s3.amazonaws.com/log/dzmzrb2zvardsmpy7idg7djkizmkzdhs-sage-tests-8.9.drv
# https://trac.sagemath.org/ticket/28856#comment:19
./patches/docutils-0.15.patch
]; ];
# Since sage unfortunately does not release bugfix releases, packagers must # Since sage unfortunately does not release bugfix releases, packagers must

View File

@ -1,62 +1,36 @@
{ stdenv { stdenv
, fetchurl , lib
, fetchFromGitLab
, fetchpatch , fetchpatch
, autoreconfHook
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "symmetrica"; pname = "symmetrica";
version = "2.0"; version = "3.0.1";
src = fetchurl { # Fork of the original symmetrica, which can be found here
url = "http://www.algorithm.uni-bayreuth.de/en/research/SYMMETRICA/SYM2_0_tar.gz"; # http://www.algorithm.uni-bayreuth.de/en/research/SYMMETRICA/index.html
sha256 = "1qhfrbd5ybb0sinl9pad64rscr08qvlfzrzmi4p4hk61xn6phlmz"; # "This fork was created to modernize the codebase, and to resume making
name = "symmetrica-2.0.tar.gz"; # releases with the fixes that have accrued over the years."
# Also see https://trac.sagemath.org/ticket/29061#comment:3.
src = fetchFromGitLab {
owner = "sagemath";
repo = "symmetrica";
rev = version;
sha256 = "0wfmrzw82f5i91d7rf24mcdqcj2fmgrgy02pw4pliz7ncwaq14w3";
}; };
sourceRoot = "."; nativeBuildInputs = [
autoreconfHook
patches = [
# don't show banner ("SYMMETRICA VERSION X - STARTING)
# it doesn't contain very much helpful information and a banner is not ideal for a library
(fetchpatch {
url = "https://git.sagemath.org/sage.git/plain/build/pkgs/symmetrica/patches/de.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
sha256 = "0df0vqixcfpzny6dkhyj87h8aznz3xn3zfwwlj8pd10bpb90k6gb";
})
# use int32_t and uint32_t for type INT
# see https://trac.sagemath.org/ticket/13413
(fetchpatch {
name = "fix_64bit_integer_overflow.patch";
url = "https://git.sagemath.org/sage.git/plain/build/pkgs/symmetrica/patches/int32.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
sha256 = "0p33c85ck4kd453z687ni4bdcqr1pqx2756j7aq11bf63vjz4cyz";
})
(fetchpatch {
url = "https://git.sagemath.org/sage.git/plain/build/pkgs/symmetrica/patches/return_values.patch?id=1615f58890e8f9881c4228c78a6b39b9aab1303a";
sha256 = "0dmczkicwl50sivc07w3wm3jpfk78wm576dr25999jdj2ipsb7nk";
})
]; ];
postPatch = ''
substituteInPlace makefile --replace gcc cc
'';
enableParallelBuilding = true; enableParallelBuilding = true;
installPhase = '' meta = with lib; {
mkdir -p "$out"/{lib,share/doc/symmetrica,include/symmetrica}
ar crs libsymmetrica.a *.o
ranlib libsymmetrica.a
cp libsymmetrica.a "$out/lib"
cp *.h "$out/include/symmetrica"
cp README *.doc "$out/share/doc/symmetrica"
'';
meta = {
inherit version;
description = ''A collection of routines for representation theory and combinatorics''; description = ''A collection of routines for representation theory and combinatorics'';
license = stdenv.lib.licenses.publicDomain; license = licenses.isc;
maintainers = [stdenv.lib.maintainers.raskin]; maintainers = with maintainers; [raskin timokau];
platforms = stdenv.lib.platforms.unix; platforms = platforms.unix;
homepage = http://www.algorithm.uni-bayreuth.de/en/research/SYMMETRICA/index.html; homepage = "https://gitlab.com/sagemath/symmetrica";
}; };
} }

View File

@ -4,13 +4,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "wxmaxima"; pname = "wxmaxima";
version = "19.03.0"; version = "20.02.4";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "andrejv"; owner = "wxMaxima-developers";
repo = "wxmaxima"; repo = "wxmaxima";
rev = "Version-${version}"; rev = "Version-${version}";
sha256 = "0s7bdykc77slqix28cyaa6x8wvxrn8461mkdgxflvi2apwsl56aa"; sha256 = "106a7jrjwfmymzj70nsv44fm3jbxngr8pmkaghhpwy0ln38lhf54";
}; };
buildInputs = [ wxGTK maxima gnome3.adwaita-icon-theme ]; buildInputs = [ wxGTK maxima gnome3.adwaita-icon-theme ];
@ -21,12 +21,10 @@ stdenv.mkDerivation rec {
gappsWrapperArgs+=(--prefix PATH ":" ${maxima}/bin) gappsWrapperArgs+=(--prefix PATH ":" ${maxima}/bin)
''; '';
enableParallelBuilding = true;
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Cross platform GUI for the computer algebra system Maxima"; description = "Cross platform GUI for the computer algebra system Maxima";
license = licenses.gpl2; license = licenses.gpl2;
homepage = https://wxmaxima-developers.github.io/wxmaxima/; homepage = "https://wxmaxima-developers.github.io/wxmaxima/";
platforms = platforms.linux; platforms = platforms.linux;
maintainers = [ maintainers.peti ]; maintainers = [ maintainers.peti ];
}; };

View File

@ -8,31 +8,18 @@
buildPythonApplication rec { buildPythonApplication rec {
pname = "glances"; pname = "glances";
version = "3.1.3"; version = "3.1.4";
disabled = isPyPy; disabled = isPyPy;
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "nicolargo"; owner = "nicolargo";
repo = "glances"; repo = "glances";
rev = "v${version}"; rev = "v${version}";
sha256 = "15yz8sbw3k3n0729g2zcwsxc5iyhkyrhqza6fnipxxpsskwgqbwp"; sha256 = "1lr186rc3fvldy2m2yx1hxzdlxll93pjabs01sxz48kkpsvbiydi";
}; };
# Some tests fail in the sandbox (they e.g. require access to /sys/class/power_supply): # Some tests fail in the sandbox (they e.g. require access to /sys/class/power_supply):
patches = lib.optional (doCheck && stdenv.isLinux) ./skip-failing-tests.patch patches = lib.optional (doCheck && stdenv.isLinux) ./skip-failing-tests.patch;
++ [
(fetchpatch {
# Correct unitest
url = "https://github.com/nicolargo/glances/commit/abf64ffde31113f5f46ef286703ff061fc57395f.patch";
sha256 = "00krahqq89jvbgrqx2359cndmvq5maffhpj163z10s1n7q80kxp1";
})
(fetchpatch {
# Fix IP plugin initialization issue
url = "https://github.com/nicolargo/glances/commit/48cb5ef8053d823302e7e53490fb22cec2fabb0f.patch";
sha256 = "1590qgcr8w3d9ddpgd9mk5j6q6aq29341vr8bi202yjwwiv2bia9";
})
];
# On Darwin this package segfaults due to mismatch of pure and impure # On Darwin this package segfaults due to mismatch of pure and impure
# CoreFoundation. This issues was solved for binaries but for interpreted # CoreFoundation. This issues was solved for binaries but for interpreted
@ -64,6 +51,7 @@ buildPythonApplication rec {
meta = with lib; { meta = with lib; {
homepage = "https://nicolargo.github.io/glances/"; homepage = "https://nicolargo.github.io/glances/";
description = "Cross-platform curses-based monitoring tool"; description = "Cross-platform curses-based monitoring tool";
changelog = "https://github.com/nicolargo/glances/releases/tag/v${version}";
license = licenses.lgpl3; license = licenses.lgpl3;
maintainers = with maintainers; [ jonringer primeos koral ]; maintainers = with maintainers; [ jonringer primeos koral ];
}; };

View File

@ -50,11 +50,3 @@ diff --git a/unitest.py b/unitest.py
def test_006_swap(self): def test_006_swap(self):
"""Check MEMSWAP plugin.""" """Check MEMSWAP plugin."""
stats_to_check = ['used', 'free', 'total'] stats_to_check = ['used', 'free', 'total']
@@ -191,6 +196,7 @@ class TestGlances(unittest.TestCase):
self.assertTrue(type(stats_grab) is list, msg='Folders stats is not a list')
print('INFO: Folders stats: %s' % stats_grab)
+ @unittest.skip("Fails on NixOS (TODO)")
def test_012_ip(self):
"""Check IP plugin."""
print('INFO: [TEST_012] Check IP stats')

View File

@ -140,6 +140,10 @@ let
git-test = callPackage ./git-test { }; git-test = callPackage ./git-test { };
git-trim = callPackage ./git-trim {
inherit (darwin.apple_sdk.frameworks) Security;
};
git-workspace = callPackage ./git-workspace { git-workspace = callPackage ./git-workspace {
inherit (darwin.apple_sdk.frameworks) Security; inherit (darwin.apple_sdk.frameworks) Security;
}; };

View File

@ -26,10 +26,7 @@ buildRustPackage rec {
sha256 = "1sx6sc2dj3l61gbiqz8vfyhw5w4xjdyfzn1ixz0y8ipm579yc7a2"; sha256 = "1sx6sc2dj3l61gbiqz8vfyhw5w4xjdyfzn1ixz0y8ipm579yc7a2";
}; };
# Delete this on next update; see #79975 for details cargoSha256 = "1wjbwd3scx71l2fpxgvgwaw05lkpw13rm6d2i1x5crhs7py96ky6";
legacyCargoFetcher = true;
cargoSha256 = "10852131aizfw9j1yl4gz180h4gd8y5ymx3wmf5v9cmqiqxy8bgy";
nativeBuildInputs = [ nativeBuildInputs = [
cmake cmake
@ -51,6 +48,10 @@ buildRustPackage rec {
meta = with stdenv.lib; { meta = with stdenv.lib; {
inherit (src.meta) homepage; inherit (src.meta) homepage;
description = "Decentralized Issue Tracking for git"; description = "Decentralized Issue Tracking for git";
# This has not had a release in years and its cargo vendored dependencies
# fail to compile. It also depends on an unsupported openssl:
# https://github.com/NixOS/nixpkgs/issues/77503
broken = true;
license = licenses.gpl2; license = licenses.gpl2;
maintainers = with maintainers; [ Profpatsch matthiasbeyer ]; maintainers = with maintainers; [ Profpatsch matthiasbeyer ];
}; };

View File

@ -0,0 +1,33 @@
{ stdenv, rustPlatform, fetchFromGitHub, pkg-config, openssl, libiconv, Security }:
rustPlatform.buildRustPackage rec {
pname = "git-trim";
version = "0.2.4";
src = fetchFromGitHub {
owner = "foriequal0";
repo = pname;
rev = "v${version}";
sha256 = "0gfmv9bwhh6bv0s9kfbxq9wsvrk3zz3ibavbpp9l8cpqc3145pqy";
};
cargoSha256 = "0xklczk4vbh2mqf76r3rsfyclyza9imf6yss7vbkm9w4ir3ar9f3";
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
'';
# fails with sandbox
doCheck = false;
meta = with stdenv.lib; {
description = "Automatically trims your branches whose tracking remote refs are merged or gone";
homepage = "https://github.com/foriequal0/git-trim";
license = licenses.mit;
maintainers = [ maintainers.marsam ];
};
}

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation { stdenv.mkDerivation {
pname = "gitstatus"; pname = "gitstatus";
version = "unstable-2020-02-26"; version = "unstable-2020-03-06";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "romkatv"; owner = "romkatv";
repo = "gitstatus"; repo = "gitstatus";
rev = "c0e5a24299c1a1a71434dac1de6ea650e80fbe49"; rev = "c07996bc3ea1912652f52a816b830a5a3ee9b49c";
sha256 = "0fj84cvr5a895jqgg86raakx6lqyyhahf1dgzgx05y2gfvnxxh8m"; sha256 = "07s8hwx3i5mnafi2xfim44z3q2nsvlcibfdxj17w8mkjhfpywi00";
}; };
buildInputs = [ (callPackage ./romkatv_libgit2.nix {}) ]; buildInputs = [ (callPackage ./romkatv_libgit2.nix {}) ];
@ -16,7 +16,7 @@ stdenv.mkDerivation {
sed -i "1i GITSTATUS_DAEMON=$out/bin/gitstatusd" gitstatus.plugin.zsh sed -i "1i GITSTATUS_DAEMON=$out/bin/gitstatusd" gitstatus.plugin.zsh
''; '';
installPhase = '' installPhase = ''
install -Dm755 gitstatusd $out/bin/gitstatusd install -Dm755 usrbin/gitstatusd $out/bin/gitstatusd
install -Dm444 gitstatus.plugin.zsh $out install -Dm444 gitstatus.plugin.zsh $out
''; '';

View File

@ -0,0 +1,49 @@
{ stdenv, buildPythonApplication, fetchFromGitHub, fetchurl
, mpv, python-mpv-jsonipc, jellyfin-apiclient-python
, pillow, tkinter, pystray, jinja2, pywebview }:
buildPythonApplication rec {
pname = "jellyfin-mpv-shim";
version = "1.4.1";
src = fetchFromGitHub {
owner = "iwalton3";
repo = pname;
rev = "v${version}";
sha256 = "195vplq4182pq62sn6ci0a8p57k6zv8pk1gmifmwdv69wzaph043";
fetchSubmodules = true; # needed for display_mirror css file
};
# override $HOME directory:
# error: [Errno 13] Permission denied: '/homeless-shelter'
#
# remove jellyfin_mpv_shim/win_utils.py:
# ModuleNotFoundError: No module named 'win32gui'
preCheck = ''
export HOME=$TMPDIR
rm jellyfin_mpv_shim/win_utils.py
'';
propagatedBuildInputs = [
jellyfin-apiclient-python
mpv
pillow
python-mpv-jsonipc
# gui dependencies
pystray
tkinter
# display_mirror dependencies
jinja2
pywebview
];
meta = with stdenv.lib; {
homepage = "https://github.com/iwalton3/jellyfin-mpv-shim";
description = "Allows casting of videos to MPV via the jellyfin mobile and web app.";
license = licenses.gpl3;
maintainers = with maintainers; [ jojosch ];
};
}

View File

@ -13,13 +13,13 @@ with stdenv.lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "mkvtoolnix"; pname = "mkvtoolnix";
version = "43.0.0"; version = "44.0.0";
src = fetchFromGitLab { src = fetchFromGitLab {
owner = "mbunkus"; owner = "mbunkus";
repo = "mkvtoolnix"; repo = "mkvtoolnix";
rev = "release-${version}"; rev = "release-${version}";
sha256 = "0ra9kgvhh5yhbr0hsia1va5lw45zr4kdwcdjhas5ljjyj75mlyxc"; sha256 = "072sw51svaizqi9f6kscic23wxcjarwgb7nv52yd5si5w8s0qh9r";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -6,7 +6,7 @@
buildGoPackage rec { buildGoPackage rec {
pname = "docker-slim"; pname = "docker-slim";
version = "1.28.0"; version = "1.28.1";
goPackagePath = "github.com/docker-slim/docker-slim"; goPackagePath = "github.com/docker-slim/docker-slim";
@ -14,7 +14,7 @@ buildGoPackage rec {
owner = "docker-slim"; owner = "docker-slim";
repo = "docker-slim"; repo = "docker-slim";
rev = version; rev = version;
sha256 = "1yqg7ngrgq1382clyaal40v7rg9p54hyf78mdrzql454yzxfa819"; sha256 = "13lws9vgzq3chlqxc8aggz3i5kmir3vld2af0fx15kvcb9kpd79a";
}; };
subPackages = [ "cmd/docker-slim" "cmd/docker-slim-sensor" ]; subPackages = [ "cmd/docker-slim" "cmd/docker-slim-sensor" ];

View File

@ -5,13 +5,13 @@
buildGoPackage rec { buildGoPackage rec {
pname = "podman"; pname = "podman";
version = "1.8.0"; version = "1.8.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "containers"; owner = "containers";
repo = "libpod"; repo = "libpod";
rev = "v${version}"; rev = "v${version}";
sha256 = "1rbapks11xg0vgl9m322mijirx0wm6c4yav8aw2y41wsr7qd7db4"; sha256 = "047nji6vbrdb1pm8ymxz4dv07xdnp5c624bq2cfy58m5l4f1dn75";
}; };
goPackagePath = "github.com/containers/libpod"; goPackagePath = "github.com/containers/libpod";
@ -38,7 +38,7 @@ buildGoPackage rec {
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = https://podman.io/; homepage = "https://podman.io/";
description = "A program for managing pods, containers and container images"; description = "A program for managing pods, containers and container images";
license = licenses.asl20; license = licenses.asl20;
maintainers = with maintainers; [ vdemeester saschagrunert marsam ]; maintainers = with maintainers; [ vdemeester saschagrunert marsam ];

View File

@ -1,13 +0,0 @@
diff --git a/Cargo.lock b/Cargo.lock
index 915ab04..3d5956d 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -370,7 +370,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "leftwm"
-version = "0.1.9"
+version = "0.1.10"
dependencies = [
"bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
"chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",

View File

@ -1,41 +1,35 @@
{ stdenv, fetchFromGitHub, rustPlatform, libX11, libXinerama, makeWrapper }: { stdenv, fetchFromGitHub, rustPlatform, libX11, libXinerama, makeWrapper }:
let let
rpath = stdenv.lib.makeLibraryPath [ libXinerama libX11 ]; rpath = stdenv.lib.makeLibraryPath [ libXinerama libX11 ];
in in
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "leftwm"; pname = "leftwm";
version = "0.1.10"; version = "0.2.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "leftwm"; owner = "leftwm";
repo = "leftwm"; repo = "leftwm";
rev = version; rev = version;
sha256 = "190lc48clkh9vzlsfg2a70w405k7xyyw7avnxwna1glfwmbyy2ag"; sha256 = "0x8cqc7zay19jxy7cshayjjwwjrcblqpmqrxipm2g5hhyjghk6q0";
}; };
buildInputs = [ makeWrapper libX11 libXinerama ]; cargoSha256 = "1kphv3vnr8ij7raf0niwz3rwly986xi5fgwqg2ya0r46ifqkgvrc";
postInstall = '' buildInputs = [ makeWrapper libX11 libXinerama ];
wrapProgram $out/bin/leftwm --prefix LD_LIBRARY_PATH : "${rpath}"
wrapProgram $out/bin/leftwm-state --prefix LD_LIBRARY_PATH : "${rpath}"
wrapProgram $out/bin/leftwm-worker --prefix LD_LIBRARY_PATH : "${rpath}"
'';
# Delete this on next update; see #79975 for details postInstall = ''
legacyCargoFetcher = true; wrapProgram $out/bin/leftwm --prefix LD_LIBRARY_PATH : "${rpath}"
wrapProgram $out/bin/leftwm-state --prefix LD_LIBRARY_PATH : "${rpath}"
wrapProgram $out/bin/leftwm-worker --prefix LD_LIBRARY_PATH : "${rpath}"
'';
cargoSha256 = "0mpvfix7bvc84vanha474l4gaq97ac1zy5l77z83m9jg0246yxd6"; meta = with stdenv.lib; {
description = "Leftwm - A tiling window manager for the adventurer";
# patch wrong version in Cargo.lock homepage = "https://github.com/leftwm/leftwm";
cargoPatches = [ ./cargo-lock.patch ]; license = licenses.mit;
platforms = platforms.linux;
meta = { maintainers = with maintainers; [ mschneider ];
description = "Leftwm - A tiling window manager for the adventurer"; };
homepage = https://github.com/leftwm/leftwm;
license = stdenv.lib.licenses.mit;
platforms = stdenv.lib.platforms.linux;
maintainers = with stdenv.lib.maintainers; [ mschneider ];
};
} }

View File

@ -1,18 +1,19 @@
{ lib, fetchzip }: { lib, fetchzip }:
let let
version = "1.0.3"; version = "1.0.4";
in in
fetchzip rec { fetchzip rec {
name = "JetBrainsMono-${version}"; name = "JetBrainsMono-${version}";
url = "https://github.com/JetBrains/JetBrainsMono/releases/download/v${version}/JetBrainsMono-${version}.zip"; url = "https://github.com/JetBrains/JetBrainsMono/releases/download/v${version}/JetBrainsMono-${version}.zip";
sha256 = "16am5fxvda24jfl8lb9jf8mkcqfc97scj8hvwgd3m771db0dpflf"; sha256 = "1m6wppz6mrh7475d92yvwrjgbwkkcfq444v0im90f5c7fsf3dzbd";
postFetch = '' postFetch = ''
mkdir -p $out/share/fonts mkdir -p $out/share/fonts
unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype
unzip -j $downloadedFile \*.eot -d $out/share/fonts/eot
unzip -j $downloadedFile \*.woff -d $out/share/fonts/woff unzip -j $downloadedFile \*.woff -d $out/share/fonts/woff
unzip -j $downloadedFile \*.woff2 -d $out/share/fonts/woff2 unzip -j $downloadedFile \*.woff2 -d $out/share/fonts/woff2
''; '';

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "matcha"; pname = "matcha";
version = "2020-03-01"; version = "2020-03-11";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "vinceliuice"; owner = "vinceliuice";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "09nb6xsysfg477zcm9y49iaczxksxrd4zh3n8dp7rlzc2h2kicpn"; sha256 = "1np2964g5f0vwdvfmi8gidsk9jj7v43nkshiqnfdbvmwa85ldpfl";
}; };
buildInputs = [ gdk-pixbuf librsvg ]; buildInputs = [ gdk-pixbuf librsvg ];

View File

@ -0,0 +1,29 @@
{ stdenv, fetchFromGitHub }:
stdenv.mkDerivation rec {
pname = "gnome-shell-extension-paperwm";
version = "36.0";
src = fetchFromGitHub {
owner = "paperwm";
repo = "PaperWM";
rev = version;
sha256 = "1ssnabwxrns36c61ppspjkr9i3qifv08pf2jpwl7cjv3pvyn4kly";
};
uuid = "paperwm@hedning:matrix.org";
dontBuild = true;
installPhase = ''
mkdir -p $out/share/gnome-shell/extensions/${uuid}
cp -r . $out/share/gnome-shell/extensions/${uuid}
'';
meta = with stdenv.lib; {
description = "Tiled scrollable window management for Gnome Shell";
homepage = "https://github.com/paperwm/PaperWM";
license = licenses.gpl3;
maintainers = with maintainers; [ hedning zowoq ];
};
}

View File

@ -0,0 +1,18 @@
Compressed diff from
```
git show d21664cce1db8debe2528f36b1fbd2b8af9c9401 87dac7da68ea1e0adac78c59ef1891dcf9632b67 3a0f6e699bb6d96dc62dce6faef20ac26cf103fd
```
with the purpose of avoiding linker errors arising in the polly-flavoured clang.
diff --git a/clang/CMakeLists.txt b/clang/CMakeLists.txt
index 781c3eb7f2f..dc1413f4b59 100644
--- clang/CMakeLists.txt
+++ clang/CMakeLists.txt
@@ -864,6 +864,7 @@ add_subdirectory(utils/hmaptool)
if(CLANG_BUILT_STANDALONE)
llvm_distribution_add_targets()
+ process_llvm_pass_plugins()
endif()
configure_file(

View File

@ -1,7 +1,6 @@
{ stdenv, fetch, cmake, libxml2, llvm, version, clang-tools-extra_src, python3, lld { stdenv, fetch, cmake, libxml2, llvm, version, clang-tools-extra_src, python3, lld
, fixDarwinDylibNames , fixDarwinDylibNames
, enableManpages ? false , enableManpages ? false
, enablePolly ? false # TODO: get this info from llvm (passthru?)
}: }:
let let
@ -9,7 +8,7 @@ let
pname = "clang"; pname = "clang";
inherit version; inherit version;
src = fetch "clang" "1npwv0j6812q9jar79bb5m2j4lmvp11680in45nlma8czrs52w0v"; src = fetch "clang" "1w7ixr16a9f0g5kv4irvhwq973wn0d418kb0p9rabyfscm05wfmq";
unpackPhase = '' unpackPhase = ''
unpackFile $src unpackFile $src
@ -34,12 +33,12 @@ let
"-DSPHINX_OUTPUT_MAN=ON" "-DSPHINX_OUTPUT_MAN=ON"
"-DSPHINX_OUTPUT_HTML=OFF" "-DSPHINX_OUTPUT_HTML=OFF"
"-DSPHINX_WARNINGS_AS_ERRORS=OFF" "-DSPHINX_WARNINGS_AS_ERRORS=OFF"
] ++ stdenv.lib.optionals enablePolly [
"-DWITH_POLLY=ON"
"-DLINK_POLLY_INTO_TOOLS=ON"
]; ];
patches = [ patches = [
# 10.0.0rc3-only
./clang-extension-handling.patch
./purity.patch ./purity.patch
# https://reviews.llvm.org/D51899 # https://reviews.llvm.org/D51899
./compiler-rt-baremetal.patch ./compiler-rt-baremetal.patch

View File

@ -2,7 +2,7 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "compiler-rt"; pname = "compiler-rt";
inherit version; inherit version;
src = fetch pname "11qiass6gbpq3m1srqlk5gm0zcm8j4jk2cmingra237qhaxz8wv9"; src = fetch pname "0qv40mv91630l6f75w9g5y6v97s5shz94n82rms12gcd8mir6qp5";
nativeBuildInputs = [ cmake python3 llvm ]; nativeBuildInputs = [ cmake python3 llvm ];
buildInputs = stdenv.lib.optional stdenv.hostPlatform.isDarwin libcxxabi; buildInputs = stdenv.lib.optional stdenv.hostPlatform.isDarwin libcxxabi;

View File

@ -6,7 +6,7 @@
let let
release_version = "10.0.0"; release_version = "10.0.0";
candidate = "rc2"; candidate = "rc3";
version = "10.0.0${candidate}"; # differentiating these is important for rc's version = "10.0.0${candidate}"; # differentiating these is important for rc's
fetch = name: sha256: fetchurl { fetch = name: sha256: fetchurl {
@ -14,7 +14,7 @@ let
inherit sha256; inherit sha256;
}; };
clang-tools-extra_src = fetch "clang-tools-extra" "1yi34b6lspcpig0gnws2ba0shgmrs2jgjb3hp08mm0dg3blzk8ss"; clang-tools-extra_src = fetch "clang-tools-extra" "03669c93wzmbmfpv0pyzb7y4z1xc912l95iqywyx01xgdl1xws0r";
tools = stdenv.lib.makeExtensible (tools: let tools = stdenv.lib.makeExtensible (tools: let
callPackage = newScope (tools // { inherit stdenv cmake libxml2 python3 isl release_version version fetch; }); callPackage = newScope (tools // { inherit stdenv cmake libxml2 python3 isl release_version version fetch; });
@ -39,7 +39,6 @@ let
clang-polly-unwrapped = callPackage ./clang { clang-polly-unwrapped = callPackage ./clang {
inherit clang-tools-extra_src; inherit clang-tools-extra_src;
llvm = tools.llvm-polly; llvm = tools.llvm-polly;
enablePolly = true;
}; };
llvm-manpages = lowPrio (tools.llvm.override { llvm-manpages = lowPrio (tools.llvm.override {

View File

@ -5,7 +5,7 @@ stdenv.mkDerivation {
pname = "libc++"; pname = "libc++";
inherit version; inherit version;
src = fetch "libcxx" "0d83z1dbr6kkwcq72kqpdkvnndjvcjx7w80qlkvqlv7r2zai5kjg"; src = fetch "libcxx" "1cjxiby8nq95g02rgx08iy86pswpi66b9wmxqjiyga1s92nb19j0";
postUnpack = '' postUnpack = ''
unpackFile ${libcxxabi.src} unpackFile ${libcxxabi.src}

View File

@ -5,7 +5,7 @@ stdenv.mkDerivation {
pname = "libc++abi"; pname = "libc++abi";
inherit version; inherit version;
src = fetch "libcxxabi" "001rnpgya6y0vcsy5jqcc7ria666mswbzw4avdps6dgs6caqrfpd"; src = fetch "libcxxabi" "1xs7dr91qzz7lq9am4q3vcj2jf1gx23ar1jbnhn763011hl94vs0";
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];
buildInputs = stdenv.lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD && !stdenv.hostPlatform.isWasm) libunwind; buildInputs = stdenv.lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD && !stdenv.hostPlatform.isWasm) libunwind;

View File

@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
pname = "libunwind"; pname = "libunwind";
inherit version; inherit version;
src = fetch pname "0194s3qqqz4qcrzdfy7c931sm3d9hnjk624gldja85mwz1v1x9a8"; src = fetch pname "1dm7l75ajnjy6kbg2157v2g5gfia3n47fc56ayryyp2jdvbgprwl";
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];

View File

@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
pname = "lld"; pname = "lld";
inherit version; inherit version;
src = fetch pname "0z0a1h94hx0wj5289gvp99bvvj2ghid94xj2c5acmh1df8cx1vna"; src = fetch pname "1w9c9xmzbdnkwgal612hqz2lxj9jgqpfzxr2rllcspmf6v7arvf4";
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];
buildInputs = [ llvm libxml2 ]; buildInputs = [ llvm libxml2 ];

View File

@ -20,7 +20,7 @@ stdenv.mkDerivation (rec {
pname = "lldb"; pname = "lldb";
inherit version; inherit version;
src = fetch pname "0nh26a4mxd54k5f9gpizr55vdalkzym2l82kvfh3lm8lvimypga1"; src = fetch pname "06qzh13cr20wrd5925698yq696bhl68zbvm7kjxp7c2rx5swxmg8";
patches = [ ./lldb-procfs.patch ]; patches = [ ./lldb-procfs.patch ];

View File

@ -0,0 +1,146 @@
Compressed diff from
```
git show d21664cce1db8debe2528f36b1fbd2b8af9c9401 87dac7da68ea1e0adac78c59ef1891dcf9632b67 3a0f6e699bb6d96dc62dce6faef20ac26cf103fd
```
with the purpose of avoiding linker errors arising in the polly-flavoured clang.
diff --git a/llvm/CMakeLists.txt b/llvm/CMakeLists.txt
index a02c2a5a23f..faf8f561faa 100644
--- llvm/CMakeLists.txt
+++ llvm/CMakeLists.txt
@@ -1069,6 +1069,7 @@ endif()
# after all targets are created.
include(LLVMDistributionSupport)
llvm_distribution_add_targets()
+process_llvm_pass_plugins(GEN_CONFIG)
# This allows us to deploy the Universal CRT DLLs by passing -DCMAKE_INSTALL_UCRT_LIBRARIES=ON to CMake
if (MSVC AND CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows" AND CMAKE_INSTALL_UCRT_LIBRARIES)
@@ -1093,5 +1094,3 @@ endif()
if (LLVM_INCLUDE_UTILS AND LLVM_INCLUDE_TOOLS)
add_subdirectory(utils/llvm-locstats)
endif()
-
-process_llvm_pass_plugins()
diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake
index fd69786544a..8fbb33a22fd 100644
--- llvm/cmake/modules/AddLLVM.cmake
+++ llvm/cmake/modules/AddLLVM.cmake
@@ -884,53 +884,71 @@ function(add_llvm_pass_plugin name)
if (TARGET intrinsics_gen)
add_dependencies(obj.${name} intrinsics_gen)
endif()
- message(STATUS "Registering ${name} as a pass plugin (static build: ${LLVM_${name_upper}_LINK_INTO_TOOLS})")
- set_property(GLOBAL APPEND PROPERTY LLVM_COMPILE_EXTENSIONS ${name})
+ set_property(GLOBAL APPEND PROPERTY LLVM_STATIC_EXTENSIONS ${name})
elseif(NOT ARG_NO_MODULE)
add_llvm_library(${name} MODULE ${ARG_UNPARSED_ARGUMENTS})
else()
add_llvm_library(${name} OBJECT ${ARG_UNPARSED_ARGUMENTS})
endif()
+ message(STATUS "Registering ${name} as a pass plugin (static build: ${LLVM_${name_upper}_LINK_INTO_TOOLS})")
endfunction(add_llvm_pass_plugin)
-# Generate X Macro file for extension handling. It provides a
-# HANDLE_EXTENSION(extension_namespace, ExtensionProject) call for each extension
-# allowing client code to define HANDLE_EXTENSION to have a specific code be run for
-# each extension.
+# process_llvm_pass_plugins([GEN_CONFIG])
+#
+# Correctly set lib dependencies between plugins and tools, based on tools
+# registered with the ENABLE_PLUGINS option.
+#
+# if GEN_CONFIG option is set, also generate X Macro file for extension
+# handling. It provides a HANDLE_EXTENSION(extension_namespace, ExtensionProject)
+# call for each extension allowing client code to define
+# HANDLE_EXTENSION to have a specific code be run for each extension.
#
-# Also correctly set lib dependencies between plugins and tools.
function(process_llvm_pass_plugins)
- get_property(LLVM_EXTENSIONS GLOBAL PROPERTY LLVM_COMPILE_EXTENSIONS)
- file(WRITE "${LLVM_BINARY_DIR}/include/llvm/Support/Extension.def.tmp" "//extension handlers\n")
- foreach(llvm_extension ${LLVM_EXTENSIONS})
- string(TOLOWER ${llvm_extension} llvm_extension_lower)
-
- string(TOUPPER ${llvm_extension} llvm_extension_upper)
- string(SUBSTRING ${llvm_extension_upper} 0 1 llvm_extension_upper_first)
- string(SUBSTRING ${llvm_extension_lower} 1 -1 llvm_extension_lower_tail)
- string(CONCAT llvm_extension_project ${llvm_extension_upper_first} ${llvm_extension_lower_tail})
-
- if(LLVM_${llvm_extension_upper}_LINK_INTO_TOOLS)
- file(APPEND "${LLVM_BINARY_DIR}/include/llvm/Support/Extension.def.tmp" "HANDLE_EXTENSION(${llvm_extension_project})\n")
-
- get_property(llvm_plugin_targets GLOBAL PROPERTY LLVM_PLUGIN_TARGETS)
- foreach(llvm_plugin_target ${llvm_plugin_targets})
- set_property(TARGET ${llvm_plugin_target} APPEND PROPERTY LINK_LIBRARIES ${llvm_extension})
- set_property(TARGET ${llvm_plugin_target} APPEND PROPERTY INTERFACE_LINK_LIBRARIES ${llvm_extension})
- endforeach()
- else()
- add_llvm_library(${llvm_extension_lower} MODULE obj.${llvm_extension_lower})
- endif()
+ cmake_parse_arguments(ARG
+ "GEN_CONFIG" "" ""
+ ${ARGN})
+ if(ARG_GEN_CONFIG)
+ get_property(LLVM_STATIC_EXTENSIONS GLOBAL PROPERTY LLVM_STATIC_EXTENSIONS)
+ else()
+ include(LLVMConfigExtensions)
+ endif()
+
+ # Add static plugins to each plugin target.
+ foreach(llvm_extension ${LLVM_STATIC_EXTENSIONS})
+ get_property(llvm_plugin_targets GLOBAL PROPERTY LLVM_PLUGIN_TARGETS)
+ foreach(llvm_plugin_target ${llvm_plugin_targets})
+ set_property(TARGET ${llvm_plugin_target} APPEND PROPERTY LINK_LIBRARIES ${llvm_extension})
+ set_property(TARGET ${llvm_plugin_target} APPEND PROPERTY INTERFACE_LINK_LIBRARIES ${llvm_extension})
+ endforeach()
endforeach()
- file(APPEND "${LLVM_BINARY_DIR}/include/llvm/Support/Extension.def.tmp" "#undef HANDLE_EXTENSION\n")
- # only replace if there's an actual change
- execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different
- "${LLVM_BINARY_DIR}/include/llvm/Support/Extension.def.tmp"
- "${LLVM_BINARY_DIR}/include/llvm/Support/Extension.def")
- file(REMOVE "${LLVM_BINARY_DIR}/include/llvm/Support/Extension.def.tmp")
+ # Eventually generate the extension header, and store config to a cmake file
+ # for usage in third-party configuration.
+ if(ARG_GEN_CONFIG)
+ set(LLVM_INSTALL_PACKAGE_DIR lib${LLVM_LIBDIR_SUFFIX}/cmake/llvm)
+ set(llvm_cmake_builddir "${LLVM_BINARY_DIR}/${LLVM_INSTALL_PACKAGE_DIR}")
+ file(WRITE
+ "${llvm_cmake_builddir}/LLVMConfigExtensions.cmake"
+ "set(LLVM_STATIC_EXTENSIONS ${LLVM_STATIC_EXTENSIONS})")
+ install(FILES
+ ${llvm_cmake_builddir}/LLVMConfigExtensions.cmake
+ DESTINATION ${LLVM_INSTALL_PACKAGE_DIR}
+ COMPONENT cmake-exports)
+
+ file(WRITE "${LLVM_BINARY_DIR}/include/llvm/Support/Extension.def.tmp" "//extension handlers\n")
+ foreach(llvm_extension ${LLVM_STATIC_EXTENSIONS})
+ file(APPEND "${LLVM_BINARY_DIR}/include/llvm/Support/Extension.def.tmp" "HANDLE_EXTENSION(${llvm_extension})\n")
+ endforeach()
+ file(APPEND "${LLVM_BINARY_DIR}/include/llvm/Support/Extension.def.tmp" "#undef HANDLE_EXTENSION\n")
+
+ # only replace if there's an actual change
+ execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different
+ "${LLVM_BINARY_DIR}/include/llvm/Support/Extension.def.tmp"
+ "${LLVM_BINARY_DIR}/include/llvm/Support/Extension.def")
+ file(REMOVE "${LLVM_BINARY_DIR}/include/llvm/Support/Extension.def.tmp")
+ endif()
endfunction()
function(export_executable_symbols target)
diff --git a/llvm/cmake/modules/CMakeLists.txt b/llvm/cmake/modules/CMakeLists.txt
index 9cf22b436fa..af757d6199a 100644
--- llvm/cmake/modules/CMakeLists.txt
+++ llvm/cmake/modules/CMakeLists.txt
@@ -136,6 +136,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
FILES_MATCHING PATTERN *.cmake
PATTERN .svn EXCLUDE
PATTERN LLVMConfig.cmake EXCLUDE
+ PATTERN LLVMConfigExtensions.cmake EXCLUDE
PATTERN LLVMConfigVersion.cmake EXCLUDE
PATTERN LLVM-Config.cmake EXCLUDE
PATTERN GetHostTriple.cmake EXCLUDE)

View File

@ -31,8 +31,8 @@ in stdenv.mkDerivation (rec {
pname = "llvm"; pname = "llvm";
inherit version; inherit version;
src = fetch pname "01azqqygm83s6l1g35kqkc7da06dkc8jxpb4zsd420lmhfhw4gws"; src = fetch pname "1pa322iwqg071gxdn5wxri263j6aki6ag36xbdzbyi3g8m8v8jci";
polly_src = fetch "polly" "00nvnh0jhi1s5gcyfnb30h9g2j18z79kipiy878bkawg53f4z2xf"; polly_src = fetch "polly" "0p9dmv4hxwx4f5k1v4r9b5jp7fbi71ajpmrv3xf3vmp6m4i3r0pc";
unpackPhase = '' unpackPhase = ''
unpackFile $src unpackFile $src
@ -54,6 +54,11 @@ in stdenv.mkDerivation (rec {
propagatedBuildInputs = [ ncurses zlib ]; propagatedBuildInputs = [ ncurses zlib ];
patches = [
# 10.0.0rc3-only
./llvm-extension-handling.patch
];
postPatch = optionalString stdenv.isDarwin '' postPatch = optionalString stdenv.isDarwin ''
substituteInPlace cmake/modules/AddLLVM.cmake \ substituteInPlace cmake/modules/AddLLVM.cmake \
--replace 'set(_install_name_dir INSTALL_NAME_DIR "@rpath")' "set(_install_name_dir)" \ --replace 'set(_install_name_dir INSTALL_NAME_DIR "@rpath")' "set(_install_name_dir)" \

View File

@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
pname = "openmp"; pname = "openmp";
inherit version; inherit version;
src = fetch pname "1fpvpsbrrpngm8zplhdbkhnk79mhfdf3xsw1rwcfcv564gilla3w"; src = fetch pname "0axdxar18rvk9r4yx7y55ywqr3070mixag9sg2fcck1jzwfgymjb";
nativeBuildInputs = [ cmake perl ]; nativeBuildInputs = [ cmake perl ];
buildInputs = [ llvm ]; buildInputs = [ llvm ];

View File

@ -1,6 +1,18 @@
{ stdenv, fetchFromGitHub, autoreconfHook, coq }: { stdenv, fetchFromGitHub, autoreconfHook, coq }:
let params = { let params = {
"8.11" = {
version = "0.6.7";
sha256 = "01vpi7scvkl4ls1z2k2x9zd65wflzb667idj759859hlz3ps9z09";
};
"8.10" = {
version = "0.6.6";
sha256 = "1gjrm5zjzw4cisiwdr5b3iqa7s4cssa220xr0k96rwgk61rcjd8w";
};
"8.9" = {
version = "0.6.5";
sha256 = "1f34z24yg05b1096gqv36jr3vffkcjkf9qncii3pzhhvagxd0w2f";
};
"8.8" = { "8.8" = {
version = "0.6.3"; version = "0.6.3";
rev = "0acbd0a594c7e927574d5f212cc73a486b5305d2"; rev = "0acbd0a594c7e927574d5f212cc73a486b5305d2";
@ -18,7 +30,6 @@ let params = {
}; };
"8.5" = { "8.5" = {
version = "0.6"; version = "0.6";
rev = "v0.6";
sha256 = "0qvar8gfbrcs9fmvkph5asqz4l5fi63caykx3bsn8zf0xllkwv0n"; sha256 = "0qvar8gfbrcs9fmvkph5asqz4l5fi63caykx3bsn8zf0xllkwv0n";
}; };
}; };
@ -30,7 +41,8 @@ stdenv.mkDerivation {
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Karmaki"; owner = "Karmaki";
repo = "coq-dpdgraph"; repo = "coq-dpdgraph";
inherit (param) rev sha256; rev = param.rev or "v${param.version}";
inherit (param) sha256;
}; };
nativeBuildInputs = [ autoreconfHook ]; nativeBuildInputs = [ autoreconfHook ];

View File

@ -0,0 +1,43 @@
{ stdenv, fetchFromGitHub, which, coq, coq-elpi }:
let
versions = {
"0.9.0" = {
rev = "v0.9.0";
sha256 = "1yss9f732r7bjaswgn46vd1rr3688ir0vz37wxkmy598xhrnd2ak";
};
};
version = x: versions.${x} // {version = x;};
params = {
"8.10" = version "0.9.0";
"8.11" = version "0.9.0";
};
param = params.${coq.coq-version};
in
stdenv.mkDerivation rec {
name = "coq${coq.coq-version}-hierarchy-builder-${param.version}";
src = fetchFromGitHub {
owner = "math-comp";
repo = "hierarchy-builder";
inherit (param) rev sha256;
};
propagatedBuildInputs = [ coq-elpi ];
buildInputs = [ coq coq.ocaml coq.ocamlPackages.elpi ];
installPhase = ''make -f Makefile.coq VFILES=structures.v COQLIB=$out/lib/coq/${coq.coq-version}/ install'';
meta = {
description = "Coq plugin embedding ELPI.";
maintainers = [ stdenv.lib.maintainers.cohencyril ];
license = stdenv.lib.licenses.lgpl21;
inherit (coq.meta) platforms;
inherit (src.meta) homepage;
};
passthru = {
compatibleCoqVersions = stdenv.lib.flip builtins.hasAttr params;
};
}

View File

@ -210,7 +210,7 @@ let
disallowedReferences = lib.optional (!allowGoReference) go; disallowedReferences = lib.optional (!allowGoReference) go;
passthru = passthru // { inherit go go-modules; }; passthru = passthru // { inherit go go-modules modSha256; };
meta = { meta = {
# Add default meta information # Add default meta information

View File

@ -12,11 +12,11 @@
(rec { (rec {
name = "guile-${version}"; name = "guile-${version}";
version = "2.2.6"; version = "2.2.7";
src = fetchurl { src = fetchurl {
url = "mirror://gnu/guile/${name}.tar.xz"; url = "mirror://gnu/guile/${name}.tar.xz";
sha256 = "1269ymxm56j1z1lvq1y42rm961f2n7rinm3k6l00p9k52hrpcddk"; sha256 = "013mydzhfswqci6xmyc1ajzd59pfbdak15i0b090nhr9bzm7dxyd";
}; };
outputs = [ "out" "dev" "info" ]; outputs = [ "out" "dev" "info" ];
@ -93,7 +93,7 @@
meta = { meta = {
description = "Embeddable Scheme implementation"; description = "Embeddable Scheme implementation";
homepage = https://www.gnu.org/software/guile/; homepage = "https://www.gnu.org/software/guile/";
license = stdenv.lib.licenses.lgpl3Plus; license = stdenv.lib.licenses.lgpl3Plus;
maintainers = with stdenv.lib.maintainers; [ ludo lovek323 vrthra ]; maintainers = with stdenv.lib.maintainers; [ ludo lovek323 vrthra ];
platforms = stdenv.lib.platforms.all; platforms = stdenv.lib.platforms.all;

View File

@ -6,7 +6,8 @@
, libxslt, libmcrypt, bzip2, icu, openldap, cyrus_sasl, libmhash, unixODBC , libxslt, libmcrypt, bzip2, icu, openldap, cyrus_sasl, libmhash, unixODBC
, uwimap, pam, gmp, apacheHttpd, libiconv, systemd, libsodium, html-tidy, libargon2 , uwimap, pam, gmp, apacheHttpd, libiconv, systemd, libsodium, html-tidy, libargon2
, gd, freetype, libXpm, libjpeg, libpng, libwebp , gd, freetype, libXpm, libjpeg, libpng, libwebp
, libzip, valgrind, oniguruma , libzip, valgrind, oniguruma, symlinkJoin, writeText
, makeWrapper, callPackage
}: }:
with lib; with lib;
@ -255,7 +256,7 @@ let
description = "An HTML-embedded scripting language"; description = "An HTML-embedded scripting language";
homepage = https://www.php.net/; homepage = https://www.php.net/;
license = licenses.php301; license = licenses.php301;
maintainers = with maintainers; [ globin etu ]; maintainers = with maintainers; [ globin etu ma27 ];
platforms = platforms.all; platforms = platforms.all;
outputsToInstall = [ "out" "dev" ]; outputsToInstall = [ "out" "dev" ];
}; };
@ -268,24 +269,48 @@ let
}; };
generic' = { version, sha256, ... }@args: let php = generic args; in php.overrideAttrs (_: {
passthru.buildEnv = { exts ? (_: []), extraConfig ? "" }: let
extraInit = writeText "custom-php.ini" ''
${extraConfig}
${concatMapStringsSep "\n" (ext: let
extName = lib.removePrefix "php-" (builtins.parseDrvName ext.name).name;
type = "${lib.optionalString (ext.zendExtension or false) "zend_"}extension";
in ''
${type}=${ext}/lib/php/extensions/${extName}.so
'') (exts (callPackage ../../../top-level/php-packages.nix { inherit php; }))}
'';
in symlinkJoin {
name = "php-custom-${version}";
nativeBuildInputs = [ makeWrapper ];
paths = [ php ];
postBuild = ''
wrapProgram $out/bin/php \
--add-flags "-c ${extraInit}"
wrapProgram $out/bin/php-fpm \
--add-flags "-c ${extraInit}"
'';
};
});
in { in {
php72 = generic { php72 = generic' {
version = "7.2.27"; version = "7.2.28";
sha256 = "0jbhc8x2i6xx6p7zc30ahg9xplsqlz334m1w13mhr1qv2xdnkh2v"; sha256 = "18sjvl67z5a2x5s2a36g6ls1r3m4hbrsw52hqr2qsgfvg5dkm5bw";
# https://bugs.php.net/bug.php?id=76826 # https://bugs.php.net/bug.php?id=76826
extraPatches = optional stdenv.isDarwin ./php72-darwin-isfinite.patch; extraPatches = optional stdenv.isDarwin ./php72-darwin-isfinite.patch;
}; };
php73 = generic { php73 = generic' {
version = "7.3.14"; version = "7.3.15";
sha256 = "0wn2qsfrnch90l8nxbpcjd2q0ijzdiiyhvcpbycngki9r6xwppxr"; sha256 = "0g84hws15s8gh8iq4h6q747dyfazx47vh3da3whz8d80x83ibgld";
# https://bugs.php.net/bug.php?id=76826 # https://bugs.php.net/bug.php?id=76826
extraPatches = optional stdenv.isDarwin ./php73-darwin-isfinite.patch; extraPatches = optional stdenv.isDarwin ./php73-darwin-isfinite.patch;
}; };
php74 = generic { php74 = generic' {
version = "7.4.3"; version = "7.4.3";
sha256 = "wVF7pJV4+y3MZMc6Ptx21PxQfEp6xjmYFYTMfTtMbRQ="; sha256 = "wVF7pJV4+y3MZMc6Ptx21PxQfEp6xjmYFYTMfTtMbRQ=";
}; };

View File

@ -36,7 +36,6 @@
, desktop-file-utils , desktop-file-utils
, gtk3 , gtk3
, fuse , fuse
, malcontent
, nixosTests , nixosTests
, libsoup , libsoup
, lzma , lzma
@ -140,7 +139,6 @@ stdenv.mkDerivation rec {
systemd systemd
xorg.libXau xorg.libXau
fuse fuse
malcontent
gsettings-desktop-schemas gsettings-desktop-schemas
glib-networking glib-networking
librsvg # for flatpak-validate-icon librsvg # for flatpak-validate-icon

View File

@ -1,4 +1,12 @@
{ stdenv, fetchurl, cmake, pkgconfig, libcbor, libressl, udev, IOKit }: { stdenv
, fetchurl
, fetchpatch
, cmake
, pkgconfig
, libcbor
, openssl
, udev
, IOKit }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "libfido2"; pname = "libfido2";
@ -9,14 +17,33 @@ stdenv.mkDerivation rec {
}; };
nativeBuildInputs = [ cmake pkgconfig ]; nativeBuildInputs = [ cmake pkgconfig ];
buildInputs = [ libcbor libressl ]
buildInputs = [ libcbor openssl ]
++ stdenv.lib.optionals stdenv.isLinux [ udev ] ++ stdenv.lib.optionals stdenv.isLinux [ udev ]
++ stdenv.lib.optionals stdenv.isDarwin [ IOKit ]; ++ stdenv.lib.optionals stdenv.isDarwin [ IOKit ];
patches = [ ./detect_apple_ld.patch ]; patches = [
# fix build on darwin
(fetchpatch {
url = "https://github.com/Yubico/libfido2/commit/916ebd18a89e4028de203d603726805339be7a5b.patch";
sha256 = "07f0xpxnq02cccmqcric87b6pms7k7ssvdw722zr970a6qs8p6i7";
})
# allow attestation using any supported algorithm
(fetchpatch {
url = "https://github.com/Yubico/libfido2/commit/f7a9471fa0588cb91cbefffb13c1e4d06c2179b7.patch";
sha256 = "02qbw9bqy3sixvwig6az7v3vimgznxnfikn9p1jczm3d7mn8asw2";
})
# fix EdDSA attestation signature verification bug
(fetchpatch {
url = "https://github.com/Yubico/libfido2/commit/95126eea52294419515e6540dfd7220f35664c48.patch";
sha256 = "076mwpl9xndjhy359jdv2drrwyq7wd3pampkn28mn1rlwxfgf0d0";
})
];
cmakeFlags = [ "-DUDEV_RULES_DIR=${placeholder "out"}/etc/udev/rules.d" cmakeFlags = [
"-DCMAKE_INSTALL_LIBDIR=lib" ]; "-DUDEV_RULES_DIR=${placeholder "out"}/etc/udev/rules.d"
"-DCMAKE_INSTALL_LIBDIR=lib"
];
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = '' description = ''
@ -24,7 +51,7 @@ stdenv.mkDerivation rec {
''; '';
homepage = https://github.com/Yubico/libfido2; homepage = https://github.com/Yubico/libfido2;
license = licenses.bsd2; license = licenses.bsd2;
maintainers = with maintainers; [ dtzWill ]; maintainers = with maintainers; [ dtzWill prusnak ];
platforms = platforms.unix; platforms = platforms.unix;
}; };
} }

View File

@ -8,13 +8,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "librelp"; pname = "librelp";
version = "1.4.0"; version = "1.5.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "rsyslog"; owner = "rsyslog";
repo = "librelp"; repo = "librelp";
rev = "v${version}"; rev = "v${version}";
sha256 = "1q0k8zm7p6wpkri419kkpz734lp1hnxfqx1aa3xys4pj7zgx9jck"; sha256 = "1il8dany6y981ficrwnxjlc13v5lj6gqia5678p5pj6bcbq7l7lb";
}; };
nativeBuildInputs = [ pkgconfig autoreconfHook ]; nativeBuildInputs = [ pkgconfig autoreconfHook ];

View File

@ -7,7 +7,12 @@
, wrapGAppsHook , wrapGAppsHook
, glib , glib
, coreutils , coreutils
, accountsservice
, dbus , dbus
, flatpak
, gtk3
, pam
, desktop-file-utils
, polkit , polkit
, glib-testing , glib-testing
, python3 , python3
@ -16,7 +21,7 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "malcontent"; pname = "malcontent";
version = "0.4.0"; version = "0.6.0";
outputs = [ "bin" "out" "dev" "man" "installedTests" ]; outputs = [ "bin" "out" "dev" "man" "installedTests" ];
@ -25,7 +30,7 @@ stdenv.mkDerivation rec {
owner = "pwithnall"; owner = "pwithnall";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "0d703r20djvrgy711jvn90i8dwbb0p7qj4j43z101afpkiizq810"; sha256 = "COh6N3CmLIcxx6tW4jcP0m6TZv0Z1YJUM/nlG0RzYHQ=";
}; };
patches = [ patches = [
@ -42,11 +47,16 @@ stdenv.mkDerivation rec {
ninja ninja
pkgconfig pkgconfig
gobject-introspection gobject-introspection
desktop-file-utils
wrapGAppsHook wrapGAppsHook
]; ];
buildInputs = [ buildInputs = [
accountsservice
dbus dbus
flatpak
gtk3
pam
polkit polkit
glib-testing glib-testing
(python3.withPackages (pp: with pp; [ (python3.withPackages (pp: with pp; [

View File

@ -1,8 +1,8 @@
diff --git a/libmalcontent/tests/meson.build b/libmalcontent/tests/meson.build diff --git a/libmalcontent/tests/meson.build b/libmalcontent/tests/meson.build
index a8a815a..0b1d242 100644 index 610bc35..13e0713 100644
--- a/libmalcontent/tests/meson.build --- a/libmalcontent/tests/meson.build
+++ b/libmalcontent/tests/meson.build +++ b/libmalcontent/tests/meson.build
@@ -61,9 +61,9 @@ test_programs = [ @@ -72,9 +72,9 @@ test_programs = [
], deps], ], deps],
] ]
@ -14,7 +14,7 @@ index a8a815a..0b1d242 100644
'libmalcontent-' + libmalcontent_api_version) 'libmalcontent-' + libmalcontent_api_version)
foreach program: test_programs foreach program: test_programs
@@ -94,4 +94,4 @@ foreach program: test_programs @@ -105,4 +105,4 @@ foreach program: test_programs
env: envs, env: envs,
args: ['--tap'], args: ['--tap'],
) )
@ -22,14 +22,32 @@ index a8a815a..0b1d242 100644
\ No newline at end of file \ No newline at end of file
+endforeach +endforeach
diff --git a/meson_options.txt b/meson_options.txt diff --git a/meson_options.txt b/meson_options.txt
index 96a517d..7cb1ee8 100644 index 06329d4..72aa505 100644
--- a/meson_options.txt --- a/meson_options.txt
+++ b/meson_options.txt +++ b/meson_options.txt
@@ -3,4 +3,5 @@ option( @@ -9,3 +9,9 @@ option(
type: 'boolean', type: 'string',
value: false, description: 'directory for PAM modules'
description: 'enable installed tests' )
-) +option(
\ No newline at end of file + 'installed_test_prefix',
+ type: 'string',
+ value: '',
+ description: 'Prefix for installed tests'
+) +)
+option('installed_test_prefix', type: 'string', value: '', description: 'Prefix for installed tests') diff --git a/pam/tests/meson.build b/pam/tests/meson.build
index 0560dcb..a74dab2 100644
--- a/pam/tests/meson.build
+++ b/pam/tests/meson.build
@@ -12,9 +12,9 @@ test_programs = [
['pam_malcontent', [], deps],
]
-installed_tests_metadir = join_paths(datadir, 'installed-tests',
+installed_tests_metadir = join_paths(get_option('installed_test_prefix'), 'share', 'installed-tests',
'libmalcontent-' + libmalcontent_api_version)
-installed_tests_execdir = join_paths(libexecdir, 'installed-tests',
+installed_tests_execdir = join_paths(get_option('installed_test_prefix'), 'libexec', 'installed-tests',
'libmalcontent-' + libmalcontent_api_version)
foreach program: test_programs

View File

@ -1,8 +1,8 @@
diff --git a/meson.build b/meson.build diff --git a/meson.build b/meson.build
index f4a05ba..dd31537 100644 index 3575224..0abea63 100644
--- a/meson.build --- a/meson.build
+++ b/meson.build +++ b/meson.build
@@ -33,9 +33,8 @@ polkit_gobject = dependency('polkit-gobject-1') @@ -40,9 +40,8 @@ polkit_gobject = dependency('polkit-gobject-1')
polkitpolicydir = polkit_gobject.get_pkgconfig_variable('policydir', polkitpolicydir = polkit_gobject.get_pkgconfig_variable('policydir',
define_variable: ['prefix', prefix]) define_variable: ['prefix', prefix])
@ -13,10 +13,3 @@ index f4a05ba..dd31537 100644
fallback: ['libglib-testing', 'libglib_testing_dep'], fallback: ['libglib-testing', 'libglib_testing_dep'],
) )
@@ -120,4 +119,4 @@ test_env = [
subdir('accounts-service')
subdir('malcontent-client')
-subdir('libmalcontent')
\ No newline at end of file
+subdir('libmalcontent')

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "openxr-loader"; pname = "openxr-loader";
version = "1.0.3"; version = "1.0.6";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "KhronosGroup"; owner = "KhronosGroup";
repo = "OpenXR-SDK-Source"; repo = "OpenXR-SDK-Source";
rev = "release-${version}"; rev = "release-${version}";
sha256 = "0hqf0z38gk4id8d6vcms66mh3gllh2xib5mr11069sh9ak6b3mmp"; sha256 = "0zvp3x9hhpww2ym1inc0z8cwmfqhgqgl2g7csmj6ipp2fqwl6dlj";
}; };
nativeBuildInputs = [ cmake python3 ]; nativeBuildInputs = [ cmake python3 ];

View File

@ -56,6 +56,7 @@ stdenv.mkDerivation rec {
# Build individual shared libraries # Build individual shared libraries
make library \ make library \
JOBS=$NIX_BUILD_CORES \
BLAS=-lopenblas \ BLAS=-lopenblas \
LAPACK="" \ LAPACK="" \
${stdenv.lib.optionalString openblas.blas64 "CFLAGS=-DBLAS64"} ${stdenv.lib.optionalString openblas.blas64 "CFLAGS=-DBLAS64"}
@ -64,7 +65,7 @@ stdenv.mkDerivation rec {
# Bundling is done by building the static libraries, extracting objects from # Bundling is done by building the static libraries, extracting objects from
# them and combining the objects into one shared library. # them and combining the objects into one shared library.
mkdir -p static mkdir -p static
make static AR_TARGET=$(pwd)/static/'$(LIBRARY).a' make static JOBS=$NIX_BUILD_CORES AR_TARGET=$(pwd)/static/'$(LIBRARY).a'
( (
cd static cd static
for i in lib*.a; do for i in lib*.a; do

View File

@ -0,0 +1,36 @@
{ stdenv, lib, fetchurl }:
stdenv.mkDerivation rec {
pname = "tinycdb";
version = "0.78";
outputs = [ "out" "dev" "lib" "man" ];
separateDebugInfo = true;
makeFlags = [ "prefix=$(out)" "staticlib" "sharedlib" "cdb-shared" ];
postInstall = ''
mkdir -p $lib/lib $dev/lib $out/bin
cp libcdb.so* $lib/lib
cp cdb-shared $out/bin/cdb
mv $out/lib/libcdb.a $dev/lib
rmdir $out/lib
'';
src = fetchurl {
url = "http://www.corpit.ru/mjt/tinycdb/${pname}-${version}.tar.gz";
sha256 = "0g6n1rr3lvyqc85g6z44lw9ih58f2k1i3v18yxlqvnla5m1qyrsh";
};
meta = with lib; {
description = "utility to manipulate constant databases (cdb)";
longDescription = ''
tinycdb is a small, fast and reliable utility and subroutine
library for creating and reading constant databases. The database
structure is tuned for fast reading.
'';
homepage = https://www.corpit.ru/mjt/tinycdb.html;
license = licenses.publicDomain;
platforms = platforms.linux;
};
}

View File

@ -1,36 +1,31 @@
{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig, fetchpatch { stdenv, fetchFromGitHub, meson, ninja, pkg-config, wayland
, wayland, libGL, wayland-protocols, libinput, libxkbcommon, pixman , libGL, wayland-protocols, libinput, libxkbcommon, pixman
, xcbutilwm, libX11, libcap, xcbutilimage, xcbutilerrors, mesa , xcbutilwm, libX11, libcap, xcbutilimage, xcbutilerrors, mesa
, libpng, ffmpeg_4 , libpng, ffmpeg_4
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "wlroots"; pname = "wlroots";
version = "0.10.0"; version = "0.10.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "swaywm"; owner = "swaywm";
repo = "wlroots"; repo = "wlroots";
rev = version; rev = version;
sha256 = "0c0q1p9yss5kx4430ik3n89drqpmm2bvgl8fjlf6prac1a7xzqn8"; sha256 = "0j2lh9vc92zhn44rjbia5aw3y1rpgfng1x1h17lcvj5m4i6vj0pc";
}; };
# $out for the library and $examples for the example programs (in examples): # $out for the library and $examples for the example programs (in examples):
outputs = [ "out" "examples" ]; outputs = [ "out" "examples" ];
nativeBuildInputs = [ meson ninja pkgconfig ]; nativeBuildInputs = [ meson ninja pkg-config wayland ];
buildInputs = [ buildInputs = [
wayland libGL wayland-protocols libinput libxkbcommon pixman libGL wayland-protocols libinput libxkbcommon pixman
xcbutilwm libX11 libcap xcbutilimage xcbutilerrors mesa xcbutilwm libX11 libcap xcbutilimage xcbutilerrors mesa
libpng ffmpeg_4 libpng ffmpeg_4
]; ];
mesonFlags = [
"-Dlibcap=enabled" "-Dlogind=enabled" "-Dxwayland=enabled" "-Dx11-backend=enabled"
"-Dxcb-icccm=enabled" "-Dxcb-errors=enabled"
];
postInstall = '' postInstall = ''
# Copy the library to $examples # Copy the library to $examples
mkdir -p $examples/lib mkdir -p $examples/lib
@ -51,7 +46,12 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "A modular Wayland compositor library"; description = "A modular Wayland compositor library";
longDescription = ''
Pluggable, composable, unopinionated modules for building a Wayland
compositor; or about 50,000 lines of code you were going to write anyway.
'';
inherit (src.meta) homepage; inherit (src.meta) homepage;
changelog = "https://github.com/swaywm/wlroots/releases/tag/${version}";
license = licenses.mit; license = licenses.mit;
platforms = platforms.linux; platforms = platforms.linux;
maintainers = with maintainers; [ primeos ]; maintainers = with maintainers; [ primeos ];

View File

@ -1,4 +1,4 @@
{ stdenv, buildDune2Package, fetchFromGitHub, ctypes }: { stdenv, buildDune2Package, fetchFromGitHub, ctypes, libcxx }:
buildDune2Package rec { buildDune2Package rec {
pname = "eigen"; pname = "eigen";
@ -13,6 +13,8 @@ buildDune2Package rec {
minimumOCamlVersion = "4.02"; minimumOCamlVersion = "4.02";
NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-I${libcxx}/include/c++/v1";
propagatedBuildInputs = [ ctypes ]; propagatedBuildInputs = [ ctypes ];
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

@ -4,7 +4,7 @@
buildDunePackage rec { buildDunePackage rec {
pname = "ppx_deriving_yojson"; pname = "ppx_deriving_yojson";
version = "3.5.1"; version = "3.5.2";
minimumOCamlVersion = "4.04"; minimumOCamlVersion = "4.04";
@ -12,7 +12,7 @@ buildDunePackage rec {
owner = "ocaml-ppx"; owner = "ocaml-ppx";
repo = "ppx_deriving_yojson"; repo = "ppx_deriving_yojson";
rev = "v${version}"; rev = "v${version}";
sha256 = "13nscby635vab9jf5pl1wgmdmqw192nf2r26m3gr01hp3bpn38zh"; sha256 = "1vbhmnhnj1aa4jrp8xqi52nggwj7vrml83z2j0r0qzvl65v02mc0";
}; };
buildInputs = [ ppxfind ounit ]; buildInputs = [ ppxfind ounit ];

View File

@ -5,13 +5,13 @@
}: }:
buildPythonPackage rec { buildPythonPackage rec {
version = "0.3.0"; version = "0.4.0";
pname = "azure-mgmt-appconfiguration"; pname = "azure-mgmt-appconfiguration";
disabled = isPy27; disabled = isPy27;
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "1igl3ikdwcz7d2zcja5nm2qjysjh53vgwzcc96lylypmq6z4aq1s"; sha256 = "1dn5585nsizszjivx6lp677ka0mrg0ayqgag4yzfdz9ml8mj1xl5";
extension = "zip"; extension = "zip";
}; };

View File

@ -2,7 +2,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "eth-typing"; pname = "eth-typing";
version = "2.1.0"; version = "2.2.1";
# Tests are missing from the PyPI source tarball so let's use GitHub # Tests are missing from the PyPI source tarball so let's use GitHub
# https://github.com/ethereum/eth-typing/issues/8 # https://github.com/ethereum/eth-typing/issues/8
@ -10,7 +10,7 @@ buildPythonPackage rec {
owner = "ethereum"; owner = "ethereum";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "0chrrfw3kdaihgr2ryhljf56bflipzmfxai688xrc2yk7yiqnll5"; sha256 = "0k9jydsclk81qpkvl7hpchwclm3c89gyzlk17480wcw90nkps9ap";
}; };
# setuptools-markdown uses pypandoc which is broken at the moment # setuptools-markdown uses pypandoc which is broken at the moment

View File

@ -3,7 +3,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "eth-utils"; pname = "eth-utils";
version = "1.7.0"; version = "1.8.4";
# Tests are missing from the PyPI source tarball so let's use GitHub # Tests are missing from the PyPI source tarball so let's use GitHub
# https://github.com/ethereum/eth-utils/issues/130 # https://github.com/ethereum/eth-utils/issues/130
@ -11,7 +11,7 @@ buildPythonPackage rec {
owner = "ethereum"; owner = "ethereum";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "0hhhdz764xgwj5zg3pjzpx10vh54q7kbvlnj9d67qkgwl3fkfgw2"; sha256 = "1hfzb3xz3j50dgp51nx2jssh9j07np24fqmpnyr2ycsll90g1j6q";
}; };
checkInputs = [ pytest hypothesis ]; checkInputs = [ pytest hypothesis ];

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